Problem
When one TypeScript LSP server is configured for both **/*.ts and **/*.tsx, mcpls derives the opened-file language ID from the server-level language_id = "typescript".
That opens TSX files as typescript instead of typescriptreact, so servers such as tsgo parse JSX as plain TS and report syntax errors like '>' expected.
Expected
TSX and JSX file patterns should derive React-aware LSP language IDs:
.tsx -> typescriptreact
.jsx -> javascriptreact
Existing overrides such as C/C++ *.h -> cpp should still work.
Repro signal
In a TS project with jsx: react-jsx, tsgo --noEmit passes, but textDocument/diagnostic through mcpls reports JSX parser errors for a .tsx test file.
Problem
When one TypeScript LSP server is configured for both
**/*.tsand**/*.tsx, mcpls derives the opened-file language ID from the server-levellanguage_id = "typescript".That opens TSX files as
typescriptinstead oftypescriptreact, so servers such as tsgo parse JSX as plain TS and report syntax errors like'>' expected.Expected
TSX and JSX file patterns should derive React-aware LSP language IDs:
.tsx->typescriptreact.jsx->javascriptreactExisting overrides such as C/C++
*.h->cppshould still work.Repro signal
In a TS project with
jsx: react-jsx,tsgo --noEmitpasses, buttextDocument/diagnosticthrough mcpls reports JSX parser errors for a.tsxtest file.