Releases: chrisant996/clink
Releases Β· chrisant996/clink
v1.5.1
- 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 byclink.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
- 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 theclink-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()
.
v1.4.28
- Added
console.getcursorpos()
to get the cursor position. - Updated
os.getscreeninfo()
to include the cursor position. - Changed character width measurements in Windows Terminal to accommodate certain fully qualified color emoji variants such as "βοΈ" vs "β". The former is U+2714 U+FE0F and Windows Terminal draws a double-width color emoji; the latter is U+2714 and Windows Terminal draws a single-width character in the current font. Note that Windows Terminal draws the characters; Clink just tries to make the best prediction it can about how Windows Terminal will draw the characters.
- Fixed display glitch where auto-suggest caused the display to scroll up an extra line at the bottom of the screen.
- Fixed display glitch where cursor position was wrong when the input line ends with a history expansion directive that ends exactly at the right edge of the terminal.
- Fixed
cmd.ctrld_exits
so Ctrl-D always exits with return code 0, so that terminal programs allow the shell window to close gracefully. - Fixed mouse input when the
horizontal-scroll-mode
inputrc variable ison
. - Fixed missing prompt text when a prompt filter encounters an unhandled Lua error; now a placeholder prompt string is used so it's clear where the prompt is.
- Fixed #467; On-Screen Keyboard in Swedish keyboard layout can't type
\
. - Internal improvements.
v1.4.27
- Fixed when the
terminal.emulate
setting isauto
on Windows 8.1 and earlier (regression introduced in v1.4.26).
v1.4.26
- Added built-in support for shell integration with Windows Terminal v1.18 and higher. Note: Windows Terminal gets confused about the command line text when the transient prompt is enabled.
- Changed
clink.getansihost()
to return two strings; the first string is the mode in use, and the new second string is what Clink detected (and will use when theterminal.emulation
setting isauto
). - Fixed to use terminal emulation when the
terminal.emulate
setting isauto
and ANSICON is present. Clink's output is no longer able to be intercepted by ANSICON, so bypass it and use Clink's own terminal emulation. - Fixed #461; crash due to invalid RVA in ANSI32.DLL or ANSI64.DLL (ANSICON).
v1.4.25
- Now
os.issignaled()
works duringonendedit
andonfilterinput
events. - Improve emulation for F7 history popup (the
win-history-popup
command); Left or Right replace the input text with the selected line. - Transient prompt filters can suppress the transient prompt on a case by case basis by returning
nil, false
. - Fixed typo in
clink set --help
text. - Fixed where the prompt prefix (from v1.4.24) is inserted in the prompt string, so that shell integration escape codes can work properly.
- Fixed #457; unrecognized OSC escape codes accidentally stripped from prompt string.
v1.4.24
- Added
path.fnmatch()
which behaves like the Linuxfnmatch(3)
function. - Added
os.globmatch()
which performs recursive file pattern globbing the same as git does. - Added support for
%CLINK_PROMPT_PREFIX%
,%CLINK_PROMPT_SUFFIX%
,%CLINK_RPROMPT_PREFIX%
, and%CLINK_RPROMPT_SUFFIX%
to provide prefix/suffix strings to surround the prompt strings, and for prompt filters to define a:surround()
function to add their own prefix/suffix strings if needed. - Fixed
~
by itself to change directories, the same as~\
. - Fixed horizontal scrolling in popup lists (is possible whenever the item doesn't fit and no items contain control codes).
- Fixed #452;
history delete #
doesn't work (regression introduced in v1.1.43). - Fixed #448; completion malfunction with
..\does_not_exist
(regression introduced in v1.4.1).
v1.4.23
- Added help message in
clink-select-complete
: when descriptions are shown below the matches, this adds text to mention that F1 toggles showing descriptions inline with the matches. - Added
clink update --check
to only check for an update without installing it.
v1.4.22
- Fixed
clink-select-complete
to use per-matchappendchar
when present. - Fixed repetitive unnecessary work in the background when the
completion
auto-suggest strategy encounters afromhistory
argument slot in an argmatcher. - Fixed the installer
/S
flag (silent install) so it returns exit code 0 on success.
v1.4.21
- The
clink-diagnostics
command can report merged argmatchers. When a numeric arg of 2 or greater is given (e.g. Alt-2,Ctrl-x,Ctrl-z) then it includes a list of defined argmatchers. The list now also reports any merging of argmatchers that occurred. - Fixed
clink update
sowinget
doesn't get confused about whether an update is available for Clink. Oncewinget update clink
performs an update, or once a Clink v1.4.21 or greater .exe installer is run, thenwinget
should stop getting confused.