From 34f3ac6c5b98d79e51bd9bbaf3c5bd89b2faaba3 Mon Sep 17 00:00:00 2001 From: john muhl Date: Wed, 14 May 2025 08:53:42 -0500 Subject: [PATCH] Fontify all comment delimiters in 'lua-ts-mode' * lisp/progmodes/lua-ts-mode.el (lua-ts--comment-font-lock): Apply 'font-lock-comment-delimiter-face' to the entire span of initial dashes. In particular, this improves the appearance of LuaCATS and EmmyLua style annotations which use "---". * test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua: Add tests. (Bug#79258) --- lisp/progmodes/lua-ts-mode.el | 7 +++++-- test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/lua-ts-mode.el b/lisp/progmodes/lua-ts-mode.el index 1c1812a7c30..35700255ba4 100644 --- a/lisp/progmodes/lua-ts-mode.el +++ b/lisp/progmodes/lua-ts-mode.el @@ -168,10 +168,13 @@ values of OVERRIDE." (let* ((node-start (treesit-node-start node)) (node-end (treesit-node-end node)) (node-text (treesit-node-text node t)) - (delimiter-end (+ 2 node-start))) + (delimiter-end (progn + (goto-char node-start) + (while (looking-at-p "-") (forward-char)) + (point)))) (when (and (>= node-start start) (<= delimiter-end end) - (string-match "\\`--" node-text)) + (string-match "\\`---*" node-text)) (treesit-fontify-with-override node-start delimiter-end 'font-lock-comment-delimiter-face diff --git a/test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua b/test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua index 93d589e3825..5a36bcad10b 100644 --- a/test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua +++ b/test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua @@ -11,6 +11,11 @@ Multi-line comment -- <- font-lock-comment-face local line_comment = "comment" -- comment -- ^ font-lock-comment-face +---@alias MyNumber integer +-- <- font-lock-comment-delimiter-face +------Calculate new number +-- ^ font-lock-comment-delimiter-face +function calc() end -- Definition local function f1() end