@@ -613,32 +613,47 @@ export const generateExtensionTest = task({
613613
614614async function runGenerateLSP ( ) {
615615 const { GeneratedFile } = await import ( "./tools/scripts/gen/generatedFile.mts" ) ;
616- const directory = path . join ( __dirname , "tsc/internal /lsp/lsproto/_generate " ) ;
616+ const directory = path . join ( __dirname , "tools/scripts /lsp" ) ;
617617 const modelFiles = [ "metaModel.json" , "metaModelSchema.mts" ] . map ( file => new GeneratedFile ( path . join ( directory , file ) , [ path . join ( directory , "fetchModel.mts" ) , path . join ( __dirname , "package-lock.json" ) ] ) ) ;
618618 if ( ! modelFiles . every ( file => file . isCurrent ( ! ! options . force ) ) ) {
619619 for ( const file of modelFiles ) file . invalidate ( ) ;
620- const { default : fetchModel } = await import ( "./tsc/internal /lsp/lsproto/_generate /fetchModel.mts" ) ;
620+ const { default : fetchModel } = await import ( "./tools/scripts /lsp/fetchModel.mts" ) ;
621621 await fetchModel ( ) ;
622622 for ( const file of modelFiles ) file . markCurrent ( ) ;
623623 }
624- const output = new GeneratedFile ( path . join ( directory , ".. /lsp_generated.go" ) , [
624+ const output = new GeneratedFile ( path . join ( __dirname , "tsc/internal/lsp/lsproto /lsp_generated.go" ) , [
625625 __filename ,
626626 path . join ( directory , "generate.mts" ) ,
627627 ...modelFiles . map ( file => file . fileName ) ,
628628 ] ) ;
629- if ( output . isCurrent ( ! ! options . force ) ) {
629+ if ( ! output . isCurrent ( ! ! options . force ) ) {
630+ output . invalidate ( ) ;
631+ const { default : generate } = await import ( "./tools/scripts/lsp/generate.mts" ) ;
632+ await generate ( ) ;
633+ output . markCurrent ( ) ;
634+ }
635+ else {
630636 console . log ( "LSP bindings are up to date." ) ;
631- return ;
632637 }
633- output . invalidate ( ) ;
634- const { default : generate } = await import ( "./tsc/internal/lsp/lsproto/_generate/generate.mts" ) ;
635- await generate ( ) ;
636- output . markCurrent ( ) ;
638+ const typeScriptOutput = new GeneratedFile ( path . join ( __dirname , "packages/typescript/src/vscode/protocol.generated.ts" ) , [
639+ __filename ,
640+ path . join ( directory , "generate.mts" ) ,
641+ path . join ( directory , "generateTypeScript.mts" ) ,
642+ path . join ( directory , "typeScript.mts" ) ,
643+ path . join ( __dirname , "packages/vscode-typescript/src/lspMiddleware.ts" ) ,
644+ ...modelFiles . map ( file => file . fileName ) ,
645+ ] ) ;
646+ if ( ! typeScriptOutput . isCurrent ( ! ! options . force ) ) {
647+ typeScriptOutput . invalidate ( ) ;
648+ const { default : generate } = await import ( "./tools/scripts/lsp/generateTypeScript.mts" ) ;
649+ await generate ( ) ;
650+ typeScriptOutput . markCurrent ( ) ;
651+ }
637652}
638653
639654export const generateLSP = task ( {
640655 name : "generate:lsp" ,
641- description : "Generates LSP bindings from the pinned protocol model. Pass --force to regenerate unchanged files." ,
656+ description : "Generates Go LSP bindings and extension API types from the pinned protocol model. Pass --force to regenerate unchanged files." ,
642657 run : runGenerateLSP ,
643658} ) ;
644659
@@ -1315,7 +1330,7 @@ export const checkVsceVersion = task({
13151330const scriptTsconfigs = [
13161331 "./tools/scripts/gen/tsconfig.json" ,
13171332 "./tools/scripts/tsc/tsconfig.json" ,
1318- "./tsc/internal /lsp/lsproto/_generate /tsconfig.json" ,
1333+ "./tools/scripts /lsp/tsconfig.json" ,
13191334] ;
13201335
13211336export const checkScripts = task ( {
0 commit comments