All of lore.kernel.org
 help / color / mirror / Atom feed
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)

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.