6

私はEmacsLisp(またはそれに関してはLisp)について何も知りません。とてもシンプルに見えることをしたいのですが、オンラインガイドがうまくいきませんでした。ファイル用に「packet-mode.el」を作成したい.packet。私は次のことをしたい:

  • C++モードを有効にする
  • C ++packetモードの残りの部分を変更せずに、キーワードを作成します
(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)

また、パケットモードでステートメントの順序を切り替えてみましたが、C++の強調表示が壊れています。

そういう意味でpacket振る舞いたいstruct

packet foo {
  int bar;
}

structの代わりに使用した場合と同じように強調表示されpacketます。

4

1 に答える 1

8

に入れる必要があるものは次の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)

packet-mode.elディレクトリに配置し、 load-path(オプションで)バイトコンパイルします。

次に、に追加(require 'packet-mode)します.emacs.el

于 2013-02-15T01:41:19.407 に答える