2016-05-24 51 views
7
ben sözdizimi "Phosim" adlı program için vurgulama ve genellikle dosya uzantısı .cat ile Phosim program dosyalarını (instanceCatalogs) kaydetmek uygulamak istiyorum

.dizimi büyük harf, küçük harf içeren anahtar kelimelerle Geany özel dosya türleriyle vurgulama ve alt çizgi

Şimdi uzatma .cat ile tüm dosyalar için sözdizimi vurgulama uygulamak ister.

Şimdiye kadar bu yapmış:
İlk ben filetype uzatma yapılandırma dosyası oluşturuldu: Bunun ~/.config/geany/filetype_extensions.conf
içeriğini şuna benzer:

[Extensions] 
Gnuplot=*.gp;*.gnu;*.plt; 
Galfit=*.gal; 
Phosim=*.cat; 
[Groups] 
Script=Gnuplot;Galfit;Phosim; 

İşte, programlara özel vurgu uygulamak çalışıyorum Gnuplot, Galfit ve Phosim. Gnuplot ve Galfit için iyi çalışıyor. Fakat Phosim için bazı problemlerim var. bunlardan şöyle ~/.config/geany/filedefs/filetypes.Phosim.conf
içeriğini:

# 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= 

Şimdi benim example.cat şöyle görünür:

Sonra dosya tanımı yapılandırma dosyası oluşturulur ben sözdizimi vurgulamasını var
# 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! 

sadece iki kelime için, viz., nesne ve hiçbiri. Ben büyük harf olduğundan Fortran eşit stil çalıştı ama o da işe yaramadı.

nasıl büyük harf, küçük harf içeren değişken adları için sözdizimi vurgulama almak ve alt çizgi olabilir ? Örneğin

: objectnone:
Kelimeler için sözdizimi vurgulama var.
Ama kelimeler için sözdizimi vurgulama alamadım: Angle_RA20.0

Ayrıca, benim sayılar 0, 1, .., 9 vurgulanır ancak ondalık sayılar vurgulanır değildir. Ayrıca ondalıkları nasıl ön plana çıkarabiliriz? Örneğin

:
aldığım kelimeler için sözdizimi vurgulama: 11000 ama, kelimeler için sözdizimi vurgulama alamadım: 180.0

Bazı yararlı linkler 49552.3 şunlardır:
Make Geany recognize additional file extensions
Custom syntax highlighting in Geany
http://www.geany.org/manual/current/index.html#custom-filetypes Bunun yerine kreatinin ait http://www.geany.org/manual/#lexer-filetype

cevap

2

g yeni dosya tanımı dosyaları Python için dosya uzantıları ekledim ve bana çalıştı.

Örneğin, ben özel Eğer ilgileniyorsanız, bu Astronomide Phosim Yazılımı için örnek katalog dosyası ( .icat uzantılı dosyaları belirtmek istiyoruz.)

Dezavantajı: Eğer yeni bir dosya uzantısı ile çalışır herkes Mesajları çözümü, ~/.config/geany/filedefs/filetypes.Phosim.conf isterim: ek kelimeler de piton komut (.py, .pyc, .ipy)

Not vurgulanır bunu memnuniyetle kabul ediyorum. Benim example.pcat dosyası şöyle görünür:

# 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 

Ben geany sarı renk, mangenta ile sayılar ve mavi renk ile kelime 'hiçbiri' ile tüm ilk kelimelerini vurgulamak istiyoruz.

Öncelikle benim yarattığım (veya, zaten varsa düzenlenebilir) dosyası:

~/.config/geany/filetype_extensions.conf 

Ve onun içinde malzeme aşağıdaki ekledi.

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

Sonra ben piton filetype zaten mevcut anahtar kelimelere ek KEYWORDS ekledi. Bunun için
I (zaten varsa düzenlenemez veya) dosyası oluşturuldu: Şimdi

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

, dosya ~/.config/geany/filedefs/filetypes.python şuna benzer:

# 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=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

# 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= 

Şimdi, Geany yeniden ve görebildiğim sarıdaki tüm ilk kelimeler, diğer renkler ve 'none' kelimesi mavi renklidir.