Uso emacs per modificare il mio codice sql. Lavoro al 99% del tempo sul codice postplesql plpgsql. Tutti i miei file con estensione .sql contengono postgresql. Sono curioso c'è un modo per impostare sql-highlight-postgres-keywords SQL evidenziazione predefinita invece di SQL ANSI, perché è abbastanza fastidioso per cambiare modalità ogni volta che apro un file.Creazione di emacs per evidenziare la sintassi postgresql per impostazione predefinita
risposta
Di solito in emacs, se si desidera modificare le impostazioni ogni volta che si apre qualche modo, si utilizza un gancio. Qualcosa di simile a questo dovrebbe funzionare:
(add-to-list 'auto-mode-alist
'("\\.psql$" . (lambda()
(sql-mode)
(sql-highlight-postgres-keywords))))
Grazie, sembra che sia quello che stavo cercando. –
Se avete bisogno di lavorare con diversi database, piuttosto che utilizzare un gancio per passare sempre a PostgreSQL evidenziazione quando si apre un file sql, è possibile utilizzare le variabili di file Emacs' sono dotate di per impostare il prodotto su una base file per file.
Ad esempio, se la prima riga del file sql è
-- -*- mode: sql; sql-product: postgres; -*-
sql-mode utilizzerà automaticamente PostgreSQL evidenziazione.
Tutti i dettagli sulle variabili di Emacs di file here (si può anche impostare in un blocco in qualsiasi parte del file), e l'elenco dei nomi dei prodotti è probabilmente eaiest trovato facendo M-x sql-set-product
, backspacing il ansi
di default, e colpire TAB per visualizzare la lista di completamento. Gli esempi sono "mysql", "oracle", "sqlite", ecc. (Circa una dozzina nella mia installazione).
È 'sql-highlight-postgres-keywords' una variabile? Non riesco a trovarlo in Emacs 23. Ho usato 'M-x sql-mode' che sembrava funzionare, ma era solo una volta. – SabreWolfy
Uso sql-highlight- -keywords in modalità sql per modificare l'evidenziazione della sintassi a seconda del DB. se non sei in sql-mode non sarai in grado di usarlo. –
^Grazie. Sì, funziona in modalità sql :) – SabreWolfy