Releases: chrisant996/clink
Releases Β· chrisant996/clink
v1.7.22
- Explicitly disable
loadlib
and related support in Lua; Clink uses a statically linked Lua engine and does not support dynamic C libraries. - Fixed the
onprovideline
event so it doesn't interfere with thesame_dir
mode ofprompt.transient
. - Fixed input line coloring of
echo
infor %i (1 2 3) do @echo %i
(regression introduced in v1.6.16). - Fixed how
clink autorun set
parses flags and quotes, so thatclink autorun set \"c:\my tools\clink\" inject --autorun
works as expected. - Fixed the
exec.commands
setting when an argmatcher uses:chaincommand()
. - Fixed edge cases for
@
command prefix when an argmatcher uses:chaincommand()
. - Fixed #779; an argmatcher's
onadvance
callback accidentally advanced two times if it advanced to the last argument slot. - Fixed #782; on Windows 8.1, some multiline prompts may render with extra blank lines.
v1.7.21
v1.7.20
v1.7.19
- Fixed some unnecessary work that was performed when starting the Lua engine (a tiny performance boost).
- Fixed
os.getcwd()
when the LongPathsEnabled regkey is set. - Fixed the application manifest for the
clink_*.exe
programs to mark them as longPathAware (this doesn't affect CMD; while Clink is injected in CMD, then CMD's manifest is what controls long path awareness). - Fixed the
oncommand
event when usingclink-popup-history
to select and execute a command from history. - Fixed #756; Clink could potentially think it wasn't elevated when running as
LOCAL_SYSTEM
or the builtinAdministrator
account. - Fixed #758; avoid crashing in a pathological case where something else abuses CMD by injecting background threads that actively garble input and output.
- Fixed the
info
command in the Lua debugger.
v1.7.18
v1.7.18
- Fixed #752;
clink config theme use {name}
reports an error (regression introduced in v1.7.17).
v1.7.17
- Added "4-bit Enhanced Defaults.clinktheme" color theme which approximates the "Enhanced Defaults" colors using only 4-bit terminal colors.
- Added a
clink config theme save -d
flag to save a color theme with placeholders for color settings whose current value matches its default value. Loading a color theme saved this way resets those colors to whatever default values are defined at the moment the file is loaded. - Changed the default behavior for throttling Lua coroutines. By default there is no throttling anymore. The new
lua.throttle_interval
setting can be used to enable throttling of Lua coroutines if they cause responsiveness issues. Prior to this, the throttling interval had been hard-coded to 5 seconds, but now it's configurable and is 0 by default (no throttling). - Changed
rl.getpromptinfo()
to be allowed during transient prompt filtering (but still not during normal prompt filtering). - Added an optimization to replay keyboard macros faster.
- Added an optimization to read key sequences faster, which makes Clink a little more responsive while typing.
- Fixed erasing leftover input text if the prompt height changes while typing.
- Fixed the
oncommand
event when an argmatcher uses:chaincommand()
. - Fixed the
line_state
sent toluafunc:
macros invoked during a keyboard macro (it was empty if the keyboard macro had changed the input line). - Fixed use of
clink.promptcoroutine()
during transient prompt filtering (it was accidentally trying to do asynchronous prompt filtering, which isn't possible during transient prompt filtering). - Fixed the
onadvance
callback in argmatchers so it doesn't interfere with match generation. - Fixed a problem where
clink-popup-history
could leak or lose the undo list from the current input line. - Fixed an error when applying a
*.clinktheme
file with a[clear]
section. - Fixed #751; multi-line oh-my-posh config without newlines causes display problem.
v1.7.17
- Added "4-bit Enhanced Defaults.clinktheme" color theme which approximates the "Enhanced Defaults" colors using only 4-bit terminal colors.
- Added a
clink config theme save -d
flag to save a color theme with placeholders for color settings whose current value matches its default value. Loading a color theme saved this way resets those colors to whatever default values are defined at the moment the file is loaded. - Changed the default behavior for throttling Lua coroutines. By default there is no throttling anymore. The new
lua.throttle_interval
setting can be used to enable throttling of Lua coroutines if they cause responsiveness issues. Prior to this, the throttling interval had been hard-coded to 5 seconds, but now it's configurable and is 0 by default (no throttling). - Changed
rl.getpromptinfo()
to be allowed during transient prompt filtering (but still not during normal prompt filtering). - Added an optimization to replay keyboard macros faster.
- Added an optimization to read key sequences faster, which makes Clink a little more responsive while typing.
- Fixed erasing leftover input text if the prompt height changes while typing.
- Fixed the
oncommand
event when an argmatcher uses:chaincommand()
. - Fixed the
line_state
sent toluafunc:
macros invoked during a keyboard macro (it was empty if the keyboard macro had changed the input line). - Fixed use of
clink.promptcoroutine()
during transient prompt filtering (it was accidentally trying to do asynchronous prompt filtering, which isn't possible during transient prompt filtering). - Fixed the
onadvance
callback in argmatchers so it doesn't interfere with match generation. - Fixed a problem where
clink-popup-history
could leak or lose the undo list from the current input line. - Fixed an error when applying a
*.clinktheme
file with a[clear]
section. - Fixed #751; multi-line oh-my-posh config without newlines causes display problem.
v1.7.16
- Fixed potential crash after pressing Home and then deleting the first word in the input line (regression introduced in v1.7.15).
v1.7.15
- Fixed the sequence of characters
clink echo
reports for Ctrl-Bkspc. - Fixed an issue where the
match.expand_abbrev
setting could accidentally move the cursor position when trying to completex:\does_not_exist
. - Fixed input line coloring to refresh the display if
clink.argmatcher()
registers a new argmatcher in response to an event such asclink.oncommand
. - Fixed extra prompt(s) that could printed if a
luafunc:
command usedrl_buffer:beginoutput()
and thenrl.invokecommand()
to invoke anotherluafunc:
command that did the same, nesting multiple times. - Fixed negative numeric arguments with
rl_buffer:getargument()
andrl_buffer:setargument()
. - Fixed potential heap corruption in
os.enumshares()
. - Fixed both completions and
clink.parseline()
when a command is a doskey alias but ends up with only a command name and spaces after expanding the alias (completions got confused about which argument slot was being completed, andclink.parseline()
accidentally reported an extra empty word at the end of the input line). - Fixed #743; output doesn't scroll terminal correctly when the terminal screen buffer width is wider than the terminal window width (regression introduced in v1.6.2).
- Fixed #744;
git.getaction()
prevents git from properly cleaning up rebase files if you edit a commit during a rebase. - Fixed #745; out of bounds read in memcpy after typing
cmd /;=
and then moving the cursor left twice (regression introduced in v1.5.17).
v1.7.14
- Added a new
clink.scroll_offset
setting which controls how many lines to show above or below the selected item in popup lists or theclink-select-complete
command (default is 3). - Changed
clink set name
to include the default value of the named setting. - The Antares clinkprompt now allows configuring the characters for showing the previous command's exit code (refer to the Antares.clinkprompt file for details).
- The
clink-diagnostics
andclink-diagnostics-output
bindable commands also show the current *.clinkprompt custom prompt file, if any. - Fixed a problem where Esc could leak or corrupt history undo lists when used after searching history (the problem existed since v0.1 in 2012).
- Fixed the
clink-show-help
command to stop listing theA-f
default key binding as an "Uncategorized" command. - Fixed a typo in the Antares clinkprompt when trying to detect a bare git repo.
- Fixed the
history.sticky_search
setting (regression introduced in v1.5.12). - Fixed default color for
color.selected_completion
to have better contrast ratio in light terminal themes. - Fixed input edge cases in the
win-history-list
command which missed updating the display. - Fixed a color glitch in the
clink-popup-history
command for history lines marked as having been modified in memory. - Fixed the
win-history-list
command to show a mark for history lines that have been modified in memory, like theclink-popup-history
command already does. - Fixed an issue where instead of always starting on a new line, output from a command could potentially accidentally start at the end of the input line.
- Fixed some memory management bugs in history item undo lists.
- Added a workaround to fix #738; Windows Terminal does not handle the
CSI K
code correctly when the cursor is past the end of the screen line. - Improvements for #739; ConsoleZ, ConEmu, and other tools can interfere with injecting Clink (there's no way to completely prevent opportunities for interference, but this reduces the chances).
v1.7.13
- Added an error message when
clink set
fails to write theclink_settings
file (e.g. no permission or the file is marked read-only). - Added logging when
clink inject
is slow. - Added keyboard info in
clink echo --verbose
. - Condensed the logging during
clink inject
, but if an error occurs while hooking system APIs then it automatically emits verbose logging instead of condensed logging. - Fixed the maximum vertical scroll position limiter to include the input hint row when using the legacy Windows conhost.
- Fixed #732; Executable Completion does not recognize
.LNK
files.