;;; ui/hl-todo/packages.el -*- lexical-binding: t; -*- (use-package! hl-todo :hook (prog-mode . hl-todo-mode) :config (setq hl-todo-highlight-punctuation ":" hl-todo-keyword-faces `(("TODO" warning bold) ("FIXME" error bold) ("HACK" font-lock-constant-face bold) ("REVIEW" font-lock-keyword-face bold) ("NOTE" success bold) ("DEPRECATED" font-lock-doc-face bold))) ;; Use a more primitive todo-keyword detection method in major modes that ;; don't use/have a valid syntax table entry for comments. (add-hook! '(pug-mode-hook haml-mode-hook) (defun +hl-todo--use-face-detection-h () "Use a different, more primitive method of locating todo keywords." (set (make-local-variable 'hl-todo-keywords) '(((lambda (limit) (let (case-fold-search) (and (re-search-forward hl-todo-regexp limit t) (memq 'font-lock-comment-face (doom-enlist (get-text-property (point) 'face)))))) (1 (hl-todo-get-face) t t)))) (when hl-todo-mode (hl-todo-mode -1) (hl-todo-mode +1)))))