2009-06-03 15 views
6

Używam hideshow.el w moich buforach trybu cc, aby zwinąć sekcje pliku, którego nie szukam.emacs: Czy HideShow działa w trybie xml (tryb sgml)?

Byłoby miło móc to zrobić w dokumencie XML. Używam emacs 22.2.1 i wbudowanego trybu sgml do edycji xml. Nie mam hiddenhow do pracy z XML. Mam na myśli, włączam tryb pomocniczy, ale naciśnięcia klawiszy nic nie dają. Ooh, z wyjątkiem tego, że otrzymałem komentarz XML do zwinięcia. Ale bez elementów.

Czy ktoś to zrobił?
Zalecenia?


EDIT: Założę się, że to działa, jeśli dodałem element SGML-mode do hs-Special-Tryby alist. Potrzebuję wyrażeń regularnych dla bloku startowego. Czy ktoś to zrobił?


Nie przeniosłem się do trybu nxml. Czy powinienem? robi to "składanie" lub ukrywanie?

Odpowiedz

8

Odpowiadając na moje własne pytanie ... Używam czegoś takiego. Wydaje się działać.

;; 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)))