2016-05-24 10 views
7

Ich möchte die Syntax-Hervorhebung für das Programm "Phosim" anwenden und ich generell Phosim Programmdateien (instanceCatalogs) mit der Dateierweiterung .cat speichern.Syntax Hervorhebung für benutzerdefinierte Dateityp in Geany mit Schlüsselwörtern Groß-, Kleinschreibung und Unterstrich

Jetzt möchte ich die Syntax Highlight für alle Dateien mit der Erweiterung .cat.

Bisher habe ich getan, um diese:
Zuerst habe ich erstellt Dateityp Erweiterung der Konfigurationsdatei: ~/.config/geany/filetype_extensions.conf
Der Inhalt dieses sieht wie folgt aus:

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

Hier versuche ich, benutzerdefinierte Highlight-Programme anzuwenden Gnuplot, Galfit und Phosim. Für Gnuplot und Galfit funktioniert es gut. Aber für Phosim habe ich ein paar Probleme bekommen.

Dann habe ich Dateidefinitionskonfigurationsdatei: ~/.config/geany/filedefs/filetypes.Phosim.conf
deren Inhalt wie folgt aussieht:

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

Nun meine example.cat wie folgt aussieht:

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

I Syntax-Hervorhebung bekam für nur zwei Wörter, nämlich Objekt und keine. Ich habe Styling Fortran versucht, da es Großbuchstaben hat, aber es hat auch nicht funktioniert.

Wie können wir die Syntax highlight für die Variablennamen, die Großbuchstaben, Kleinbuchstaben und Unterstriche enthält?

Zum Beispiel:
bekam ich Syntax Highlight für Wörter: objectnone.
Aber nicht bekommen Syntax Highlight für Wörter: Angle_RA20.0

Auch ich meine Zahlen 0, 1, .., 9 hervorgehoben werden, aber die Dezimalstellen werden nicht hervorgehoben. Wie können wir auch Dezimalstellen hervorheben?

Zum Beispiel:
Ich habe Syntax Highlight für Worte: 11000 aber, Syntaxhervorhebung für Worte nicht bekommen: 49552.3180.0

einige nützliche Links folgende:
Make Geany recognize additional file extensions
Custom syntax highlighting in Geany
http://www.geany.org/manual/current/index.html#custom-filetypes http://www.geany.org/manual/#lexer-filetype

Antwort

2

Anstelle von Creatin g neue Dateidefinitionsdateien Ich habe Dateierweiterungen für Python hinzugefügt und es funktionierte für mich.

Zum Beispiel wollte ich benutzerdefinierte Dateien markieren mit der Erweiterung .icat (Wenn Sie interessiert sind, ist dies Instanz Katalogdatei für Phosim Software in der Astronomie.)

Nachteil: Die zusätzlichen Worte werden auch in Python-Skripte hervorgehoben (Py, .pyc, .ipy)

Hinweis: Wenn jemand Beiträge Lösung, die mit neuer Dateierweiterung funktioniert, würde ich ~/.config/geany/filedefs/filetypes.Phosim.conf herzlich willkommen. Meine example.pcat Datei sieht wie folgt aus:

# 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 

ich geany alle ersten Worte mit gelber Farbe hervorheben möchten, Zahlen mit Mangenta, und das Wort ‚keine‘ mit blauer Farbe.

Zuerst habe ich (oder bearbeitet wird, falls bereits vorhanden) die Datei:

~/.config/geany/filetype_extensions.conf 

Und hinzugefügt Inneren folgende Sachen.

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

Dann fügte ich die zusätzlichen KEYWORDS zu den bereits vorhandenen Keywords in Python Dateityp hinzu.
Dafür ich erstellt (oder bearbeitet wird, falls bereits vorhanden) die Datei:

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

Nun wird die Datei ~/.config/geany/filedefs/filetypes.python wie folgt aussieht:

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

nun neu gestartet ich die geany und ich kann sehen, alle ersten Wörter in Gelb, Zahlen andere Farbe und das Wort 'none' ist blau gefärbt.

Verwandte Themen