fish
A robust Sublime Text syntax package for fish
Details
Installs
- Total 11K
- Win 994
- Mac 7K
- Linux 3K
Apr 23 | Apr 22 | Apr 21 | Apr 20 | Apr 19 | Apr 18 | Apr 17 | Apr 16 | Apr 15 | Apr 14 | Apr 13 | Apr 12 | Apr 11 | Apr 10 | Apr 9 | Apr 8 | Apr 7 | Apr 6 | Apr 5 | Apr 4 | Apr 3 | Apr 2 | Apr 1 | Mar 31 | Mar 30 | Mar 29 | Mar 28 | Mar 27 | Mar 26 | Mar 25 | Mar 24 | Mar 23 | Mar 22 | Mar 21 | Mar 20 | Mar 19 | Mar 18 | Mar 17 | Mar 16 | Mar 15 | Mar 14 | Mar 13 | Mar 12 | Mar 11 | Mar 10 | Mar 9 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 1 | 4 | 2 | 2 | 1 | 1 | 5 | 4 | 1 | 2 | 0 | 1 | 1 | 4 | 4 | 3 | 2 | 3 | 1 | 0 | 2 | 1 | 7 | 2 | 1 | 1 | 0 | 4 | 4 | 2 | 1 | 1 | 2 | 1 | 0 | 5 | 4 | 1 | 1 | 3 | 0 | 3 | 5 | 5 | 2 |
Linux | 0 | 1 | 2 | 1 | 2 | 0 | 0 | 3 | 1 | 1 | 1 | 2 | 1 | 2 | 1 | 0 | 2 | 2 | 1 | 0 | 1 | 2 | 0 | 1 | 3 | 3 | 1 | 0 | 3 | 2 | 1 | 1 | 0 | 0 | 0 | 3 | 5 | 2 | 5 | 0 | 0 | 3 | 0 | 1 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
Friendly Interactive Shell (fish)
A Sublime Text 2/3 package for the friendly interactive shell. It features a robust syntax highlighting scheme that mimics the native highlighting behaviour of fish.
The package currently supports up to fish version: 3.1
Note: ST2 support is capped at fish version 2.7, with a limited set of the following features.
Features
- Snippets for common constructs.
- Extensive syntax highlighting:
- Compatibility highlighter: Code that is incompatible with the targeted version of fish is outlined.
- Path highlighter: Paths to existing files are underlined, just like in the fish shell.
- Indent and prettify: Reformat the active file with
fish_indent
:- Use
ctrl+alt+i
or your build system shortcut (eg,ctrl+b
). - Optional setting to run automatically when file is saved.
- Use
Installation
Via Package Control
Install Package Control, then go to Command Palette (Ctrl+Shift+P) > Package Control: Install Package > fish.
Manual
Clone the repository to your Packages directory and rename it to fish
.
cd /path/to/sublime/packages/directory
git clone https://github.com/Phidica/sublime-fish.git
mv sublime-fish fish
Open a .fish
file and verify the selected syntax is “Friendly Interactive Shell (fish)”.
Screenshots
As of release 3.0.0, a fish script (for example, fish-shell/share/functions/ls.fish
) will look something like:
Figure 1: Default Monokai colour scheme
Figure 2: Example custom Monokai colour scheme formatting additional scopes
Exposed scopes
fish construct | Scope name |
---|---|
Unquoted string | meta.string.unquoted |
Command name | meta.function-call.name |
Parameters | meta.function-call.parameter.option /argument |
File path (in argument) | meta.function-call.parameter.argument.path |
File path (in redirection) | meta.function-call.operator.redirection.path |
Redirection | meta.function-call.operator.redirection. {stdin ,stdout ,stderr }. {explicit ,implicit } and keyword.operator.redirect. {truncate ,append } |
Job expansion | meta.function-call.parameter.argument.job-expansion and punctuation.definition.job |
Process expansion | meta.function-call.parameter.argument.process-expansion and punctuation.definition.process |
Variable expansion | meta.variable-expansion and punctuation.definition.variable |
Command substitution | meta.parens.command-substitution and punctuation.section.parens.begin /end |
Index expansion | meta.brackets.index-expansion and punctuation.section.brackets.begin /end |
Brace expansion | meta.braces.brace-expansion and punctuation.section.braces.begin /separator /end |
Wildcard expansion | meta.wildcard-expansion and keyword.operator.question-mark /single-star /double-star |
Home directory expansion | keyword.operator.tilde |
Branches and releases
ST2 support and ST3 support is separated between two branches:
st2
: Plugins only compatible with ST2, syntax usestmLanguage
scheme, and provides highlighting for fish 2.7 only.master
: Plugins only compatible with ST3, syntax usessublime-syntax
scheme, and provides highlighting up to the currently supported version of fish.
The 2.x.x series of releases (on both ST support branches) only support fish 2.7.
The 3.x.x series of releases (on the master
branch alone) includes support for fish 3.0 and beyond.
Contribution
Requirements:
- PackageDev, only for ST2 development and changing the
tmPreferences
file.
ST2 development: The source file of the syntax is fish.YAML-tmLanguage
. When editing this file, “compile” it with the PackageDev build system to automatically generate the fish.tmLanguage
file which is used by Sublime Text 2.
ST3 development: The source file of the syntax is fish.sublime-syntax
.
Guide for contributing is located here.
History
This project was forked from original groundwork laid by toru hamaguchi.