目录

国产编辑器EverEdit-兼具小巧灵活强大的语法着色管理

国产编辑器EverEdit - 兼具小巧、灵活、强大的语法着色管理

1 设置-语法着色

1.1 应用场景

EverEdit虽然已经内置了大量的语法着色文件,但仍然不能覆盖所有的行业,如果您正在工作的行业特殊文件没有被EverEdit收录,您可以自行编写语法着色文件,并达到和主流编程语言一样的显示和辅助效果。

本文以作者日常使用的 awk 语言为例,介绍如何编写自己行业的语法着色文件。

1.2 准备工作

在编写语法文件前,先思考以下几个问题

  • 文件扩展名 [ 必选 ]:源文件使用什么扩展名? 是否没有扩展名?
  • 是否有定制工具 [ 可选 ]:使用特定的可执行程序对源文件进行编译/解释/调试?
  • 是否有模式工具 [ 可选 ]:模式工具是对特定的源文件类型定制的一组工具集合
  • 如何分析大纲 [ 可选 ]:使用正则表达式简单提取函数名?还是使用ctags分析?或者自己编写分析脚本?
  • 定义哪些代码片段 [ 可选 ]:代码片段是一类小段代码集合,具有高复用性,可以提高工作效率。参考:
  • 关键字清单 [ 必选 ]:关键字、内置函数、内置变量/宏、关键字是否大小写敏感
  • 括号匹配 [ 可选 ]:(), [], {}等。
  • 注释规则 [ 可选 ]:行注释、块注释规则。
  • 字符串规则 [ 可选 ]:引号/单引号或其他特殊规则。
  • 代码折叠规则 [ 可选 ]:代码折叠开始规则、代码折叠结束规则。

1.3 使用方法

1.3.1 基本配置

  1. 步骤1 :选择主菜单 工具 -> 设置 -> 语法着色 ,弹出如下窗口

    https://i-blog.csdnimg.cn/direct/8727776a18d4433b9cea385d1e066961.png

  2. 步骤2 :单击 添加 按钮,并进行参数设置

  • 标题 :设置语法文件名称,比如: AWK
  • 语法文件 :语法文件定义了关键字高亮,行注释/块注释,折叠规则等,语法文件保存在EverEdit安装目录的syntax文件夹。
  • 扩展名 :源文件的扩展名,比如:AWK语言的源文件扩展名为“awk”。
  • 制表符 :表示制表符的宽度(占几个英文字符),推荐配置为4。
  • 使用空格代替制表符 :即在源文件中不出现制表符,用户按下Tab键会插入4个空格(根据 制表符 参数配置的数目)。
  • 列标记 :在编辑窗口的指定列显示“竖线”,参考:
1.3.1.1 扩展名补充配置

扩展名 是识别文档类型的关键配置,文件如果没有扩展名,将无法判断文件类型,也无法显示语法高亮,此时默认会按TXT文件格式显示(没有高亮)。

EverEdit额外补充了根据文件内容判断文档类型的功能,但只能判断文件首行。

单击 更多 按钮,会弹出 语法着色匹配规则 窗口:

https://i-blog.csdnimg.cn/direct/46da04b5579848cd87539c69269ca772.png

  • 文件名的匹配规则 :优先级最高的规则是文件名规则 ,比如: *.awk ,表示所有以“awk”扩展名结尾的文件都按AWK文档类型处理。
  • 文件首行的匹配规则 :设置正则表达式,如果文件首行匹配这个正则表达式,则认为是AWK文档类型。该规则只有在文件名没有匹配成功时才会生效,可以判断某些没有文件扩展名的文档类型。

🕮说明

为什么通过文件首行可以判断文件类型?

一般在Linux系统编写脚本,首行都会有一条特殊注释,它告诉系统用哪个命令来执行该文件,如果缺失该注释,脚本将无法运行。

示例1 :Linux下的Bash脚本,文件首行必须有

#! /bin/bash

示例2 :Linux下的awk脚本,文件首行必须有

#! /bin/awk

配置首行匹配规则后,使用EverEdit 打开没有扩展名的awk文件也可以正常显示语法高亮 ,如下图所示:

https://i-blog.csdnimg.cn/direct/4abacb4fc6d64280a30ef04d38fa03ad.png

1.3.2 配置工具与大纲

  1. 步骤1 :在 语法着色 窗口单击 高级 按钮,弹出高级窗口,如下图所示:

    https://i-blog.csdnimg.cn/direct/137cb3ea34f446be9239f61a598ce650.png

  2. 步骤2 :设置工具和模式【可选】

    工具分组 参考:

    设置 工具分组 后,工具栏上的 外部工具 按钮会根据文档类型只显示对应的工具分组,如下图所示:

    https://i-blog.csdnimg.cn/direct/29eac8bfab434ffc8170e8606c783775.png

注:主菜单上的外部工具不会根据文档类型显示或隐藏。

模式 将在后续章节介绍。

  1. 步骤3 :设置 帮助文件 【可选】

    帮助文件为chm格式文件,设置 帮助文件 后,选择主菜单 帮助 -> 关联帮助 会打开对应文档类型的帮助文件。

  2. 步骤4 :设置 大纲视图 【可选】

    大纲视图的配置方法可以参考:

其他配置 :

  • 语法着色的单行最大长度 :该值建议保持默认设置,设置过大会影响语法解析性能。
  • 保存时自动删掉行尾的空格 :删除行尾空格,减少文件体积,确保源文件干净。
  • 保存时确保最后一行有一个空白行 :文件末尾保留一个空行,这个设置主要是为了保证兼容性,早期部分编辑器或C/C++编译器要求源文件末尾以空行结束,否则编译时会出现告警。

1.4 编写语法着色文件

一般不建议从0开始编写语法文件,很多语言的语法文件都相通,可以在syntax目录拷贝一份进行修改。

语法着色文件编写指导:

如果上述链接访问故障,可以尝试访问:


文档作者声明:本文档仅用于学习交流,未经作者许可,不得将本文档用于其他目的。

Copyright © 2022~2024 All rights reserved.