All Projects → Phidica → sublime-fish

Phidica / sublime-fish

Licence: MIT license
A robust Sublime Text syntax package for fish

Programming Languages

shell
77523 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to sublime-fish

CSSFontFamily
CSSFontFamily is a Sublime Text plugin with a collection of font stacks autocomplete.
Stars: ✭ 15 (-53.12%)
Mutual labels:  sublime-text, sublime-text-3, sublime-text-2
FileHistory
Sublime Text plugin that keeps track of files which have been recently closed, as well as files that have been recently accessed.
Stars: ✭ 51 (+59.38%)
Mutual labels:  sublime-text, sublime-text-3, sublime-text-package
fish-color-scheme-switcher
A fish shell 🐟 plugin to switch color schemes 🌈
Stars: ✭ 48 (+50%)
Mutual labels:  fish, fish-shell
Dotfiles
Config for vim sublime awesome xmonad etc.
Stars: ✭ 140 (+337.5%)
Mutual labels:  fish, sublime-text-3
Zoxide
A smarter cd command. Supports all major shells.
Stars: ✭ 4,422 (+13718.75%)
Mutual labels:  fish, fish-shell
Fish Bd
Quickly go back to a parent directory up in your current working directory tree. Don't write 'cd ../../..' redundantly, use bd instead.
Stars: ✭ 113 (+253.13%)
Mutual labels:  fish, fish-shell
Packages Main
Primary Oh My Fish package repository.
Stars: ✭ 138 (+331.25%)
Mutual labels:  fish, fish-shell
Plugin Nvm
Node version manager wrapper for Fish shell
Stars: ✭ 173 (+440.63%)
Mutual labels:  fish, fish-shell
Spacefish
🚀🐟 The fish shell prompt for astronauts
Stars: ✭ 856 (+2575%)
Mutual labels:  fish, fish-shell
sublime-text-theme-switcher-menu
Painless theme selection in Sublime Text ⚡
Stars: ✭ 18 (-43.75%)
Mutual labels:  sublime-text, sublime-text-3
sublime
Repository for the Tandem Sublime Plugin
Stars: ✭ 22 (-31.25%)
Mutual labels:  sublime-text, sublime-text-3
dimmed
👔 Dimmed Color Theme for Sublime Text 2/3
Stars: ✭ 18 (-43.75%)
Mutual labels:  sublime-text, sublime-text-3
Fish Utils
🔧 My utility belt of fish functions, writing these has saved me many hours in the long run... I hope...
Stars: ✭ 94 (+193.75%)
Mutual labels:  fish, fish-shell
Breeze
git tool for fish-shell
Stars: ✭ 52 (+62.5%)
Mutual labels:  fish, fish-shell
Sdkman For Fish
Adds support for SDKMAN! to fish
Stars: ✭ 139 (+334.38%)
Mutual labels:  fish, fish-shell
To Fish
Bookmarks for Fish Shell
Stars: ✭ 44 (+37.5%)
Mutual labels:  fish, fish-shell
Dotfiles
My personal dotfiles.
Stars: ✭ 162 (+406.25%)
Mutual labels:  fish, fish-shell
sublime-applescript
AppleScript command completions, build system and useful snippets. Supports editing binary scripts
Stars: ✭ 50 (+56.25%)
Mutual labels:  sublime-text, sublime-text-package
Virtualfish
Fish shell tool for managing Python virtual environments
Stars: ✭ 819 (+2459.38%)
Mutual labels:  fish, fish-shell
Dotfiles
📁 📋 📎
Stars: ✭ 6 (-81.25%)
Mutual labels:  fish, fish-shell

Friendly Interactive Shell (fish)

A Sublime Text 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.4

Note: ST3 support will cease in a future release. ST2 support is capped at fish 2.7 with a limited set of the following features.

Features

  • Snippets for common constructs.
  • Extensive syntax highlighting:
  • 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.

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 "Fish".

Screenshots

As of release 3.0.0, a fish script (for example, fish-shell/share/functions/ls.fish) will look something like:

Screenshot of text in Monokai

Figure 1: Default Monokai colour scheme

Screenshot of text in custom Monokai

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

Support for different ST major versions is separated between several branches:

  • master: Plugins compatible with ST4, and syntax provides highlighting for fish versions 2.7 and up.
  • st3: Plugins compatible with ST3 and above (via backwards compatibility features), and syntax provides highlighting for fish versions 2.7 and up.
  • st2: Plugins only compatible with ST2, syntax uses the more limited tmLanguage scheme instead of sublime-syntax, and provides highlighting for fish 2.7 only.

The particular fish major version supported by a tagged release is indicated by the version number:

  • The 2.x.x series (on st2 and st3) only supports fish 2.7.
  • The 3.x.x series (on st3 and master) 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

The first Sublime Text fish syntax highlighter was by toru hamaguchi. When that project became unmaintained, @Phidica fully rewrote the schema and replaced the links on Package Control.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].