我正在尝试在 emacs 中创建一个正则表达式来锁定任务文件中的任务、项目和注释。
Taskpaper 是一种简单的基于文本的任务管理格式,格式如下:
Project 1:
- Task 1
- Task 2
Note about Task2
Project 2:
- Task 3
Note about Task 3
A general note about something
我正在使用我在这里找到的任务纸模式作为基础(https://github.com/jedthehumanoid/taskpaper.el/blob/master/taskpaper.el)。但是,这种模式是基于空格缩进的,目前看来,任务纸格式使用制表符来缩进。
(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)))
目前,第三个正则表达式(应该在评论面上锁定注释)不起作用,我不明白为什么。注释是所有不以 a 开头-
且不以 a 结尾的任何缩进的行:
奇怪的是,在正则表达式生成器中,正则表达式^[\t]*[^-\t].*[^:]$
成功匹配注释行。
我已经尝试按照其他一些问题的建议对 \t 字符(如 \\t)进行双重转义,但这似乎没有什么区别。