Spec-Zone.ru › Elisp

Настройка и возможности SMIE

SMIE предназначен для комплексного управления структурной навигацией и различных других функций, основанных на синтаксической структуре кода, в частности, автоматическом отступе. Основной точкой входа является smie-setup, которая обычно вызывается при настройке основного режима.

Функция: smie-setup правила грамматики-функция &rest ключевые слова

Настройка навигации и отступа SMIE. grammar — таблица грамматики, сгенерированная smie-prec2->grammar. rules-function — набор правил отступа для использования в smie-rules-function. keywords — дополнительные аргументы, которые могут включать следующие ключевые слова:

  • :forward-token fun: Указывает на использование лексического анализатора для продвижения.
  • :backward-token fun: Указывает на использование лексического анализатора для обратного продвижения.

Вызов этой функции достаточно для того, чтобы такие команды, как 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API