Dans une langue (julia) qui a des blocs définis par des mots clés tels que for..end
, begin..end
ainsi que des parenthèses, quelle est la bonne façon de sauter un tel bloc? En outre, ce end
n'est pas seulement un mot-clé de bloc, mais aussi un identifiant valide utilisé dans d'autres endroits.
Une façon consiste à rechercher des expressions rationnelles de démarrage / fermeture de bloc et à ignorer toutes les chaînes, les commentaires et les end
s, etc., mais cela est quelque peu inefficace et un peu moche.
Existe-t-il un moyen de faire en sorte que l'analyse syntaxique d'emacs reconnaisse de tels mots clés de bloc, afin que forward/backward-sexp
cela fonctionne automatiquement et que l'on puisse rapidement identifier le début du bloc actuel à partir de la sortie de, par exemple syntax-ppss
?
[Remarque: cela ne me dérange pas d'analyser le fichier moi-même, mais dans ce cas, j'aimerais toujours savoir comment mon analyseur doit être connecté au reste d'emacs.]
ruby-mode
ce qui fait quelque chose de similaire pour le rubis. Une autre option est de se connecter aux smartparens , il a une configuration spéciale pour le mode rubis que vous pouvez utiliser comme point de départ