宝2Jam
宝2 Jam语言对Sublime Text的支持
详细信息
安装
- 总数 27
- Win 10
- Mac 13
- Linux 4
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 | 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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 |
Linux | 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 | 0 | 0 |
阅读
宝2 Jam语言支持
此Sublime Text包为Jam语言文件提供语法高亮和编辑支持 - 通常命名为Jamfile
或*.jam
。
更具体地说,该包支持由B2构建系统支持的 Jam语言方言,之前被称为Boost.Build或Boost.Jam - 是Boost C++库项目的一部分。
屏幕截图
特点
完整语法高亮
100%覆盖核心语言功能。利用Sublime Text 4的非确定性语法、懒惰嵌入和语法继承功能,提供准确和精确的语义标记。因此,语法高亮可以像lint工具一样执行。
本地符号索引支持
标签标识符、变量、类、规则(函数),填充Sublime的符号索引,启用自动完成、建议和其他功能。
代码片段完成
规则、特性和扩展修改器的内置语言符号。
折叠支持
全局和正则表达式模式高亮
为
actions
内嵌Shell脚本高亮内置库支持
虽然这不严格属于核心语言,但实践中,大多数用户将使用标准库构建C++项目。因此,此包还包含对核心构建命令和功能的支持。
注意空白
Jam要求在所有符号周围都有空白 - 与大多数其他语言不同,它们允许符号为令牌边界。此语法高亮器将帮助您查找由缺少空白引起的问题。
此外,此包包含按键映射,以自动将括号、方括号和括号与空白配对,在希望直观的方式中。
要求
Sublime Text 4
使用构建:4152构建和测试
安装
手动安装
将此存储库克隆到您的Sublime
Packages
目录,并将其命名为B2Jam
背景
我想更好地了解Sublime Text,并认为开发一个为其创建语法高亮器是一个很好的学习方式。我发现它不支持B2/Boost Jam语言,由于我对这个语言比较熟悉,我便着手开始工作了。鉴于我有过去构建语言解析器的经验,我很快就投入进去了。回想起来,我这里的做法可能过于细致。好处是它可以检测到格式错误的语法,并在这种情况下通知用户,这相当有用!
许多年前,我编写了Boost.Build.XModule,这是一个B2 Jam库,用于在B2构建环境中下载和构建第三方依赖项。类似于CMake中的ExternalProject
和FetchContent
模块。如果当时有这个软件包就好了!