自定义文件类型的 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 下:

  1. cp /usr/share/geany/filetypes.c ~/.config/geany/filedefs/

  2. chown myUser:myGroup ~/.config/geany/filedefs/filetypes.c

  3. 编辑文件。在 [lexer_properties] 部分下添加行:

    fold.cpp.comment.explicit=1

  4. 保存文件。

  5. 打开geany。您现在可以在 c 和 cpp 中使用默认的 //{//} 分隔符放置用户折叠。这些不会影响您的代码,因为对于 c 和 cpp 它是注释。