2017-01-18 21 views
0

EmacsがConf[JavaProp]として自動検出する独自の設定ファイルを編集中です。conf-javaprop-modeからconf-mode.elを使用しています。そのモードは、コメントとしてハイライトされていないべきで、これらのファイルは、CまたはC++スタイルのコメントを持っていないことを除いて、すなわちemacs confモードのカスタマイズ

//foo 

または

/* foo */ 

ほぼ完璧です。誰でも自分の拡張子をconf-modeにする方法を教えてくれて、.emacsから何かを自動的に読み込むことができますか?

+0

をconfのモードから独自の派生モードを作成し、あなたのpropietaryファイルのためにデフォルトモードにします-unix-mode'?私は、 '//'コメントスタイルは 'conf-javaprop-mode'の特徴であると思います。 – 0x5453

答えて

0

conf-mode-initializeを使用してコメント構文を設定できます。たとえば、.ctagsの単純な例を次に示します.は、先頭にスペースがある場合にのみコメントを開始する必要があります。どのconfモードを継承したいのかを変更し、変更されたものを必要としない限り、propertize関数/構文テーブルを削除してください。

(require 'conf-mode) 

(defun dotctags-propertize (start end) 
    (goto-char start) 
    (funcall 
    (syntax-propertize-rules 
    ("^\\s-*#.*" (0 "<"))) 
    (point) end)) 

(defvar dotctags-mode-syntax-table 
    (let ((st (make-syntax-table conf-windows-mode-syntax-table))) 
    (modify-syntax-entry ?\; "." st) 
    (modify-syntax-entry ?\n ">" st) 
    st)) 

;;;###autoload 
(define-derived-mode dotctags-mode conf-windows-mode "Conf[cTags]" 
    "Conf Mode for ctags config." 
    :syntax-table dotctags-mode-syntax-table 
    (conf-mode-initialize "#") 
    (setq-local comment-end "") 
    (setq-local syntax-propertize-function #'dotctags-propertize)) 

;;;###autoload 
(add-to-list 'auto-mode-alist '("\\.ctags\\'" . dotctags-mode)) 
0

手動 `confの窓-モード 'または` confのにモードを切り替えることができます

(define-derived-mode conf-my-mode conf-unix-mode "Conf[MyMode]" 
    "Conf mode of my own" 
    (conf-mode-initialize "#" 'conf-my-mode-font-lock-keywords)) 
(add-to-list 'auto-mode-alist '("\\.your-extension\\'" . conf-my-mode)) 
関連する問題