Tea-代码高亮设置

优质
小牛编辑
134浏览
2023-12-01

本文面向准备为编辑器添加 Tea 语法高亮功能的读者。

扩展名

Tea 语言代码的默认扩展名名 .tea 。包文件为 .teapkg。 项目文件为 .teaproj 。 数据文件为 .teadata 。

高亮策略

1. 数字

数字格式只有这三种:1-0.30x1

2. 字符串

字符串的格式只有这三种:'这是没有任何转义的字符串,字符串内部用''代替'"这是支持\转义的字符串,转义的情况和JavaScript、C++、Java等相同。"`这是支持$转义的字符串。$开头的部分被认为是变量,这和 Php 的情况相同。`

3. 常量

nullundefinedtruefalseargumentsthisbasethat

4. 关键字

abstractargumentsasassertautoawaitbaseboolbreakbytecasecatchcharclassconstcontinuedoubleelseenumextendsexternfalsefinallyfloatforgotoifimplementsimportintinterface、' isletlocklongnamespacenewnullobjectonceoroverridereturnshortstaticstringswitchthatthisthrowtruetrytypeofundefinedvarvirtualvoidvolatilewhileyield

5. 上下文关键字

addargumentsbasethatthisgetinremoveset

6. 保留字

checkeddecimaldeletedoexportfinalfixedfunctioninternalpackageprivateprotectedpublicreadonlysbytestructtypedefuintulonguncheckedunsafeuntilushortusing

7. 标识符

标识符开头可以是:$^@、标识符主体中的字符。 标识符主体可以是:英文字母、数字、_、中文非符号字符。

8. 类

所有首字母大写的标识符可以认为是类名,可以作特殊的高亮。

折叠策略

1. 括号

Tea 语言使用C风格的大括号({、})来折叠代码,折叠策略同其它C风格的语言。

2. 注释

Tea 语言使用C风格的 // /**/ 来注释代码,折叠策略同其它C风格的语言。

3. 文档注释

Tea 语言使用 /// /* / 来定义文档注释,折叠策略同注释,但是应该以不同的颜色标示,因为文档注释是代码的一部分,并且具有一定的规范。

4. import

连续的多个 import 语句应该是可以折叠的。

5. []

换行的 [] 表达式应该是可以可以折叠的。

6. region

代码中的 #region 和 #endregion 应该可以创建一个可折叠区域。

7.

## 注释多用于代码头部的版权声明,连续的多个 ## 注释应该是可以折叠的。

智能提示策略

1. 成员名

当用户输入 . 之后,应该列出之前表达式所属类型的全部成员。

2. 变量名

当用户输入任何变量时,应该列出可用的变量名。

3. 函数

当用户输入 ( 时,应该列出之前表达式对应的函数的全部重载。

4. goto

当用户输入 goto 时,应该列出可用的标签名。

5. 类型

当用户输入 as、is、< 时,应该列出可用的类名。