emacs: HideShow работает с xml-режимом (sgml-mode)? - PullRequest
7 голосов
/ 03 июня 2009

Я использую hideshow.el в буферах cc-mode, чтобы свернуть разделы файла, который я не смотрю.

Было бы неплохо сделать это в XML-документе. Я использую emacs 22.2.1 и встроенный sgml-режим для редактирования XML. Я не получил скрытое шоу для работы с XML. Я имею в виду, я включаю второстепенный режим, но нажатия клавиш не имеют никакого эффекта. Ох, кроме того, я получил XML-комментарий, чтобы свернуть. Но нет элементов.

Кто-нибудь сделал это успешно?
Рекомендации?


EDIT : держу пари, что это сработает, если я добавлю элемент sgml-mode в hs-special-mode-alist. Мне нужно регулярное выражение для начала блока. Кто-нибудь делал это?


Я не перешел в режим nxml. Нужно ли мне? это делает "складывание" или сокрытие?

1 Ответ

10 голосов
/ 03 июня 2009

Отвечая на мой собственный вопрос ... Я использую что-то вроде этого. Кажется, работает.

;; Fix XML folding
(add-to-list 'hs-special-modes-alist
             (list 'nxml-mode
                   "<!--\\|<[^/>]*[^/]>"
                   "-->\\|</[^/>]*[^/]>"
                   "<!--"
                   'nxml-forward-element
                   nil))

;; Fix HTML folding
(dolist (mode '(sgml-mode
                html-mode
                html-erb-mode))
  (add-to-list 'hs-special-modes-alist
               (list mode
                     "<!--\\|<[^/>]*[^/]>"
                     "-->\\|</[^/>]*[^/]>"
                     "<!--"
                     'sgml-skip-tag-forward
                     nil)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...