Skip to content

Releases: adaszko/complgen

v0.8.0

07 Mar 10:08
v0.8.0
ea9211f

Choose a tag to compare

Changed

  • External command definitions ({{{ ... }}}) were simplified. They now work on both supra- and sub-word context out of the box. Implementing conditional behavior based on $1 and $2 special parameters is no longer needed

  • External commands ({{{ ... }}}) in a matching context now work by re-executing the command and checking if the user input on the command line matches any of the lines produced by the external command

Removed

  • Breaking: Nontail commands proved to be a design dead-end and thus were removed

Fixed

  • Breaking: Conflicting description check should now detect all cases thanks to moving it from working on regexes, into working on DFAs. This change comes at the expense of worse error messages but more comprehensive error detection

  • Breaking: Ambiguity detection is now also performed at the DFA phase instead of the regex phase

v0.7.4

09 Feb 09:15
v0.7.4
410aed8

Choose a tag to compare

Fixed

  • PowerShell --pretty=fulle bug
  • Substantially improved compilation performance by eliminating redundant work
  • A bug where some specialization regexes weren't being taken into account

v0.7.3

31 Jan 13:33
v0.7.3
e16f5cd

Choose a tag to compare

Fixed

  • Fixed bug in completing <PATH>...
  • Bash completion latency optimizations
  • Fixed bug in completing duplicated literals under fish
  • Fixed a bug with completing literals where one is a prefix of another

v0.7.2

28 Jan 18:00
v0.7.2
f9d6412

Choose a tag to compare

Fixed

  • Performance regression in DFA validation
  • Substantial reductions in bash completion latency

Changed

  • Removed external command calls from bash completion scripts for lower completion latency
  • Only populate subword regexes array with ones that are actually used (smaller scripts)

v0.7.1

21 Jan 10:13
v0.7.1
ca55ddb

Choose a tag to compare

Fixed

  • Fixed a bug in fish completion #70
  • bash <PATH>s completion wasn't handling mixing paths and options properly

v0.7.0

15 Jan 12:19
v0.7.0
7eb27a1

Choose a tag to compare

Added

  • PowerShell support (owing to @slang25!)

v0.6.1

11 Jan 11:46
v0.6.1
733721c

Choose a tag to compare

Removed

  • Unnecesary clashing subwords leaders detection

v0.6.0

30 Dec 09:20
v0.6.0
81d0fef

Choose a tag to compare

Fixed

  • Fixed multiple completion bugs in common cases such as --option=<PATH> or --option=<DIRECTORY>

Changed

  • Breaking: ZSH specialized commands should now use compadd instead of writing on stdout (problematic interaction with fallbacks has been resolved)

Added

  • Precise source location in warnings/errors
  • Specialization command now also support regexes
  • Added --regex option for writing generated regular expression into a .dot file for debugging
  • More precise ambiguity detector: Detect clashing subword leaders
  • Relax grammar: Final semicolon (;) isn't required anymore

Removed

  • Breaking: Removed --railroad option for diagrams generation due to limited utility
  • Breaking: Removed <PID>, <USER>, <GROUP>, <HOST>, <INTERFACE>, <PACKAGE> predefined nonterminals as they can be defined in the .usage file

v0.5.0

24 Aug 09:12
v0.5.0
1c01365

Choose a tag to compare

Fixed

  • Ambiguity detection now works on an earlier compilation phase for better error messages

v0.4.0

01 May 08:07
v0.4.0
b7a66ed

Choose a tag to compare

Changed

  • Breaking: Simplified CLI interface (there's no subcommands anymore; aot is now implicit)

Removed

  • Breaking: JIT mode has been removed (its functioning changed over time, rendering it largely redundant)

Added

  • Nontail-position commands
  • Descriptions under fish and zsh are now deduplicated

Fixed

  • Breaking: Tail commands detection is more precise now, resulting in more rejected grammars (that would have previously been silently ambiguous)
  • Breaking: Two adjacent literals used in subword context are now rejected as an error as this may lead to surprising behavior (#63)
  • Bash: Bug in prefix{{{ shell command }}} case