2009-06-03 20 views
6

Göremediğim dosyanın bölümlerini daraltmak için cc-mode arabelleklerimde hideshow.el kullanıyorum.emacs: HideShow, xml modu (sgml modu) ile çalışır mı?

Bunu bir XML belgesinde yapabilmek güzel olurdu. Xml düzenleme için emacs 22.2.1 ve yerleşik sgml modunu kullanıyorum. XML ile çalışmak için gizli show yapmadım. Yani, küçük modu açtım ama tuş vuruşlarının bir etkisi yok. Ooh, hariç, çökmek için bir XML yorumu aldım. Ama hiçbir unsur yok.

Bunu başarılı bir şekilde yapan var mı?
Öneriler?


DÜZENLEME: Ben hs-özel-modları-alist bir sgml mod elemanı ekledi eğer işe yarayacağını bahse girerim. Başlangıç ​​bloğu için bir regexp'e ihtiyacım var. Bunu yapan var mı?


nxml moduna geçmedim. Yapmalımıyım? "katlanır" mı yoksa saklanıyor mu?

cevap

8

Kendi sorumu yanıtlama ... Böyle bir şey kullanıyorum. İşe benziyor.

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