github chrisant996/clink v1.2.38
v1.2.38 -- fancy enhancements for argmatchers

latest releases: v1.7.5, v1.7.4, v1.7.3...
3 years ago

Highlights:

  • 😎 Argmatchers can supply descriptions for flags or arguments.
  • 🎉 Match generators can include display and description fields directly -- there's no need to mess around with match display filtering anymore.
  • 🐞 Lots of minor bugs fixed.

Full list of changes:

  • Enhancements for match descriptions (which are displayed when listing possible completions):
    • Argmatchers can provide description strings for flags and/or args (e.g. "Verbose output" for -v, or "Do nothing" for -n, etc).
    • Argmatchers can also provide argument info strings for flags and/or args. These are hint strings, and not part of the completion match itself. E.g. "linenum" for --line, which gets displayed as "--line linenum" when listing possible completions, but only "--line" is inserted.
    • Match generators can provide display and description strings when adding matches (match_builder:addmatch() and match_builder:addmatches()) -- it is no longer necessary to use clink.ondisplaymatches().
    • The clink-select-complete command now shows match descriptions in a single line at the bottom (instead of in a second column) when there are more than 9 matches.
    • Added color.arginfo Clink setting for the arguments for a flag or argument when listing possible completions.
    • Added color.description Clink setting for the default match description color when listing possible completions.
    • Truncate descriptions when a line will wrap (or has wrapped) when listing possible completions.
  • Command separators (&, |) and redirection symbols (<, >, >&) are colored in the input line, using colors from the new color.cmdsep and color.cmdredir Clink settings.
  • Fixed Backspace in clink-select-complete; it had sometimes missed expanding the set of matches accordingly.
  • Fixed the clink-popup-history command to respect the search-ignore-case setting.
  • Fixed :nofiles() to dead-end an argmatcher (regression introduced in v1.0.0).
  • Fixed clink.ondisplaymatches() and clink.onfiltermatches() when there's only 1 match.
  • Fixed incremental find, find next, and find previous in console text popup lists.
  • Fixed backward compatibility for the old matching filtering API.
  • Fixed several other minor issues with match display filtering.
  • Fixed intermittent incorrect match generation for /flag: or /flag= flags.
  • Fixed duplicate removal with deprecated match generators.
  • Fixed when nested deprecated argmatchers are exhausted (regression introduced in v1.2.36).
  • Fixed deprecated match generators to not infer whether matches are filenames, to match the behavior of the v0.4.9 API.
  • Fixed how match.wild works with deprecated match generators; e.g. arg completions for z.lua weren't working (regression introduced in v1.1.5).
  • Fixed argmatcher for clink --profile so it produces directory matches.
  • Fixed %CLINK_RPROMPT% alignment when color.prompt is set.

Don't miss a new clink release

NewReleases is sending notifications on new releases.