patch 9.2.0225: runtime(compiler): No compiler plugin for just

Commit: 
https://github.com/vim/vim/commit/e147b635fc0bb130ab3a094dc7f287674ff1f43f
Author: Aditya Malik <[email protected]>
Date:   Sun Mar 22 16:46:41 2026 +0000

    patch 9.2.0225: runtime(compiler): No compiler plugin for just
    
    Problem:  runtime(compiler): No compiler plugin for just
    Solution: Add a compiler plugin for the just command runner, add a test
              (Aditya Malik)
    
    Sets makeprg and a custom errorformat to parse just's multi-line
    error output into quickfix entries with file, line, column, and
    message. Includes a test.
    
    Reference:
    - https://github.com/casey/just
    
    closes: #19773
    
    Signed-off-by: Aditya Malik <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS
index 6d51dea17..cd965f767 100644
--- a/.github/MAINTAINERS
+++ b/.github/MAINTAINERS
@@ -80,6 +80,7 @@ runtime/compiler/jjs.vim                              @dkearns
 runtime/compiler/jq.vim                                        @vito-c
 runtime/compiler/jshint.vim                            @dkearns
 runtime/compiler/jsonlint.vim                          @dkearns
+runtime/compiler/just.vim                              @Alarcritty
 runtime/compiler/make.vim                              @Konfekt
 runtime/compiler/mypy.vim                              @Konfekt
 runtime/compiler/pandoc.vim                            @Konfekt
diff --git a/runtime/compiler/just.vim b/runtime/compiler/just.vim
new file mode 100644
index 000000000..9dd7dfda3
--- /dev/null
+++ b/runtime/compiler/just.vim
@@ -0,0 +1,23 @@
+" Vim compiler file
+" Compiler:    Just
+" Maintainer:  Alarcritty
+" Last Change: 2026 Mar 20
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "just"
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet makeprg=just
+
+CompilerSet errorformat=
+      \%Eerror:\ %m,
+      \%C%\s%#——▶\ %f:%l:%c,
+      \%-C%.%#,
+      \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/src/testdir/test_compiler.vim b/src/testdir/test_compiler.vim
index d28349a70..20cae9894 100644
--- a/src/testdir/test_compiler.vim
+++ b/src/testdir/test_compiler.vim
@@ -734,4 +734,35 @@ func Test_compiler_spotbugs_properties()
   let &shellslash = save_shellslash
 endfunc
 
+func Test_compiler_just()
+  CheckFeature quickfix
+
+  compiler just
+  call assert_equal('just', b:current_compiler)
+  call assert_equal('just', &makeprg)
+  let verbose_efm = execute('verbose set efm')
+  call assert_match('Last set from .*[/\]compiler[/\]just.vim ', verbose_efm)
+
+  " Test that the errorformat can parse just error output
+  let lines =<< trim END
+    error: Variable `name` not defined
+      ——▶ justfile:2:15
+       │
+     2 │   echo {{name}}
+       │          ^^^^
+  END
+  call writefile(lines, 'Xjusterr.txt')
+  cgetfile Xjusterr.txt
+  let l = getqflist()
+  call assert_equal(1, len(l))
+  call assert_equal('E', l[0].type)
+  call assert_equal('Variable `name` not defined', l[0].text)
+  call assert_equal(2, l[0].lnum)
+  call assert_equal(15, l[0].col)
+
+  call setqflist([])
+  call delete('Xjusterr.txt')
+  compiler make
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index f16dd8d62..5b2396b3c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    225,
 /**/
     224,
 /**/

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1w4M9j-000iUN-SA%40256bit.org.

Raspunde prin e-mail lui