@@ -103,79 +103,70 @@ export = createLanguageServicePlugin(
103103 request => {
104104 const [ fileName , templateCodeRange ] : Parameters < Requests [ 'collectExtractProps' ] > = request . arguments ;
105105 const { language, program, sourceScript, virtualCode } = getLanguageServiceAndVirtualCode ( fileName ) ;
106- return {
107- response : collectExtractProps ( ts , language , program , sourceScript , virtualCode , templateCodeRange , true ) ,
108- } ;
106+ return createResponse (
107+ collectExtractProps ( ts , language , program , sourceScript , virtualCode , templateCodeRange , true ) ,
108+ ) ;
109109 } ,
110110 ) ;
111111 session . addProtocolHandler ( '_vue:getImportPathForFile' , request => {
112112 const [ fileName , incomingFileName , preferences ] : Parameters < Requests [ 'getImportPathForFile' ] > =
113113 request . arguments ;
114114 const { languageServiceHost, program } = getLanguageService ( fileName ) ;
115- return {
116- response : getImportPathForFile ( ts , languageServiceHost , program , fileName , incomingFileName , preferences ) ,
117- } ;
115+ return createResponse (
116+ getImportPathForFile ( ts , languageServiceHost , program , fileName , incomingFileName , preferences ) ,
117+ ) ;
118118 } ) ;
119119 session . addProtocolHandler ( '_vue:isRefAtLocation' , request => {
120120 const [ fileName , position ] : Parameters < Requests [ 'isRefAtLocation' ] > = request . arguments ;
121121 const { language, program, sourceScript, virtualCode } = getLanguageServiceAndVirtualCode ( fileName ) ;
122- return {
123- response : isRefAtLocation ( ts , language , program , sourceScript , virtualCode , position , true ) ,
124- } ;
122+ return createResponse ( isRefAtLocation ( ts , language , program , sourceScript , virtualCode , position , true ) ) ;
125123 } ) ;
126124 session . addProtocolHandler ( '_vue:getComponentDirectives' , request => {
127125 const [ fileName ] : Parameters < Requests [ 'getComponentDirectives' ] > = request . arguments ;
128126 const { program } = getLanguageService ( fileName ) ;
129- return {
130- response : getComponentDirectives ( ts , program , fileName ) ,
131- } ;
127+ return createResponse ( getComponentDirectives ( ts , program , fileName ) ) ;
132128 } ) ;
133129 session . addProtocolHandler ( '_vue:getComponentEvents' , request => {
134130 const [ fileName , tag ] : Parameters < Requests [ 'getComponentEvents' ] > = request . arguments ;
135131 const { program } = getLanguageService ( fileName ) ;
136- return {
137- response : getComponentEvents ( ts , program , fileName , tag ) ,
138- } ;
132+ return createResponse ( getComponentEvents ( ts , program , fileName , tag ) ) ;
139133 } ) ;
140134 session . addProtocolHandler ( '_vue:getComponentNames' , request => {
141135 const [ fileName ] : Parameters < Requests [ 'getComponentNames' ] > = request . arguments ;
142136 const { program } = getLanguageService ( fileName ) ;
143- return {
144- response : getComponentNames ( ts , program , fileName ) ,
145- } ;
137+ return createResponse ( getComponentNames ( ts , program , fileName ) ) ;
146138 } ) ;
147139 session . addProtocolHandler ( '_vue:getComponentProps' , request => {
148140 const [ fileName , tag ] : Parameters < Requests [ 'getComponentProps' ] > = request . arguments ;
149141 const { program } = getLanguageService ( fileName ) ;
150- return {
151- response : getComponentProps ( ts , program , fileName , tag ) ,
152- } ;
142+ return createResponse ( getComponentProps ( ts , program , fileName , tag ) ) ;
153143 } ) ;
154144 session . addProtocolHandler ( '_vue:getComponentSlots' , request => {
155145 const [ fileName ] : Parameters < Requests [ 'getComponentSlots' ] > = request . arguments ;
156146 const { program, virtualCode } = getLanguageServiceAndVirtualCode ( fileName ) ;
157- return {
158- response : getComponentSlots ( ts , program , virtualCode ) ,
159- } ;
147+ return createResponse ( getComponentSlots ( ts , program , virtualCode ) ) ;
160148 } ) ;
161149 session . addProtocolHandler ( '_vue:getElementAttrs' , request => {
162150 const [ fileName , tag ] : Parameters < Requests [ 'getElementAttrs' ] > = request . arguments ;
163151 const { program } = getLanguageService ( fileName ) ;
164- return {
165- response : getElementAttrs ( ts , program , fileName , tag ) ,
166- } ;
152+ return createResponse ( getElementAttrs ( ts , program , fileName , tag ) ) ;
167153 } ) ;
168154 session . addProtocolHandler ( '_vue:getElementNames' , request => {
169155 const [ fileName ] : Parameters < Requests [ 'getElementNames' ] > = request . arguments ;
170156 const { program } = getLanguageService ( fileName ) ;
171- return {
172- response : getElementNames ( ts , program , fileName ) ,
173- } ;
157+ return createResponse ( getElementNames ( ts , program , fileName ) ) ;
174158 } ) ;
175159
176160 projectService . logger . info ( 'Vue specific commands are successfully added.' ) ;
177161 }
178162
163+ function createResponse ( res : any ) : ts . server . HandlerResponse {
164+ return {
165+ response : res ,
166+ responseRequired : true ,
167+ } ;
168+ }
169+
179170 function getLanguageServiceAndVirtualCode ( fileName : string ) {
180171 const service = getLanguageService ( fileName ) ;
181172 const sourceScript = service ?. language . scripts . get ( fileName ) ;
0 commit comments