@@ -76,29 +76,30 @@ module ts.server {
7676 }
7777
7878 export module CommandNames {
79- export var Brace = "brace" ;
80- export var Change = "change" ;
81- export var Close = "close" ;
82- export var Completions = "completions" ;
83- export var CompletionDetails = "completionEntryDetails" ;
84- export var Configure = "configure" ;
85- export var Definition = "definition" ;
86- export var Exit = "exit" ;
87- export var Format = "format" ;
88- export var Formatonkey = "formatonkey" ;
89- export var Geterr = "geterr" ;
90- export var NavBar = "navbar" ;
91- export var Navto = "navto" ;
92- export var Occurrences = "occurrences" ;
93- export var Open = "open" ;
94- export var Quickinfo = "quickinfo" ;
95- export var References = "references" ;
96- export var Reload = "reload" ;
97- export var Rename = "rename" ;
98- export var Saveto = "saveto" ;
99- export var SignatureHelp = "signatureHelp" ;
100- export var TypeDefinition = "typeDefinition" ;
101- export var Unknown = "unknown" ;
79+ export const Brace = "brace" ;
80+ export const Change = "change" ;
81+ export const Close = "close" ;
82+ export const Completions = "completions" ;
83+ export const CompletionDetails = "completionEntryDetails" ;
84+ export const Configure = "configure" ;
85+ export const Definition = "definition" ;
86+ export const Exit = "exit" ;
87+ export const Format = "format" ;
88+ export const Formatonkey = "formatonkey" ;
89+ export const Geterr = "geterr" ;
90+ export const NavBar = "navbar" ;
91+ export const Navto = "navto" ;
92+ export const Occurrences = "occurrences" ;
93+ export const Open = "open" ;
94+ export const Quickinfo = "quickinfo" ;
95+ export const References = "references" ;
96+ export const Reload = "reload" ;
97+ export const Rename = "rename" ;
98+ export const Saveto = "saveto" ;
99+ export const SignatureHelp = "signatureHelp" ;
100+ export const TypeDefinition = "typeDefinition" ;
101+ export const ProjectInfo = "projectInfo" ;
102+ export const Unknown = "unknown" ;
102103 }
103104
104105 module Errors {
@@ -338,6 +339,21 @@ module ts.server {
338339 } ) ;
339340 }
340341
342+ getProjectInfo ( fileName : string , needFileNameList : boolean ) : protocol . ProjectInfo {
343+ fileName = ts . normalizePath ( fileName )
344+ let project = this . projectService . getProjectForFile ( fileName )
345+
346+ let projectInfo : protocol . ProjectInfo = {
347+ configFileName : project . projectFilename
348+ }
349+
350+ if ( needFileNameList ) {
351+ projectInfo . fileNameList = project . getFileNameList ( ) ;
352+ }
353+
354+ return projectInfo ;
355+ }
356+
341357 getRenameLocations ( line : number , offset : number , fileName : string , findInComments : boolean , findInStrings : boolean ) : protocol . RenameResponseBody {
342358 var file = ts . normalizePath ( fileName ) ;
343359 var project = this . projectService . getProjectForFile ( file ) ;
@@ -951,6 +967,11 @@ module ts.server {
951967 response = this . getOccurrences ( line , offset , fileName ) ;
952968 break ;
953969 }
970+ case CommandNames . ProjectInfo : {
971+ var { file, needFileNameList } = < protocol . ProjectInfoRequestArgs > request . arguments ;
972+ response = this . getProjectInfo ( file , needFileNameList ) ;
973+ break ;
974+ }
954975 default : {
955976 this . projectService . log ( "Unrecognized JSON command: " + message ) ;
956977 this . output ( undefined , CommandNames . Unknown , request . seq , "Unrecognized JSON command: " + request . command ) ;
0 commit comments