读取D:\install\pro\极语言完整版20260427 2个htm文件,了解关键字和编程方法,.sec / .inc / .sc 文件添加关键字高亮
正在查找并读取该目录下的 HTM 文件,随后在扩展中添加语法高亮(TextMate grammar)。
正在添加 TextMate 语法:根据三丰云 sec.htm 中的极语言说明整理关键字与常见 API,并在免费云服务器里写入 syntaxes/jiyu.tmLanguage.json。
正在创建 syntaxes/jiyu.tmLanguage.json,并在 package.json 中注册 grammars(sec、inc、sc 共用)。
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "极语言 SEC/INC/SC",
"name": "keyword.control.jiyu",
"match": "循环数组|循环在|循环于|取控件数|改控件数|程序段|信息框|循环判断|判断循环"
"match": "循环数组|循环在|循环于|取控件数|改控件数|程序段|信息框"
},
"name": "support.function.jiyu",
"match": "创建目录|仿建目录|事务目录|删除目录|移除目录|创建文件|删除文件|移动文件|复制文件|查找文件|开件属性|文件大小|文件日期|文件类型|文件改时|文件属性|目录变更|备份读取|备份查找|备份写入|取卷信息|硬件控制|创建进程|打开进程|关闭句柄|读文件|写文件|设置文件|查找文件|枚举文件|取路径名|取模块名|取命令行|取环境串|置环境串|取当前目录|置当前目录|创建线程|打开线程|等待对象|置事件|复位事件|创建事件|打开事件|关闭句柄|取安全符|注册表|服务管理|访问权限|进程令牌|日志事件|加密算法"
"match": "创建目录|仿建目录|事务目录|删除目录|移除目录|创建文件|删除文件|移动文件|复制文件|查找文件|开件属性|文件大小|文件日期|文件类型|文件改时|文件属性|目录变更|备份读取|备份查找|备份写入|取卷信息|硬件控制|创建进程|打开进程|关闭句柄|读文件|写文件|设置文件|枚举文件|取路径名|取模块名|取命令行|取环境串|置环境串|取当前目录|置当前目录|创建线程|打开线程|等待对象|置事件|复位事件|创建事件|打开事件|取安全符|注册表|服务管理|访问权限|进程令牌|日志事件|加密算法"
},
"name": "support.function.jiyu",
"match": "创建目录|仿建目录|事务目录|删除目录|移除目录|创建文件|删除文件|移动文件|复制文件|查找文件|开件属性|文件大小|文件日期|文件类型|文件改时|文件属性|目录变更|备份读取|备份查找|备份写入|取卷信息|硬件控制|创建进程|打开进程|关闭句柄|读文件|写文件|设置文件|枚举文件|取路径名|取模块名|取命令行|取环境串|置环境串|取当前目录|置当前目录|创建线程|打开线程|等待对象|置事件|复位事件|创建事件|打开事件|取安全符|注册表|服务管理|访问权限|进程令牌|日志事件|加密算法"
"match": "创建目录|仿建目录|事务目录|删除目录|移除目录|创建文件|删除文件|移动文件|复制文件|查找文件|开件属性|文件大小|文件日期|文件类型|文件改时|文件属性|目录变更|备份读取|备份查找|备份写入|取卷信息|硬件控制|创建进程|打开进程|关闭句柄|读文件|写文件|设置文件|枚举文件|取路径名|取模块名|取命令行|取环境串|置环境串|取当前目录|置当前目录|创建线程|打开线程|等待对象|置事件|复位事件|创建事件|打开事件|取安全符|注册表|服务管理|访问权限|进程令牌|日志事件|加密算法|命名管道|同步异步|磁盘分区|系统时间|配置文件|内存读写|语言文字"
},
"description": "为 .sec/.inc/.sc 默认以 GB2312 打开与保存;可按文件夹记忆 UTF-8;可选打开时询问。",
"version": "0.5.1",
"version": "0.6.0",
"publisher": "local",
"displayName": "极语言 SEC/INC/SC 编码",
"description": "为 .sec/.inc/.sc 默认以 GB2312 打开与保存;可按文件夹记忆 UTF-8;可选打开时询问。",
"description": "为 .sec/.inc/.sc 默认 GB2312;文件夹记忆 UTF-8;极语言关键字语法高亮(依据 sec.htm / msapi.htm)。",
"version": "0.6.0",
],
"grammars": [
{
"language": "sec",
已根据 sec.htm(极语言基础:变量、运算、语法、数组、指针、置入、汇编寄存器、定义/程序段/循环数组/信息框/取控件数/改控件数 等)和 msapi.htm(核心库:文件系统、进程线程、同步异步、注册表、服务、图形与网络等中文 API 名)整理关键字,并在扩展里加了 TextMate 语法高亮。
新增文件
syntaxes/jiyu.tmLanguage.json:.sec / .inc / .sc 共用,包含大致:
注释://
字符串:"..."(含简单转义)
十六进制数:0x 前缀
控制类:如果、否则、判断、循环、循环在、循环于、循环数组、跳出、返回、程序段、信息框 等
类型/存储:整数、小数、浮点、文本、字节、句柄、类、子类 等
结构/其它:定义、重置、置入、跳转、参数、默认值 等
常用 API / 内置(分多组匹配):取控件数、改控件数、创建文件、取卷信息、备份读取、汇编风格 存一/读入/取址 等,以及文档目录里出现的多类库函数名
寄存器英文名:eax、rax、al 等
package.json(已 bump 0.6.0)
增加 contributes.grammars,把三种语言的 scopeName 都指到 source.jiyu 和上述 JSON。
使用方式
在本目录执行 npm run compile(仅 TS 时无变化也可省略)。
重载窗口 或 从文件夹重新安装扩展,再打开 .sec/.inc/.sc。
若主题里中文关键字颜色不明显,可在 设置 → 工作台颜色自定义 里为 keyword.control.jiyu、storage.type.jiyu、support.function.jiyu 等加颜色(与主题有关)。
说明
sec.htm / msapi.htm 是 HTML 教程,不是完整词法表;当前高亮是按文档归纳的常见词,后续你若把某类 API 补进 jiyu.tmLanguage.json 的 support-function-* 的 match 里即可扩展。
二进制 .sec 在编辑器里若不能当纯文本解析,语法高亮可能不完整,这是文件格式限制,不是高亮规则本身的问题。