我的相关配置如下
;; universal-ctags是自己编译的
(setq u-ctags-path (concat (getenv "HOME") "/u-ctags/bin"))
(setq modes-use-citre '(cmake-mode cmake-ts-mode makefile-mode asm-mode fortran-mode markdown-mode makefile-automake-mode))
(let ((tex-lsp (concat (getenv "HOME") "/texlab/target/release"))
(lua-lsp (concat (getenv "HOME") "/lua-lsp-3.13.5/bin")))
(progn
(setenv "PATH" (concat py-bin-path ":" (getenv "PATH")))
(setenv "PATH" (concat tex-lsp ":" (getenv "PATH")))
(setenv "PATH" (concat lua-lsp ":" (getenv "PATH")))
(setenv "PATH" (concat u-ctags-path ":" (getenv "PATH")))))
(use-package citre
:ensure t
:init
(require 'citre-config)
(add-hook 'prog-mode-hook #'citre-auto-enable-citre-mode)
:bind(("C-x c j" . citre-jump)
("C-x c J" . citre-jump-back)
("C-x c p" . citre-ace-peek)
("C-x c u" . citre-update-this-tags-file))
:config
(setq citre-auto-enable-citre-mode-modes modes-use-citre)
(setq-default citre-enable-capf-integration t)
(setq citre-ctags-program (concat u-ctags-path "/ctags")
citre-readtags-program (concat u-ctags-path "/readtags"))
;; always use one location to create a tags file
(setq citre-default-create-tags-file-location 'global-cache)
;; use projectile find project root
(setq citre-project-root-function #'projectile-project-root)
(setq citre-edit-ctags-options-manually nil))
(use-package company
:ensure t
:init
(add-hook 'text-mode-hook #'company-mode)
(dolist (s modes-use-citre)
(let ((mode-name (symbol-name s)))
(let ((one-hook (intern (concat mode-name "-hook"))))
(add-hook one-hook #'company-mode))))
:config
(setq company-minimum-prefix-length 1)
(setq company-idle-delay 0.0)
(setq company-tooltip-align-annotations t)
(setq company-backends
'(company-dabbrev company-dabbrev-code company-keywords company-files company-capf)))
这个配置可以生成tags文件,但是补全,跳转通通不行。