Skip to content

Releases: chrisant996/clink

v1.5.9

09 Oct 16:12
Compare
Choose a tag to compare
  • Added default key binding Alt-Ctrl-Up for clink-popup-history.
  • Fixed the match.max_rows setting to control the number of rows of items (instead of the total number of rows including description rows).
  • Fixed #509; crash when using clink-popup-history if history.time_stamp is off (regression introduced in v1.5.7).

v1.5.8

03 Oct 01:54
Compare
Choose a tag to compare
  • Fixed #504; the clink.autoupdate setting behaves like auto even when it's set to check (regression introduced in v1.5.5).
  • Fixed #503; the updater could hang if any additional CMD instances were started while the "Clink Update" prompt window was open (regression introduced in v1.5.5).

v1.5.7

01 Oct 08:47
Compare
Choose a tag to compare
  • Added vertical scrollbars in clink-select-complete and in popup lists.
  • Added terminal.scrollbars setting which can disable the vertical scrollbars (e.g. according to preference, or if a terminal or font is incompatible with extended Unicode box drawing characters).
  • Added clink set --info flag.
  • Added language-related diagnostic info in clink info.
  • Added minor optimization when displaying prompt text.
  • Added enhancements in the pager used when displaying help or matches; Tab or Space or Y print the next page, D prints the next half-page, Enter prints the next line, N or Q stop printing, and ? shows the available keys in the -- More -- pager prompt (the enhancements were accidentally lost in v1.1.1-alpha).
  • Horizontal scrolling in popup lists works for all columns, if text doesn't fit in the column.
  • Fixed crash in rl.getmatchcolor(match, type); when the optional type parameter was passed in, the API could crash.
  • Fixed #498; when autosuggest.enable is False, cycling or searching through history and then pressing Right does nothing (regression introduced in v1.5.4).
  • Internal improvements.

v1.5.6

21 Sep 05:45
Compare
Choose a tag to compare
  • Added os.getpushddepth(), which works when %PROMPT% contains exactly one $+.
  • The clink-popup-history and win-history-list commands show timestamps when history.time_stamp is set to show.
  • Fixed os.geterrorlevel() when cmd /u was used.
  • Fixed word break parsing in the input line when certain Unicode characters are present.
  • Fixed Unicode string conversions to disallow translating to "similar" characters (which could be problematic in filenames).
  • Fixed a crash in rl.getkeybindings() if it's called by a Lua script running inside clink set.
  • Fixed Lua debugger input if a script error occurs inside clink set.
  • Fixed a width quirk in clink-select-complete where typing to narrow the list to a single item accidentally made the column width at least 3 characters, even if the item was only 1 or 2 characters width.
  • Fixed clink history to handle escape codes embedded in the history.time_format setting.
  • Fixed a potential crash after using remove-history at the beginning of the history list.
  • Fixed #494; Lua error when using unicode.fromcodepage() (reported and fixed before the bug was published).
  • Fixed #493; clink-select-complete displays the selected item incorrectly if both colored-stats and colored-completion-prefix are off (regression introduced in v1.5.5).

v1.5.5

11 Sep 16:50
Compare
Choose a tag to compare
  • Changed the clink.autoupdate setting to allow off, check (the default), prompt, and auto for more control over how and when updating happens. When set to prompt or auto Clink can trigger updates automatically, so you don't need to even run clink update.
  • Enhanced debug.log_terminal to include low level console keyboard and mouse input events.
  • Fixed debug.log_terminal to capture all input (regression introduced in v1.5.2).
  • Fixed slowness during clink-select-complete while typing, caused by excessive match generation.
  • Fixed selection highlight in clink-select-complete when the whole match text has been typed.
  • Fixed #486; window title escape code doesn't work properly if it contains emoji or UTF content.
  • Internal changes.

v1.5.4

24 Aug 18:11
Compare
Choose a tag to compare
  • Further contrast improvements for default colors to be readable in both Dark and Light terminal themes.
  • Added arginfo field in builder:addmatches() and in match display filtering.
  • Auto-suggestions are no longer shown while searching history; it was too distracting and confusing.
  • Fixed updating the input line display after using clink-popup-history or win-popup-history (regression introduced in v1.5.3).
  • Fixed old-menu-complete and menu-complete when there's only one match. The first time it should insert the match, and subsequent times should ding instead of cycling through the same match over and over and requiring an equal number of undo to undo.
  • Fixed match display filtering to support the match.substring setting.
  • Fixed match display filtering to support the files.system setting.
  • Fixed the cursor position if match display filtering happens the first time clink-select-complete is used in a session.
  • Fixed a case where two undo were required to fully undo what menu-complete inserted.
  • Fixed Esc during incremental history search mode so it cancels the search.
  • Fixed input line coloring after non-incremental-reverse-search-history or non-incremental-forward-search-history finds an exact match for the search text (since v1.1.5).
  • Internal changes and optimizations.

v1.5.3

18 Aug 16:29
Compare
Choose a tag to compare
  • Added builder:setfullyqualified() to force completions to be inserted as fully qualified path names.
  • Completions for clink set setting_name input use fully qualified path names for input. This helps avoid accidentally setting relative paths in global settings; since the current directory changes frequently, setting relative paths usually leads to unintended consequences.
  • Only load a script from a completions\ directory if the associated command exists in the file system. Also, pass the fully qualified file name as input to the script (in Lua, use ... to get script arguments, e.g. local command = ...).
  • clink info now reports whether Clink is injected.
  • Improve efficiency of updating the input line display. This eliminates some redundant processing in the Readline library and in Clink.
  • Fixed input line parsing and coloring when the doskey.enhanced setting is off or when doskey macro expansion is suppressed.
  • Fixed line_state:getwordinfo() to accurately set the .alias field when the doskey.enhanced setting is off or when doskey macro expansion is suppressed.
  • Fixed coloring the command word in the command line when queued keys select and accept a command line from history instantly (it could accidentally continue without applying the appropriate coloring).
  • Fixed script error in clink.filematches(nil) and clink.dirmatches(nil); they were meant to behave the same as passing an empty string.

v1.5.2

09 Aug 09:35
Compare
Choose a tag to compare
  • Adjusted the colors in "Use enhanced defaults" to have sufficient contrast to be readable in both Dark and Light terminal themes.
  • More reliably detect whether hosted in Windows Terminal, and even when Windows Terminal is set as the default terminal application.
  • Fixed crash in clink.popuplist() when the current argument is past the end of the list of items.
  • Fixed cursor location when the input line contains embedded CTRL characters.
  • Fixed #474; pasting is slow in Windows Terminal and ConEmu.
  • Fixed #470; typo in help text.

v1.5.1

03 Jul 23:26
Compare
Choose a tag to compare
  • Added rl.getcommandbindings() to get info about a command, including the key(s) bound to it, if any.
  • Changed to also allow clink.popuplist() inside a function registered by clink.onfiltermatches().
  • Changed console input mode handling to more aggressively clear ENABLE_VIRTUAL_TERMINAL_INPUT since it interferes with input (especially Ctrl key combinations) and some console programs set it but accidentally neglect to clear it when they're finished.

v1.5.0

26 Jun 16:56
Compare
Choose a tag to compare
  • Added code-signing.
  • Added note after successful clink update to clarify that the update will take effect in new Clink windows.
  • Fixed order of running the autostart script (from the clink.autostart setting) vs loading Lua; the autostart script should run before Lua so that Lua scripts can query environment variables set by it. Otherwise Lua scripts may behave differently on initial load versus after invoking the clink-reload command (e.g. Ctrl-X,Ctrl-R).
  • Fixed precedence of match colors; readonly should be lower precedence than executable.
  • Fixed #469; incorrect usage of memset().