mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-07 16:10:46 -08:00
Mark Flymake regions more accurately in 'lua-ts-mode'
* lisp/progmodes/lua-ts-mode.el (lua-ts-flymake-luacheck): Use the end position provided by Luacheck rather than relying on 'thing-at-point' to guess where the end should be. (Bug#70167)
This commit is contained in:
parent
71f8b2c324
commit
d5d61618c8
1 changed files with 26 additions and 27 deletions
|
|
@ -35,7 +35,6 @@
|
|||
(require 'treesit)
|
||||
|
||||
(eval-when-compile
|
||||
(require 'cl-lib)
|
||||
(require 'rx))
|
||||
|
||||
(declare-function treesit-induce-sparse-tree "treesit.c")
|
||||
|
|
@ -544,32 +543,32 @@ Calls REPORT-FN directly."
|
|||
(eq proc lua-ts--flymake-process))
|
||||
(with-current-buffer (process-buffer proc)
|
||||
(goto-char (point-min))
|
||||
(cl-loop
|
||||
while (search-forward-regexp
|
||||
(rx (seq bol
|
||||
(0+ alnum) ":"
|
||||
(group (1+ digit)) ":"
|
||||
(group (1+ digit)) "-"
|
||||
(group (1+ digit)) ": "
|
||||
(group (0+ nonl))
|
||||
eol))
|
||||
nil t)
|
||||
for (beg . end) = (flymake-diag-region
|
||||
source
|
||||
(string-to-number (match-string 1))
|
||||
(string-to-number (match-string 2)))
|
||||
for msg = (match-string 4)
|
||||
for type = (if (string-match "^(W" msg)
|
||||
:warning
|
||||
:error)
|
||||
when (and beg end)
|
||||
collect (flymake-make-diagnostic source
|
||||
beg
|
||||
end
|
||||
type
|
||||
msg)
|
||||
into diags
|
||||
finally (funcall report-fn diags)))
|
||||
(let (diags)
|
||||
(while (search-forward-regexp
|
||||
(rx bol (0+ alnum) ":"
|
||||
(group (1+ digit)) ":"
|
||||
(group (1+ digit)) "-"
|
||||
(group (1+ digit)) ": "
|
||||
(group (0+ nonl)) eol)
|
||||
nil t)
|
||||
(let* ((beg
|
||||
(car (flymake-diag-region
|
||||
source
|
||||
(string-to-number (match-string 1))
|
||||
(string-to-number (match-string 2)))))
|
||||
(end
|
||||
(cdr (flymake-diag-region
|
||||
source
|
||||
(string-to-number (match-string 1))
|
||||
(string-to-number (match-string 3)))))
|
||||
(msg (match-string 4))
|
||||
(type (if (string-prefix-p "(W" msg)
|
||||
:warning
|
||||
:error)))
|
||||
(push (flymake-make-diagnostic
|
||||
source beg end type msg)
|
||||
diags)))
|
||||
(funcall report-fn diags)))
|
||||
(flymake-log :warning "Canceling obsolete check %s" proc))
|
||||
(kill-buffer (process-buffer proc)))))))
|
||||
(process-send-region lua-ts--flymake-process (point-min) (point-max))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue