|
|
@@ -905,7 +905,28 @@ found, otherwise returns nil." |
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
;; some modes and hooks |
|
|
|
|
|
|
|
(lazy-load-eval 'dirtree) |
|
|
|
(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) |
|
|
|
) |
|
|
|
|
|
|
|
(and (fetch-library |
|
|
|
"https://raw.github.com/10sr/emacs-lisp/master/remember-major-modes-mode.el" |
|
|
@@ -1419,7 +1440,8 @@ found, otherwise returns nil." |
|
|
|
;; (call-interactively 'bs-toggle-show-all)) |
|
|
|
(set (make-local-variable 'scroll-margin) 0)))) |
|
|
|
|
|
|
|
(iswitchb-mode 1) |
|
|
|
;;(iswitchb-mode 1) |
|
|
|
(icomplete-mode) |
|
|
|
|
|
|
|
(defun iswitchb-buffer-display-other-window () |
|
|
|
"Do iswitchb in other window." |
|
|
|