想同时使用 tabbar 和 semantic-stickyfunc,有什么比较好解决方法吗?
semantic-stickyfunc 在什么情况下有效
能给一小段代码吗?
稍等哈,我现在用着 tabbar
Debugger entered--Lisp error: (error "Buffer .emacs was not set up for parsing")
这个怎么解决啊
完整的出错信息贴一下吧
Debugger entered--Lisp error: (error "Buffer .emacs was not set up for parsing")
signal(error ("Buffer .emacs was not set up for parsing"))
error("Buffer %s was not set up for parsing" ".emacs")
semantic-stickyfunc-mode(toggle)
funcall-interactively(semantic-stickyfunc-mode toggle)
call-interactively(semantic-stickyfunc-mode record nil)
command-execute(semantic-stickyfunc-mode record)
execute-extended-command(nil "semantic-stickyfunc-mode")
smex-read-and-run(("semantic-mode" "set-mark-command" "shell" "latex-help" "eval-buffer" "info" "dired" "zx" "eww" "m$
smex()
funcall-interactively(smex)
call-interactively(smex nil nil)
command-execute(smex)
感觉 semantic 没有设置好,用的是 spacemacs 的 semantic layer?
不是啊
只有一句 (require 'semantic)
我查一下吧
估计不行,参考一下 spacemacs 的 semantic layer 吧
spaceemacs 太庞大了 我怕掌握不了
spacemacs 关于 semantic 的设置并不复杂,可以参考一下:
(setq semantic-packages
'(
(semantic :location built-in)
srefactor
stickyfunc-enhance
))
(defun semantic/init-semantic ()
(use-package semantic
:defer t
:config (add-to-list 'semantic-default-submodes
'global-semantic-idle-summary-mode)))
(defun semantic/init-srefactor ()
(use-package srefactor :defer t))
(defun semantic/pre-init-stickyfunc-enhance ()
(spacemacs|use-package-add-hook semantic
:post-init (add-to-list 'semantic-default-submodes
'global-semantic-stickyfunc-mode)))
(defun semantic/init-stickyfunc-enhance ()
(use-package stickyfunc-enhance :defer t))
还有
(defun spacemacs/load-srefactor ()
"Hook to load the `srefactor' library."
(require 'srefactor)
;; currently, evil-mode overrides key mapping of srefactor menu
;; must expplicity enable evil-emacs-state. This is ok since
;; srefactor supports j,k,/ and ? commands when Evil is
;; available
(add-hook 'srefactor-ui-menu-mode-hook 'evil-emacs-state))
(defun spacemacs/load-stickyfunc-enhance ()
"Hook to load the `stickyfunc-enhance' library."
(require 'stickyfunc-enhance))
以及
(setq srecode-map-save-file (concat spacemacs-cache-directory
"srecode-map.el"))
(setq semanticdb-default-save-directory (concat spacemacs-cache-directory
"semanticdb/"))
(setq semanticdb-find-default-throttle '(file local project))
(unless (file-exists-p semanticdb-default-save-directory)
(make-directory semanticdb-default-save-directory))
cpp 文件没有这样的问题
你有cpp的代码吗??
我不知道那个mode会有什么效果。
暂时没有,我把 c++ layer disable 了,暂时不用写 c++
看到 效果了
只是提示当前的函数名?
嗯,是的,好像只有这一个功能
这个mode好像是有bug
在main中 可还是显示 ghg7
我觉得他可以显示在下面 而不用非得在上面
我的描述有问题,它显示的是最上面显示不全的函数,不是当前函数
我这里的semantic总是出问题
(defun zz ()
(interactive)
(setq header-line-format
'(:eval
(list
(semantic-stickyfunc-fetch-stickyline)
(tabbar-line)
))))
在设置好tabbar 和 stickyfunc 之后 M-x zz 你试一下吧
我只成功了一次