add lisp packages
This commit is contained in:
58
lisp/ledger-mode/ledger-fontify.el
Normal file
58
lisp/ledger-mode/ledger-fontify.el
Normal file
@@ -0,0 +1,58 @@
|
||||
;;; ledger-fontify.el --- Provide custom fontification for ledger-mode -*- lexical-binding: t; -*-
|
||||
|
||||
|
||||
;; Copyright (C) 2014 Craig P. Earls (enderw88 at gmail dot com)
|
||||
|
||||
;; 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., 51 Franklin Street, Fifth Floor, Boston,
|
||||
;; MA 02110-1301 USA.
|
||||
|
||||
;;; Commentary:
|
||||
;; Font-lock-mode doesn't handle multiline syntax very well. This
|
||||
;; code provides font lock that is sensitive to overall transaction
|
||||
;; states
|
||||
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'ledger-navigate)
|
||||
(require 'ledger-regex)
|
||||
(require 'ledger-state)
|
||||
|
||||
;; These are dynamically bound, see `font-lock-extend-region-functions'.
|
||||
(defvar font-lock-beg)
|
||||
(defvar font-lock-end)
|
||||
|
||||
(defcustom ledger-fontify-xact-state-overrides nil
|
||||
"If t the highlight entire xact with state."
|
||||
:type 'boolean
|
||||
:group 'ledger)
|
||||
|
||||
(defun ledger-fontify-extend-region ()
|
||||
"Extend fontification region to include whole transactions or directives."
|
||||
(save-match-data
|
||||
(let* ((new-beg (min font-lock-beg (car (ledger-navigate-find-element-extents font-lock-beg))))
|
||||
(new-end (max font-lock-end (cadr (ledger-navigate-find-element-extents font-lock-end))))
|
||||
(changed (or (/= new-beg font-lock-beg)
|
||||
(/= new-end font-lock-end))))
|
||||
(setq font-lock-beg new-beg)
|
||||
(setq font-lock-end new-end)
|
||||
changed)))
|
||||
|
||||
|
||||
(provide 'ledger-fontify)
|
||||
|
||||
;;; ledger-fontify.el ends here
|
||||
Reference in New Issue
Block a user