xonsh
xonsh 语法高亮显示(适用于 Sublime Text)
详细信息
安装次数
- 总数 115
- Windows 30
- Mac 42
- Linux 43
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日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Mac | 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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
自述文件
Sublime Text 4 的软件包,用于Python 驱动的 shell xonsh
通过扩展默认的 Python 软件包,添加 xonsh 特定的环境
介绍
此软件包通过以下 xonsh 特定环境扩展默认 Python 软件包的语法定义,以增加对 xonsh
语言(针对具有 .xsh
和 .xonshrc
扩展名的文件)的支持:
- 变量:
$variableA
,包括环境${...}
- 子进程运算符:
$()
$[]
${}
@()
@$()
(和!()
![]
) - 搜索函数:
@functionB`search_string`
- 内置函数:
abbrevs()
aliases()
compilex()
execx()
evalx()
events()
print_color()
exit()
printx()
... 并复制所有其他相关元素(代码片段、注释、完成规则、缩进规则、符号列表和默认快捷键映射)并将它们重命名为在 xonsh
语法中工作
安装
通过 Package Control:打开
命令面板
→包管理控制:安装包
→xonsh
Ctrl/⌘Cmd⇧ShiftP手动:将该存储库克隆到您的 包目录 并将其重命名为
xonsh
cd /path/to/sublime/packages/directory
git clone https://github.com/eugenesvk/sublime-xonsh.git
mv sublime-xonsh xonsh
用法
打开任何 xonsh
文件(例如 syntax_example_screen.xsh)并验证所选语法为 Xonsh
以及 xonsh 特定环境是否已正确作用域[1]并突出显示,可能如下(取决于您的颜色方案)
[1]: 作用域命名应遵守默认 Python 包和 ST 的作用域命名指南
支持的语法示例:变量
| 示例 | 描述 | :————– | :———- | $
| 匹配单个变量定义符号以帮助完成 | $varA=[1,2]
| 普通变量 | $varA[0]
| 变量索引 | $varA[$varB]
| 索引内的变量 | funct($varB)
| 函数内的变量 | f"{$varA}"
| 函数字符串内的变量 | ${...}
| 环境本身
支持的语法示例:子进程操作符
示例 | 描述 |
---|---|
@$(which ls) |
命令置换 |
@('echo', 1) |
Python 评估 |
$(echo 1) |
捕获的子进程 |
!(echo 1) |
… |
$[echo 1] |
未捕获的子进程 |
![echo 1] |
… |
暴露的作用域
作用域名列表
| xonsh 构造 | 作用域名称 | :———— | :———- | 变量 | meta.variable.xonsh
variable.other.xonsh
variable.other.env.xonsh
variable.other.env.ellipsis.xonsh
punctuation.definition.variable.xonsh
| 命令置换 | meta.interpolation.command.xonsh
meta.parens.interpolation.command
keyword.operator.subprocess.pyeval.xonsh
keyword.operator.subprocess.xonsh
punctuation.section.parens.
begin
/end
.xonsh
| Python 评估 | meta.interpolation.command.xonsh
meta.parens.interpolation.command
keyword.operator.subprocess.pyeval.xonsh
punctuation.section.parens.
begin
/end
.xonsh
| 捕获的子进程 | meta.interpolation.command.xonsh
meta.parens.interpolation.command
keyword.operator.subprocess.captured.xonsh
punctuation.section.parens.
begin
/end
.xonsh
| 未捕获的子进程 | meta.interpolation.command.xonsh
meta.brackets.interpolation.command
keyword.operator.subprocess.uncaptured.xonsh
punctuation.section.brackets.
begin
/end
.xonsh
| 搜索函数 | meta.function-call.xonsh
meta.function-call.arguments.xonsh
meta.string.xonsh
string.quoted.backtick.xonsh
punctuation.definition.annotation.xonsh
punctuation.section.string.
begin
/end
.xonsh
punctuation.section.arguments.
begin
/end
.xonsh
快捷键
此插件为 xonsh
作用域添加了两个快捷键:"
/'
自动匹配双/单引号,即使在字符串修改符之后也是如此
已知问题
- 仅在构建 4075 (2020 年 7 月 10 日) 或之后的 Sublime Text 4 中工作,因为它使用了
meta_append
/meta_prepend
API - 在子进程模式下合法但在 Python 模式下非法的 Python 名称无关紧要,因为 Python 和子进程模式之间没有区分
例如,在echo "$HOME" as well as '$HOME'
中使用as
作为解决方案,请使用"
引号"
或对source.xonsh invalid.illegal.name
错误突出显示进行淡化/删除