In a language (julia) that has blocks defined by keywords such as for..end
, begin..end
, as well as parentheses, what is a good way to skip over such a block? Also, end
is not only a block keyword, but also a valid identifier used in other places.
One way is to look for block-starting/closing regex, and to skip over all strings, comments, and end
s, etc., but this is somewhat inefficient, and a little ugly.
Is there a way to make emacs's own syntax parsing recognize such block keywords, so that forward/backward-sexp
would automatically work, and so that one could quickly tell the beginning of the current block from the output of, e.g., syntax-ppss
?
[Note: I don't mind parsing the file myself, but in that case I would still like to know how my parser should be plugged into the rest of emacs.]