Skip to content

Commit

Permalink
wip: remove ServiceEnvironment.modules
Browse files Browse the repository at this point in the history
  • Loading branch information
johnsoncodehk committed Apr 25, 2023
1 parent 04b577e commit 990efda
Show file tree
Hide file tree
Showing 7 changed files with 11 additions and 18 deletions.
3 changes: 1 addition & 2 deletions packages/kit/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ export function create(
return scriptSnapshots.get(fileName);
},
};
const service = createLanguageService({
modules: { typescript: ts },
const service = createLanguageService({ typescript: ts }, {
host,
config,
uriToFileName,
Expand Down
4 changes: 1 addition & 3 deletions packages/language-core/src/languageContext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ import { Language, LanguageServiceHost, FileKind } from './types';
export type LanguageContext = ReturnType<typeof createLanguageContext>;

export function createLanguageContext(
modules: { typescript?: typeof import('typescript/lib/tsserverlibrary'); },
host: LanguageServiceHost,
modules: {
typescript?: typeof import('typescript/lib/tsserverlibrary'),
},
languages: Language[],
) {

Expand Down
3 changes: 1 addition & 2 deletions packages/language-server/src/common/project.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,7 @@ export async function createProject(context: ProjectContext) {
});
}
}
languageService = embeddedLS.createLanguageService({
modules: { typescript: context.workspace.workspaces.ts },
languageService = embeddedLS.createLanguageService({ typescript: context.workspace.workspaces.ts }, {
uriToFileName,
fileNameToUri,
locale: context.workspace.workspaces.initParams.locale,
Expand Down
8 changes: 5 additions & 3 deletions packages/language-service/src/baseLanguageService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,20 +44,22 @@ import { notEmpty, resolveCommonLanguageId } from './utils/common';
export type LanguageService = ReturnType<typeof createLanguageServiceBase>;

export function createLanguageService(
modules: { typescript?: typeof import('typescript/lib/tsserverlibrary'); },
env: ServiceEnvironment,
documentRegistry?: ts.DocumentRegistry,
) {
const languageContext = createLanguageContext(env.host, env.modules, Object.values(env.config.languages ?? {}).filter(notEmpty));
const context = createLanguageServicePluginContext(env, languageContext, documentRegistry);
const languageContext = createLanguageContext(modules, env.host, Object.values(env.config.languages ?? {}).filter(notEmpty));
const context = createLanguageServicePluginContext(modules, env, languageContext, documentRegistry);
return createLanguageServiceBase(context);
}

function createLanguageServicePluginContext(
modules: { typescript?: typeof import('typescript/lib/tsserverlibrary'); },
env: ServiceEnvironment,
languageContext: ReturnType<typeof createLanguageContext>,
documentRegistry?: ts.DocumentRegistry,
) {
const ts = env.modules.typescript;
const ts = modules.typescript;
let tsLs: ts.LanguageService | undefined;

if (ts) {
Expand Down
3 changes: 0 additions & 3 deletions packages/language-service/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ export * from 'vscode-languageserver-protocol';

export interface ServiceEnvironment {
// InitializeParams
modules: {
typescript?: typeof import('typescript/lib/tsserverlibrary');
};
locale?: string;
rootUri: URI;
clientCapabilities?: vscode.ClientCapabilities;
Expand Down
6 changes: 2 additions & 4 deletions packages/monaco/src/worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ export function createLanguageService(options: {
const config = options.config ?? {};
const compilerOptions = options.typescript?.compilerOptions ?? {};
let host = createLanguageServiceHost();
let languageService = _createLanguageService({
modules: { typescript: ts },
let languageService = _createLanguageService({ typescript: ts }, {
host,
config,
uriToFileName: (uri: string) => URI.parse(uri).fsPath.replace(/\\/g, '/'),
Expand Down Expand Up @@ -57,8 +56,7 @@ export function createLanguageService(options: {
if (newVersion !== dtsVersion) {
dtsVersion = newVersion;
languageService.dispose();
languageService = _createLanguageService({
modules: { typescript: ts },
languageService = _createLanguageService({ typescript: ts }, {
host,
config,
rootUri: URI.file('/'),
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export function createLanguageService(host: embedded.LanguageServiceHost, mods:
};
} & ts.LanguageService;

const core = embedded.createLanguageContext(host, { typescript: ts as any }, mods);
const core = embedded.createLanguageContext({ typescript: ts as any }, host, mods);

if (!ts) {
throw new Error('TypeScript module not provided.');
Expand Down

0 comments on commit 990efda

Please sign in to comment.