Skip to content

Releases: chrisant996/clink

v1.1.28

12 Feb 21:07
Compare
Choose a tag to compare
v1.1.28 Pre-release
Pre-release

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.28

  • Renamed the log.rl_terminal setting to debug.log_terminal; it has already been repeatedly very useful in multiple was since it was added, so it stays.
  • Fixed #70; ctrl+c not working (regression introduced in v1.1.25).

v1.1.27

11 Feb 03:43
Compare
Choose a tag to compare
v1.1.27 Pre-release
Pre-release

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 supersedes color.cmd, color.doskey, and color.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

07 Feb 20:47
Compare
Choose a tag to compare
v1.1.26 Pre-release
Pre-release

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

01 Feb 02:46
Compare
Choose a tag to compare
v1.1.25 Pre-release
Pre-release

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

29 Jan 04:56
Compare
Choose a tag to compare
v1.1.24 Pre-release
Pre-release

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 for terminal.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() and line: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() and os: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

21 Jan 04:57
Compare
Choose a tag to compare
v1.1.23 Pre-release
Pre-release

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:

  • Fixed #57; slashes not normalized in some cases.
  • Fixed #45; interaction between history.dupe_mode=erase_prev and history.shared=false.
  • Fixed menu-complete-wraparound when off and there's only 1 match.

v1.1.22

18 Jan 09:35
Compare
Choose a tag to compare
v1.1.22 Pre-release
Pre-release

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 list C-@ bindings.
  • Fixed inconsistent mark color.

v1.1.21

16 Jan 08:14
Compare
Choose a tag to compare
v1.1.21 Pre-release
Pre-release

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() and console.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

11 Jan 18:28
Compare
Choose a tag to compare
v1.1.20 Pre-release
Pre-release

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 the match.ignore_case and match.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 so alias & alias expands both, and alias & 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

07 Jan 05:41
Compare
Choose a tag to compare
v1.1.19 Pre-release
Pre-release

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.