runtime(compiler): allow customizing exe and args for tsc
closes: #16853
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/compiler/tsc.vim b/runtime/compiler/tsc.vim
index 76f525b..9922cd7 100644
--- a/runtime/compiler/tsc.vim
+++ b/runtime/compiler/tsc.vim
@@ -2,6 +2,7 @@
" Compiler: TypeScript Compiler
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2024 Apr 03
+" 2025 Mar 11 by The Vim Project (add comment for Dispatch, add tsc_makeprg variable)
if exists("current_compiler")
finish
@@ -11,9 +12,9 @@
let s:cpo_save = &cpo
set cpo&vim
+" CompilerSet makeprg=tsc
" CompilerSet makeprg=npx\ tsc
-
-CompilerSet makeprg=tsc
+execute $'CompilerSet makeprg={escape(get(b:, 'tsc_makeprg', get(g:, 'tsc_makeprg', 'tsc')), ' \|"')}'
CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
\%trror\ TS%n:\ %m,
\%-G%.%#
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 834f0e1..91e4863 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt* For Vim version 9.1. Last change: 2025 Jan 11
+*quickfix.txt* For Vim version 9.1. Last change: 2025 Mar 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1722,6 +1722,13 @@
if any. If your TeX doesn't support "-interaction=nonstopmode", please
report it with different means to express \nonstopmode from the command line.
+TSC COMPILER *compiler-tsc*
+
+The executable and compiler options can be added to 'makeprg' by setting the
+b/g:tsc_makeprg variable. For example: >
+
+ let b:tsc_makeprg = "npx tsc --noEmit"
+
TYPST COMPILER *compiler-typst*
Vim includes a compiler plugin for Typst files. This compiler is enabled
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 0f4804b..11ad3dd 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6590,6 +6590,7 @@
compiler-select quickfix.txt /*compiler-select*
compiler-spotbugs quickfix.txt /*compiler-spotbugs*
compiler-tex quickfix.txt /*compiler-tex*
+compiler-tsc quickfix.txt /*compiler-tsc*
compiler-typst quickfix.txt /*compiler-typst*
compiler-vaxada ft_ada.txt /*compiler-vaxada*
compl-current insert.txt /*compl-current*