-;;; ztree-diff-model.el --- diff model for directory trees
+;;; ztree-diff-model.el --- diff model for directory trees -*- lexical-binding: t; -*-
;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;;
"\n"
" * Children: " ch-str
"\n")))
-
+
(defun ztree-diff-node-short-name-wrapper (node &optional right-side)
"Return the short name of the NODE given.
(file-exists-p left)
(file-exists-p right))
(if isdir
- (let ((traverse (ztree-diff-node-traverse
- node
- left
- right)))
- (ztree-diff-node-set-different node (car traverse))
- (ztree-diff-node-set-children node (cdr traverse)))
+ (let ((traverse (ztree-diff-node-traverse
+ node
+ left
+ right)))
+ (ztree-diff-node-set-different node (car traverse))
+ (ztree-diff-node-set-children node (cdr traverse)))
;; node is a file
(ztree-diff-node-set-different
node
(ztree-diff-node-set-children node (cdr traverse))
(ztree-diff-node-set-different node (car traverse))
(message "Done.")))
-
+
(provide 'ztree-diff-model)
-;;; ztree-diff.el --- Text mode diff for directory trees
+;;; ztree-diff.el --- Text mode diff for directory trees -*- lexical-binding: t; -*-
;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;;
(insert "\n")
(when ztree-diff-dirs-pair
(ztree-insert-with-face (concat "Left: " (car ztree-diff-dirs-pair))
- ztreep-diff-header-small-face)
+ ztreep-diff-header-small-face)
(insert "\n")
(ztree-insert-with-face (concat "Right: " (cdr ztree-diff-dirs-pair))
- ztreep-diff-header-small-face)
+ ztreep-diff-header-small-face)
(insert "\n"))
(ztree-insert-with-face "Legend:" ztreep-diff-header-small-face)
(insert "\n")
(file-exists-p right))
node
nil)))
-
+
(defun ztree-diff-existing-common-parent (node)
"Return the first node in up in hierarchy of the NODE which has both sides."
(let ((common (ztree-diff-existing-common node)))
(ztree-diff-model-partial-rescan common)
(ztree-diff-node-update-all-parents-diff node)
(ztree-refresh-buffer (line-number-at-pos))))))
-
+
(defun ztree-diff-partial-rescan ()
"Perform partial rescan on the current node."
(let ((found (ztree-find-node-at-point)))
(when found
(ztree-diff-do-partial-rescan (car found)))))
-
+
(defun ztree-diff-simple-diff (node)
"Create a simple diff buffer for files from left and right panels.
2 if left or right present - view left or rigth"
(let ((left (ztree-diff-node-left-path node))
(right (ztree-diff-node-right-path node))
- (open-f '(lambda (path) (if hard (find-file path)
+ (open-f #'(lambda (path) ((insert )f hard (find-file path)
(let ((split-width-threshold nil))
(view-file-other-window path))))))
(cond ((and left right)
(left (funcall open-f left))
(right (funcall open-f right))
(t nil))))
-
+
(defun ztree-diff-copy-file (node source-path destination-path copy-to-right)
(defun ztree-diff-copy-dir (node source-path destination-path copy-to-right)
- "Update the NODE status and copy the directory.
+ "Update the NODE status and copy the directory.
Directory copied from SOURCE-PATH to DESTINATION-PATH.
COPY-TO-RIGHT specifies which side of the NODE to update."
(let* ((src-path (file-name-as-directory source-path))
((and (eq side 'right)
node-right)
(view-file node-right))))))))
-
+
(defun ztree-diff-delete-file ()
"Delete the file under the cursor."
(ztreediff-mode)
(setq ztree-diff-dirs-pair (cons dir1 dir2))
(ztree-refresh-buffer)))
-
+
-;;; ztree-dir.el --- Text mode directory tree
+;;; ztree-dir.el --- Text mode directory tree -*- lexical-binding: t; -*-
;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;;
-;;; ztree-util.el --- Auxulary utilities for the ztree package
+;;; ztree-util.el --- Auxulary utilities for the ztree package -*- lexical-binding: t; -*-
;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;;
(defun ,ctor-name (,@record-fields)
(let ((,rec-var))
,@(mapcar #'(lambda (x)
- (list 'setq rec-var (list 'plist-put rec-var (list 'quote x) x)))
- record-fields)))
+ (list 'setq rec-var (list 'plist-put rec-var (list 'quote x) x)))
+ record-fields)))
;; getters with names "record-name-field" where the "field"
;; is from record-fields
,@(mapcar #'(lambda (x)
- (let ((getter-name (intern (concat (symbol-name record-name)
- "-"
- (symbol-name x)))))
- `(progn
- (defun ,getter-name (,rec-var)
- (plist-get ,rec-var ',x)
- ))))
- record-fields)
+ (let ((getter-name (intern (concat (symbol-name record-name)
+ "-"
+ (symbol-name x)))))
+ `(progn
+ (defun ,getter-name (,rec-var)
+ (plist-get ,rec-var ',x)
+ ))))
+ record-fields)
;; setters wit names "record-name-set-field where the "field"
;; is from record-fields
;; arguments for setters: (record value)
-;;; ztree-view.el --- Text mode tree view (buffer)
+;;; ztree-view.el --- Text mode tree view (buffer) -*- lexical-binding: t; -*-
;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;;
(node (ztree-find-node-in-line (line-number-at-pos))))
(when node
(cons node (if (> (current-column) center) 'right 'left)))))
-
+
(defun ztree-is-expanded-node (node)
"Find if the NODE is in the list of expanded nodes."
(dolist (child children)
(ztree-do-toggle-expand-subtree-iter child state)))))
-
+
(defun ztree-do-toggle-expand-subtree ()
"Implements the subtree expand."
(let* ((line (line-number-at-pos))
(ztree-refresh-buffer line)
;; restore window start position
(set-window-start (selected-window) current-pos))))
-
+
(defun ztree-do-perform-action (hard)
"Toggle expand/collapsed state for nodes or perform an action.
(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 the action.
ztree-expanded-nodes-list))
(push node ztree-expanded-nodes-list)))
-
+
(defun ztree-toggle-expand-state (node)
"Toggle expanded/collapsed state for NODE."
(ztree-do-toggle-expand-state node (not (ztree-is-expanded-node node))))
Argument NODE node which contents will be returned."
(let ((nodes (funcall ztree-node-contents-fun node))
(comp #'(lambda (x y)
- (string< (funcall ztree-node-short-name-fun x)
- (funcall ztree-node-short-name-fun y)))))
+ (string< (funcall ztree-node-short-name-fun x)
+ (funcall ztree-node-short-name-fun y)))))
(cons (sort (ztree-filter
#'(lambda (f) (funcall ztree-node-is-expandable-fun f))
nodes) comp)
(sort (ztree-filter
#'(lambda (f) (not (funcall ztree-node-is-expandable-fun f)))
nodes) comp))))
-
+
(defun ztree-draw-char (c x y &optional face)
"Draw char C at the position (1-based) (X Y).
(when (funcall ztree-node-showp-fun leaf)
;; insert the leaf and add it to children
(push (ztree-insert-entry leaf (1+ depth) nil)
- children)))))
+ children)))))
;; result value is the list - head is the root line,
;; rest are children
(cons root-line children)))
-;;; ztree.el --- Text mode directory tree
+;;; ztree.el --- Text mode directory tree -*- lexical-binding: t; -*-
;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;;