[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 33fe3a2 14/92: Added support for double backspace for clos
From: |
Alexey Veretennikov |
Subject: |
[elpa] master 33fe3a2 14/92: Added support for double backspace for closing open directories |
Date: |
Thu, 11 Jun 2015 19:47:52 +0000 |
branch: master
commit 33fe3a22fcbf95f4f624cc82cfcb2a7b96b94e7d
Author: Alexey Veretennikov <address@hidden>
Commit: Alexey Veretennikov <address@hidden>
Added support for double backspace for closing open directories
---
ztree.el | 37 ++++++++++++++++++++++++++++++-------
1 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/ztree.el b/ztree.el
index 31b395d..c01dc57 100644
--- a/ztree.el
+++ b/ztree.el
@@ -48,8 +48,17 @@
;;
;;; Code:
+;;
+;; Constants
+;;
+
(defconst ztree-hidden-files-regexp "^\\."
- "Hidden files regexp")
+ "Hidden files regexp. By default all filest starting with dot '.',
+including . and ..")
+
+;;
+;; Globals
+;;
(defvar ztree-expanded-dir-list nil
"A list of Expanded directory entries.")
@@ -76,7 +85,13 @@
is the parent line for line i. If ith value is i - it is the root
line")
(make-variable-buffer-local 'ztree-parent-lines-array)
-
+
+(defvar ztree-count-subsequent-bs nil
+ "Counter for the subsequest BS keys (to identify double BS). Used
+in order to not to use cl package and lexical-let")
+(make-variable-buffer-local 'ztree-count-subsequent-bs)
+
+
;;
;; Major mode definitions
;;
@@ -199,12 +214,22 @@ filename for the line specified"
(defun ztree-move-up-directory ()
- "Action on Backspace key: to jump to the line of a parent directory"
+ "Action on Backspace key: to jump to the line of a parent directory or
+if previous key was Backspace - close the directory"
(interactive)
(when ztree-parent-lines-array
(let* ((line (line-number-at-pos (point)))
(parent (ztree-get-parent-for-line line)))
- (scroll-to-line parent))))
+
+ (if (and (equal last-command 'ztree-move-up-directory)
+ (not ztree-count-subsequent-bs))
+ (progn
+ (ztree-toggle-dir-state
+ (ztree-find-file-in-line line))
+ (setq ztree-count-subsequent-bs t)
+ (ztree-refresh-buffer line))
+ (progn (setq ztree-count-subsequent-bs nil)
+ (scroll-to-line parent))))))
@@ -314,9 +339,7 @@ apparently shall not be visible"
(files (cdr contents)))
(dolist (dir dirs)
(let ((short-dir-name (file-basename dir)))
- (when (not (or (string-equal short-dir-name ".")
- (string-equal short-dir-name "..")
- (ztree-file-is-in-filter-list short-dir-name)))
+ (unless (ztree-file-is-in-filter-list short-dir-name)
(push (ztree-insert-directory-contents-1 dir (1+ offset))
children))))
(dolist (file files)
(let ((short-file-name (file-basename file)))
- [elpa] master 8935db2 03/92: Removed cl dependencies, (continued)
- [elpa] master 8935db2 03/92: Removed cl dependencies, Alexey Veretennikov, 2015/06/11
- [elpa] master fd46405 09/92: Fixed recursion problem, Alexey Veretennikov, 2015/06/11
- [elpa] master a0c9a9d 08/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master ffe7b3b 07/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master b43e0e7 12/92: Added header face, Alexey Veretennikov, 2015/06/11
- [elpa] master c7eb2c2 02/92: Initial import - fork from difftree, Alexey Veretennikov, 2015/06/11
- [elpa] master 7c739c4 11/92: Added faces for arrows and [+] signs, Alexey Veretennikov, 2015/06/11
- [elpa] master aa7f07a 10/92: Added Backspace support, Alexey Veretennikov, 2015/06/11
- [elpa] master eb4ad8e 19/92: Removed test code!, Alexey Veretennikov, 2015/06/11
- [elpa] master 457f48e 13/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master 33fe3a2 14/92: Added support for double backspace for closing open directories,
Alexey Veretennikov <=
- [elpa] master 70d8bc5 17/92: Updated - aligned 80 chars in width, Alexey Veretennikov, 2015/06/11
- [elpa] master 5bbcfcf 18/92: Started diff model, Alexey Veretennikov, 2015/06/11
- [elpa] master b1de530 16/92: Isolated tree 'control' from the directory model, Alexey Veretennikov, 2015/06/11
- [elpa] master 7eb950e 22/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master 1279a61 28/92: Added face argument for ztree-draw-char and set face for vertical line in 2 trees mode, Alexey Veretennikov, 2015/06/11
- [elpa] master 120ffcb 15/92: Preparing to isolate ztree from directories api, Alexey Veretennikov, 2015/06/11
- [elpa] master 41d4c09 23/92: Fixed model issue when all files in added subtree looks like directories, Alexey Veretennikov, 2015/06/11
- [elpa] master 2f888c5 26/92: Added util file, Alexey Veretennikov, 2015/06/11
- [elpa] master 41ab149 29/92: Added sorting to the tree, Alexey Veretennikov, 2015/06/11
- [elpa] master d0e255e 20/92: Implemented difftree model, Alexey Veretennikov, 2015/06/11