Skip to content

Releases: chrisant996/clink

v1.6.13

05 May 23:27
Compare
Choose a tag to compare
  • Popup lists can now be filtered.
    • Press F4 in a popup list to toggle the search mode between "find" and "filter".
    • The clink.popup_search_mode setting controls the default search mode.
    • The clink.popuplist() function can be told to start in a specific search mode.
  • Added os.findfiles() to allow getting files/directories one at a time (versus os.globfiles() which collects the entire set all at once into a table).
  • Added exec.associations setting to let Executable Completion include files with registered file associations as matches (e.g. launchable documents such as "*.pdf" files).
  • Fixed Ctrl-C in a popup list copying the wrong entry after having used Del to delete an entry.
  • Fixed input line coloring to use color.executable also for files included by the exec.path setting, if the files have registered file associations.

v1.6.12

18 Apr 15:55
Compare
Choose a tag to compare
  • Fixed #597; prompt shows leftover text sometimes (regression introduced in v1.6.10).
  • Fixed #596; it's easy to forget whether Enter in history list executes or inserts.

v1.6.11

08 Apr 16:41
Compare
Choose a tag to compare
  • Added os.setalias() for setting a doskey alias without needing to invoke the doskey.exe program.
  • Fixed a case where match descriptions could be displayed with incorrect padding and truncation (regression introduced in v1.6.6).
  • Lua debugging enhancements:
    • Changed the built-in embedded scripts to include debug info, which allows some Lua error messages to be more useful for troubleshooting.
    • Added srcmap command in the Lua debugger to override where to find source files.

v1.6.10

23 Mar 19:04
Compare
Choose a tag to compare
  • Added an optimization to further reduce flicker when re-drawing the prompt.
  • Added a user_data.shared_user_data table to allow linked argmatchers to share data with each other while an input line is being parsed (see Responding to Arguments in Argmatchers for details).
  • Fixed #579; popup lists could accidentally truncate text in the first column when there's only one column.
  • Fixed #576; setup exe doesn't remove old uninstall exe files.
  • Fixed #575; error when color.executable is set and color.unrecognized is not (regression introduced in v1.6.2).

v1.6.9

18 Mar 16:58
Compare
Choose a tag to compare
  • Fixed #574; prompt.spacing "eats" lines containing Unicode Surrogate Pairs such as for some nerdfont icons (Windows Terminal accidentally returns that such lines are empty).
  • Fixed #573; C# was unable to read Clink's version resource.
  • Fixed #555; security advisory CVE-2020-24370 for a Lua bug.

v1.6.8

07 Mar 12:46
Compare
Choose a tag to compare

v1.6.8

  • Fixed #571; error in clink.bat under some circumstances (regression introduced in v1.6.7).

v1.6.7

  • Recognize the little-known cmd /r as a synonym for cmd /c so that Clink can optimize and skip injecting into a cmd /r process.
  • Fixed displaying descriptions when they're left-justified (regression introduced in v1.6.6).
  • Fixed argmatcher:chaincommand("run") to not find argmatchers for builtin CMD command names (since CMD doesn't get invoked in that case, so it won't get interpreted as a CMD command).
  • Fixed argmatcher:chaincommand() to find an argmatcher for a builtin CMD command even if a directory exists with the same name (since CMD interprets that case as a CMD command).
  • Fixed argmatcher:chaincommand("cmd") so when exec.aliases is enabled it can include aliases as completions.
  • Fixed argmatcher:addarg({loopchars="+", etcetc}) so that -Q:+x still gets parsed into two input words -Q: and +x.
  • Fixed to parse foo^ bar as two words "foo" and "bar".
  • Fixed to recognize ^echo (etc) as a builtin CMD command name despite embedded ^ characters.
  • Fixed #570; fixed #569 more thoroughly, and cd /d cannot be used anywhere because it also requires command extensions.

v1.6.7

07 Mar 11:14
Compare
Choose a tag to compare
  • Recognize the little-known cmd /r as a synonym for cmd /c so that Clink can optimize and skip injecting into a cmd /r process.
  • Fixed displaying descriptions when they're left-justified (regression introduced in v1.6.6).
  • Fixed argmatcher:chaincommand("run") to not find argmatchers for builtin CMD command names (since CMD doesn't get invoked in that case, so it won't get interpreted as a CMD command).
  • Fixed argmatcher:chaincommand() to find an argmatcher for a builtin CMD command even if a directory exists with the same name (since CMD interprets that case as a CMD command).
  • Fixed argmatcher:chaincommand("cmd") so when exec.aliases is enabled it can include aliases as completions.
  • Fixed argmatcher:addarg({loopchars="+", etcetc}) so that -Q:+x still gets parsed into two input words -Q: and +x.
  • Fixed to parse foo^ bar as two words "foo" and "bar".
  • Fixed to recognize ^echo (etc) as a builtin CMD command name despite embedded ^ characters.
  • Fixed #570; fixed #569 more thoroughly, and cd /d cannot be used anywhere because it also requires command extensions.

v1.6.6

04 Mar 04:49
Compare
Choose a tag to compare
  • Added clink history --no-show-time to allow omitting history timestamps even when the history.time_stamp setting is show.
  • Fixed match display to not right justify descriptions when the screen isn't wide enough or when descriptions contain aligned columns (like clink set completions do since v1.6.3).
  • Fixed clink history when output is redirected; strip any escape codes that might be embedded in the time format.
  • Fixed #569; cmd /e:off causes syntax error in clink.bat script.
  • Fixed #567; clink history compact accidentally deletes all timestamps.
  • Fixed documentation error in Lua API Reference about "w" mode in io.open() and io.sopen() (the behavior was correct, but the documentation was inaccurate/unclear).

v1.6.5

27 Feb 03:12
Compare
Choose a tag to compare
  • Added all match fields in the table of matches passed to the clink.onfiltermatches() callback function.
  • Fixed stripping colors from strings (e.g. when displaying in popup lists); it didn't strip 8-bit and 24-bit colors correctly.

NOTE: This release includes changes that enable clink-gizmos's FZF integration to show nerd fonts file icons in completion lists. See the README file there for more info. It also requires using dirx.

v1.6.4

18 Feb 17:55
Compare
Choose a tag to compare
  • Added rl_buffer:hassuggestion() and rl_buffer:insertsuggestion() for direct access to inserting suggestions without invoking Readline commands.
  • Added clink.dirmatchesexact() and clink.filematchesexact() which are the same as the non-exact variants, except these don't append a * to the search pattern. For example, clink.filematchesexact("*.zip") can collect exactly "*.zip" file matches instead of "*.zip*".
  • Added OS version info to clink info.
  • Added UNC share name completion when using Executable Completion (the exec.enable setting).
  • Fixed completing input . or .. when the exec.enable setting is enabled.
  • Fixed applying colored-completion-prefix when match display filtering is active or a match has a custom display field.
  • Fixed the exec.path setting so it doesn't accidentally include directories if their names end with an executable extension such as .exe.
  • Fixed finding an argmatcher registered with a full path (e.g. c:\foo\bar.exe) when a full path is entered without a drive letter (e.g. enter \foo\bar.exe).
  • Fixed #562; clink autorun install strips quotes by mistake.