hs-hide-block
和hs-show-block
并不支持#ifdef xxxx #endif
。
怎么破局。
hs-hide-block
和hs-show-block
并不支持#ifdef xxxx #endif
。
怎么破局。
tree-sitter 也许可以
不是很好办诶,我看hs-special-modes-alist感觉都是单对单的开始结束匹配,你这里只是一个情况,加进去是可以关闭 但是如果碰到这种代码就不好处理了
#ifdef A
code here
#elifdef B
code here
#else
code here
#endif
(use-package hideif
:ensure nil
:after evil
:hook (c-mode-common . (lambda ()
(hide-ifdef-mode)
(define-key evil-normal-state-map (kbd "zf") 'hide-ifdefs)
(define-key evil-normal-state-map (kbd "zF") 'show-ifdefs)
(define-key evil-normal-state-map (kbd "zs") 'hif-show-all))))
可以这么写的吗?我一直以为 elseifdef 要写成
#elif defined(B)