github chrisant996/clink v1.3.13

latest releases: v1.3.17, v1.3.16, v1.3.15...
one month ago

The v1.3.13 release adds features that make the i.lua script possible. Argmatchers can now be written to do match completion in directories other than the current directory. Argmatchers can also be written to take a whole command line as an argument: for example the built-in cmd argmatcher (cmd some_command).

Changes in v1.3.13

  • Argmatchers can use :chaincommand() to treat the rest of the command line as another command.
    • Added an argmatcher for cmd that uses :chaincommand().
    • E.g. so that completion after cmd program can be parsed by an argmatcher for program instead of cmd.
  • Argmatchers can be more involved in parsing the command line, if they wish. See Responding to Arguments in Argmatchers for more information.
    • A callback function can be assigned to an argument position by including onarg=your_callback_function in the table given to :addarg().
    • The onarg callback and match functions receive an additional user_data parameter. When parsing begins, the user_data is an empty table, and your functions can set or get data from the table. Each time a flag or argument links to another argmatcher, the new argmatcher gets a separate new empty user_data table.
    • The built-in cd and pushd argmatchers use this to influence match completion for the rest of the input line. E.g. pushd \foo & program Tab uses \foo as the current directory when generating possible completions.
  • Functions registered with clink.onfilterinput() may optionally return multiple lines in a table.
  • Fixed completions for words that contain ., such as clink set color.Tab (regression introduced in v1.3.11).
  • Fixed doskey macros that use echo off $T ....
  • Fixed input line coloring for a drive letter by itself.
  • Fixed input line coloring for a file that exists but is not executable.
  • Fixed obscure edge case with delayinit argmatchers and operate-and-get-next.
  • Fixed potentially inconsistent input line coloring when classifier:applycolor() is given an escape code that sets only the foreground or background color.

Don't miss a new clink release

NewReleases is sending notifications on new releases.