[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 8ba9ca2 55/92: Added simple diff by using SPACE
From: |
Alexey Veretennikov |
Subject: |
[elpa] master 8ba9ca2 55/92: Added simple diff by using SPACE |
Date: |
Thu, 11 Jun 2015 19:48:09 +0000 |
branch: master
commit 8ba9ca2b21de196abc3d980e1cf779b0f08053d9
Author: Alexey Veretennikov <address@hidden>
Commit: Alexey Veretennikov <address@hidden>
Added simple diff by using SPACE
---
ztree-diff.el | 36 +++++++++++++++++++++---------------
ztree-view.el | 23 +++++++++++++++++------
2 files changed, 38 insertions(+), 21 deletions(-)
diff --git a/ztree-diff.el b/ztree-diff.el
index 5b2d5f7..981e9bd 100644
--- a/ztree-diff.el
+++ b/ztree-diff.el
@@ -135,25 +135,29 @@ including . and ..")
(ztree-diff (car ztree-diff-dirs-pair) (cdr ztree-diff-dirs-pair))))
+(defun ztree-diff-simple-diff (node)
+ "Create a simple diff buffer for files from left and right panels"
+ (let* ((node-left (ztree-diff-node-left-path node))
+ (node-right (ztree-diff-node-right-path node)))
+ (when (and
+ node-left
+ node-right
+ (not (file-directory-p node-left)))
+ ;; show the diff window on the bottom
+ ;; to not to crush tree appearance
+ (let ((split-width-threshold nil))
+ (diff node-left node-right)))))
+
+
(defun ztree-diff-simple-diff-files ()
"Create a simple diff buffer for files from left and right panels"
(interactive)
(let ((found (ztree-find-node-at-point)))
(when found
- (let* ((node (car found))
- (node-left (ztree-diff-node-left-path node))
- (node-right (ztree-diff-node-right-path node)))
- (when (and
- node-left
- node-right
- (not (file-directory-p node-left)))
- ;; show the diff window on the bottom
- ;; to not to crush tree appearance
- (let ((split-width-threshold nil))
- (diff node-left node-right)))))))
-
+ (let ((node (car found)))
+ (ztree-diff-simple-diff node)))))
-(defun ztree-diff-node-action (node)
+(defun ztree-diff-node-action (node hard)
(let ((left (ztree-diff-node-left-path node))
(right (ztree-diff-node-right-path node)))
(when (and left right)
@@ -162,7 +166,9 @@ including . and ..")
(substring-no-properties
(ztree-diff-node-short-name node))
" on left and right side are identical"))
- (ediff left right)))))
+ (if hard
+ (ediff left right)
+ (ztree-diff-simple-diff node))))))
(defun ztree-diff-copy-file (node source-path destination-path copy-to-right)
diff --git a/ztree-view.el b/ztree-view.el
index c10de77..fecc928 100644
--- a/ztree-view.el
+++ b/ztree-view.el
@@ -135,7 +135,7 @@ the buffer is split to 2 trees")
(defvar ztree-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "\r") 'ztree-perform-action)
- (define-key map (kbd "SPC") 'ztree-perform-action)
+ (define-key map (kbd "SPC") 'ztree-perform-soft-action)
(define-key map [double-mouse-1] 'ztree-perform-action)
(define-key map (kbd "TAB") 'ztree-jump-side)
(define-key map (kbd "g") 'ztree-refresh-buffer)
@@ -218,24 +218,35 @@ if there is no node"
(forward-line (1- line)))
-(defun ztree-perform-action ()
- "Toggle expand/collapsed state for nodes"
- (interactive)
+(defun ztree-do-perform-action (hard)
(let* ((line (line-number-at-pos))
(node (ztree-find-node-in-line line)))
(when node
(if (funcall ztree-node-is-expandable-fun node)
;; only for expandable nodes
(ztree-toggle-expand-state node)
- ;; do nothing leafs files for now
+ ;; perform action
(when ztree-node-action-fun
- (funcall ztree-node-action-fun node)))
+ (funcall ztree-node-action-fun node hard)))
;; save the current window start position
(let ((current-pos (window-start)))
;; refresh buffer and scroll back to the saved line
(ztree-refresh-buffer line)
;; restore window start position
(set-window-start (selected-window) current-pos)))))
+
+
+(defun ztree-perform-action ()
+ "Toggle expand/collapsed state for nodes or perform hard action,
+binded on RET, on node"
+ (interactive)
+ (ztree-do-perform-action t))
+
+(defun ztree-perform-soft-action ()
+ "Toggle expand/collapsed state for nodes or perform soft action,
+binded on Space, on node"
+ (interactive)
+ (ztree-do-perform-action nil))
(defun ztree-toggle-expand-state (node)
- [elpa] master f78b859 47/92: Updated readme, (continued)
- [elpa] master f78b859 47/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master 20d8217 44/92: Implemented directory copying, Alexey Veretennikov, 2015/06/11
- [elpa] master d590f88 40/92: Added minor mode for ztree diff, to create custom keybindings, Alexey Veretennikov, 2015/06/11
- [elpa] master 81b6a4b 49/92: Added delete functionality, Alexey Veretennikov, 2015/06/11
- [elpa] master c3580db 46/92: Updated readme; renamed the ztree to ztree-dir, Alexey Veretennikov, 2015/06/11
- [elpa] master 3867ed3 45/92: Implemented support for hiding matched(equal) files, Alexey Veretennikov, 2015/06/11
- [elpa] master 15baed9 50/92: Repaired full rescan; added 'v' keybinding to quickly view files, Alexey Veretennikov, 2015/06/11
- [elpa] master 7f1ec58 53/92: Fixed topmost name in comparison tree, Alexey Veretennikov, 2015/06/11
- [elpa] master 56dce0e 51/92: Updated README, Alexey Veretennikov, 2015/06/11
- [elpa] master d791ebe 54/92: Readme is updated, Alexey Veretennikov, 2015/06/11
- [elpa] master 8ba9ca2 55/92: Added simple diff by using SPACE,
Alexey Veretennikov <=
- [elpa] master c816a66 56/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master 0c9d8b6 52/92: Added 'd' hotkey and left/light paths to the header, Alexey Veretennikov, 2015/06/11
- [elpa] master a45a108 57/92: Logical operation on the file by pressing either RET or SPC - diff/ediff when different view/open when same, Alexey Veretennikov, 2015/06/11
- [elpa] master ba34d9c 58/92: Updated readme, Alexey Veretennikov, 2015/06/11
- [elpa] master 56320ab 62/92: Fix footer line and add Code section header, Alexey Veretennikov, 2015/06/11
- [elpa] master 11bcff0 60/92: Updated docstrings; removed debug print from partial rescan, Alexey Veretennikov, 2015/06/11
- [elpa] master 865afb0 59/92: Implemented partial rescan/refresh feature ('r' hotkey), Alexey Veretennikov, 2015/06/11
- [elpa] master 15f376d 63/92: Add -pkg.el file, Alexey Veretennikov, 2015/06/11
- [elpa] master 7530053 64/92: Merge pull request #2 from yasuyk/patch-1, Alexey Veretennikov, 2015/06/11
- [elpa] master 0642c05 61/92: Updated readme, Alexey Veretennikov, 2015/06/11