W języku (Julia), który ma bloki zdefiniowane przez słowa kluczowe, takie jak for..end
, begin..end
oraz nawiasy, jaki jest dobry sposób na pominięcie takiego bloku? Ponadto end
jest nie tylko słowem kluczowym blokowym, ale także prawidłowym identyfikatorem używanym w innych miejscach.
Jednym ze sposobów jest poszukiwanie wyrażenia regularnego rozpoczynającego / zamykającego blokowanie i pomijanie wszystkich ciągów, komentarzy i end
s itd., Ale jest to nieco nieefektywne i trochę brzydkie.
Czy istnieje sposób, aby własna analiza składni Emacsa rozpoznała takie słowa kluczowe bloku, aby forward/backward-sexp
działało to automatycznie i aby można było szybko określić początek bieżącego bloku na podstawie wyniku np. syntax-ppss
?
[Uwaga: nie mam nic przeciwko samodzielnej analizie pliku, ale w takim przypadku nadal chciałbym wiedzieć, w jaki sposób mój parser powinien być podłączony do reszty emacsa.]
ruby-mode
co robi coś podobnego do ruby. Inną opcją jest podłączenie do smartparens , ma specjalną konfigurację dla trybu ruby , którego można użyć jako punktu wyjścia