瀏覽代碼

Add dirtree keybind

pull/1/head
10sr 10 年之前
父節點
當前提交
96188b9282
共有 1 個檔案被更改,包括 22 行新增22 行删除
  1. +22
    -22
      emacs.el

+ 22
- 22
emacs.el 查看文件

@@ -905,28 +905,28 @@ found, otherwise returns nil."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; some modes and hooks

(lazy-load-eval 'dirtree nil
(defun my-dirtree-current-line-directory-p ()
"Return nil if element on current line is not a directory."
(file-directory-p (widget-get (tree-mode-button-current-line)
:file)))
;; This fix is actually a little strange. Strictly speaking
;; judging tree should be done by whether the widget is a tree one.
(defun my-dirtree-next-node (arg)
"Fix the problem that `tree-mode-next-node' moves cursor 2 lines."
(interactive "p")
(if (my-dirtree-current-line-directory-p)
(widget-forward (* arg 2))
(widget-forward arg)))
(defun my-dirtree-previous-node (arg)
"Fix the problem that `tree-mode-previous-node' moves cursor 2 lines."
(interactive "p")
(my-dirtree-next-node (- arg)))
(define-key dirtree-mode-map "n" 'my-dirtree-next-node)
(define-key dirtree-mode-map "p" 'my-dirtree-previous-node)
)
(when (lazy-load-eval 'dirtree nil
(defun my-dirtree-current-line-directory-p ()
"Return nil if element on current line is not a directory."
(file-directory-p (widget-get (tree-mode-button-current-line)
:file)))
;; This fix is actually a little strange. Strictly speaking
;; judging tree should be done by whether the widget is a tree one.
(defun my-dirtree-next-node (arg)
"Fix the problem that `tree-mode-next-node' moves cursor 2 lines."
(interactive "p")
(if (my-dirtree-current-line-directory-p)
(widget-forward (* arg 2))
(widget-forward arg)))
(defun my-dirtree-previous-node (arg)
"Fix the problem that `tree-mode-previous-node' moves cursor 2 lines."
(interactive "p")
(my-dirtree-next-node (- arg)))
(define-key dirtree-mode-map "n" 'my-dirtree-next-node)
(define-key dirtree-mode-map "p" 'my-dirtree-previous-node))
(define-key ctl-x-map "d" 'dirtree))

(and (fetch-library
"https://raw.github.com/10sr/emacs-lisp/master/remember-major-modes-mode.el"


Loading…
取消
儲存