Releases: chrisant996/clink
v1.1.27
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
v1.1.27
- Added
color.argmatcher
setting which, when set, is used to color a command name if it has an associated argmatcher (this supersedescolor.cmd
,color.doskey
, andcolor.input
). By default it's not set. - Added
log.rl_terminal
setting which logs all terminal input and output for Readline (this setting may be renamed or removed in the future).
v1.1.26
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
(v1.1.25 almost managed to survive a week without fixes! Clink is very close to an official release. Alas, an important issue was found. But that enabled another feature to make it in: the ability for a "luafunc:" key binding to invoke other Readline commands, and to override match completions.)
Highlights for v1.1.26:
- Added
rl.invokecommand()
which can invoke a Readline command from inside a "luafunc:" key binding. - Added
rl.setmatches()
which can override match completions from inside a "luafunc:" key binding. - Worked around UTF8 key binding problem with Readline which had been causing some meta key bindings (M-x, M-C-x, etc) to sometimes produce garbled key bindings and garbled entries in
clink-show-help
(Alt+H). - Fixed crash if "luafunc:" key binding macro refers to a symbol that doesn't exist.
v1.1.25
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
(Yes, it's been hovering in release candidates for a while. That's because bugs keep being found that are important enough to fix before an official release. The goal is for this to be a quality-driven release, more than a date-driven release.)
Highlights for v1.1.25:
- Added
clink-find-conhost
command that, when in a default (conhost) console window, is equivalent to picking "Find..." from the system menu. - Added
clink-mark-conhost
command that, when in a default (conhost) console window, is equivalent to picking "Mark" from the system menu. clink-copy-word
now copies the current word by default, but copies the nth word if a numeric argument is entered (see "Readline Arguments" in the Readline manual).- Fixed match display filtering to not exceed the screen width (regression introduced in v1.1.12).
- Fixed multi-key sequences; in some cases it could get confused about whether an input key is part of a multi-key binding sequence (regression introduced in v1.1.1-alpha).
- Fixed stray input processing by conhost (holding Ctrl+A or Ctrl+F or etc could accidentally trigger conhost's shortcut keys).
- Fixed popup window location and size when using Windows Terminal.
- Fixed input coloring after
operate-and-get-next
; also fixes brief flicker of incorrect coloring whenever the input line is modified.
v1.1.24
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
(Yes, it's been hovering in release candidates for a while. That's because bugs keep being found that are important enough to fix before an official release. The goal is for this to be a quality-driven release, more than a date-driven release.)
Highlights for v1.1.24:
auto
forterminal.emulation
now uses native VT support on Windows 10 build 15063 and higher, unless the HKCU\Console\ForceV2 regkey is 0.- Special quote handling now enables
"dir\"fi
to complete to"dir\file"
. CMD simply strips quotes during completion, and now Clink behaves similarly. - Breaking Change:
line:getword()
andline:getendword()
now strip quotes from the word. This should generally automagically make existing match generators work even with embedded quotes, but there's a chance that some match generator might need to be updated. This seems like a reasonable compromise, given the general benefit purchased by this breaking change. os:globdirs()
andos:globfile()
strip quotes from the globpattern in order to behave more like CMD. Embedded quotes are nonsensical and the intended interpretation is clear, so the APIs now help out with that.- Fixed #66; crash when injecting into 32 bit cmd.
- Fixed #64; wrong cursor position when PROMPT contains BEL character.
- Fixed #62; argmatchers should color
-x:"foo"
as a flag if-x:
is a flag. - Fixed #61; argmatchers should not handle completion for text immediately following
-flag:
. Instead it always uses file completion. A custom generator can be used to override that behavior. - Fixed #60; completion fails with multiple slashes.
- Fixed completion in some circumstances. Readline and Clink didn't always agree on where the word breaks were; now Clink always tells Readline where the word breaks are (so that completion, input colorization, and lua scripts can all work properly and consistently).
- Fixed 256 color ANSI codes.
v1.1.23
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
Highlights for v1.1.23:
v1.1.22
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
Highlights for v1.1.22:
- Added
menu-complete-wraparound
(on by default) that controls whether completion commands wrap around when cycling past an end (affects popup windows as well). - Fixed match completion getting stuck (regression introduced in v1.1.19).
- Fixed active mark region so it gets deactivated appropriately (it wasn't hooked up fully for Readline's callback mode, which is how Clink uses it).
- Fixed
clink-show-help
(Alt+H) so it's able to listC-@
bindings. - Fixed inconsistent mark color.
v1.1.21
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
Highlights for v1.1.21:
- Added
clink.oninject()
so scripts can register a callback function to run when Clink is injected into CMD. - Added
console.linehascolor()
function that returns whether the specified line contains any of the specified colors. - Added
console.findprevline()
andconsole.findnextline()
functions that can search backwards or forwards for text and/or colors in the screen buffer. Regular expressions may be used. - Fixed doskey alias parsing for match generators and input line coloring (Clink had been using slightly different parsing rules than CMD does).
- Fixed the "-- More --" prompt while listing key bindings; Esc didn't quit, and unexpected keys weren't ignored.
v1.1.20
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
Highlights for v1.1.20:
- Now you can bind Lua functions to keys! Added new
rl_buffer
type that gets passed to the Lua function. - Added a group of
console
Lua APIs intended mainly for use by Lua function key bindings (e.g.console.scroll()
). - Added
string.equalsi()
function that performs a case insensitive UTF8 comparison of two strings. - Added
string.matchlen()
function that compares two UTF8 strings and returns how many characters match at the beginning, or -1 if the entire strings match. It respects thematch.ignore_case
andmatch.ignore_accents
settings. - Added
path.toparent()
function that adjust the input string by moving up one directory level. - Added
clink.onendedit()
so scripts can register a callback function to run when editing finishes (e.g. Enter is pressed). If desired, the function can even change the input text. This is very powerful, and should be used carefully. - Changed
os.getbatterystatus()
to return a table with the battery status details, rather than four separate return values. - Fixed the
doskey.enhanced
setting to not expand doskey aliases when preceded by a space. However, a doskey alias after a&
or|
command separator needs to be preceded by two spaces to avoid expanding it. That's soalias & alias
expands both, andalias & alias
expands neither; while the rules are more complicated to explain, they make more sense visually. - Fixed environment variable completion (regression introduced in v1.1.19).
- Fixed Cmder startup (regression introduced in v1.1.17). Cmder expects to be able to replace Clink v0.4.9's clink.lua file, but there is no such thing anymore in newer versions of Clink. To be properly backwardly compatible with Clink v0.4.9 requires loading clink.lua (if it exists) from the first script directory listed by
clink info
, and ignoring clink.lua files in all other script directories.
v1.1.19
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
Highlights for v1.1.19:
- Improved responsiveness while typing: matches are collected only on demand, instead of always while typing. This makes it possible to always support match completion for UNC paths.
- Fixed #50 Alt+H could warn about likely mistakes in key bindings.
v1.1.18
This is a release candidate build.
This release candidate build seems to be working very well for me, even when copied into an existing Cmder\vendor\clink directory. Be sure to make a backup copy of your Cmder installation before copying Clink into an existing Cmder installation!
Highlights for v1.1.18:
- The input text now has context sensitive coloring based on the argmatchers. It's on by default and can be turned off with
clink set clink.colorize_input false
. - Updated the Readline library to 8.1.
- Terminal emulation now supports the audible bell character.
- Fixed #48
menu-complete
gets stuck. - Fixed #47 Alt+D erases history instead of word.
- Fixed #46 typing
..
in subdirectory of root doesn't work. - Fixed restoring color after pager when showing help.
- Fixed
clink set
match completions for color settings.