2012-11-15 17 views
5

correlati alla domanda: org-mode: fontify code blocks nativelyFont-bloccaggio per SQL-MODE all'interno della ORG-MODE non font-bloccaggio

ho le ultime versioni org-mode e emacs a partire dal 1 novembre 2012 (org immagazzinate nella org-20.121.105).

Ho anche la modalità sql fornita con emacs-24.

Ho fontification girato uno:

;; fontify code in code blocks 
(setq org-src-fontify-natively t) 

Tuttavia questo non fontify nei miei documenti org. Java, bash, ecc. Tutto funziona.

#+BEGIN_SRC SQL 
    SELECT foo FROM bar 
#+END_SRC 

Quando si apre un file foobar.sql, l'indicatore di modalità dice SQL [ANSI] (che ho anche provato come tipo di origine), e opere di carattere bloccaggio.

Grazie in anticipo per eventuali suggerimenti.

+0

Il 'setq' è stato valutato naturalmente? Puoi 'C-c '' (C-c quote) nel blocco per aprirlo in un nuovo buffer, con la modalità major corretta, e vedere se è stato rilevato correttamente? –

risposta

8

In primo luogo, il nome della modalità blocco SRC è sensibile al maiuscolo/minuscolo. Dovrebbe essere sql anziché SQL.

#+BEGIN_SRC sql 
    SELECT foo FROM bar 
#+END_SRC 

In secondo luogo, l'iniziale font-lock di cuciture sql-mode non per evidenziare le parole chiave SQL, (almeno a me, sembra alcuna differenza, non importa che lo si accende o spegne). Pertanto, è necessario specificare il tipo di SQL che si desidera evidenziare. Se si sta utilizzando MySQL per esempio:

(add-hook 'sql-mode-hook 
      (lambda() 
      (sql-highlight-mysql-keywords))) 

Poi Riavviare Emacs. Dovrebbe funzionare ora.

+0

Non sono sicuro che la seconda parte influirà sulla formattazione in linea in org. –

+0

Fantastico! Lavori! – justingordon

2

Oh, aspetta, prova a inserire #+BEGIN_SRC sql in minuscolo. Vedere here per identificatori.


prova ad aggiornare il display, rendendo il blocco essere reparsed (rompere la sintassi e annullare, o qualcosa del genere). Mi capita spesso con blocchi python o bibtex, ma questo lo risolve.

Non riesco a capire il motivo per cui non sarebbe faticoso inline se trova la giusta modalità quando si C-c '.

Inoltre, temo che la fontificazione, pur essendo una delle caratteristiche più interessanti di org-mode, non sia perfettamente gestita. Da the mailing list:

Il motore di fontificazione non è molto potente e si lascia facilmente ingannare.