【问题标题】:Better syntax highlighting for GeanyGeany 更好的语法高亮显示
【发布时间】:2017-07-11 13:09:42
【问题描述】:

我最近开始使用名为 Geany 的轻量级 IDE。它非常高效,资源非常少,并且具有我需要的所有基本功能。它为许多编程语言(包括我正在编写的 C++)内置了语法突出显示,但是某些突出显示似乎无法正常工作。

查看上面我截取的屏幕截图,您可以看到有一些语法高亮显示,但是用户声明的函数“addition”没有应用着色,即使在配置文件中更改了它的颜色。我发现当我在配置文件中更改“运算符”的颜色时,它会将每个分号、括号等都更改为该颜色,因此显然检测效果不佳。

我认为这个问题是由于语法荧光笔的工作方式造成的,我相信这是查看 Geany GitHub 源文件的闪烁。这是专门用于 C++ 的词法分析器文件:https://github.com/geany/geany/blob/master/scintilla/lexers/LexCPP.cxx

 

我有几个问题:

  1. C++ 的词法分析器文件是否可以更新为更好的文件,以便实际检测用户定义的函数以及语言的其他部分?

  2. 有没有办法查看 scintilla 识别的所有不同语法(字符串、运算符、预处理器等)?

  3. 有没有更好的语法高亮工具可以集成到 Geany 中?

【问题讨论】:

  • 请使用Stackoverflow 编辑器,而不是用图像放置代码...
  • @彼得。问题是关于 Geany IDE 中的语法突出显示,而不是实际代码本身。使用 SO 编辑器将完全违背目的。
  • (1) No. (2) See: /usr/share/geany/filedefs/, (3) No. (PS: cpp lexer 不会单独解析函数名——你能得到的最接近的是"identifier",其中,像“操作员”一样,将为所有标识符着色)。
  • @ekhumoro 实际上看起来有人设法弄乱了词法分析器文件以添加功能检测:github.com/geany/geany/issues/1231。但是感谢您链接列表!
  • 嗯,是的,当然 Geany 和 Scintilla 是开源的,所以总是可以修补它们。这真的是你问的吗?我没有费心指出这一点,因为我认为这是不言而喻的。无论如何,就语法高亮而言,Geany 与 Scintilla 相关联,因此您将始终受限于它可以提供的功能 - 除非您愿意贡献补丁,或 write your own lexer。

标签: c++ syntax-highlighting geany scintilla


【解决方案1】:

我制作了一个外部插件,可以使用颜色选择器进行手术文件类型编辑。

https://github.com/webdev23/Geany-editor-dynamic-color-schemes

它正在动态编辑filetypes.xml 配置。

希望能够从其他编辑器导入高亮主题。可以从这个基地开始。


否则,一行安装+所有插件,所有主题,配置完成:

sudo apt install geany geany-plugins &&
curl -o geany-themes-master.zip https://codeload.github.com/codebrainz/geany-themes/zip/master && unzip geany-themes-master.zip && cd geany-themes-master && ./install.sh &&
curl -o geany16.zip https://codeload.github.com/RobLoach/base16-geany/zip/master && unzip geany16.zip && echo -e "Config written. Close Geany to apply." > ~/info_geany.txt && cd base16-geany-master && find . -type f -name "*.conf" -exec cp -n {} ~/.config/geany/colorschemes/ \; &&
geany ~/info_geany.txt && rm ~/info_geany.txt && sed -i 's/autocomplete_doc_words=false/autocomplete_doc_words=true/' ~/.config/geany/geany.conf && sed -i 's/pref_editor_tab_width=4/pref_editor_tab_width=2/' ~/.config/geany/geany.conf && sed -i 's/symbolcompletion_min_chars=4/symbolcompletion_min_chars=2/' ~/.config/geany/geany.conf && sed -i 's/pref_editor_tab_width=4/pref_editor_tab_width=2/' ~/.config/geany/geany.conf && sed -i 's/color_scheme=/color_scheme=base16-atelierlakeside.dark.conf/' ~/.config/geany/geany.conf && echo "Install done."

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2013-08-01
    • 1970-01-01
    • 2010-11-26
    相关资源
    最近更新 更多