2009-06-03 50 views
6

我在我的cc模式緩衝區中使用hideshow.el來摺疊我沒有看到的文件部分。emacs:HideShow是否可以使用xml模式(sgml-mode)?

能夠在XML文檔中做到這一點是很好的。我使用emacs 22.2.1和用於xml編輯的內置sgml模式。我還沒有得到隱藏的東西來處理XML。我的意思是,我打開次要模式,但擊鍵沒有效果。哦,除了我沒有收到XML評論崩潰。但沒有元素。

有沒有人做過這個成功?
建議?


編輯:我敢打賭,如果我添加了SGML模式元素HS-特殊模式 - ALIST它會工作。我需要一個開始塊的正則表達式。有沒有人做過這個?


我還沒有轉移到nxml模式。我是不是該?它是做「摺疊」還是隱藏?

回答

8

回答我自己的問題......我正在使用類似這樣的東西。似乎工作。

;; 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))) 
相關問題