branch: elpa/logview commit bbed5a7651042594340de7e15ac96150097f1555 Author: Paul Pogonyshev <pogonys...@gmail.com> Commit: Paul Pogonyshev <pogonys...@gmail.com>
Add 'IGNORED' submode placeholder: used only for matching, not highlighted or handled by filters afterwards; fixes #8. --- logview.el | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/logview.el b/logview.el index cfd5a31b9f..1ebdb0971d 100644 --- a/logview.el +++ b/logview.el @@ -160,6 +160,10 @@ format TIMESTAMP [THREAD] LEVEL NAME - + Additionally, you can use special placeholder \"IGNORED\" if + needed. Usecase for it are log files that contain too many + fields to map to the ones Logview supports natively. + levels [may be optional] Level mapping (see `logview-additional-level-mappings') used @@ -432,14 +436,16 @@ To temporarily change this on per-buffer basis type \\<logview-mode-map>\\[logvi (defconst logview--level-group 2) (defconst logview--name-group 3) (defconst logview--thread-group 4) +(defconst logview--ignored-group 5) (defconst logview--final-levels '(error warning information debug trace)) -(defconst logview--entry-parts '("TIMESTAMP" "LEVEL" "NAME" "THREAD")) -(defconst logview--entry-part-regexp (rx (or (group bow "TIMESTAMP" eow) - (group bow "LEVEL" eow) - (group bow "NAME" eow) - (group bow "THREAD" eow)))) +(defconst logview--entry-part-regexp (rx bow (or (group "TIMESTAMP") + (group "LEVEL") + (group "NAME") + (group "THREAD") + (group "IGNORED")) + eow)) (defvar logview--datetime-options '(:second-fractional-extension t :only-4-digit-years t @@ -1571,9 +1577,12 @@ returns non-nil." parts) (push 'level features)) (t - (dolist (k (list logview--name-group logview--thread-group)) + (dolist (k (list logview--name-group logview--thread-group logview--ignored-group)) (when (match-beginning k) - (push (format "\\(?%d:%s\\)" k + (push (format "\\(?%s:%s\\)" + (if (/= k logview--ignored-group) + (number-to-string k) + "") (cond ((and starter terminator (or (and (= starter ?\() (= terminator ?\))) (and (= starter ?\[) (= terminator ?\]))))