我对Emacs Lisp(或任何Lisp,无论如何)一无所知.我想做一些看起来非常简单的事情,但我对在线指南没有运气.我想为.packet文件创建"packet-mode.el" .我想做以下事情:
packet一个关键字,同时保持C++模式的其余部分不变(define-derived-mode packet-mode fundamental-mode
(font-lock-add-keywords 'c++-mode `(("packet" . font-lock-keyword-face)))
(c++-mode))
(add-to-list 'auto-mode-alist '("\\.packet\\'" . packet-mode)
(provide 'packet-mode)
Run Code Online (Sandbox Code Playgroud)
我也尝试在数据包模式下切换语句的顺序,但随后C++突出显示中断.
我想packet表现得像struct在这个意义上,
packet foo {
int bar;
}
Run Code Online (Sandbox Code Playgroud)
突出显示的方式与struct用于代替的方式相同packet.
以下是您需要投入的内容packet-mode.el:
(defvar packet-mode-font-lock-keywords
'(("\\<packet\\>" . font-lock-keyword-face)))
(define-derived-mode packet-mode c++-mode "Packet"
"A major mode to edit GNU ld script files."
(font-lock-add-keywords nil packet-mode-font-lock-keywords))
(add-to-list 'auto-mode-alist '("\\.packet\\'" . packet-mode))
(provide 'packet-mode)
Run Code Online (Sandbox Code Playgroud)
放入packet-mode.el您load-path和(可选)字节中的目录进行编译.
现在,添加(require 'packet-mode)到您的.emacs.el.
| 归档时间: |
|
| 查看次数: |
878 次 |
| 最近记录: |