Unified symbol-to-docblock server command
[hiphop-php.git] / hphp / hack / test / integration / data / lsp_exchanges / completion.expected
bloba805506a11891671557c6063e82e50d99da1a05d
2   {
3     "jsonrpc": "2.0",
4     "id": 1,
5     "result": {
6       "capabilities": {
7         "textDocumentSync": {
8           "openClose": true,
9           "change": 2,
10           "willSave": false,
11           "willSaveWaitUntil": false,
12           "save": {
13             "includeText": false
14           }
15         },
16         "hoverProvider": true,
17         "completionProvider": {
18           "resolveProvider": true,
19           "triggerCharacters": [
20             "$",
21             ">",
22             "\\",
23             ":",
24             "<",
25             "[",
26             "'",
27             "\""
28           ]
29         },
30         "signatureHelpProvider": {
31           "triggerCharacters": [
32             "(",
33             ","
34           ]
35         },
36         "definitionProvider": true,
37         "typeDefinitionProvider": true,
38         "referencesProvider": true,
39         "documentHighlightProvider": true,
40         "documentSymbolProvider": true,
41         "workspaceSymbolProvider": true,
42         "codeActionProvider": false,
43         "documentFormattingProvider": true,
44         "documentRangeFormattingProvider": true,
45         "documentOnTypeFormattingProvider": {
46           "firstTriggerCharacter": ";",
47           "moreTriggerCharacter": [
48             "}"
49           ]
50         },
51         "renameProvider": true,
52         "typeCoverageProvider": true,
53         "rageProvider": true
54       }
55     }
56   },
57   {
58     "jsonrpc": "2.0",
59     "id": 20,
60     "result": {
61       "isIncomplete": false,
62       "items": [
63         {
64           "label": "ab:cd:alpha",
65           "kind": 7,
66           "detail": "class",
67           "inlineDetail": "class",
68           "insertTextFormat": 1,
69           "textEdit": {
70             "range": {
71               "start": {
72                 "line": 3,
73                 "character": 6
74               },
75               "end": {
76                 "line": 3,
77                 "character": 6
78               }
79             },
80             "newText": "ab:cd:alpha"
81           },
82           "data": {
83             "filename": "${root_path}${path_sep}completion_extras.php",
84             "line": 9,
85             "char": 13,
86             "base_class": null
87           }
88         },
89         {
90           "label": "ab:cd:text",
91           "kind": 7,
92           "detail": "class",
93           "inlineDetail": "class",
94           "insertTextFormat": 1,
95           "textEdit": {
96             "range": {
97               "start": {
98                 "line": 3,
99                 "character": 6
100               },
101               "end": {
102                 "line": 3,
103                 "character": 6
104               }
105             },
106             "newText": "ab:cd:text"
107           },
108           "data": {
109             "filename": "${root_path}${path_sep}completion_extras.php",
110             "line": 4,
111             "char": 13,
112             "base_class": null
113           }
114         }
115       ]
116     }
117   },
118   {
119     "jsonrpc": "2.0",
120     "id": 30,
121     "result": {
122       "isIncomplete": false,
123       "items": [
124         {
125           "label": "ab:cd:alpha",
126           "kind": 7,
127           "detail": "class",
128           "inlineDetail": "class",
129           "insertTextFormat": 1,
130           "textEdit": {
131             "range": {
132               "start": {
133                 "line": 3,
134                 "character": 6
135               },
136               "end": {
137                 "line": 3,
138                 "character": 7
139               }
140             },
141             "newText": "ab:cd:alpha"
142           },
143           "data": {
144             "filename": "${root_path}${path_sep}completion_extras.php",
145             "line": 9,
146             "char": 13,
147             "base_class": null
148           }
149         },
150         {
151           "label": "ab:cd:text",
152           "kind": 7,
153           "detail": "class",
154           "inlineDetail": "class",
155           "insertTextFormat": 1,
156           "textEdit": {
157             "range": {
158               "start": {
159                 "line": 3,
160                 "character": 6
161               },
162               "end": {
163                 "line": 3,
164                 "character": 7
165               }
166             },
167             "newText": "ab:cd:text"
168           },
169           "data": {
170             "filename": "${root_path}${path_sep}completion_extras.php",
171             "line": 4,
172             "char": 13,
173             "base_class": null
174           }
175         }
176       ]
177     }
178   },
179   {
180     "jsonrpc": "2.0",
181     "id": 32,
182     "result": {
183       "isIncomplete": false,
184       "items": [
185         {
186           "label": "ab:cd:alpha",
187           "kind": 7,
188           "detail": "class",
189           "inlineDetail": "class",
190           "insertTextFormat": 1,
191           "textEdit": {
192             "range": {
193               "start": {
194                 "line": 3,
195                 "character": 6
196               },
197               "end": {
198                 "line": 3,
199                 "character": 9
200               }
201             },
202             "newText": "ab:cd:alpha"
203           },
204           "data": {
205             "filename": "${root_path}${path_sep}completion_extras.php",
206             "line": 9,
207             "char": 13,
208             "base_class": null
209           }
210         },
211         {
212           "label": "ab:cd:text",
213           "kind": 7,
214           "detail": "class",
215           "inlineDetail": "class",
216           "insertTextFormat": 1,
217           "textEdit": {
218             "range": {
219               "start": {
220                 "line": 3,
221                 "character": 6
222               },
223               "end": {
224                 "line": 3,
225                 "character": 9
226               }
227             },
228             "newText": "ab:cd:text"
229           },
230           "data": {
231             "filename": "${root_path}${path_sep}completion_extras.php",
232             "line": 4,
233             "char": 13,
234             "base_class": null
235           }
236         }
237       ]
238     }
239   },
240   {
241     "jsonrpc": "2.0",
242     "id": 40,
243     "result": {
244       "isIncomplete": false,
245       "items": [
246         {
247           "label": "width",
248           "kind": 10,
249           "detail": "?int",
250           "inlineDetail": "?int",
251           "insertTextFormat": 1,
252           "textEdit": {
253             "range": {
254               "start": {
255                 "line": 3,
256                 "character": 17
257               },
258               "end": {
259                 "line": 3,
260                 "character": 17
261               }
262             },
263             "newText": "width"
264           },
265           "data": {
266             "filename": "${root_path}${path_sep}completion_extras.php",
267             "line": 5,
268             "char": 27,
269             "base_class": "\\:ab:cd:text"
270           }
271         },
272         {
273           "label": "color",
274           "kind": 10,
275           "detail": "?string",
276           "inlineDetail": "?string",
277           "insertTextFormat": 1,
278           "textEdit": {
279             "range": {
280               "start": {
281                 "line": 3,
282                 "character": 17
283               },
284               "end": {
285                 "line": 3,
286                 "character": 17
287               }
288             },
289             "newText": "color"
290           },
291           "data": {
292             "filename": "${root_path}${path_sep}completion_extras.php",
293             "line": 5,
294             "char": 13,
295             "base_class": "\\:ab:cd:text"
296           }
297         }
298       ]
299     }
300   },
301   {
302     "jsonrpc": "2.0",
303     "id": 50,
304     "result": {
305       "isIncomplete": false,
306       "items": [
307         {
308           "label": "width",
309           "kind": 10,
310           "detail": "?int",
311           "inlineDetail": "?int",
312           "insertTextFormat": 1,
313           "textEdit": {
314             "range": {
315               "start": {
316                 "line": 3,
317                 "character": 17
318               },
319               "end": {
320                 "line": 3,
321                 "character": 18
322               }
323             },
324             "newText": "width"
325           },
326           "data": {
327             "filename": "${root_path}${path_sep}completion_extras.php",
328             "line": 5,
329             "char": 27,
330             "base_class": "\\:ab:cd:text"
331           }
332         },
333         {
334           "label": "color",
335           "kind": 10,
336           "detail": "?string",
337           "inlineDetail": "?string",
338           "insertTextFormat": 1,
339           "textEdit": {
340             "range": {
341               "start": {
342                 "line": 3,
343                 "character": 17
344               },
345               "end": {
346                 "line": 3,
347                 "character": 18
348               }
349             },
350             "newText": "color"
351           },
352           "data": {
353             "filename": "${root_path}${path_sep}completion_extras.php",
354             "line": 5,
355             "char": 13,
356             "base_class": "\\:ab:cd:text"
357           }
358         }
359       ]
360     }
361   },
362   {
363     "jsonrpc": "2.0",
364     "id": 60,
365     "result": {
366       "isIncomplete": false,
367       "items": [
368         {
369           "label": ":ab:cd:alpha",
370           "kind": 4,
371           "detail": "function(): :ab:cd:alpha",
372           "inlineDetail": "()",
373           "itemType": ":ab:cd:alpha",
374           "insertTextFormat": 1,
375           "textEdit": {
376             "range": {
377               "start": {
378                 "line": 3,
379                 "character": 9
380               },
381               "end": {
382                 "line": 3,
383                 "character": 10
384               }
385             },
386             "newText": ":ab:cd:alpha"
387           },
388           "data": {
389             "filename": "${root_path}${path_sep}completion_extras.php",
390             "line": 9,
391             "char": 13,
392             "base_class": "\\:ab:cd:alpha"
393           }
394         },
395         {
396           "label": ":ab:cd:text",
397           "kind": 4,
398           "detail": "function(): :ab:cd:text",
399           "inlineDetail": "()",
400           "itemType": ":ab:cd:text",
401           "insertTextFormat": 1,
402           "textEdit": {
403             "range": {
404               "start": {
405                 "line": 3,
406                 "character": 9
407               },
408               "end": {
409                 "line": 3,
410                 "character": 10
411               }
412             },
413             "newText": ":ab:cd:text"
414           },
415           "data": {
416             "filename": "${root_path}${path_sep}completion_extras.php",
417             "line": 4,
418             "char": 13,
419             "base_class": "\\:ab:cd:text"
420           }
421         }
422       ]
423     }
424   },
425   {
426     "jsonrpc": "2.0",
427     "id": 70,
428     "result": {
429       "isIncomplete": false,
430       "items": [
431         {
432           "label": ":ab:cd:alpha",
433           "kind": 4,
434           "detail": "function(): :ab:cd:alpha",
435           "inlineDetail": "()",
436           "itemType": ":ab:cd:alpha",
437           "insertTextFormat": 1,
438           "textEdit": {
439             "range": {
440               "start": {
441                 "line": 3,
442                 "character": 9
443               },
444               "end": {
445                 "line": 3,
446                 "character": 11
447               }
448             },
449             "newText": ":ab:cd:alpha"
450           },
451           "data": {
452             "filename": "${root_path}${path_sep}completion_extras.php",
453             "line": 9,
454             "char": 13,
455             "base_class": "\\:ab:cd:alpha"
456           }
457         },
458         {
459           "label": ":ab:cd:text",
460           "kind": 4,
461           "detail": "function(): :ab:cd:text",
462           "inlineDetail": "()",
463           "itemType": ":ab:cd:text",
464           "insertTextFormat": 1,
465           "textEdit": {
466             "range": {
467               "start": {
468                 "line": 3,
469                 "character": 9
470               },
471               "end": {
472                 "line": 3,
473                 "character": 11
474               }
475             },
476             "newText": ":ab:cd:text"
477           },
478           "data": {
479             "filename": "${root_path}${path_sep}completion_extras.php",
480             "line": 4,
481             "char": 13,
482             "base_class": "\\:ab:cd:text"
483           }
484         }
485       ]
486     }
487   },
488   {
489     "jsonrpc": "2.0",
490     "id": 80,
491     "result": {
492       "label": ":ab:cd:alpha",
493       "kind": 4,
494       "detail": "function(): :ab:cd:alpha",
495       "inlineDetail": "()",
496       "itemType": ":ab:cd:alpha",
497       "documentation": ":ab:cd:alpha docblock",
498       "insertText": ":ab:cd:alpha",
499       "insertTextFormat": 1,
500       "data": {
501         "filename": "${root_path}${path_sep}completion_extras.php",
502         "line": 9,
503         "char": 13
504       }
505     }
506   },
507   {
508     "jsonrpc": "2.0",
509     "id": 90,
510     "result": {
511       "isIncomplete": false,
512       "items": [
513         {
514           "label": ":width",
515           "kind": 10,
516           "detail": "?int",
517           "inlineDetail": "?int",
518           "insertTextFormat": 1,
519           "textEdit": {
520             "range": {
521               "start": {
522                 "line": 3,
523                 "character": 29
524               },
525               "end": {
526                 "line": 3,
527                 "character": 29
528               }
529             },
530             "newText": ":width"
531           },
532           "data": {
533             "filename": "${root_path}${path_sep}completion_extras.php",
534             "line": 5,
535             "char": 27,
536             "base_class": "\\:ab:cd:text"
537           }
538         },
539         {
540           "label": ":color",
541           "kind": 10,
542           "detail": "?string",
543           "inlineDetail": "?string",
544           "insertTextFormat": 1,
545           "textEdit": {
546             "range": {
547               "start": {
548                 "line": 3,
549                 "character": 29
550               },
551               "end": {
552                 "line": 3,
553                 "character": 29
554               }
555             },
556             "newText": ":color"
557           },
558           "data": {
559             "filename": "${root_path}${path_sep}completion_extras.php",
560             "line": 5,
561             "char": 13,
562             "base_class": "\\:ab:cd:text"
563           }
564         }
565       ]
566     }
567   },
568   {
569     "jsonrpc": "2.0",
570     "id": 100,
571     "result": {
572       "isIncomplete": false,
573       "items": [
574         {
575           "label": ":width",
576           "kind": 10,
577           "detail": "?int",
578           "inlineDetail": "?int",
579           "insertTextFormat": 1,
580           "textEdit": {
581             "range": {
582               "start": {
583                 "line": 3,
584                 "character": 29
585               },
586               "end": {
587                 "line": 3,
588                 "character": 30
589               }
590             },
591             "newText": ":width"
592           },
593           "data": {
594             "filename": "${root_path}${path_sep}completion_extras.php",
595             "line": 5,
596             "char": 27,
597             "base_class": "\\:ab:cd:text"
598           }
599         },
600         {
601           "label": ":color",
602           "kind": 10,
603           "detail": "?string",
604           "inlineDetail": "?string",
605           "insertTextFormat": 1,
606           "textEdit": {
607             "range": {
608               "start": {
609                 "line": 3,
610                 "character": 29
611               },
612               "end": {
613                 "line": 3,
614                 "character": 30
615               }
616             },
617             "newText": ":color"
618           },
619           "data": {
620             "filename": "${root_path}${path_sep}completion_extras.php",
621             "line": 5,
622             "char": 13,
623             "base_class": "\\:ab:cd:text"
624           }
625         }
626       ]
627     }
628   },
629   {
630     "jsonrpc": "2.0",
631     "id": 110,
632     "result": {
633       "isIncomplete": false,
634       "items": [
635         {
636           "label": "test_function",
637           "kind": 3,
638           "detail": "function(): void",
639           "inlineDetail": "()",
640           "itemType": "void",
641           "insertTextFormat": 1,
642           "textEdit": {
643             "range": {
644               "start": {
645                 "line": 3,
646                 "character": 0
647               },
648               "end": {
649                 "line": 3,
650                 "character": 8
651               }
652             },
653             "newText": "test_function"
654           },
655           "data": {
656             "filename": "${root_path}${path_sep}completion.php",
657             "line": 8,
658             "char": 10,
659             "base_class": null
660           }
661         }
662       ]
663     }
664   },
665   {
666     "jsonrpc": "2.0",
667     "id": 120,
668     "result": {
669       "label": "test_function",
670       "kind": 3,
671       "detail": "function(): void",
672       "inlineDetail": "()",
673       "itemType": "void",
674       "documentation": "test_function docblock.",
675       "insertText": "test_function",
676       "insertTextFormat": 1,
677       "data": {
678         "filename": "${root_path}${path_sep}completion.php",
679         "line": 8,
680         "char": 10
681       }
682     }
683   },
684   {
685     "jsonrpc": "2.0",
686     "id": 130,
687     "result": {
688       "isIncomplete": false,
689       "items": []
690     }
691   },
692   {
693     "jsonrpc": "2.0",
694     "id": 140,
695     "result": {
696       "isIncomplete": false,
697       "items": [
698         {
699           "label": "class",
700           "kind": 12,
701           "detail": "classname<this>",
702           "inlineDetail": "classname<this>",
703           "insertTextFormat": 1,
704           "textEdit": {
705             "range": {
706               "start": {
707                 "line": 3,
708                 "character": 35
709               },
710               "end": {
711                 "line": 3,
712                 "character": 35
713               }
714             },
715             "newText": "class"
716           },
717           "data": {
718             "filename": "${root_path}${path_sep}completion_extras.php",
719             "line": 13,
720             "char": 6,
721             "base_class": "\\Elsa"
722           }
723         },
724         {
725           "label": "Bard",
726           "kind": 12,
727           "detail": "Elsa",
728           "inlineDetail": "Elsa",
729           "insertTextFormat": 1,
730           "textEdit": {
731             "range": {
732               "start": {
733                 "line": 3,
734                 "character": 35
735               },
736               "end": {
737                 "line": 3,
738                 "character": 35
739               }
740             },
741             "newText": "Bard"
742           },
743           "data": {
744             "filename": "${root_path}${path_sep}completion_extras.php",
745             "line": 13,
746             "char": 12,
747             "base_class": "\\Elsa"
748           }
749         },
750         {
751           "label": "Alonso",
752           "kind": 12,
753           "detail": "Elsa",
754           "inlineDetail": "Elsa",
755           "insertTextFormat": 1,
756           "textEdit": {
757             "range": {
758               "start": {
759                 "line": 3,
760                 "character": 35
761               },
762               "end": {
763                 "line": 3,
764                 "character": 35
765               }
766             },
767             "newText": "Alonso"
768           },
769           "data": {
770             "filename": "${root_path}${path_sep}completion_extras.php",
771             "line": 13,
772             "char": 12,
773             "base_class": "\\Elsa"
774           }
775         },
776         {
777           "label": "isValid",
778           "kind": 2,
779           "detail": "function(mixed $value): bool",
780           "inlineDetail": "(mixed $value)",
781           "itemType": "bool",
782           "insertTextFormat": 1,
783           "textEdit": {
784             "range": {
785               "start": {
786                 "line": 3,
787                 "character": 35
788               },
789               "end": {
790                 "line": 3,
791                 "character": 35
792               }
793             },
794             "newText": "isValid"
795           },
796           "data": {
797             "filename": "${hhi_path}${path_sep}BuiltinEnum.hhi",
798             "line": 49,
799             "char": 32,
800             "base_class": "\\Elsa"
801           }
802         },
803         {
804           "label": "getValues",
805           "kind": 2,
806           "detail": "function(): darray<string, Elsa>",
807           "inlineDetail": "()",
808           "itemType": "darray<string, Elsa>",
809           "insertTextFormat": 1,
810           "textEdit": {
811             "range": {
812               "start": {
813                 "line": 3,
814                 "character": 35
815               },
816               "end": {
817                 "line": 3,
818                 "character": 35
819               }
820             },
821             "newText": "getValues"
822           },
823           "data": {
824             "filename": "${hhi_path}${path_sep}BuiltinEnum.hhi",
825             "line": 34,
826             "char": 32,
827             "base_class": "\\Elsa"
828           }
829         },
830         {
831           "label": "getNames",
832           "kind": 2,
833           "detail": "function(): darray<Elsa, string>",
834           "inlineDetail": "()",
835           "itemType": "darray<Elsa, string>",
836           "insertTextFormat": 1,
837           "textEdit": {
838             "range": {
839               "start": {
840                 "line": 3,
841                 "character": 35
842               },
843               "end": {
844                 "line": 3,
845                 "character": 35
846               }
847             },
848             "newText": "getNames"
849           },
850           "data": {
851             "filename": "${hhi_path}${path_sep}BuiltinEnum.hhi",
852             "line": 43,
853             "char": 32,
854             "base_class": "\\Elsa"
855           }
856         },
857         {
858           "label": "coerce",
859           "kind": 2,
860           "detail": "function(mixed $value): ?Elsa",
861           "inlineDetail": "(mixed $value)",
862           "itemType": "?Elsa",
863           "insertTextFormat": 1,
864           "textEdit": {
865             "range": {
866               "start": {
867                 "line": 3,
868                 "character": 35
869               },
870               "end": {
871                 "line": 3,
872                 "character": 35
873               }
874             },
875             "newText": "coerce"
876           },
877           "data": {
878             "filename": "${hhi_path}${path_sep}BuiltinEnum.hhi",
879             "line": 56,
880             "char": 32,
881             "base_class": "\\Elsa"
882           }
883         },
884         {
885           "label": "assertAll",
886           "kind": 2,
887           "detail": "function(Traversable<mixed> $values): Container<Elsa>",
888           "inlineDetail": "(Traversable<mixed> $values)",
889           "itemType": "Container<Elsa>",
890           "insertTextFormat": 1,
891           "textEdit": {
892             "range": {
893               "start": {
894                 "line": 3,
895                 "character": 35
896               },
897               "end": {
898                 "line": 3,
899                 "character": 35
900               }
901             },
902             "newText": "assertAll"
903           },
904           "data": {
905             "filename": "${hhi_path}${path_sep}BuiltinEnum.hhi",
906             "line": 70,
907             "char": 32,
908             "base_class": "\\Elsa"
909           }
910         },
911         {
912           "label": "assert",
913           "kind": 2,
914           "detail": "function(mixed $value): Elsa",
915           "inlineDetail": "(mixed $value)",
916           "itemType": "Elsa",
917           "insertTextFormat": 1,
918           "textEdit": {
919             "range": {
920               "start": {
921                 "line": 3,
922                 "character": 35
923               },
924               "end": {
925                 "line": 3,
926                 "character": 35
927               }
928             },
929             "newText": "assert"
930           },
931           "data": {
932             "filename": "${hhi_path}${path_sep}BuiltinEnum.hhi",
933             "line": 63,
934             "char": 32,
935             "base_class": "\\Elsa"
936           }
937         }
938       ]
939     }
940   },
941   {
942     "jsonrpc": "2.0",
943     "id": 145,
944     "result": {
945       "label": "isValid",
946       "kind": 2,
947       "detail": "function(mixed $value): bool",
948       "inlineDetail": "(mixed $value)",
949       "itemType": "bool",
950       "documentation": "\nReturns whether or not the value is defined as a constant.\n",
951       "insertTextFormat": 1,
952       "textEdit": {
953         "range": {
954           "start": {
955             "line": 3,
956             "character": 35
957           },
958           "end": {
959             "line": 3,
960             "character": 35
961           }
962         },
963         "newText": "isValid"
964       },
965       "data": {
966         "filename": "${hhi_path}${path_sep}BuiltinEnum.hhi",
967         "line": 49,
968         "char": 32
969       }
970     }
971   },
972   {
973     "jsonrpc": "2.0",
974     "id": 150,
975     "result": {
976       "isIncomplete": false,
977       "items": []
978     }
979   },
980   {
981     "jsonrpc": "2.0",
982     "id": 160,
983     "result": {
984       "isIncomplete": false,
985       "items": [
986         {
987           "label": "test_func",
988           "kind": 3,
989           "detail": "function(): void",
990           "inlineDetail": "()",
991           "itemType": "void",
992           "insertTextFormat": 1,
993           "textEdit": {
994             "range": {
995               "start": {
996                 "line": 3,
997                 "character": 7
998               },
999               "end": {
1000                 "line": 3,
1001                 "character": 7
1002               }
1003             },
1004             "newText": "test_func"
1005           },
1006           "data": {
1007             "filename": "${root_path}${path_sep}completion_extras_namespace.php",
1008             "line": 5,
1009             "char": 10,
1010             "base_class": null
1011           }
1012         }
1013       ]
1014     }
1015   },
1016   {
1017     "jsonrpc": "2.0",
1018     "id": 170,
1019     "result": {
1020       "isIncomplete": false,
1021       "items": [
1022         {
1023           "label": "interfaceDocBlockMethod",
1024           "kind": 2,
1025           "detail": "function(): void",
1026           "inlineDetail": "()",
1027           "itemType": "void",
1028           "insertTextFormat": 1,
1029           "textEdit": {
1030             "range": {
1031               "start": {
1032                 "line": 3,
1033                 "character": 34
1034               },
1035               "end": {
1036                 "line": 3,
1037                 "character": 41
1038               }
1039             },
1040             "newText": "interfaceDocBlockMethod"
1041           },
1042           "data": {
1043             "filename": "${root_path}${path_sep}completion.php",
1044             "line": 18,
1045             "char": 19,
1046             "base_class": "\\CompletionClass"
1047           }
1048         }
1049       ]
1050     }
1051   },
1052   {
1053     "jsonrpc": "2.0",
1054     "id": 180,
1055     "result": {
1056       "label": "interfaceDocBlockMethod",
1057       "kind": 2,
1058       "detail": "function(): void",
1059       "inlineDetail": "()",
1060       "itemType": "void",
1061       "insertTextFormat": 1,
1062       "textEdit": {
1063         "range": {
1064           "start": {
1065             "line": 3,
1066             "character": 34
1067           },
1068           "end": {
1069             "line": 3,
1070             "character": 41
1071           }
1072         },
1073         "newText": "interfaceDocBlockMethod"
1074       },
1075       "data": {
1076         "filename": "${root_path}${path_sep}completion.php",
1077         "line": 18,
1078         "char": 19
1079       }
1080     }
1081   },
1082   {
1083     "jsonrpc": "2.0",
1084     "id": 999,
1085     "result": null
1086   }