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%.%#