2012-03-11 3 views
1

Я только что получил fixme-mode.el и загрузил его. Он отлично работает на C, Lisp и других языках. Но Javascript не работает.Emacs fixme mode на javascript

(defcustom fixme-modes '(erlang-mode java-mode c-mode emacs-lisp-mode jde-mode 
            scheme-mode python-mode ruby-mode cperl-mode 
            slime-mode common-lisp-mode c++-mode d-mode 
            js2-mode haskell-mode tuareg-mode lua-mode 
            pascal-mode fortran-mode prolog-mode asm-mode 
            csharp-mode sml-mode javascript-mode html-mode) 
    "The modes which fixme should apply to" 
    :group 'fixme-mode) 

Я даже добавил JavaScript-режим и HTML-режим в списке, но он по-прежнему не работает.

Есть ли способ заставить его работать для всех режимов? Есть ли как «emacs-mode», который включает в себя все остальные? Если нет, то почему он не работает над файлами .js?

Спасибо!

+0

Этот подход к настройка Emacs несостоятельна. Вы никогда не должны изменять источник библиотеки, как вы это делали. Это было бы серьезной ошибкой в ​​библиотеке, если это когда-либо понадобилось. –

ответ

1

если вы Emacs Emacs встроенный Javascript режим (я думаю, вы используете это), что является js-mode не javascript-mode

добавить этот файл .emacs (~/.emacs.d/init.el)

(add-to-list 'fixme-modes 'js-mode) 

Как правило, вы не редактируете defcustom напрямую в исходном коде. .emacs это один для ваших настроек

UPDATE: Чтобы сделать FIXME-режим будет доступен для всех буферов мы должны определить глобальный-минорной режим

(defun turn-on-fixme-mode() 
    (fixme-mode 1)) 

(define-global-minor-mode global-fixme-mode 
    fixme-mode turn-on-fixme-mode 
    :group 'fixme-mode) 

теперь называем global-fixme-mode

+0

Спасибо! Это сделал трюк. Любая идея, если есть что-то вроде глобального режима? –

+0

Простой способ для вас - просто вставить «t» после «: global» в строке номер 132 в файле fixme.el, чтобы сделать его глобальным. перезагрузить файл или 'M-x eval-buffer' – kindahero

+0

@ user996056 обновил ответ – kindahero