Skip to content

Commit

Permalink
Get file references always opens the file before running command
Browse files Browse the repository at this point in the history
  • Loading branch information
sheetalkamat committed Sep 12, 2024
1 parent d18d9bc commit 4c7280c
Show file tree
Hide file tree
Showing 4 changed files with 509 additions and 3 deletions.
2 changes: 2 additions & 0 deletions src/harness/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ import { protocol } from "./_namespaces/ts.server.js";

export interface SessionClientHost extends LanguageServiceHost {
writeMessage(message: string): void;
openFile(fileName: string): void;
}

interface RenameEntry {
Expand Down Expand Up @@ -479,6 +480,7 @@ export class SessionClient implements LanguageService {
}

getFileReferences(fileName: string): ReferenceEntry[] {
this.host.openFile(fileName);
const request = this.processRequest<protocol.FileReferencesRequest>(protocol.CommandTypes.FileReferences, { file: fileName });
const response = this.processResponse<protocol.FileReferencesResponse>(request);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -657,14 +657,137 @@ Info seq [hh:mm:ss:mss] request:
"arguments": {
"file": "/home/src/workspaces/project/util.ts"
},
"command": "open"
}
Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/workspaces/project/util.ts 500 undefined WatchType: Closed Script info
Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/workspaces/project/util.ts ProjectRootPath: undefined:: Result: /home/src/workspaces/project/tsconfig.json
Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/workspaces/project/tsconfig.json ProjectRootPath: undefined:: Result: undefined
Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/project/tsconfig.json' (Configured)
Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending
Info seq [hh:mm:ss:mss] -----------------------------------------------
Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/project/tsconfig.build.json' (Configured)
Info seq [hh:mm:ss:mss] Files (5)
Info seq [hh:mm:ss:mss] -----------------------------------------------
Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/project/tsconfig.test.json' (Configured)
Info seq [hh:mm:ss:mss] Files (6)
Info seq [hh:mm:ss:mss] -----------------------------------------------
Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred)
Info seq [hh:mm:ss:mss] Files (4)

Info seq [hh:mm:ss:mss] -----------------------------------------------
Info seq [hh:mm:ss:mss] Open files:
Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/project/tsconfig.json ProjectRootPath: undefined
Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1*
Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/project/index.ts ProjectRootPath: undefined
Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/project/tsconfig.build.json,/home/src/workspaces/project/tsconfig.test.json
Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/project/test.ts ProjectRootPath: undefined
Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/project/tsconfig.test.json
Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/project/util.ts ProjectRootPath: undefined
Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/project/tsconfig.build.json,/home/src/workspaces/project/tsconfig.test.json
Info seq [hh:mm:ss:mss] response:
{
"seq": 0,
"type": "response",
"command": "open",
"request_seq": 3,
"success": true
}
After Request
watchedFiles::
/home/src/tslibs/TS/Lib/lib.d.ts:
{"pollingInterval":500}
/home/src/tslibs/TS/Lib/lib.decorators.d.ts:
{"pollingInterval":500}
/home/src/tslibs/TS/Lib/lib.decorators.legacy.d.ts:
{"pollingInterval":500}
/home/src/workspaces/project/jsconfig.json:
{"pollingInterval":2000}
/home/src/workspaces/project/tsconfig.build.json:
{"pollingInterval":2000}
/home/src/workspaces/project/tsconfig.json:
{"pollingInterval":2000}
/home/src/workspaces/project/tsconfig.test.json:
{"pollingInterval":2000}

watchedFiles *deleted*::
/home/src/workspaces/project/util.ts:
{"pollingInterval":500}

watchedDirectoriesRecursive::
/home/src/workspaces/node_modules:
{}
{}
{}
/home/src/workspaces/node_modules/@types:
{}
{}
{}
/home/src/workspaces/project/node_modules:
{}
{}
{}
/home/src/workspaces/project/node_modules/@types:
{}
{}
{}

ScriptInfos::
/home/src/tslibs/TS/Lib/lib.d.ts
version: Text-1
containingProjects: 3
/dev/null/inferredProject1*
/home/src/workspaces/project/tsconfig.build.json
/home/src/workspaces/project/tsconfig.test.json
/home/src/tslibs/TS/Lib/lib.decorators.d.ts
version: Text-1
containingProjects: 3
/dev/null/inferredProject1*
/home/src/workspaces/project/tsconfig.build.json
/home/src/workspaces/project/tsconfig.test.json
/home/src/tslibs/TS/Lib/lib.decorators.legacy.d.ts
version: Text-1
containingProjects: 3
/dev/null/inferredProject1*
/home/src/workspaces/project/tsconfig.build.json
/home/src/workspaces/project/tsconfig.test.json
/home/src/workspaces/project/index.ts (Open)
version: SVC-1-0
containingProjects: 2
/home/src/workspaces/project/tsconfig.build.json *default*
/home/src/workspaces/project/tsconfig.test.json
/home/src/workspaces/project/test.ts (Open)
version: SVC-1-0
containingProjects: 1
/home/src/workspaces/project/tsconfig.test.json *default*
/home/src/workspaces/project/tsconfig.json (Open)
version: SVC-1-0
containingProjects: 1
/dev/null/inferredProject1* *default*
/home/src/workspaces/project/util.ts (Open) *changed*
open: true *changed*
version: Text-1
containingProjects: 2
/home/src/workspaces/project/tsconfig.build.json *default*
/home/src/workspaces/project/tsconfig.test.json

Info seq [hh:mm:ss:mss] request:
{
"seq": 4,
"type": "request",
"arguments": {
"file": "/home/src/workspaces/project/util.ts"
},
"command": "fileReferences"
}
Info seq [hh:mm:ss:mss] response:
{
"seq": 0,
"type": "response",
"command": "fileReferences",
"request_seq": 3,
"request_seq": 4,
"success": true,
"body": {
"refs": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,14 +274,133 @@ Info seq [hh:mm:ss:mss] request:
"arguments": {
"file": "/home/src/workspaces/project/a.ts"
},
"command": "open"
}
Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/workspaces/project/a.ts 500 undefined WatchType: Closed Script info
Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/workspaces/project/a.ts ProjectRootPath: undefined:: Result: /home/src/workspaces/project/tsconfig.json
Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/project/tsconfig.json' (Configured)
Info seq [hh:mm:ss:mss] Files (7)
Info seq [hh:mm:ss:mss] -----------------------------------------------
Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred)
Info seq [hh:mm:ss:mss] Files (4)

Info seq [hh:mm:ss:mss] -----------------------------------------------
Info seq [hh:mm:ss:mss] Open files:
Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/project/tsconfig.json ProjectRootPath: undefined
Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1*
Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/project/a.ts ProjectRootPath: undefined
Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/project/tsconfig.json
Info seq [hh:mm:ss:mss] response:
{
"seq": 0,
"type": "response",
"command": "open",
"request_seq": 1,
"success": true
}
After Request
watchedFiles::
/home/src/tslibs/TS/Lib/lib.d.ts:
{"pollingInterval":500}
/home/src/tslibs/TS/Lib/lib.decorators.d.ts:
{"pollingInterval":500}
/home/src/tslibs/TS/Lib/lib.decorators.legacy.d.ts:
{"pollingInterval":500}
/home/src/workspaces/project/b.ts:
{"pollingInterval":500}
/home/src/workspaces/project/c.ts:
{"pollingInterval":500}
/home/src/workspaces/project/d.ts:
{"pollingInterval":500}
/home/src/workspaces/project/jsconfig.json:
{"pollingInterval":2000}
/home/src/workspaces/project/tsconfig.json:
{"pollingInterval":2000}

watchedFiles *deleted*::
/home/src/workspaces/project/a.ts:
{"pollingInterval":500}

watchedDirectoriesRecursive::
/home/src/workspaces/node_modules:
{}
{}
/home/src/workspaces/node_modules/@types:
{}
{}
/home/src/workspaces/project:
{}
/home/src/workspaces/project/node_modules:
{}
{}
/home/src/workspaces/project/node_modules/@types:
{}
{}

Projects::
/dev/null/inferredProject1* (Inferred)
projectStateVersion: 1
projectProgramVersion: 1
autoImportProviderHost: false
/home/src/workspaces/project/tsconfig.json (Configured) *changed*
projectStateVersion: 1
projectProgramVersion: 1
noOpenRef: false *changed*

ScriptInfos::
/home/src/tslibs/TS/Lib/lib.d.ts
version: Text-1
containingProjects: 2
/home/src/workspaces/project/tsconfig.json
/dev/null/inferredProject1*
/home/src/tslibs/TS/Lib/lib.decorators.d.ts
version: Text-1
containingProjects: 2
/home/src/workspaces/project/tsconfig.json
/dev/null/inferredProject1*
/home/src/tslibs/TS/Lib/lib.decorators.legacy.d.ts
version: Text-1
containingProjects: 2
/home/src/workspaces/project/tsconfig.json
/dev/null/inferredProject1*
/home/src/workspaces/project/a.ts (Open) *changed*
open: true *changed*
version: Text-1
containingProjects: 1
/home/src/workspaces/project/tsconfig.json *default*
/home/src/workspaces/project/b.ts
version: Text-1
containingProjects: 1
/home/src/workspaces/project/tsconfig.json
/home/src/workspaces/project/c.ts
version: Text-1
containingProjects: 1
/home/src/workspaces/project/tsconfig.json
/home/src/workspaces/project/d.ts
version: Text-1
containingProjects: 1
/home/src/workspaces/project/tsconfig.json
/home/src/workspaces/project/tsconfig.json (Open)
version: SVC-1-0
containingProjects: 1
/dev/null/inferredProject1* *default*

Info seq [hh:mm:ss:mss] request:
{
"seq": 2,
"type": "request",
"arguments": {
"file": "/home/src/workspaces/project/a.ts"
},
"command": "fileReferences"
}
Info seq [hh:mm:ss:mss] response:
{
"seq": 0,
"type": "response",
"command": "fileReferences",
"request_seq": 1,
"request_seq": 2,
"success": true,
"body": {
"refs": [
Expand Down
Loading

0 comments on commit 4c7280c

Please sign in to comment.