0
我對某種類型的文件使用自定義模式,僅用於語法高亮顯示。但是當我加載該模式時,c樣式的縮進不起作用。我不想爲這種模式編寫縮進規則。如何在Emacs中使用另一種模式時保持cpp模式縮進?
Here is the link for the mode I'm using
如何我可以使用Emacs默認的C風格的縮進在這種定製模式? 謝謝。
我對某種類型的文件使用自定義模式,僅用於語法高亮顯示。但是當我加載該模式時,c樣式的縮進不起作用。我不想爲這種模式編寫縮進規則。如何在Emacs中使用另一種模式時保持cpp模式縮進?
Here is the link for the mode I'm using
如何我可以使用Emacs默認的C風格的縮進在這種定製模式? 謝謝。
c-mode
安裝它自己的解析器來計算縮進。因此,打開c-indentation並不像看起來那麼簡單(您不能簡單地設置indent-line-function
和indent-region-function
)。
你可以嘗試以下方法:
(add-hook 'ned-mode-hook (lambda()
(c-init-language-vars c-mode)
(c-basic-common-init 'c-mode "user")))
我注意到ned-font-lock-keywords
徵求意見和字符串的正則表達式。據我瞭解font-lock,這是錯誤的。註釋和字符串由Parse-Partial-Sexp解析器處理(請參閱syntax-ppss
),而不是通過正則表達式處理。 此外,ned-mode
應來自prog-mode
而不是從text-mode
。