ctags ファイルに基づいて C/C++ プロジェクトの強調表示を改善しようとしています。だから私はこれを作成しました:
(defun process-file (file)
(with-temp-buffer
(insert-file-contents file)
(split-string (buffer-string) "\n" t)))
(defun ctags-highlight()
(interactive)
(setq linelist (nthcdr 6 (process-file "/home/willian/Documents/M1-Class/OS/nachos/code/tags")))
(while linelist
(setq temp (split-string (car linelist) "\t"))
(setq keyword (car temp))
(setq type (car (cdddr temp)))
(cond
((string= type "v")
(font-lock-add-keywords 'c-mode
'((,keyword 1 font-lock-variable-name-face)))
(font-lock-add-keywords 'c++-mode
'((,keyword 1 font-lock-variable-name-face))))
((string= type "f")
(font-lock-add-keywords 'c-mode
'((,keyword 1 font-lock-function-name-face)))
(font-lock-add-keywords 'c++-mode
'((,keyword 1 font-lock-function-name-face))))
((string= type "d")
(font-lock-add-keywords 'c-mode
'((,keyword 1 font-lock-constant-name-face)))
(font-lock-add-keywords 'c++-mode
'((,keyword 1 font-lock-constant-name-face))))
((string= type "e")
(font-lock-add-keywords 'c-mode
'((,keyword 1 font-lock-constant-name-face)))
(font-lock-add-keywords 'c++-mode
'((,keyword 1 font-lock-constant-name-face))))
((string= type "c")
(font-lock-add-keywords 'c-mode
'((,keyword 1 font-lock-type-name-face)))
(font-lock-add-keywords 'c++-mode
'((,keyword 1 font-lock-type-name-face))))
((string= type "t")
(font-lock-add-keywords 'c-mode
'((,keyword 1 font-lock-type-name-face)))
(font-lock-add-keywords 'c++-mode
'((,keyword 1 font-lock-type-name-face))))
)
(setq linelist (cdr linelist))))
しかし、このコードを実行した後、ハイライトがまったく表示されません。
上記のコードのどこに間違いがあるか知っている人はいますか?