diff options
author | Craig Earls <enderw88@gmail.com> | 2013-01-31 22:15:10 -0700 |
---|---|---|
committer | Craig Earls <enderw88@gmail.com> | 2013-01-31 22:15:10 -0700 |
commit | 7cb3b099867b0537ae055431dc33454836eb0bc6 (patch) | |
tree | 0c455924cf3dfa1a07debfd38bdc1cd5ecf5d20e /lisp/ldg-fonts.el | |
parent | f853510f0370641015eef6cf6da6cd13569e4ef7 (diff) | |
download | fork-ledger-7cb3b099867b0537ae055431dc33454836eb0bc6.tar.gz fork-ledger-7cb3b099867b0537ae055431dc33454836eb0bc6.tar.bz2 fork-ledger-7cb3b099867b0537ae055431dc33454836eb0bc6.zip |
Customizable font-locking
Moved font code into separate file. created faces that can be customized in
using the emacs customizations menu group ledger-faces
Diffstat (limited to 'lisp/ldg-fonts.el')
-rw-r--r-- | lisp/ldg-fonts.el | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/lisp/ldg-fonts.el b/lisp/ldg-fonts.el new file mode 100644 index 00000000..9f98a9fd --- /dev/null +++ b/lisp/ldg-fonts.el @@ -0,0 +1,73 @@ +;;; ldg-fonts.el --- Helper code for use with the "ledger" command-line tool + +;; Copyright (C) 2003-2013 John Wiegley (johnw AT gnu DOT org) + +;; This file is not part of GNU Emacs. + +;; This is free software; you can redistribute it and/or modify it under +;; the terms of the GNU General Public License as published by the Free +;; Software Foundation; either version 2, or (at your option) any later +;; version. +;; +;; This is distributed in the hope that it will be useful, but WITHOUT +;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +;; for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +;; MA 02111-1307, USA. + + +(defgroup ledger-faces nil "Ledger mode highlighting" :group 'ledger) +(defface ledger-font-uncleared-face + `((t :foreground "green" :weight bold )) + "Default face for Ledger" + :group 'ledger-faces) + +(defface ledger-font-cleared-face + `((t :foreground "grey70" :weight normal )) + "Default face for cleared (*) transactions" + :group 'ledger-faces) + +(defface ledger-font-pending-face + `((t :foreground "yellow" :weight normal )) + "Default face for pending (!) transactions" + :group 'ledger-faces) + +(defface ledger-font-other-face + `((t :foreground "yellow" )) + "Default face for other transactions" + :group 'ledger-faces) + +(defface ledger-font-posting-account-face + `((t :foreground "lightblue" )) + "Face for Ledger accounts" + :group 'ledger-faces) + +(defface ledger-font-posting-amount-face + `((t :foreground "yellow" )) + "Face for Ledger amounts" + :group 'ledger-faces) + +(defface ledger-font-comment-face + `((t :foreground "orange" )) + "Face for Ledger comments" + :group 'ledger-faces) + + +(defvar ledger-font-lock-keywords + '(("^[0-9]+[-/.=][-/.=0-9]+\\s-\\!\\s-+\\(([^)]+)\\s-+\\)?\\([^*].+?\\)\\(\\( ;\\| ;\\|$\\)\\)" 2 'ledger-font-pending-face) + ("^[0-9]+[-/.=][-/.=0-9]+\\s-\\*\\s-+\\(([^)]+)\\s-+\\)?\\([^*].+?\\)\\(\\( ;\\| ;\\|$\\)\\)" 2 'ledger-font-cleared-face) + ("^[0-9]+[-/.=][-/.=0-9]+\\s-+\\(([^)]+)\\s-+\\)?\\([^*].+?\\)\\(\\( ;\\| ;\\|$\\)\\)" 2 'ledger-font-uncleared-face) + ("^\\s-+\\([*]\\s-*\\)?\\(\\([[(]\\)?[^*: + ]+?:\\([^]); + ]\\|\\s-\\)+?\\([])]\\)?\\)\\( \\| \\|$\\)" + 2 'ledger-font-posting-account-face) ; works + ("\\( \\| \\|^\\)\\(;.*\\)" 2 'ledger-font-comment-face) ; works + ("^\\([~=].+\\)" 1 ledger-font-other-face) + ("^\\([A-Za-z]+ .+\\)" 1 ledger-font-other-face)) + "Expressions to highlight in Ledger mode.") + +(provide 'ldg-fonts)
\ No newline at end of file |