[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 28fa370 33/92: Reimplemented search for node by line using
From: |
Alexey Veretennikov |
Subject: |
[elpa] master 28fa370 33/92: Reimplemented search for node by line using hash table |
Date: |
Thu, 11 Jun 2015 19:48:00 +0000 |
branch: master
commit 28fa37054170acd42f7cccf59e0bcf1a8e0fcc63
Author: Alexey Veretennikov <address@hidden>
Commit: Alexey Veretennikov <address@hidden>
Reimplemented search for node by line using hash table
---
ztree-view.el | 15 ++++++---------
1 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/ztree-view.el b/ztree-view.el
index 8c1f889..b3a5318 100644
--- a/ztree-view.el
+++ b/ztree-view.el
@@ -60,10 +60,10 @@
"Start node(i.e. directory) for the window.")
(make-variable-buffer-local 'ztree-start-node)
-(defvar ztree-node-to-line-list nil
+(defvar ztree-line-to-node-table nil
"List of tuples with full node(i.e. file/directory name
and the line.")
-(make-variable-buffer-local 'ztree-node-to-line-list)
+(make-variable-buffer-local 'ztree-line-to-node-table)
(defvar ztree-filter-list nil
"List of regexp for node names to filter out")
@@ -181,11 +181,8 @@ the buffer is split to 2 trees")
(defun ztree-find-node-in-line (line)
"Search through the array of node-line pairs and return the
-node name for the line specified"
- (let ((found (ztree-find ztree-node-to-line-list
- #'(lambda (entry) (= line (cdr entry))))))
- (when found
- (car found))))
+node for the line specified"
+ (gethash line ztree-line-to-node-table))
(defun ztree-is-expanded-node (node)
"Find if the node is in the list of expanded nodes"
@@ -437,7 +434,7 @@ apparently shall not be visible"
(funcall ztree-node-face-fun node)))
(puthash line side ztree-line-tree-properties))
(ztree-insert-single-entry short-name depth expandable expanded 0))
- (push (cons node line) ztree-node-to-line-list)
+ (puthash line node ztree-line-to-node-table)
(newline)
line))
@@ -475,7 +472,7 @@ apparently shall not be visible"
(interactive)
(when (and (equal major-mode 'ztree-mode)
(boundp 'ztree-start-node))
- (setq ztree-node-to-line-list nil)
+ (setq ztree-line-to-node-table (make-hash-table))
;; create a hash table of node properties for line
;; used in 2-side tree mode
(when ztree-node-side-fun
- [elpa] master 7eb950e 22/92: Updated readme, (continued)
- [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
- [elpa] master a39e8c6 24/92: Started preparation for 2 column tree, Alexey Veretennikov, 2015/06/11
- [elpa] master 3260487 25/92: Preparing for the double tree drawing, Alexey Veretennikov, 2015/06/11
- [elpa] master 8685235 27/92: Added support for 2 trees, Alexey Veretennikov, 2015/06/11
- [elpa] master 28fa370 33/92: Reimplemented search for node by line using hash table,
Alexey Veretennikov <=
- [elpa] master 413cff4 30/92: Drawing trees only to visible items, Alexey Veretennikov, 2015/06/11
- [elpa] master 161b1b3 35/92: Added messages, Alexey Veretennikov, 2015/06/11
- [elpa] master 9b91d44 31/92: Implemented colors support for different files, Alexey Veretennikov, 2015/06/11
- [elpa] master 44743c1 37/92: Added progress indication to the diff model, Alexey Veretennikov, 2015/06/11
- [elpa] master 99a0cf7 36/92: Started work for identifying parents in nodes, Alexey Veretennikov, 2015/06/11
- [elpa] master 291a115 32/92: Header is now customizable, Alexey Veretennikov, 2015/06/11
- [elpa] master f9620df 34/92: Added action on modified files, Alexey Veretennikov, 2015/06/11
- [elpa] master 900c8fa 38/92: Refactored using defrecord macro, Alexey Veretennikov, 2015/06/11
- [elpa] master 6154ab8 21/92: Split view and models - for directory tree and for diff tree, Alexey Veretennikov, 2015/06/11
- [elpa] master 8335785 39/92: Added comment, Alexey Veretennikov, 2015/06/11