From: "David Kågedal" <davidk@lysator.liu.se>
To: catalin.marinas@gmail.com, git@vger.kernel.org
Subject: [StGit PATCH 14/17] Emacs mode: added fontification
Date: Fri, 14 Dec 2007 11:59:13 +0100 [thread overview]
Message-ID: <20071214105907.18066.5325.stgit@krank> (raw)
In-Reply-To: <20071214105238.18066.23281.stgit@krank>
Signed-off-by: David Kågedal <davidk@lysator.liu.se>
---
contrib/stgit.el | 44 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 43 insertions(+), 1 deletions(-)
diff --git a/contrib/stgit.el b/contrib/stgit.el
index a344869..0859086 100644
--- a/contrib/stgit.el
+++ b/contrib/stgit.el
@@ -70,10 +70,52 @@ Argument DIR is the repository path."
(insert "Branch: ")
(stgit-run "branch")
(stgit-run "series" "--description")
+ (stgit-rehighlight (point-min) (point-max))
(if curpatch
(stgit-goto-patch curpatch)
(goto-line curline))))
+(defface stgit-description-face
+ '((((background dark)) (:foreground "tan"))
+ (((background light)) (:foreground "dark red")))
+ "The face used for StGit desriptions")
+
+(defface stgit-top-patch-face
+ '((((background dark)) (:weight bold :foreground "yellow"))
+ (((background light)) (:weight bold :foreground "purple"))
+ (t (:weight bold)))
+ "The face used for the top patch names")
+
+(defface stgit-applied-patch-face
+ '((((background dark)) (:foreground "light yellow"))
+ (((background light)) (:foreground "purple"))
+ (t ()))
+ "The face used for applied patch names")
+
+(defface stgit-unapplied-patch-face
+ '((((background dark)) (:foreground "gray80"))
+ (((background light)) (:foreground "orchid"))
+ (t ()))
+ "The face used for unapplied patch names")
+
+(defun stgit-rehighlight (start end)
+ "Refresh fontification of region between START and END."
+ (save-excursion
+ (goto-char start)
+ (while (< (point) end)
+ (cond ((looking-at "Branch: \\(.*\\)")
+ (put-text-property (match-beginning 1) (match-end 1) 'face 'bold))
+ ((looking-at "\\([>+-]\\) \\([^ ]+\\) *| \\(.*\\)")
+ (let ((state (match-string 1)))
+ (put-text-property
+ (match-beginning 2) (match-end 2)
+ 'face (cond ((string= state ">") 'stgit-top-patch-face)
+ ((string= state "+") 'stgit-applied-patch-face)
+ ((string= state "-") 'stgit-unapplied-patch-face)))
+ (put-text-property (match-beginning 3) (match-end 3)
+ 'face 'stgit-description-face))))
+ (forward-line 1))))
+
(defvar stgit-mode-hook nil
"Run after `stgit-mode' is setup.")
@@ -118,7 +160,7 @@ Commands:
(save-excursion
(beginning-of-line)
(if (looking-at "[>+-] \\([^ ]*\\)")
- (match-string 1)
+ (match-string-no-properties 1)
nil)))
(defun stgit-goto-patch (patch)
next prev parent reply other threads:[~2007-12-14 11:00 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-14 10:55 [StGit PATCH 00/17] Series short description David Kågedal
2007-12-14 10:55 ` [StGit PATCH 01/17] Add an StGit mode for emacs David Kågedal
2007-12-14 10:56 ` [StGit PATCH 02/17] Emacs mode: Show keybindings when user presses "h" or "?" David Kågedal
2007-12-14 10:56 ` [StGit PATCH 03/17] Emacs mode: Add an explanatory header David Kågedal
2007-12-14 10:57 ` [StGit PATCH 04/17] Emacs mode: Makefile for building stgit.el David Kågedal
2007-12-14 10:57 ` [StGit PATCH 05/17] Emacs mode: push/pop next patch, not patch at point David Kågedal
2007-12-14 10:57 ` [StGit PATCH 06/17] Emacs mode: Let "P" push or pop " David Kågedal
2007-12-14 10:57 ` [StGit PATCH 07/17] Emacs mode: Bind "G" to "stg goto" David Kågedal
2007-12-14 10:57 ` [StGit PATCH 08/17] Emacs mode: show patches' short description David Kågedal
2007-12-14 10:58 ` [StGit PATCH 09/17] Emacs mode: Improve the output buffer state David Kågedal
2007-12-14 10:58 ` [StGit PATCH 10/17] Emacs mode: Bind n and p David Kågedal
2007-12-14 10:58 ` [StGit PATCH 11/17] Emacs mode: add stgit-repair David Kågedal
2007-12-14 10:58 ` [StGit PATCH 12/17] Emacs mode: added stgit-commit and stgit-uncommit David Kågedal
2007-12-14 10:59 ` [StGit PATCH 13/17] Emacs mode: Add stgit-edit command David Kågedal
2007-12-14 10:59 ` David Kågedal [this message]
2007-12-14 10:59 ` [StGit PATCH 15/17] Emacs mode: Added stgit-new David Kågedal
2007-12-14 10:59 ` [StGit PATCH 16/17] Emacs mode: Add mark command David Kågedal
2007-12-14 10:59 ` [StGit PATCH 17/17] Emacs mode: coalesce command David Kågedal
2007-12-17 11:09 ` [StGit PATCH 00/17] Series short description Catalin Marinas
2007-12-17 22:48 ` Karl Hasselström
2007-12-18 5:21 ` kha/safe and kha/experimental updated Karl Hasselström
2007-12-18 16:09 ` Catalin Marinas
2007-12-18 16:39 ` Jakub Narebski
2007-12-18 16:52 ` Catalin Marinas
2007-12-19 9:41 ` David Kågedal
2007-12-19 9:50 ` David Kågedal
2007-12-19 10:19 ` Catalin Marinas
2007-12-19 9:38 ` Karl Hasselström
2007-12-19 10:44 ` Jakub Narebski
2007-12-19 11:40 ` Karl Hasselström
2007-12-19 11:47 ` Catalin Marinas
2007-12-19 16:23 ` Jakub Narebski
2007-12-19 17:02 ` Catalin Marinas
2007-12-19 17:14 ` David Kågedal
2007-12-19 17:14 ` Karl Hasselström
2007-12-19 9:34 ` Karl Hasselström
2007-12-19 10:09 ` Catalin Marinas
2007-12-19 11:20 ` Karl Hasselström
2007-12-19 11:40 ` Catalin Marinas
2007-12-19 12:10 ` Karl Hasselström
2007-12-19 15:38 ` Catalin Marinas
2007-12-19 14:59 ` Catalin Marinas
2007-12-19 15:39 ` David Kågedal
2007-12-18 9:11 ` [StGit PATCH 00/17] Series short description Catalin Marinas
2007-12-18 9:20 ` David Kågedal
2007-12-18 9:24 ` Karl Hasselström
2007-12-19 22:19 ` [StGit PATCH 0/2] Make new infrastructure subdirectory safe Karl Hasselström
2007-12-19 22:19 ` [StGit PATCH 1/2] Test that "stg goto" can be called from a subdirectory Karl Hasselström
2007-12-19 22:24 ` [StGit PATCH 2/2] Make "stg goto" subdirectory safe Karl Hasselström
2007-12-19 22:46 ` kha/safe updated Karl Hasselström
2007-12-19 23:17 ` Catalin Marinas
2007-12-19 23:26 ` Karl Hasselström
2007-12-19 23:29 ` Catalin Marinas
2007-12-20 6:39 ` Karl Hasselström
2007-12-19 23:24 ` David Kågedal
2007-12-20 6:38 ` Karl Hasselström
2007-12-19 22:28 ` [StGit PATCH 0/2] Make new infrastructure subdirectory safe Karl Hasselström
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071214105907.18066.5325.stgit@krank \
--to=davidk@lysator.liu.se \
--cc=catalin.marinas@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).