Skip to content

Commit f76ada8

Browse files
committed
wip
1 parent 94ebd82 commit f76ada8

4 files changed

Lines changed: 16 additions & 12 deletions

File tree

packages/ts-plugin/src/protocol-handler/documentLink.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import type {
77
CSSModulesKitDocumentLinkRequest,
88
DocumentLink,
99
} from '../type.js';
10+
import { getConfiguredProjectForFile } from '../util.js';
1011

1112
export function createDocumentLinkHandler(
1213
_ts: typeof ts,
@@ -15,10 +16,7 @@ export function createDocumentLinkHandler(
1516
resolver: Resolver,
1617
) {
1718
return (request: CSSModulesKitDocumentLinkRequest): CSSModulesKitDocumentLinkHandlerResponse => {
18-
const project = _project.projectService.getDefaultProjectForFile(
19-
_ts.server.toNormalizedPath(request.arguments.fileName),
20-
true,
21-
);
19+
const project = getConfiguredProjectForFile(_ts, _project, request.arguments.fileName);
2220
if (!project) return {};
2321
const language = projectToLanguage.get(project);
2422
if (!language) return {};

packages/ts-plugin/src/protocol-handler/rename.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import type ts from 'typescript';
22
import type { CSSModulesKitRenameHandlerResponse, CSSModulesKitRenameRequest } from '../type.js';
3+
import { getConfiguredProjectForFile } from '../util.js';
34

45
export function createRenameHandler(_ts: typeof ts, _project: ts.server.Project) {
56
return (request: CSSModulesKitRenameRequest): CSSModulesKitRenameHandlerResponse => {
6-
const project = _project.projectService.getDefaultProjectForFile(
7-
_ts.server.toNormalizedPath(request.arguments.fileName),
8-
true,
9-
);
7+
const project = getConfiguredProjectForFile(_ts, _project, request.arguments.fileName);
108
if (!project) return {};
119
const languageService = project.getLanguageService();
1210
const { fileName, position } = request.arguments;

packages/ts-plugin/src/protocol-handler/renameInfo.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import type ts from 'typescript';
22
import type { CSSModulesKitRenameInfoHandlerResponse, CSSModulesKitRenameInfoRequest } from '../type.js';
3+
import { getConfiguredProjectForFile } from '../util.js';
34

45
export function createRenameInfoHandler(_ts: typeof ts, _project: ts.server.Project) {
56
return (request: CSSModulesKitRenameInfoRequest): CSSModulesKitRenameInfoHandlerResponse => {
6-
const project = _project.projectService.getDefaultProjectForFile(
7-
_ts.server.toNormalizedPath(request.arguments.fileName),
8-
true,
9-
);
7+
const project = getConfiguredProjectForFile(_ts, _project, request.arguments.fileName);
108
if (!project) return {};
119
const languageService = project.getLanguageService();
1210
const { fileName, position } = request.arguments;

packages/ts-plugin/src/util.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,13 @@ export function convertDefaultImportsToNamespaceImports(
5656
}
5757
}
5858
}
59+
60+
export function getConfiguredProjectForFile(
61+
_ts: typeof ts,
62+
_project: ts.server.Project,
63+
fileName: string,
64+
): ts.server.ConfiguredProject | undefined {
65+
const project = _project.projectService.getDefaultProjectForFile(_ts.server.toNormalizedPath(fileName), false);
66+
if (!project || project.projectKind !== _ts.server.ProjectKind.Configured) return;
67+
return project as ts.server.ConfiguredProject;
68+
}

0 commit comments

Comments
 (0)