I'm trying to make a regex in emacs to font-lock tasks, projects and notes in taskpaper files.
Taskpaper is a simple text based format for task management, with the following format:
Project 1:
- Task 1
- Task 2
Note about Task2
Project 2:
- Task 3
Note about Task 3
A general note about something
I'm using a taskpaper mode I found here as a basis (https://github.com/jedthehumanoid/taskpaper.el/blob/master/taskpaper.el). However, this mode is based on space indentation, and it seems that at the moment, the taskpaper format uses tabs to indent.
(setq font-lock-defaults
'(("^.*@done.*$" . font-lock-comment-face)
("^.*:$" . font-lock-function-name-face)
("^[\t]*[^-\t].*[^:]$" font-lock-comment-face)
("@.*" . font-lock-variable-name-face)))
At the moment, the third regex (which should font-lock notes in the comment face) is not working, and I can't see why. Notes are all lines with any indentation that do not begin with a -
and do not end with a :
The strange thing is, in the regex builder, the regex ^[\t]*[^-\t].*[^:]$
successfully matches the notes lines.
I've tried double escaping the \t characters (as \\t) as suggested in some other questions, but this appears to make no difference.