Skip to content

Releases: Phidica/sublime-fish

3.4.1 (ST3 and ST4)

12 Aug 15:00
Compare
Choose a tag to compare

Bugfix:

  • Systems without fish installed would always raise an error dialogue box when first opening a fish file, due to the compatibility highlighter initialisation failing to establish the system fish version.

3.4.0 (ST3 and ST4)

29 Mar 13:31
Compare
Choose a tag to compare

The version immediately before this is 3.2.0. There is no version 3.3.0

Support for fish 3.3:

  • There were no relevant changes to the fish syntax in fish version 3.3

Support for fish 3.4:

Improvements:

  • Allow the fish_directory setting to be a dictionary with per-platform values in addition to a simple string (thanks @eugenesvk!)
  • Use meta.function-call.operator.control.{newline,semicolon,ampersand} to distinguish control operators

Renamed scopes:

  • keyword.operator.control.{double-ampersand,double-bar} -> meta.function-call.operator.control.{double-ampersand,double-bar}

3.2.0 (ST3 only)

25 May 15:07
Compare
Choose a tag to compare

Packaging:

  • Rename syntax to "Fish", as the de facto standard for syntax names is to use an abbreviated form if it is more common (#24, sublimehq/Packages#2390)
  • Update documentation to describe shift in focus to ST4

Support for fish 3.2:

  • There were no relevant changes to the fish syntax in fish version 3.2

Bugfix:

  • Indentation and prettification could not occur under ST4

3.1.0 (ST3 only)

13 Feb 11:13
Compare
Choose a tag to compare

Support for fish 3.1:

New feature:

  • Compatibility highlighter can show a summary of the issues in the current file using the status bar (bottom left of the Sublime Text window):
    • This is enabled by default, but you can tweak or disable it in the settings

Renamed scopes:

  • meta.braces.brace-expansion.empty.no-whitespace -> meta.braces.literal.empty

Bugfixes:

  • Ending a pipeline with a comment while inside of a block would mark the end as invalid (#22)
  • The compat_highighter_fish_version option didn't allow the lazy version specification which was advertised
  • } appeared to be a valid command name
  • for did not validate the variable name (fish-shell/fish-shell#5800)
  • In some cases, command substitution and variable expansion weren't recognised when inside of brace expansion

3.0.1 (ST3 only)

22 Nov 16:13
Compare
Choose a tag to compare

Improvement:

  • Use keyword.operator.redirect.{truncate,append} depending on whether the redirection symbol appears once or twice, respectively

Bugfixes:

  • Consecutive tildes were treated as keywords when only the first should have been
  • The compatibility highlighter suggested replacing the deprecated ^^ with 2> when 2>> is more appropriate (#23)

3.0.0 (ST3 only)

27 Oct 12:20
Compare
Choose a tag to compare

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 for not
  • 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
  • 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 to fish_directory
  • blacklist renamed to indent_on_save_blacklist

Bugfixes:

  • Inline comments after switch var and while cmd statements were not scoped correctly
  • Some scope names were not applied entirely consistently, or named consistently

2.5.0 (ST3 only)

30 Aug 15:12
Compare
Choose a tag to compare

This is the first version of the package to support ST2 and ST3 from separate development branches. Meaning, it exists in two different forms which each implement all the following changes.

Packaging:

  • Rename syntax to "Friendly Interactive Shell (fish)", as the de facto standard for syntax names is title cased
  • Rename package settings menu item to "Fish", as the de facto standard for this menu is the title-cased package name

Improvements:

  • Use meta.function-call.name for command names
  • Use meta.function-call.parameter for all parameters
  • Use meta.function-call.operator.control for control operators specifically
  • Use meta.function-call.operator.redirection for redirection
  • Use meta.function-call.operator.pipe for piping

Bugfixes:

  • Comments immediately after builtin commands were not scoped correctly
  • Comments immediately after redirection into file were not shown as invalid

2.5.0 (ST2 only)

30 Aug 15:10
Compare
Choose a tag to compare

This is the first version of the package to support ST2 and ST3 from separate development branches. Meaning, it exists in two different forms which each implement all the following changes.

Packaging:

  • Rename syntax to "Friendly Interactive Shell (fish)", as the de facto standard for syntax names is title cased
  • Rename package settings menu item to "Fish", as the de facto standard for this menu is the title-cased package name

Improvements:

  • Use meta.function-call.name for command names
  • Use meta.function-call.parameter for all parameters
  • Use meta.function-call.operator.control for control operators specifically
  • Use meta.function-call.operator.redirection for redirection
  • Use meta.function-call.operator.pipe for piping

Bugfixes:

  • Comments immediately after builtin commands were not scoped correctly
  • Comments immediately after redirection into file were not shown as invalid

2.4.1

24 Apr 14:43
Compare
Choose a tag to compare

Bugfixes:

  • Redirection with two arrows >> did not highlight correctly at all (!)
  • The caret redirection operator ^ was still given special treatment inside of some words
  • Redirection didn't identify certain invalid characters in paths
  • and/or weren't shown as invalid when they were used directly after a pipe
  • Redirection wasn't shown as invalid when it was used directly after a pipe
  • Backgrounding of and/or/not wasn't shown as invalid
  • Defining a function starting with ~ highlighted it as a special character
  • Invalid structures in the function block were not identified

2.4.0

16 Apr 11:51
Compare
Choose a tag to compare

Improvements:

  • Support the [ ] form of test (#8)
  • Highlight a ~ in redirect paths
  • Distinguish arguments which might be paths with meta.parameter.argument.path
  • Distinguish option and argument parameter types, and long and short option types (as well as the "end of options" option).
    We now provide the following scopes:
    • meta.parameter.option.long
    • meta.parameter.option.short
    • meta.parameter.option.end
    • meta.parameter.argument
    • punctuation.definition.option.long.begin
    • punctuation.definition.option.long.separator
    • punctuation.definition.option.short
    • punctuation.definition.option.end
  • Distinguish operator types.
    We now provide the following scopes:
    • keyword.operator.control
    • keyword.operator.pipe
    • keyword.operator.redirect
    • keyword.operator.range

Bugfixes:

  • Some structures were not highlighted correctly if they were immediately followed by the EOF
  • Unescaped spaces in brace expansion weren't marked up as invalid
  • Quoted integers were not allowed as file descriptors in redirection

Internal changes:

  • Rename "argument" to "parameter"
  • Rename "nonoption argument" to "argument"
  • Rename "command chain" to "pipeline"