@@ -64,7 +64,10 @@ declare namespace ts.server.protocol {
64
64
OrganizeImports = "organizeImports" ,
65
65
GetEditsForFileRename = "getEditsForFileRename" ,
66
66
ConfigurePlugin = "configurePlugin" ,
67
- SelectionRange = "selectionRange"
67
+ SelectionRange = "selectionRange" ,
68
+ PrepareCallHierarchy = "prepareCallHierarchy" ,
69
+ ProvideCallHierarchyIncomingCalls = "provideCallHierarchyIncomingCalls" ,
70
+ ProvideCallHierarchyOutgoingCalls = "provideCallHierarchyOutgoingCalls"
68
71
}
69
72
/**
70
73
* A TypeScript Server message
@@ -957,7 +960,7 @@ declare namespace ts.server.protocol {
957
960
* For external projects, some of the project settings are sent together with
958
961
* compiler settings.
959
962
*/
960
- type ExternalProjectCompilerOptions = CompilerOptions & CompileOnSaveMixin ;
963
+ type ExternalProjectCompilerOptions = CompilerOptions & CompileOnSaveMixin & WatchOptions ;
961
964
/**
962
965
* Represents a set of changes that happen in project
963
966
*/
@@ -997,6 +1000,31 @@ declare namespace ts.server.protocol {
997
1000
* The host's additional supported .js file extensions
998
1001
*/
999
1002
extraFileExtensions ?: FileExtensionInfo [ ] ;
1003
+ watchOptions ?: WatchOptions ;
1004
+ }
1005
+ const enum WatchFileKind {
1006
+ FixedPollingInterval = "FixedPollingInterval" ,
1007
+ PriorityPollingInterval = "PriorityPollingInterval" ,
1008
+ DynamicPriorityPolling = "DynamicPriorityPolling" ,
1009
+ UseFsEvents = "UseFsEvents" ,
1010
+ UseFsEventsOnParentDirectory = "UseFsEventsOnParentDirectory"
1011
+ }
1012
+ const enum WatchDirectoryKind {
1013
+ UseFsEvents = "UseFsEvents" ,
1014
+ FixedPollingInterval = "FixedPollingInterval" ,
1015
+ DynamicPriorityPolling = "DynamicPriorityPolling"
1016
+ }
1017
+ const enum PollingWatchKind {
1018
+ FixedInterval = "FixedInterval" ,
1019
+ PriorityInterval = "PriorityInterval" ,
1020
+ DynamicPriority = "DynamicPriority"
1021
+ }
1022
+ interface WatchOptions {
1023
+ watchFile ?: WatchFileKind | ts . WatchFileKind ;
1024
+ watchDirectory ?: WatchDirectoryKind | ts . WatchDirectoryKind ;
1025
+ fallbackPolling ?: PollingWatchKind | ts . PollingWatchKind ;
1026
+ synchronousWatchDirectory ?: boolean ;
1027
+ [ option : string ] : CompilerOptionsValue | undefined ;
1000
1028
}
1001
1029
/**
1002
1030
* Configure request; value of command field is "configure". Specifies
@@ -2269,6 +2297,39 @@ declare namespace ts.server.protocol {
2269
2297
interface NavTreeResponse extends Response {
2270
2298
body ?: NavigationTree ;
2271
2299
}
2300
+ interface CallHierarchyItem {
2301
+ name : string ;
2302
+ kind : ScriptElementKind ;
2303
+ file : string ;
2304
+ span : TextSpan ;
2305
+ selectionSpan : TextSpan ;
2306
+ }
2307
+ interface CallHierarchyIncomingCall {
2308
+ from : CallHierarchyItem ;
2309
+ fromSpans : TextSpan [ ] ;
2310
+ }
2311
+ interface CallHierarchyOutgoingCall {
2312
+ to : CallHierarchyItem ;
2313
+ fromSpans : TextSpan [ ] ;
2314
+ }
2315
+ interface PrepareCallHierarchyRequest extends FileLocationRequest {
2316
+ command : CommandTypes . PrepareCallHierarchy ;
2317
+ }
2318
+ interface PrepareCallHierarchyResponse extends Response {
2319
+ readonly body : CallHierarchyItem | CallHierarchyItem [ ] ;
2320
+ }
2321
+ interface ProvideCallHierarchyIncomingCallsRequest extends FileLocationRequest {
2322
+ command : CommandTypes . ProvideCallHierarchyIncomingCalls ;
2323
+ }
2324
+ interface ProvideCallHierarchyIncomingCallsResponse extends Response {
2325
+ readonly body : CallHierarchyIncomingCall [ ] ;
2326
+ }
2327
+ interface ProvideCallHierarchyOutgoingCallsRequest extends FileLocationRequest {
2328
+ command : CommandTypes . ProvideCallHierarchyOutgoingCalls ;
2329
+ }
2330
+ interface ProvideCallHierarchyOutgoingCallsResponse extends Response {
2331
+ readonly body : CallHierarchyOutgoingCall [ ] ;
2332
+ }
2272
2333
const enum IndentStyle {
2273
2334
None = "None" ,
2274
2335
Block = "Block" ,
@@ -2565,6 +2626,8 @@ declare namespace ts.server.protocol {
2565
2626
scriptKind ?: ScriptKind ;
2566
2627
}
2567
2628
2629
+ export type CompilerOptionsValue = string | number | boolean | ( string | number ) [ ] | string [ ] | MapLike < string [ ] > | PluginImport [ ] | ProjectReference [ ] | null | undefined ;
2630
+
2568
2631
interface JSDocTagInfo {
2569
2632
name : string ;
2570
2633
text ?: string ;
@@ -2593,12 +2656,13 @@ declare namespace ts.server.protocol {
2593
2656
/** True if it is intended that this reference form a circularity */
2594
2657
circular ?: boolean ;
2595
2658
}
2596
-
2597
- export type CompilerOptionsValue = string | number | boolean | ( string | number ) [ ] | string [ ] | MapLike < string [ ] > | PluginImport [ ] | ProjectReference [ ] | null | undefined ;
2598
2659
}
2599
2660
declare namespace ts {
2600
2661
// these types are empty stubs for types from services and should not be used directly
2601
2662
export type ScriptKind = never ;
2663
+ export type WatchFileKind = never ;
2664
+ export type WatchDirectoryKind = never ;
2665
+ export type PollingWatchKind = never ;
2602
2666
export type IndentStyle = never ;
2603
2667
export type JsxEmit = never ;
2604
2668
export type ModuleKind = never ;
0 commit comments