ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

ShellScriptImproved

作者: jfcherng ST3

❌ [废弃] 比 Sublime Text >= 3143 的 ShellScript (Bash) 语法高亮更好的版本

标签: language syntax

详细信息

  • 1.2.28
  • github.​com
  • github.​com
  • 6 年前
  • 58 分钟前
  • 8 年前

安装次数

  • 总数 14K
  • Win 7K
  • Mac 4K
  • Linux 4K
8 月 6 日 8 月 5 日 8 月 4 日 8 月 3 日 8 月 2 日 8 月 1 日 7 月 31 日 7 月 30 日 7 月 29 日 7 月 28 日 7 月 27 日 7 月 26 日 7 月 25 日 7 月 24 日 7 月 23 日 7 月 22 日 7 月 21 日 7 月 20 日 7 月 19 日 7 月 18 日 7 月 17 日 7 月 16 日 7 月 15 日 7 月 14 日 7 月 13 日 7 月 12 日 7 月 11 日 7 月 10 日 7 月 9 日 7 月 8 日 7 月 7 日 7 月 6 日 7 月 5 日 7 月 4 日 7 月 3 日 7 月 2 日 7 月 1 日 6 月 30 日 6 月 29 日 6 月 28 日 6 月 27 日 6 月 26 日 6 月 25 日 6 月 24 日 6 月 23 日 6 月 22 日
Windows 1 1 2 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 2 0 0 0 1 0 1 3 0 0 1 1 0 0 1 1 2 0 0 0 2
Mac 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

说明文档

源代码
raw.​githubusercontent.​com

❌ [废弃] Sublime-ShellScriptImproved

比 Sublime Text >= 3143 的 ShellScript (Bash) 语法高亮更好的版本。

重要提示

官方 ShellScript (Bash) 语法已被重写。以下所有的比较都是在重写前的版本。

我废弃了这个插件,因为新的官方 Bash 高亮比以前的更好(也优于这个插件)。因此,我认为这个插件不再需要了。

优点

  • 它修复了官方 ShellScript (Bash) 语法中存在的大量错误。
  • 它更注重语法解析,而官方版本则更像是一个关键字高亮器。

缺点

  • 它仅适用于 Bash,而官方版本是为通用 shell 脚本设计的。
  • 如果您不想使用内置的配色方案,可能需要您添加自定义范围。
  • 其源代码与官方版本一样杂乱无章,但这对于非维护者来说并不重要。

屏幕截图

左/右 = 官方 ShellScript (Bash) / ShellScript Improved screenshot

配色方案

您的配色方案中可能缺少很多范围。如果您想自己添加,请参阅《从您的配色方案自定义》部分。或者,您可以将此包随附的配色方案设置为你特定的句法设置。

要执行此操作,请按照以下步骤操作:

  1. 打开具有 ShellScript Improved 语法的文件。
  2. 转到 首选项 » 设置 - 更多 » 句法具体 - 用户
  3. 在设置文件中添加 color_scheme 项然后保存。
{
    // use a bundled .tmTheme file while writing shell scripts
    "color_scheme": "Packages/ShellScriptImproved/color_schemes/dark.tmTheme",
    // or, if you are using Sublime Text >= 3149, using a .sublime-color-scheme file is recommended
    "color_scheme": "Packages/ShellScriptImproved/color_schemes/dark.sublime-color-scheme",
}

这个配色方案是我在我的 Sublime Text 中使用的确切配色方案,因此只有一个深色主题。您将获得与屏幕截图显示相同的突出显示。

从您的配色方案自定义

注意,在上述屏幕截图中的 .tmTheme 中增加了一条额外规则,以将文本设置为默认颜色,即在深色调主题下为白色,在浅色调主题下为黑色。 (我只是找不到其他方法将文本设置为默认文本颜色……)这会重置 $(echo TEXT)TEXT 的颜色以及其他类似内容。

<dict>

    <key>name</key>
    <string>Embedded</string>
    <key>scope</key>
    <string>meta.embedded</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#FFFFFF</string>
    </dict>
</dict>
<dict>

    <key>name</key>
    <string>Reset Color</string>
    <key>scope</key>
    <string>meta.reset.color</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#FFFFFF</string>
    </dict>
</dict>

此外,这些作用域可能存在于您的主题中。您可以添加/调整它们以获得更好的颜色突出显示。

<dict>
    <key>name</key>
    <string>Shell - variable</string>
    <key>scope</key>
    <string>variable.other.normal.shell, variable.other.positional.shell, variable.other.bracket.shell, variable.other.special.shell, variable.other.loop.shell, variable.other.c-style.shell,variable.other.positional.shell</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold</string>
        <key>foreground</key>
        <string>#AE81FF</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - bracket variable in meta.reset.color</string>
    <key>scope</key>
    <string>meta.reset.color variable.other.bracket.shell, meta.reset.color variable.other.bracket.shell variable.other.bracket.shell, meta.reset.color variable.other.bracket.shell variable.other.bracket.shell variable.other.bracket.shell</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold</string>
        <key>foreground</key>
        <string>#AE81FF</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - true</string>
    <key>scope</key>
    <string>variable.other.true.shell</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#AAFFFF</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - false</string>
    <key>scope</key>
    <string>variable.other.false.shell</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#FFAAFF</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - built-in command</string>
    <key>scope</key>
    <string>support.function.builtin.shell</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold</string>
        <key>foreground</key>
        <string>#50AAFF</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - privilege command</string>
    <key>scope</key>
    <string>support.function.privilege.shell</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold</string>
        <key>foreground</key>
        <string>#FF0000</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - external command</string>
    <key>scope</key>
    <string>support.function.external.shell</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold</string>
        <key>foreground</key>
        <string>#0684F4</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - punctuation variable</string>
    <key>scope</key>
    <string>punctuation.definition.variable.shell</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold</string>
        <key>foreground</key>
        <string>#AE81FF</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - punctuation definition</string>
    <key>scope</key>
    <string>punctuation.definition.string</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold</string>
        <key>foreground</key>
        <string>#E6DB74</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - pipe-sign/parentheses in `case`</string>
    <key>scope</key>
    <string>punctuation.separator.pipe-sign.shell, punctuation.definition.case-pattern.shell</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold</string>
        <key>foreground</key>
        <string>#F92672</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - `;;` in `case`</string>
    <key>scope</key>
    <string>punctuation.terminator.case-clause.shell</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold</string>
        <key>foreground</key>
        <string>#F92672</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Shell - command switch</string>
    <key>scope</key>
    <string>support.command-switch.shell</string>
    <key>settings</key>
    <dict>
        <key>fontStyle</key>
        <string>bold italic</string>
    </dict>
</dict>

参见

支持者

感谢大家寄给我一些咖啡。