Я пытаюсь написать очень простой основной режим emacs для редактирования исходных файлов ассемблера (для конкретного микроконтроллера). Я использовал https://www.emacswiki.org/emacs-test/ModeTutorial в качестве отправной точки. Он работает, но я хотел бы изменить две вещи, но не могу найти решение.определение основного режима emacs
И да, я заинтересован в более глубоком понимании eLisp со временем, но я также пытаюсь быстро взломать мой путь к определению рабочего режима, потому что мне это нужно сейчас (не понимая тонкости - я знаю, RTFM ...).
Во всяком случае, я надеюсь получить ответ на два вопроса:
1) В то время как подсветка синтаксиса работает, я не получаю, чтобы быть нечувствительным к регистру. Я попытался добавить (setq font-lock-keywords-case-fold-search t)
к функции ниже, но она, похоже, не имеет желаемого эффекта.
(defun xasm-mode()
(interactive)
(kill-all-local-variables)
(use-local-map xasm-mode-map)
(set-syntax-table xasm-mode-syntax-table)
;; set up font-lock
(set (make-local-variable 'font-lock-defaults) '(xasm-font-lock-keywords))
(setq font-lock-keywords-case-fold-search t)
(setq major-mode 'xasm-mode)
(setq mode-name "XASM")
(run-hooks 'xasm-mode-hook))
2) Второй вопрос наверняка демонстрирует свое невежество ... В принципе, в выражении приведенной ниже структуры, я хотел бы заменить «регулярное выражение» буквального (который работает) на значение, которое в переменном (здесь: х, с й бытием (правильно), вычисленным с регулярным выражением-OPT) ... Но я не знаю, как вставить значениех здесь :-(
(setq x 'xyz)
(defconst v2
(list
'("regexp" . foo)
))
Спасибо для ваших советов.
Независимо от ваших реальных вопросов, вы изучили 'define-generic-mode'? https://www.gnu.org/software/emacs/manual/html_node/elisp/Generic-Modes.html – Thomas
Для вашего второго вопроса, что вы ищете, это «backquote», описанный в [этом ответе] (http : //stackoverflow.com/a/11875822/113848), а также [в справочнике elisp] (https://www.gnu.org/software/emacs/manual/html_node/elisp/Backquote.html). – legoscia