Skip to content

3.0.0 (ST3 only)

Compare
Choose a tag to compare
@Phidica Phidica released this 27 Oct 12:20
· 61 commits to master since this release

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