[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 9b91d44 31/92: Implemented colors support for different fi
From: |
Alexey Veretennikov |
Subject: |
[elpa] master 9b91d44 31/92: Implemented colors support for different files |
Date: |
Thu, 11 Jun 2015 19:47:59 +0000 |
branch: master
commit 9b91d4491f915b398153da95bb98a189f581e7a8
Author: Alexey Veretennikov <address@hidden>
Commit: Alexey Veretennikov <address@hidden>
Implemented colors support for different files
---
ztree-diff.el | 20 ++++++++++++++++++++
ztree-view.el | 30 ++++++++++++++++++++++--------
ztree.el | 3 ++-
3 files changed, 44 insertions(+), 9 deletions(-)
diff --git a/ztree-diff.el b/ztree-diff.el
index ab433d3..a4439e2 100644
--- a/ztree-diff.el
+++ b/ztree-diff.el
@@ -33,6 +33,25 @@
"Hidden files regexp. By default all filest starting with dot '.',
including . and ..")
+(defface ztreep-diff-model-diff-face
+ '((t (:foreground "red")))
+ "*Face used for different files in Ztree-diff."
+ :group 'Ztree-diff :group 'font-lock-highlighting-faces)
+(defvar ztreep-diff-model-diff-face 'ztreep-diff-model-diff-face)
+
+(defface ztreep-diff-model-add-face
+ '((t (:foreground "blue")))
+ "*Face used for added files in Ztree-diff."
+ :group 'Ztree-diff :group 'font-lock-highlighting-faces)
+(defvar ztreep-diff-model-add-face 'ztreep-diff-model-add-face)
+
+(defun ztree-diff-model-face (node)
+ (let ((diff (ztree-diff-model-differet node)))
+ (cond ((eq diff 'diff) ztreep-diff-model-diff-face)
+ ((eq diff 'new) ztreep-diff-model-add-face)
+ (t nil))))
+
+
(defun ztree-diff-insert-buffer-header ()
(insert "Differences tree")
(newline)
@@ -53,6 +72,7 @@ including . and ..")
'ztree-diff-model-is-directory
'equal
'ztree-diff-model-children
+ 'ztree-diff-model-face
'ztree-diff-model-side)))
diff --git a/ztree-view.el b/ztree-view.el
index 2efce4f..51181df 100644
--- a/ztree-view.el
+++ b/ztree-view.el
@@ -119,6 +119,10 @@ If not defined(by default) - using single screen tree,
otherwise
the buffer is split to 2 trees")
(make-variable-buffer-local 'ztree-node-side-fun)
+(defun ztree-node-face-fun nil
+ "Function returning face for the node")
+(make-variable-buffer-local 'ztree-node-face-fun)
+
;;
;; Major mode definitions
@@ -163,14 +167,14 @@ the buffer is split to 2 trees")
(defface ztreep-arrow-face
'((((background dark)) (:foreground "#7f7f7f"))
- (t (:inherit 'font-lock-comment-face)))
+ (t (:foreground "#8d8d8d")))
"*Face used for arrows in Ztree buffer."
:group 'Ztree :group 'font-lock-highlighting-faces)
(defvar ztreep-arrow-face 'ztreep-arrow-face)
(defface ztreep-expand-sign-face
'((((background dark)) (:foreground "#7f7fff"))
- (t (:inherit 'font-lock-comment-face)))
+ (t (:foreground "#8d8d8d")))
"*Face used for expand sign [+] in Ztree buffer."
:group 'Ztree :group 'font-lock-highlighting-faces)
(defvar ztreep-expand-sign-face 'ztreep-expand-sign-face)
@@ -431,16 +435,24 @@ apparently shall not be visible"
(width (window-width)))
(when (eq side 'left) (setq right-short-name ""))
(when (eq side 'right) (setq short-name ""))
- (ztree-insert-single-entry short-name depth expandable expanded 0)
- (ztree-insert-single-entry right-short-name depth expandable expanded
- (1+ (/ width 2)))
+ (ztree-insert-single-entry short-name depth
+ expandable expanded 0
+ (when ztree-node-face-fun
+ (funcall ztree-node-face-fun node)))
+ (ztree-insert-single-entry right-short-name depth
+ expandable expanded (1+ (/ width 2))
+ (when ztree-node-face-fun
+ (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)
(newline)
line))
-(defun ztree-insert-single-entry (short-name depth expandable expanded offset)
+(defun ztree-insert-single-entry (short-name depth
+ expandable expanded
+ offset
+ &optional face)
(let ((node-sign #'(lambda (exp)
(insert "[" (if exp "-" "+") "]")
(set-text-properties (- (point) 3)
@@ -458,12 +470,12 @@ apparently shall not be visible"
(funcall node-sign expanded) ; for expandable nodes insert
"[+/-]"
(insert " ")
(put-text-property 0 (length short-name)
- 'face 'ztreep-node-face short-name)
+ 'face (if face face 'ztreep-node-face)
short-name)
(insert short-name))
(progn
(insert " ")
(put-text-property 0 (length short-name)
- 'face 'ztreep-leaf-face short-name)
+ 'face (if face face 'ztreep-leaf-face) short-name)
(insert short-name))))))
@@ -496,6 +508,7 @@ apparently shall not be visible"
expandable-p
equal-fun
children-fun
+ face-fun
&optional node-side-fun
)
(let ((buf (get-buffer-create buffer-name)))
@@ -510,6 +523,7 @@ apparently shall not be visible"
(setq ztree-node-is-expandable-fun expandable-p)
(setq ztree-node-equal-fun equal-fun)
(setq ztree-node-contents-fun children-fun)
+ (setq ztree-node-face-fun face-fun)
(setq ztree-node-side-fun node-side-fun)
(ztree-refresh-buffer)))
diff --git a/ztree.el b/ztree.el
index b1ae489..1a4bf93 100644
--- a/ztree.el
+++ b/ztree.el
@@ -83,7 +83,8 @@ including . and ..")
'file-short-name
'file-directory-p
'string-equal
- '(lambda (x) (directory-files x 'full))))))
+ '(lambda (x) (directory-files x 'full))
+ nil))))
(provide 'ztree)
- [elpa] master 41d4c09 23/92: Fixed model issue when all files in added subtree looks like directories, (continued)
- [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, 2015/06/11
- [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 <=
- [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
- [elpa] master 1ab3b48 43/92: Implemented file copying, Alexey Veretennikov, 2015/06/11
- [elpa] master af28a78 41/92: Started implementation of the copy functionality, Alexey Veretennikov, 2015/06/11
- [elpa] master 75b89a6 48/92: Fixed typo, Alexey Veretennikov, 2015/06/11