Geany:某些单词的自定义文件类型的语法突出显示

比山·波德尔(Bhishan Poudel)

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

另外,我在我的号码01,...,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

比山·波德尔(Bhishan Poudel)

我没有创建新的文件定义文件,而是添加了Python的文件扩展名,并且对我有用。

例如,我想自定义突出显示扩展名为.icat的文件(如果您感兴趣,这是Phosim Software在Astronomy中的实例目录文件。)

缺点: python脚本(.py,.pyc,.ipy)中还会突出显示其他单词

注意:如果有人发布适用于新文件扩展名的解决方案,~/.config/geany/filedefs/filetypes.Phosim.conf我将对此表示衷心的欢迎。我的example.pcat文件如下所示:

# example.pcat
Unrefracted_RA_deg 0
Unrefracted_Dec_deg 0
Unrefracted_Azimuth 0
Unrefracted_Altitude 89
Slalib_date 1994/7/19/0.298822999997
Opsim_rotskypos 0
Opsim_rottelpos 0
Opsim_moondec -90
Opsim_moonra 180
Opsim_expmjd 49552.3
Opsim_moonalt -90
Opsim_sunalt -90
Opsim_filter 2
Opsim_dist2moon 180.0
Opsim_moonphase 10.0
Opsim_obshistid 99999999
Opsim_rawseeing 0.65
SIM_SEED 1000
SIM_MINSOURCE 1
SIM_TELCONFIG 0
SIM_CAMCONFIG 1
SIM_VISTIME 15000.0
SIM_NSNAP 1
object 0 0.0 0.0 20 ../sky/sed_flat.txt 0 0 0 0 0 0 bhishan.fits 0.09 0.0 none

我希望geany用黄色突出显示所有开头的单词,用mangenta突出显示数字,并用蓝色突出显示“ none”。

首先,我创建(或编辑,如果已经存在)文件:

~/.config/geany/filetype_extensions.conf

并在其中添加以下内容。

[Extensions]
Gnuplot=*.gp;*.gnu;*.plt;
Galfit=*.gal;
Phosim=*.pcat;
Python=*.py;*.pyc;*.ipy;*.icat;*.pcat
[Groups]
Script=Gnuplot;Galfit;Phosim;Python; 

然后,我将其他关键字添加到python文件类型中已经存在的关键字中。
为此,我创建了(或编辑,如果已经存在)文件:

~/.config/geany/filedefs/filetypes.python

现在,该文件~/.config/geany/filedefs/filetypes.python如下所示:

# Author  : Bhishan Poudel
# Date    : June 9, 2016
# Version : 1.0
# File    : Filetype for both python and phosim_instance_catalogs

[styling]
default=default
commentline=comment_line
number=number_1
string=string_1
character=character
word=keyword_1
triple=string_2
tripledouble=string_2
classname=type
defname=function
operator=operator
identifier=identifier_1
commentblock=comment
stringeol=string_eol
word2=keyword_2
decorator=decorator


[keywords]
# all items must be in one line
primary=and as assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while with yield False None True  Words_after_this_are_for_Phosim_pcat_files Unrefracted_RA_deg Unrefracted_Dec_deg Unrefracted_Azimuth Unrefracted_Altitude Slalib_date Opsim_moondec Opsim_rotskypos Opsim_rottelpos Opsim_moondec Opsim_moonra Opsim_expmjd Opsim_moonalt Opsim_sunalt Opsim_filter Opsim_dist2moon Opsim_moonphase Opsim_obshistid Opsim_rawseeing SIM_SEED SIM_MINSOURCE SIM_TELCONFIG  SIM_CAMCONFIG SIM_VISTIME SIM_NSNAP object


identifiers=ArithmeticError AssertionError AttributeError BaseException BufferError BytesWarning DeprecationWarning EOFError Ellipsis EnvironmentError Exception FileNotFoundError FloatingPointError FutureWarning GeneratorExit IOError ImportError ImportWarning IndentationError IndexError KeyError KeyboardInterrupt LookupError MemoryError NameError NotImplemented NotImplementedError OSError OverflowError PendingDeprecationWarning ReferenceError RuntimeError RuntimeWarning StandardError StopIteration SyntaxError SyntaxWarning SystemError SystemExit TabError TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserWarning ValueError Warning ZeroDivisionError __debug__ __doc__ __import__ __name__ __package__ abs all any apply basestring bin bool buffer bytearray bytes callable chr classmethod cmp coerce compile complex copyright credits delattr dict dir divmod enumerate eval execfile exit file filter float format frozenset getattr globals hasattr hash help hex id input int intern isinstance issubclass iter len license list locals long map max memoryview min next object oct open ord pow print property quit range raw_input reduce reload repr reversed round set setattr slice sorted staticmethod str sum super tuple type unichr unicode vars xrange zip array arange Catagorical cStringIO DataFramedate_range genfromtxt  linspace loadtxt matplotlib none numpy np pandas pd plot plt pyplot savefig scipy Series sp StringIO


[lexer_properties]
fold.comment.python=1
fold.quotes.python=1


[settings]
# default extension used when saving files
extension=py

# the following characters are these which a "word" can contains, see documentation
wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

# MIME type
mime_type=text/x-python
comment_single=#
comment_open="""
comment_close="""
comment_use_indent=true

# context action command (please see Geany's main documentation for details)
context_action_cmd=


[indentation]
width=4
# 0 is spaces, 1 is tabs, 2 is tab & spaces
type=0


[build_settings]
# %f will be replaced by the complete filename
# %e will be replaced by the filename without extension
# (use only one of it at one time)
compiler=python -m py_compile "%f"
run_cmd=python "%f"


[build-menu]
FT_00_LB=Execute
FT_00_CM=python %f
FT_00_WD=
FT_01_LB=
FT_01_CM=
FT_01_WD=
FT_02_LB=
FT_02_CM=
FT_02_WD=
EX_00_LB=Execute
EX_00_CM=clear; python %f
EX_00_WD=
error_regex=([^:]+):([0-9]+):([0-9:]+)? .*
EX_01_LB=
EX_01_CM=
EX_01_WD=

现在,我重新启动了geany,我可以看到所有的第一个单词都是黄色,其他颜色都是数字,“ none”这个单词是蓝色的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Geany:bibtex文件的自定义语法突出显示(* .bib)

来自分类Dev

geany自定义文件类型.sass用于语法突出显示

来自分类Dev

Sublime Text 3:自定义某些语法突出显示

来自分类Dev

QScintilla自定义语法突出显示

来自分类Dev

Notepad ++-自定义语法突出显示

来自分类Dev

使用自定义语法突出显示文件时如何删除100kB的限制?

来自分类Dev

Atom中的自定义语法突出显示

来自分类Dev

JetBrains IDE的自定义语法突出显示

来自分类Dev

自定义Visual Studio Code中的语法突出显示

来自分类Dev

Vim:寻找帮助以创建自定义语法突出显示

来自分类Dev

在gedit中创建自定义语法突出显示

来自分类Dev

在gedit中创建自定义语法突出显示

来自分类Dev

傻瓜的自定义gedit语法突出显示了吗?

来自分类Dev

Geany:#define的语法突出显示

来自分类Dev

vim:日志文件的自定义突出显示

来自分类Dev

根据IntelliJ IDEA中的type属性,对<script>元素的内容进行自定义语法突出显示

来自分类Dev

使用自定义语言在React应用中突出显示语法

来自分类Dev

PHPStorm:PHP语法突出显示编辑/添加规则和自定义

来自分类Dev

在Notepad ++中将自定义扩展名分配给语言的语法突出显示

来自分类Dev

Sublime Text 3中的自定义语法突出显示–无法转换

来自分类Dev

自定义vim突出显示

来自分类Dev

Geany中的LESS语法突出显示

来自分类Dev

Vim自定义语法突出显示,包括指定范围内的其他语言语法

来自分类Dev

显示单词“ ControlTemplate”的自定义ControlTemplate

来自分类Dev

禁用某些文件名的语法突出显示

来自分类Dev

禁用某些文件名的语法突出显示

来自分类Dev

仅对*某些*文件扩展vim的语法突出显示?

来自分类Dev

如何通过.vimrc文件自定义Vim中突出显示的错误?

来自分类Dev

如何自定义GATE JAPE语法中的单词?

Related 相关文章

  1. 1

    Geany:bibtex文件的自定义语法突出显示(* .bib)

  2. 2

    geany自定义文件类型.sass用于语法突出显示

  3. 3

    Sublime Text 3:自定义某些语法突出显示

  4. 4

    QScintilla自定义语法突出显示

  5. 5

    Notepad ++-自定义语法突出显示

  6. 6

    使用自定义语法突出显示文件时如何删除100kB的限制?

  7. 7

    Atom中的自定义语法突出显示

  8. 8

    JetBrains IDE的自定义语法突出显示

  9. 9

    自定义Visual Studio Code中的语法突出显示

  10. 10

    Vim:寻找帮助以创建自定义语法突出显示

  11. 11

    在gedit中创建自定义语法突出显示

  12. 12

    在gedit中创建自定义语法突出显示

  13. 13

    傻瓜的自定义gedit语法突出显示了吗?

  14. 14

    Geany:#define的语法突出显示

  15. 15

    vim:日志文件的自定义突出显示

  16. 16

    根据IntelliJ IDEA中的type属性,对<script>元素的内容进行自定义语法突出显示

  17. 17

    使用自定义语言在React应用中突出显示语法

  18. 18

    PHPStorm:PHP语法突出显示编辑/添加规则和自定义

  19. 19

    在Notepad ++中将自定义扩展名分配给语言的语法突出显示

  20. 20

    Sublime Text 3中的自定义语法突出显示–无法转换

  21. 21

    自定义vim突出显示

  22. 22

    Geany中的LESS语法突出显示

  23. 23

    Vim自定义语法突出显示,包括指定范围内的其他语言语法

  24. 24

    显示单词“ ControlTemplate”的自定义ControlTemplate

  25. 25

    禁用某些文件名的语法突出显示

  26. 26

    禁用某些文件名的语法突出显示

  27. 27

    仅对*某些*文件扩展vim的语法突出显示?

  28. 28

    如何通过.vimrc文件自定义Vim中突出显示的错误?

  29. 29

    如何自定义GATE JAPE语法中的单词?

热门标签

归档