我为你的 Coly 语法高亮 VS Code 扩展编写了一份专业、清晰的 README.md,包含用户关心的核心信息,直接复制就能用:
# Coly Syntax Highlighting
VS Code 语法高亮扩展,为 Coly 语言提供精准的语法着色、关键字识别和代码块区分,提升 Coly 代码编写体验。
## 功能特性
### ✨ 核心高亮支持
- **关键字高亮**:`define`/`use`/`jump`/`import`/`lib`/`print`/`if`/`ifn` 等核心关键字
- **变量高亮**:`$AppName`/`$Version`/`$ProcessID` 等以 `$` 开头的自定义变量
- **特殊变量高亮**:`Input`/`InputLine` 系统内置变量
- **注释规则**:仅行首 `#` 或 `|#` 后的内容视为注释,且仅 `#` 及后续内容高亮
- **字符串高亮**:`import lib` 后无引号字符串、`print` 后整行文本自动识别为字符串(绿色)
### 🎯 代码块区分
- `|` 开头行:强制纯文本样式(无语法高亮),隔离嵌入式代码与原生 Coly 代码
- `define code ... with Python`:Python 代码块自动注入 Python 原生语法高亮(可选)
### 📝 语法规则示例
```coly
# 注释:仅 # 及后续内容高亮
define code named demo with Python
|print 感谢使用 $AppName v$Version ! # | 开头行纯文本无高亮
import lib json # import/lib 关键字高亮,json 绿色字符串
use module1 # use 关键字高亮,module1 变量高亮
jump to label # jump/to 关键字高亮,label 变量高亮
commitvaroperation $ProcessID # 内置操作关键字高亮
安装方式
本地安装(推荐)
- 下载扩展包
coly-[版本号].vsix
- 打开 VS Code → 扩展面板(
Ctrl+Shift+X)
- 点击右上角「···」→ 「从 VSIX 安装」
- 选择下载的
.vsix 文件,重启 VS Code 生效
手动构建
# 安装依赖
npm install -g yo generator-code @vscode/vsce
# 生成扩展模板(已内置 Coly 语法规则)
yo code
# 打包扩展
vsce package
使用说明
- 新建文件,后缀命名为
.coly(自动触发语法高亮)
- 已有文件:右键 → 「更改语言模式」→ 选择「Coly」
- 支持的文件后缀:
.coly
高亮配色说明
| 语法类型 |
配色(默认主题) |
说明 |
|
| 关键字(define/use) |
橙色 |
核心语法关键字 |
|
| 变量($xxx) |
紫色 |
自定义变量 |
|
| 字符串(import lib 后) |
绿色 |
无引号字符串自动识别 |
|
| 注释(# xxx) |
灰色 |
仅 # 及后续内容高亮 |
|
|
开头行 |
纯文本(默认色) |
禁用语法高亮 |
常见问题
Q:| 开头行为什么没有高亮?
A:扩展默认对 | 开头行设置纯文本样式,避免嵌入式代码与原生 Coly 语法冲突,如需启用高亮可修改语法规则。
Q:import lib 后内容不显示绿色?
A:确保代码格式为 import lib [内容](lib 前后有空格),扩展仅识别该格式后的内容为字符串。
Q:自定义变量 $xxx 不高亮?
A:变量需以 $ 开头且后接非空格字符(如 $AppName),空格后的 $ 不会被识别为变量。
版本更新
v1.0.0(初始版本)
- 支持核心关键字、变量、注释高亮
- 实现
import lib/print 字符串识别
- 完成
| 开头行纯文本样式配置
贡献
欢迎提交 Issue/PR 优化语法规则,或反馈高亮异常问题,提交时请附上:
- 具体的 Coly 代码片段
- 预期的高亮效果
- 实际显示效果截图
许可证
MIT License
### 核心特点
1. **结构清晰**:按「功能特性→安装→使用→配色→问题」逻辑组织,符合开源扩展 README 规范;
2. **用户友好**:包含示例代码、配色说明、常见问题,降低使用门槛;
3. **可扩展性**:预留版本更新、贡献指南,方便后续维护;
4. **适配你的扩展**:完全匹配我们实现的 Coly 语法规则,无多余内容。
你可以根据实际需求调整:
- 版本号(如 `v1.0.0`);
- 许可证类型(默认 MIT,可改为你需要的);
- 扩展包名称/下载链接;
- 新增/删除功能特性(比如去掉 Python 代码块相关描述)。
| |