2010-09-03 13 views
7

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

+0

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' –

risposta

3

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

+0

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. –

1

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).

+0

Non lo sapevo! –

7

ho appena notato questa pagina: http://go-lang.cat-v.org/text-editors/geany/

Sembra come loro hanno tutto il necessario proprio lì.

+1

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 –

3

Ecco la Geany formatting Instructions posted by Steve Horsley to golang-nuts:

  1. In Geany, goto Strumenti-> Configurazione file-> filetype_extensions.conf e aggiungere il seguente nuovo titolo:

    Go=*.go; 
    
  2. 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 
    
  3. 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 
    
1

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.

+0

Grazie! Hai questo in sintesi? – Ratul

+0

@Ratul lo fa ora https://gist.github.com/danieltd/7016094 – DanielTA

+0

aggiunto ai segnalibri: D Grazie ancora! – Ratul