Answers:
Hideshowvis将可单击图标添加到边缘,但是由于某些奇怪的原因,它不包含在elpa或melpa中。默认情况下,它-
在可折叠代码的边缘显示a ,然后使用省略内容...
。通过同时启用hideshowvis-symbols
它,添加了+
,并使对折叠内容的提示更响亮。
Hideshow本身还允许在行上单击鼠标以切换显示S-mouse-2
(或单击中键)。那是内置的,可以通过启用hs-minor-mode
。
Hideshowvis.el
效果很好,谢谢!我有一些问题,它让对JSON文件与工作js3-mode
; 要解决这些问题,我必须确保只有在队列中的所有操作之后才启用hideshowvis,例如:(dolist (hook '(emacs-lisp-mode-hook c++-mode-hook)) (add-hook hook 'hideshowvis-enable)) (defun hideshowvis-enable-immediately () (run-at-time "0 seconds" nil 'hideshowvis-enable)) (add-hook 'js3-mode-hook 'hideshowvis-enable-immediately)
虽然我认为边缘项目无法直接获得点击(尽管我可能是错的),但可能的破解方法是绑定 (kbd "<left-fringe> <double-mouse-1>")
由于第一次单击会将点移动到与条纹图标相对应的行的开头,因此(point)
在假设的(展开)折叠功能中测试的值将使您能够确定要折叠(展开)的代码部分,或者您根本不需要执行任何操作(以防在此行没有边缘图标的情况下)
具有组织模式缓冲区的示例:
(define-key org-mode-map (kbd "<left-fringe> <double-mouse-1>") 'org-cycle)
双击边缘会循环相应的子树。