Как отключить режим Verilog в emacs?
Я пытаюсь использовать CoQ с ProofGeneral, но встроенный режим Verilog тени *.v
распознавание типов файлов. Можно ли как-то отключить его и позволить ProofGeneral переназначить их в режим coq?
3 ответа
Вам придется переопределить привязку в auto-mode-alist в вашем.emacs или еще чем-нибудь.
Этот так пост делает что-то похожее с VHDL:
Как мне отключить VHDL-режим в Emacs?
Кроме того, я погуглил "auto-mode-alist remove" и нашел эту ссылку. Скопируйте / вставьте важный бит:
;; Remove all annoying modes from auto mode lists
(defun replace-alist-mode (alist oldmode newmode)
(dolist (aitem alist)
(if (eq (cdr aitem) oldmode)
(setcdr aitem newmode))))
;; not sure what mode you want here. You could default to 'fundamental-mode
(replace-alist-mode auto-mode-alist 'verilog-mode 'proof-general-mode)
Я не знаком с ProofGeneral, но если я правильно понимаю ваш вопрос, вам нужно изменить auto-mode-alist
переменная, чтобы связать правильный майор с файлами с .v
расширение. Итак, вам нужно добавить что-то подобное в ваш .emacs
файл:
(add-to-list 'auto-mode-alist '("\\.v$" . proof-general-coq-mode))
Сработала следующая строка:
(setq auto-mode-alist (remove (rassoc 'verilog-mode auto-mode-alist) auto-mode-alist))
Это может быть проблема XY.
У меня сегодня такая же проблема, во-первых, я попробовал то же, что и вы, добавляю в свой ~/.spacemacs
под dotspacemacs/user-init
:
(setq auto-mode-alist (remove (rassoc 'verilog-mode auto-mode-alist) auto-mode-alist))
И тогда режим становится фундаментальным, и тогда я понял, что настоящая причина в том, что слой spacemacs coq не устанавливается автоматически, и вам нужно приложить много усилий, чтобы установить его и его зависимости.
Ниже приводится краткое изложение шагов по установке после успешного запуска Coq в Emacs: https://gist.github.com/luochen1990/68e5e38496b79790e70d82814bdfc69a
Надеюсь, это поможет:)