Настройка и возможности SMIE
SMIE предназначен для комплексного управления структурной навигацией и различных других функций, основанных на синтаксической структуре кода, в частности, автоматическом отступе. Основной точкой входа является smie-setup, которая обычно вызывается при настройке основного режима.
- Функция: smie-setup правила грамматики-функция &rest ключевые слова
-
Настройка навигации и отступа SMIE. grammar — таблица грамматики, сгенерированная
smie-prec2->grammar. rules-function — набор правил отступа для использования вsmie-rules-function. keywords — дополнительные аргументы, которые могут включать следующие ключевые слова:-
:forward-tokenfun: Указывает на использование лексического анализатора для продвижения. -
:backward-tokenfun: Указывает на использование лексического анализатора для обратного продвижения.
-
Вызов этой функции достаточно для того, чтобы такие команды, как forward-sexp, backward-sexp, и transpose-sexps, смогли правильно обрабатывать структурные элементы помимо парных скобок, которые уже обрабатываются таблицами синтаксиса. Например, если предоставленная грамматика достаточно точна, transpose-sexps может правильно транспонировать два аргумента оператора +, учитывая правила приоритета языка.
Вызов smie-setup также достаточно для работы отступа с помощью клавиши TAB в ожидаемом режиме, расширяет blink-matching-paren на применение к элементам, таким как begin...end, и предоставляет некоторые команды, которые можно привязать в макро-клавиатуре основного режима.
- Команда: smie-close-block
Эта команда закрывает самый последний открытый (и ещё не закрытый) блок.
- Команда: smie-down-list &optional arg
Эта команда похожа на
down-list, но также учитывает вложенность токенов, помимо скобок, таких какbegin...end.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/SMIE-setup.html