Geany是一款简单、快速、但功能强大的文本编辑器。它对几乎所有编程语言都有相当强的语法高亮支持。
我想知道如何为我的特殊需求程序“Phosim”创建自定义语法高亮。该程序的文件扩展名为.cat
。
到目前为止,我已经完成了以下步骤:
首先,我创建了文件类型扩展配置文件:~/.config/geany/filetype_extensions.conf
其内容如下:
[Extensions]
Gnuplot=*.gp;*.gnu;*.plt;
Galfit=*.gal;
Phosim=*.cat;
[Groups]
Script=Gnuplot;Galfit;Phosim;
在这里,我正在尝试为 Gnuplot、Galfit 和 Phosim 应用自定义的高亮显示。对于 Gnuplot 和 Galfit,它可以正常工作。但是对于 Phosim 我遇到了一些问题。
然后我创建了文件定义配置文件:~/.config/geany/filedefs/filetypes.Phosim.conf
其内容如下:
# Author : Bhishan Poudel
# Date : May 24, 2016
# Version : 1.0
[styling]
# Edit these in the colorscheme .conf file instead
default=default
comment=comment_line
function=keyword_1
variable=string_1,bold
label=label
userdefined=string_2
number=number_2
[keywords]
# all items must be in one line separated by space
variables=object Unrefracted_RA_deg SIM_SEED none
functions=
lables=10
userdefined=angle 30 Angle_RA 20.0 none
numbers=0 1 2 3 4 5 6 7 8 9
[lexer_properties]
nsis.uservars=1
nsis.ignorecase=1
[settings]
# default extension used when saving files
extension=cat
# single comments, like # in this file
comment_single=#
# multiline comments
#comment_open=
#comment_close=
# This setting works only for single line comments
comment_use_indent=true
# context action command (please see Geany's main documentation for details)
context_action_cmd=
# lexer filetype should be an existing lexer that does not use lexer_filetype itself
lexer_filetype=NSIS
[build-menu]
EX_00_LB=Execute
EX_00_CM=
EX_00_WD=
FT_00_LB=
FT_00_CM=
FT_00_WD=
FT_02_LB=
FT_02_CM=
FT_02_WD=
现在我的 example.cat 文件看起来像这样:
# example.cat
angle 30
Angle_RA 20.0
object none
# Till now,
# Words highlighted : angle 30 object none
# Words not highlighted: Angle_RA 20.0
# I like them also to be highlighted!
我只为两个词,即object和none获得了语法高亮效果。我尝试使用Fortran相同的样式,因为它有大写字母,但仍然不起作用。
我们如何为包含大写、小写和下划线的变量名称获得语法高亮效果?
例如:
我对单词object
和none
进行了语法高亮标记。
但是,对于单词Angle_RA
和20.0
,我没有获得语法高亮标记。
此外,我的数字0
,1
,..,9
都可以高亮显示,但是小数不能高亮显示。我们如何也可以高亮小数?
例如:
我对单词1
和1000
进行了语法高亮标记,但是对于单词49552.3
和180.0
,我没有获得语法高亮标记。
以下是一些有用的链接:
使Geany识别其他文件扩展名
自定义Geany的语法高亮效果
http://www.geany.org/manual/current/index.html#custom-filetypes
http://www.geany.org/manual/#lexer-filetype