jit-lock is now calling ledger-fontify-buffer-part, but font-lock-fontify-region is still being called and fighting with it.
This commit is contained in:
parent
e2c07931ed
commit
991d162fb0
3 changed files with 88 additions and 54 deletions
|
|
@ -63,7 +63,7 @@
|
|||
(if (string= (format-mode-line 'mode-name) "Ledger")
|
||||
(add-hook 'after-change-functions 'ledger-fontify-buffer-part)))
|
||||
|
||||
(defun ledger-fontify-buffer-part (beg end len)
|
||||
(defun ledger-fontify-buffer-part (beg end)
|
||||
(save-excursion
|
||||
;; (message (concat "ledger-fontify-buffer-part: "
|
||||
;; (int-to-string beg) " "
|
||||
|
|
|
|||
|
|
@ -228,48 +228,48 @@
|
|||
:group 'ledger-faces)
|
||||
|
||||
|
||||
;; (defvar ledger-font-lock-keywords
|
||||
;; `( ;; (,ledger-other-entries-regex 1
|
||||
;; ;; ledger-font-other-face)
|
||||
;; (,ledger-comment-regex 0
|
||||
;; 'ledger-font-comment-face)
|
||||
;; (,ledger-amount-regex 0
|
||||
;; 'ledger-font-posting-amount-face)
|
||||
;; (,ledger-multiline-comment-regex 0 'ledger-font-comment-face)
|
||||
;; (,ledger-payee-pending-regex 2
|
||||
;; 'ledger-font-payee-pending-face) ; Works
|
||||
;; (,ledger-payee-cleared-regex 2
|
||||
;; 'ledger-font-payee-cleared-face) ; Works
|
||||
;; (,ledger-payee-uncleared-regex 2
|
||||
;; 'ledger-font-payee-uncleared-face) ; Works
|
||||
;; (,ledger-account-cleared-regex 2
|
||||
;; 'ledger-font-posting-account-cleared-face) ; Works
|
||||
;; (,ledger-account-pending-regex 2
|
||||
;; 'ledger-font-posting-account-pending-face) ; Works
|
||||
;; (,ledger-account-any-status-regex 2
|
||||
;; 'ledger-font-posting-account-face) ; Works
|
||||
;; (,ledger-other-entries-regex 1
|
||||
;; 'ledger-font-other-face))
|
||||
;; "Expressions to highlight in Ledger mode.")
|
||||
;; (defvar ledger-font-lock-keywords
|
||||
;; `( ;; (,ledger-other-entries-regex 1
|
||||
;; ;; ledger-font-other-face)
|
||||
;; (,ledger-comment-regex 0
|
||||
;; 'ledger-font-comment-face)
|
||||
;; (,ledger-amount-regex 0
|
||||
;; 'ledger-font-posting-amount-face)
|
||||
;; (,ledger-multiline-comment-regex 0 'ledger-font-comment-face)
|
||||
;; (,ledger-payee-pending-regex 2
|
||||
;; 'ledger-font-payee-pending-face) ; Works
|
||||
;; (,ledger-payee-cleared-regex 2
|
||||
;; 'ledger-font-payee-cleared-face) ; Works
|
||||
;; (,ledger-payee-uncleared-regex 2
|
||||
;; 'ledger-font-payee-uncleared-face) ; Works
|
||||
;; (,ledger-account-cleared-regex 2
|
||||
;; 'ledger-font-posting-account-cleared-face) ; Works
|
||||
;; (,ledger-account-pending-regex 2
|
||||
;; 'ledger-font-posting-account-pending-face) ; Works
|
||||
;; (,ledger-account-any-status-regex 2
|
||||
;; 'ledger-font-posting-account-face) ; Works
|
||||
;; (,ledger-other-entries-regex 1
|
||||
;; 'ledger-font-other-face))
|
||||
;; "Expressions to highlight in Ledger mode.")
|
||||
|
||||
(defvar ledger-font-lock-keywords
|
||||
`(("account" . ledger-font-account-directive-face)
|
||||
("apply" . ledger-font-apply-directive-face)
|
||||
("alias" . ledger-font-alias-directive-face)
|
||||
("assert" . ledger-font-assert-directive-face)
|
||||
("bucket" . ledger-font-bucket-directive-face)
|
||||
("capture" . ledger-font-capture-directive-face)
|
||||
("check" . ledger-font-check-directive-face)
|
||||
("commodity" . ledger-font-commodity-directive-face)
|
||||
("define" . ledger-font-define-directive-face)
|
||||
("end" . ledger-font-end-directive-face)
|
||||
("expr" . ledger-font-expr-directive-face)
|
||||
("fixed" . ledger-font-fixed-directive-face)
|
||||
("include" . ledger-font-include-directive-face)
|
||||
("payee" . ledger-font-payee-directive-face)
|
||||
("tag" . ledger-font-tag-directive-face)
|
||||
("year" . ledger-font-year-directive-face))
|
||||
"Expressions to highlight in Ledger mode.")
|
||||
(defvar ledger-font-lock-keywords
|
||||
`(("account" . ledger-font-account-directive-face)
|
||||
("apply" . ledger-font-apply-directive-face)
|
||||
("alias" . ledger-font-alias-directive-face)
|
||||
("assert" . ledger-font-assert-directive-face)
|
||||
("bucket" . ledger-font-bucket-directive-face)
|
||||
("capture" . ledger-font-capture-directive-face)
|
||||
("check" . ledger-font-check-directive-face)
|
||||
("commodity" . ledger-font-commodity-directive-face)
|
||||
("define" . ledger-font-define-directive-face)
|
||||
("end" . ledger-font-end-directive-face)
|
||||
("expr" . ledger-font-expr-directive-face)
|
||||
("fixed" . ledger-font-fixed-directive-face)
|
||||
("include" . ledger-font-include-directive-face)
|
||||
("payee" . ledger-font-payee-directive-face)
|
||||
("tag" . ledger-font-tag-directive-face)
|
||||
("year" . ledger-font-year-directive-face))
|
||||
"Expressions to highlight in Ledger mode.")
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -307,16 +307,58 @@ With a prefix argument, remove the effective date. "
|
|||
["Kill Report" ledger-report-kill ledger-works]))
|
||||
|
||||
;;;###autoload
|
||||
;; (define-derived-mode ledger-mode text-mode "Ledger"
|
||||
;; "A mode for editing ledger data files."
|
||||
;; (ledger-check-version)
|
||||
;; (ledger-schedule-check-available)
|
||||
;; ;;(ledger-post-setup)
|
||||
|
||||
;; (setq-local pcomplete-parse-arguments-function 'ledger-parse-arguments)
|
||||
;; (setq-local pcomplete-command-completion-function 'ledger-complete-at-point)
|
||||
;; (add-hook 'completion-at-point-functions 'pcomplete-completions-at-point nil t)
|
||||
|
||||
;; (add-hook 'after-save-hook 'ledger-report-redo)
|
||||
|
||||
;; (add-hook 'post-command-hook 'ledger-highlight-xact-under-point nil t)
|
||||
;; (add-hook 'before-revert-hook 'ledger-occur-remove-all-overlays nil t)
|
||||
|
||||
;; (ledger-init-load-init-file)
|
||||
|
||||
;; ;; (setq font-lock-defaults
|
||||
;; ;; `(,ledger-font-lock-keywords t nil nil nil
|
||||
;; ;; (font-lock-fontify-buffer-function . ledger-fontify-whole-buffer)
|
||||
;; ;; (font-lock-fontify-region-function . ledger-fontify-buffer-part)))
|
||||
|
||||
;; ;; (setq-local font-lock-defaults `(,ledger-font-lock-keywords nil t nil nil
|
||||
;; ;; (font-lock-fontify-buffer-function . ledger-fontify-whole-buffer)))
|
||||
|
||||
;; (setq-local indent-region-function 'ledger-post-align-postings))
|
||||
|
||||
(define-derived-mode ledger-mode text-mode "Ledger"
|
||||
"A mode for editing ledger data files."
|
||||
(ledger-check-version)
|
||||
(ledger-schedule-check-available)
|
||||
;;(ledger-post-setup)
|
||||
|
||||
(setq-local pcomplete-parse-arguments-function 'ledger-parse-arguments)
|
||||
(setq-local pcomplete-command-completion-function 'ledger-complete-at-point)
|
||||
(add-hook 'completion-at-point-functions 'pcomplete-completions-at-point nil t)
|
||||
;; (set-syntax-table ledger-mode-syntax-table)
|
||||
;; (set (make-local-variable 'comment-start) "; ")
|
||||
;; (set (make-local-variable 'comment-end) "")
|
||||
;; (set (make-local-variable 'indent-tabs-mode) nil)
|
||||
|
||||
(if (boundp 'font-lock-defaults)
|
||||
(setq-local font-lock-defaults
|
||||
'(ledger-font-lock-keywords t t)))
|
||||
|
||||
;; (setq font-lock-extend-region-functions
|
||||
;; (list #'font-lock-extend-region-wholelines))
|
||||
;; (setq font-lock-multiline nil)
|
||||
|
||||
(jit-lock-register 'ledger-fontify-buffer-part)
|
||||
(jit-lock-unregister 'font-lock-fontify-region)
|
||||
|
||||
(setq-local pcomplete-parse-arguments-function 'ledger-parse-arguments)
|
||||
(setq-local pcomplete-command-completion-function 'ledger-complete-at-point)
|
||||
(add-hook 'completion-at-point-functions 'pcomplete-completions-at-point nil t)
|
||||
(add-hook 'after-save-hook 'ledger-report-redo)
|
||||
|
||||
(add-hook 'post-command-hook 'ledger-highlight-xact-under-point nil t)
|
||||
|
|
@ -324,16 +366,8 @@ With a prefix argument, remove the effective date. "
|
|||
|
||||
(ledger-init-load-init-file)
|
||||
|
||||
;; (setq font-lock-defaults
|
||||
;; `(,ledger-font-lock-keywords t nil nil nil
|
||||
;; (font-lock-fontify-buffer-function . ledger-fontify-whole-buffer)
|
||||
;; (font-lock-fontify-region-function . ledger-fontify-buffer-part)))
|
||||
(setq-local indent-region-function 'ledger-post-align-postings))
|
||||
|
||||
;; (setq-local font-lock-defaults `(,ledger-font-lock-keywords nil t nil nil
|
||||
;; (font-lock-fontify-buffer-function . ledger-fontify-whole-buffer)))
|
||||
|
||||
(setq-local indent-region-function 'ledger-post-align-postings)
|
||||
(ledger-fontify-activate))
|
||||
|
||||
|
||||
(defun ledger-set-year (newyear)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue