Sto cercando di rendere l'hightlighting della sintassi e le opzioni di costruzione funzionano per Geany, qualche consiglio?Come aggiungere supporto per Go a Geany
risposta
Cercare in $ GOROOT/misc e http://go-lang.cat-v.org/text-editors/ per i file di sintassi di altri editor per farsi un'idea.
Blocco che, iniziare con C o C++ e aggiungere/cose Sottrarre come go
, <-
, func
, ecc
Ho iniziato con C e non funziona nulla :(I ' Ho creato un ~/.config/geany/filetypes.go in base a quello fornito e non ottengo alcun hightlighting. –
Avete definito il tipo di file Go in ~/.config/geany/filetype_extensions.conf?
[Extensions]
...
Go=*.go
...
se il file di configurazione non esiste ancora, copiarla da/usr/share/geany e aggiungono che la linea in 'Extensions' (o cercarlo in Strumenti> File di configurazione).
Non lo sapevo! –
ho appena notato questa pagina: http://go-lang.cat-v.org/text-editors/geany/
Sembra come loro hanno tutto il necessario proprio lì.
Benvenuti in Stack Overflow! Anche se questo potrebbe teoricamente rispondere alla domanda, sarebbe essere preferibile] (http://meta.stackexchange.com/q/8259) per includere qui le parti essenziali della risposta e fornire il collegamento per riferimento –
Ecco la Geany formatting Instructions posted by Steve Horsley to golang-nuts:
In Geany, goto Strumenti-> Configurazione file-> filetype_extensions.conf e aggiungere il seguente nuovo titolo:
Go=*.go;
Copia tipi di file di definizione della C da .c a filedefs/filetypes.Go.conf:
cp /usr/share/geany/filetypes.c ~/.config/geany/filedefs/filetypes.Go.conf
Modifica filetypes.Go.conf e modificare le sezioni di impostazione e parole chiave per questo:
[settings] # default extension used when saving files extension=go lexer_filetype=C [keywords] # all items must be in one line primary=break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var secondary=byte int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float32 float64 complex64 complex128 uintptr string
ho fatto uno script Python che consente di automatizzare le istruzioni nel link fornito da Jaybill McCarthy.
import shutil, re, os
HOME = os.environ['HOME']
shutil.copy('/usr/share/geany/filetype_extensions.conf', HOME +'/.config/geany/')
with open(HOME + '/.config/geany/filetype_extensions.conf', 'r') as f:
fileData = f.read()
fileData = re.sub(r'Haskell=.*;', r'Go=*.go;\nHaskell=*.hs;*.lhs;', fileData)
fileData = re.compile('(\[Groups\][^\[]Programming=.*?$)', re.DOTALL|re.MULTILINE).sub(r'\1Go;', fileData)
with open(HOME + '/.config/geany/filetype_extensions.conf', 'w') as f:
f.write(fileData)
textSettings = """[settings]
extension=go
lexer_filetype=C
comment_single=//
comment_open=/*
comment_close=*/
comment_use_indent=true
"""
textKeywords = """[keywords]
primary=break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var
secondary=byte int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float32 float64 complex64 complex128 uintptr string"""
shutil.copy('/usr/share/geany/filetypes.c', HOME + '/.config/geany/filedefs/filetypes.Go.conf')
with open(HOME + '/.config/geany/filedefs/filetypes.Go.conf', 'r') as f:
fileData = f.read()
fileData = re.compile(r'\[settings\].*?^\[', re.DOTALL|re.MULTILINE).sub('%s\n\n[' %textSettings, fileData)
fileData = re.compile(r'\[keywords\].*?^\[', re.DOTALL|re.MULTILINE).sub('%s\n\n[' %textKeywords, fileData)
with open(HOME + '/.config/geany/filedefs/filetypes.Go.conf', 'w') as f:
f.write(fileData)
print "Complete!"
Non sono sicuro se questo significa che sono pigro, o viceversa ... o.O.
Per i miei colleghi programmatori Windows, c'è un trucco sciocco per far funzionare tutto questo: 'filetypes.go.conf' deve in effetti essere chiamato' filetypes.Go.conf' –