branch: master commit c3580db9535c1837b209e176d16e9eb0c5e38f6b Author: Alexey Veretennikov <alexey.veretenni...@gmail.com> Commit: Alexey Veretennikov <alexey.veretenni...@gmail.com>
Updated readme; renamed the ztree to ztree-dir --- README.md | 47 +++++++++++++++++++++++++++++++++++++++------ ztree-diff.el | 3 +- ztree.el => ztree-dir.el | 13 +++++------ 3 files changed, 48 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 1754294..ed56c93 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,56 @@ ztree ===== -Simple text-mode directory tree for Emacs. See screenshots below for GUI and the terminal versions of the zterm. +Ztree is a project dedicated to implementation of several text-tree applications inside Emacs. It consists of 2 subprojects: `ztree-dir` and `ztree-diff. - - - +ztree-dir +--------- +`ztree-dir` is a simple text-mode directory tree for Emacs. See screenshots below for GUI and the terminal versions of the zterm. Add the following to your .emacs file: ```scheme (push (substitute-in-file-name "path-to-ztree-directory") load-path) -(require 'ztree) +(require 'ztree-dir) ``` -Call the `ztree` interactive function: +Call the `ztree-dir` interactive function: ``` -M-x ztree +M-x ztree-dir ``` Open/close directories with double-click, `RET` or `Space` keys. To jump to the parent directory, hit the `Backspace` key. + + + + + + +ztree-diff +========== +`ztree-diff` is a directory-diff tool for Emacs inspired by commercial tools like Beyond Compare or Araxis Merge. It supports showing the difference between two directories; copying between directories, calling Ediff for not matching files, hiding/showing equal files/directories. The comparison itself performed with the external `GNU diff` tool, so make sure to have one in executable path. + +Add the following to your .emacs file: + +```scheme +(push (substitute-in-file-name "path-to-ztree-directory") load-path) +(require 'ztree-diff) +``` + +Call the `ztree-diff` interactive function: + +``` +M-x ztree-dir +``` +Then you need to specify the left and right directories to compare. + +Hotkeys supported - same as for the `ztree-dir`. Additionally: + * `RET` or `Space` on different files starts the Ediff + * `TAB` to fast switch between panels + * `h` key toggle show/hide identical files/directories + * `C` key to copy current file or directory to the left or right panel + * `F5` forces the full rescan. + +Screenshat + diff --git a/ztree-diff.el b/ztree-diff.el index 5b3f957..c0cc6c0 100644 --- a/ztree-diff.el +++ b/ztree-diff.el @@ -243,7 +243,8 @@ apparently shall not be visible" (defun ztree-node-is-visible (node) - (and (not (ztree-node-is-in-filter-list (ztree-diff-node-short-name node))) + (and (ztree-diff-node-parent node) ; parent is always visible + (not (ztree-node-is-in-filter-list (ztree-diff-node-short-name node))) (or ztree-diff-show-equal-files (ztree-diff-node-different node)))) diff --git a/ztree.el b/ztree-dir.el similarity index 94% rename from ztree.el rename to ztree-dir.el index 8d0a1df..36f4595 100644 --- a/ztree.el +++ b/ztree-dir.el @@ -1,4 +1,4 @@ -;;; ztree.el --- Text mode directory tree +;;; ztree-dir.el --- Text mode directory tree ;; Copyright (C) 2013 Alexey Veretennikov ;; @@ -29,17 +29,16 @@ ;; Add the following to your .emacs file: ;; ;; (push (substitute-in-file-name "path-to-ztree-directory") load-path) -;; (require 'ztree) +;; (require 'ztree-dir) ;; ;; Call the ztree interactive function: -;; M-x ztree +;; M-x ztree-dir ;; Open/close directories with double-click, Enter or Space keys ;; ;;; Issues: ;; ;;; TODO: ;; 1) Add some file-handling and marking abilities -;; 2) Extract tree code as as separate package ;; ;; ;;; Change Log: @@ -90,7 +89,7 @@ including . and ..") (not (string-match ztree-hidden-files-regexp (file-short-name filename)))) -(defun ztree (path) +(defun ztree-dir (path) "Creates an interactive buffer with the directory tree of the path given" (interactive "DDirectory: ") (when (and (file-exists-p path) (file-directory-p path)) @@ -107,5 +106,5 @@ including . and ..") nil)))) ; action -(provide 'ztree) -;;; ztree.el ends here +(provide 'ztree-dir) +;;; ztree-dir.el ends here