Skip to content

Releases: chrisant996/clink

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.

v1.1.18

03 Jan 14:54
Compare
Choose a tag to compare
v1.1.18 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.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.

v1.1.17

30 Dec 02:21
Compare
Choose a tag to compare
v1.1.17 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.17:

  • Added os.getbatterystatus() function that gets battery status information much faster than launching wmic.
  • Fixed #44 Path completion doesn't work with cd /d.

v1.1.16

28 Dec 20:35
Compare
Choose a tag to compare
v1.1.16 Pre-release
Pre-release

This is a release candidate build; an official release build is likely to arrive before Jan 1.

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.16:

  • Added match.ignore_accent setting (enabled by default) that ignores Latin alphabet diacriticals when completing matches (e.g. ä matches a, ı matches i, ł matches l, etc).
  • Fixed #42 history lines are split on special characters.
  • Fixed #41 Enable custom doskey handling of .. and -.
  • Fixed Readline bug inserting dir matches; \win_ foo (cursor at _) would become \Windows\\_ foo.
  • Fixed the quoted-insert command to insert just \x1b when ESC is pressed.

v1.1.15

27 Dec 03:54
Compare
Choose a tag to compare
v1.1.15 Pre-release
Pre-release

This is a release candidate build; an official release build is likely to arrive before Jan 1.

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.15:

  • Migrating settings now immediately writes a new settings file, instead of waiting until a setting is changed.
  • Added support to detect when running in Windows Terminal and use native terminal support (which enables things like Xterm 256 and 24-bit color support).
  • Added terminal emulation support for Xterm 256 and 24-bit color escape codes. Clink maps the specified color to the most similar color in the active 16 color palette (using the CIELAB color space). To get full support for 24-bit color, it's necessary to use ConEmu or Windows Terminal or a similar console host, or to set terminal.emulation to native (which isn't supported on some older Windows OS versions).
  • Allow doskey macros named .. or -, and also now doskey macros that resolve to .. or - or a directory name will work (just like if the macro text had been typed at the Clink prompt).
  • Fixed compatibility problem with various scripts getting the %HOME% environment variable. Now if it isn't set, then Clink synthesizes %HOME% from %HOMEDRIVE% and %HOMEPATH% or from %USERPROFILE%.
  • Fixed saving color settings to behave like other settings: only write a setting's value to the setting file if it differs from the default value.
  • Fixed the clink.print() Lua function so it also works during loading scripts and during prompt filtering.
  • Fixed the Readline input text display getting garbled if the filtered prompt includes Xterm's OSC window title code (\x1b]0;text\x07). Clink doesn't support that escape code, but at no longer garbles the input text if that escape code is present.