emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master f9620df 34/92: Added action on modified files


From: Alexey Veretennikov
Subject: [elpa] master f9620df 34/92: Added action on modified files
Date: Thu, 11 Jun 2015 19:48:00 +0000

branch: master
commit f9620dfd5802915f42e5770ee054e75c31122a9d
Author: Alexey Veretennikov <address@hidden>
Commit: Alexey Veretennikov <address@hidden>

    Added action on modified files
---
 ztree-diff.el |    7 +++++++
 ztree-view.el |    9 ++++++++-
 ztree.el      |    3 ++-
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/ztree-diff.el b/ztree-diff.el
index 84f7b37..0c44ad9 100644
--- a/ztree-diff.el
+++ b/ztree-diff.el
@@ -91,6 +91,12 @@ including . and ..")
   (insert-with-face "==============" ztreep-diff-header-face)
   (newline))
 
+(defun ztree-diff-model-action (node)
+  (let ((left (ztree-diff-model-get-left-path node))
+        (right (ztree-diff-model-get-right-path node)))
+    (when (and left right)
+      (ediff left right))))
+
 (defun ztree-diff (dir1 dir2)
   "Creates an interactive buffer with the directory tree of the path given"
   (interactive "DLeft directory \nDRight directory ")
@@ -105,6 +111,7 @@ including . and ..")
                 'equal
                 'ztree-diff-model-children
                 'ztree-diff-model-face
+                'ztree-diff-model-action
                 'ztree-diff-model-side)))
 
 
diff --git a/ztree-view.el b/ztree-view.el
index b3a5318..b83ea8b 100644
--- a/ztree-view.el
+++ b/ztree-view.el
@@ -123,6 +123,10 @@ the buffer is split to 2 trees")
   "Function returning face for the node")
 (make-variable-buffer-local 'ztree-node-face-fun)
 
+(defun ztree-node-action-fun nil
+  "Function called when Enter/Space pressed on the node")
+(make-variable-buffer-local 'ztree-node-action-fun)
+
 
 ;;
 ;; Major mode definitions
@@ -214,7 +218,8 @@ node for the line specified"
           ;; only for expandable nodes
           (ztree-toggle-expand-state node)
         ;; do nothing leafs files for now
-        nil)
+        (when ztree-node-action-fun
+          (funcall ztree-node-action-fun node)))
       ;; save the current window start position
       (let ((current-pos (window-start)))
         ;; refresh buffer and scroll back to the saved line
@@ -496,6 +501,7 @@ apparently shall not be visible"
                    equal-fun
                    children-fun
                    face-fun
+                   action-fun
                    &optional node-side-fun
                    )
   (let ((buf (get-buffer-create buffer-name)))
@@ -511,6 +517,7 @@ apparently shall not be visible"
     (setq ztree-node-equal-fun equal-fun)
     (setq ztree-node-contents-fun children-fun)
     (setq ztree-node-face-fun face-fun)
+    (setq ztree-node-action-fun action-fun)
     (setq ztree-node-side-fun node-side-fun)
     (ztree-refresh-buffer)))
 
diff --git a/ztree.el b/ztree.el
index f79c2c0..26f2ab2 100644
--- a/ztree.el
+++ b/ztree.el
@@ -99,7 +99,8 @@ including . and ..")
                   'file-directory-p
                   'string-equal
                   '(lambda (x) (directory-files x 'full))
-                  nil))))
+                  nil                   ; face
+                  nil))))               ; action
 
 
 (provide 'ztree)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]