自定义文件类型的 Geany 自定义折叠
Geany custom folding for custom filetype
我工作的公司开发了一种新的编程语言,可以减轻工程师的工作。我的工作是为这种语言提供一个不错的编辑器,它也涉及代码折叠。我需要自定义代码折叠 而不是 包括“{”和“}”。我正在使用 Geany 文件类型。我添加新的文件类型。我想折叠一些结构,如下所示。
if %condition% then for each %element% in %range% do
%statement% %statement%
else if %condition% then end for
%statement%
else
end if
我知道我的语言远非 c 类型,但是将这样的行添加到我的代码中以启用语法着色。
[settings]
lexer_filetype=C
我们将不胜感激。
我不知道确切的答案,但我知道如何挖掘它。到目前为止还没有答案我要写怎么才能出现答案。使用 scintilla 及其词法分析器可以帮助我们解决这个问题。两个 Geany and Scintilla 文档都提到了对该功能的支持。
在 Debian 下:
cp /usr/share/geany/filetypes.c ~/.config/geany/filedefs/
chown myUser:myGroup ~/.config/geany/filedefs/filetypes.c
编辑文件。在 [lexer_properties]
部分下添加行:
fold.cpp.comment.explicit=1
保存文件。
打开geany。您现在可以在 c 和 cpp 中使用默认的 //{
和 //}
分隔符放置用户折叠。这些不会影响您的代码,因为对于 c 和 cpp 它是注释。
我工作的公司开发了一种新的编程语言,可以减轻工程师的工作。我的工作是为这种语言提供一个不错的编辑器,它也涉及代码折叠。我需要自定义代码折叠 而不是 包括“{”和“}”。我正在使用 Geany 文件类型。我添加新的文件类型。我想折叠一些结构,如下所示。
if %condition% then for each %element% in %range% do
%statement% %statement%
else if %condition% then end for
%statement%
else
end if
我知道我的语言远非 c 类型,但是将这样的行添加到我的代码中以启用语法着色。
[settings]
lexer_filetype=C
我们将不胜感激。
我不知道确切的答案,但我知道如何挖掘它。到目前为止还没有答案我要写怎么才能出现答案。使用 scintilla 及其词法分析器可以帮助我们解决这个问题。两个 Geany and Scintilla 文档都提到了对该功能的支持。
在 Debian 下:
cp /usr/share/geany/filetypes.c ~/.config/geany/filedefs/
chown myUser:myGroup ~/.config/geany/filedefs/filetypes.c
编辑文件。在
[lexer_properties]
部分下添加行:fold.cpp.comment.explicit=1
保存文件。
打开geany。您现在可以在 c 和 cpp 中使用默认的
//{
和//}
分隔符放置用户折叠。这些不会影响您的代码,因为对于 c 和 cpp 它是注释。