Я делаю DSL в lisp (в основном то, что я считаю более приятным синтаксисом), это то же самое, что lisp, за исключением разных «примитивов», нет вместо «as» вместо let. Таким образом, мне нужно изменитьи отступ, и цвет только в файлах, оканчивающихся на .goby (это не должно влиять на файлы, оканчивающиеся на .lisp). Поэтому я хотел бы создать файлы с расширением .goby и включить мой новый, вспомогательный / основной режим (но свсе остальное, кроме синтаксиса, унаследованного от lisp).
Однако, что бы я ни делал, это также влияет на файлы .lisp!Кто-нибудь?
Например, я попытался создать локальную переменную для уникального отступа lisp, которая бы делала отступ hi на 10 пробелов.но это также отразилось на всех файлах .lisp
;;in goby.el
(define-derived-mode
goby-mode lisp-mode "Goby"
"Major mode"
(let ((func #'lisp-indent-function))
(set (make-local-variable 'lisp-indent-function) func)
(put 'hi 'lisp-indent-function 10)))
(provide 'goby)
;;in .emacs
(setq auto-mode-alist
(append auto-mode-alist
'(("\\.gy\\'" . goby-mode))))