3.0.0 (ST3 only)
Support for fish 3.0:
- A literal
{}
now "expands" to itself, rather than undergoing brace expansion to an empty string - Brace expansion may contain unescaped whitespace, including newlines
- Commands may be linked by
&&
and||
to form conditional pipelines !
may be used as a synonymous command fornot
- Command names may contain variable expansion
&&
,||
, and|
may be used for line continuation (to continue a pipeline to the next line)
New features:
- Compatibility highlighter - Outline structures in fish scripts that are incompatible with the targeted version:
- Complements the normal syntax highlighting to spot subtle mistakes
- The version of fish to target can be given on the first line of the file, or is otherwise taken from the settings
- Settings can specify a particular version, or
auto
to use the version installed on the system
- Settings can specify a particular version, or
- Path highlighter - Underline valid file paths in fish scripts:
- Imitates native fish behaviour for underlining valid paths
- Compatible with all platforms, depending only on how Python's os.path library interprets absolute paths
Improvements:
- Use
meta.function-call.operator.redirection.
{stdin
,stdout
,stderr
}.
{explicit
,implicit
} for different types of redirections - Distinguish job expansion and process expansion
Settings changes:
fish_indent_directory
renamed tofish_directory
blacklist
renamed toindent_on_save_blacklist
Bugfixes:
- Inline comments after
switch var
andwhile cmd
statements were not scoped correctly - Some scope names were not applied entirely consistently, or named consistently