In una lingua (julia) che ha blocchi definiti da parole chiave come for..end
, begin..end
tra parentesi, qual è un buon modo per saltare un blocco del genere? Inoltre, end
non è solo una parola chiave a blocchi, ma anche un identificatore valido utilizzato in altri luoghi.
Un modo è cercare regex di avvio / chiusura a blocchi e saltare tutte le stringhe, i commenti e gli altri end
, ecc., Ma questo è in qualche modo inefficiente e un po 'brutto.
Esiste un modo per fare in modo che l'analisi della sintassi di emacs riconosca tali parole chiave a blocchi, in modo che forward/backward-sexp
funzionino automaticamente e in modo da poter dire rapidamente l'inizio del blocco corrente dall'output di, ad esempio syntax-ppss
?
[Nota: non mi dispiace analizzare il file da solo, ma in quel caso vorrei ancora sapere come il mio parser dovrebbe essere collegato al resto di emacs.]
ruby-mode
che fa qualcosa di simile per il rubino. Un'altra opzione è quella di collegarsi a smartparens , ha una configurazione speciale per la modalità ruby che puoi usare come punto di partenza