Spec-Zone.ru › Elisp

Функции абстрактного отображения

В этом подразделе ewoc и node обозначают структуры, описанные выше (см. Абстрактное отображение), а data — произвольный объект Lisp, используемый как элемент данных.

Функция: ewoc-create pretty-printer &optional header footer nosep

Эта функция создает и возвращает новый ewoc без узлов (и, следовательно, без элементов данных). pretty-printer должна быть функцией, принимающей один аргумент — элемент данных того типа, который вы планируете использовать в этом ewoc, и вставляет его текстовое описание в текущую позицию с помощью insert. (и никогда insert-before-markers, так как это помешает внутренним механизмам пакета Ewoc).

Обычно после заголовка, подписи и текстового описания каждого узла автоматически вставляется новая строка. Если nosep — не nil, новая строка не вставляется. Это может быть полезно для отображения всего ewoc в одной строке или для того, чтобы сделать узлы невидимыми, организовав pretty-printer так, чтобы он ничего не делал для этих узлов.

Ewoc сохраняет свой текст в буфере, который используется в момент его создания, поэтому переключитесь на нужный буфер перед вызовом ewoc-create.

Функция: ewoc-buffer ewoc

Эта функция возвращает буфер, в котором ewoc сохраняет свой текст.

Функция: ewoc-get-hf ewoc

Эта функция возвращает ячейку cons (header . footer), составленную из заголовка и подписи ewoc.

Функция: ewoc-set-hf ewoc header footer

Эта функция устанавливает заголовок и подпись ewoc соответственно на строки header и footer.

Функция: ewoc-enter-first ewoc data
Функция: ewoc-enter-last ewoc data

Эти функции добавляют новый узел, содержащий data, помещая его соответственно в начало или конец цепочки узлов ewoc.

Функция: ewoc-enter-before ewoc node data
Функция: ewoc-enter-after ewoc node data

Эти функции добавляют новый узел, содержащий data, добавляя его в ewoc соответственно перед или после узла node.

Функция: ewoc-prev ewoc node
Функция: ewoc-next ewoc node

Эти функции возвращают соответственно предыдущий и следующий узел узла node в ewoc.

Функция: ewoc-nth ewoc n

Эта функция возвращает узел в ewoc, найденный по индексу n (с нуля). Отрицательное значение n означает подсчет с конца. ewoc-nth возвращает nil, если n выходит за пределы диапазона.

Функция: ewoc-data node

Эта функция извлекает данные, содержащиеся в узле node, и возвращает их.

Функция: ewoc-set-data node data

Эта функция устанавливает данные, содержащиеся в узле node, на data.

Функция: ewoc-locate ewoc &optional pos guess

Эта функция определяет узел в ewoc, который содержит текущую позицию (или pos, если задано), и возвращает этот узел. Если у ewoc нет узлов, возвращает nil. Если pos находится перед первым узлом, возвращает первый узел; если pos находится после последнего узла, возвращает последний узел. Необязательный третий аргумент guess должен быть узлом, который, скорее всего, находится рядом с pos; это не изменяет результат, но ускоряет работу функции.

Функция: ewoc-location node

Эта функция возвращает начальную позицию узла node.

Функция: ewoc-goto-prev ewoc arg
Функция: ewoc-goto-next ewoc arg

Эти функции соответственно перемещают текущую позицию к предыдущему или следующему arg-му узлу в ewoc. ewoc-goto-prev не перемещает, если она уже находится в первом узле или если ewoc пустой, в то время как ewoc-goto-next перемещает за последний узел, возвращая nil. За исключением этого специального случая, эти функции возвращают узел, к которому произошло перемещение.

Функция: ewoc-goto-node ewoc node

Эта функция перемещает текущую позицию к началу узла node в ewoc.

Функция: ewoc-refresh ewoc

Эта функция пересоздает текст ewoc. Она работает путем удаления текста между заголовком и подписью, т.е. всех представлений элементов данных, а затем вызова функции pretty-printer для каждого узла по одному, в порядке.

Функция: ewoc-invalidate ewoc &rest nodes

Эта функция похожа на ewoc-refresh, за исключением того, что обновляются только узлы nodes в ewoc, а не весь набор.

Функция: ewoc-delete ewoc &rest nodes

Эта функция удаляет каждый узел из nodes из ewoc.

Функция: ewoc-filter ewoc predicate &rest args

Эта функция вызывает predicate для каждого элемента данных в ewoc и удаляет те узлы, для которых predicate возвращает nil. Любые args передаются в predicate.

Функция: ewoc-collect ewoc predicate &rest args

Эта функция вызывает predicate для каждого элемента данных в ewoc и возвращает список тех элементов, для которых predicate возвращает не-nil. Элементы в списке упорядочены так же, как и в буфере. Любые args передаются в predicate.

Функция: ewoc-map map-function ewoc &rest args

Эта функция вызывает map-function для каждого элемента данных в ewoc и обновляет те узлы, для которых map-function возвращает не-nil. Любые args передаются в map-function.

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/Abstract-Display-Functions.html

Spec-Zone.ru

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