На каком языке (julia) есть блоки, определяемые ключевыми словами, такими как for..end, begin..endа также круглые скобки, как можно пропустить такой блок? Кроме того, endэто не только ключевое слово блока, но и действительный идентификатор, используемый в других местах.
Один из способов - найти регулярное выражение для начала / закрытия блока и пропустить все строки, комментарии, и endт. Д., Но это несколько неэффективно и немного уродливо.
Есть ли способ заставить собственный синтаксический анализ в emacs распознавать такие ключевые слова блока, чтобы forward/backward-sexpон работал автоматически и чтобы можно было быстро отличить начало текущего блока от вывода, например syntax-ppss,?
[Примечание: я не против разбора файла сам, но в этом случае я все еще хотел бы знать, как мой синтаксический анализатор должен быть подключен к остальной части emacs.]
ruby-modeчто-то похожее на ruby. Другой вариант - подключиться к smartparens , он имеет специальную конфигурацию для режима ruby, которую вы можете использовать в качестве отправной точки