@@ -60,20 +60,26 @@ export default class OmnisharpCompletionProvider extends AbstractProvider implem
6060 }
6161
6262 private _convertToVscodeCompletionItem ( omnisharpCompletion : protocol . OmnisharpCompletionItem ) : CompletionItem {
63- let docs : MarkdownString | undefined = omnisharpCompletion . Documentation ? new MarkdownString ( omnisharpCompletion . Documentation , false ) : undefined ;
63+ const docs : MarkdownString | undefined = omnisharpCompletion . Documentation ? new MarkdownString ( omnisharpCompletion . Documentation , false ) : undefined ;
6464
65- const mapTextEdit = function ( edit : protocol . LinePositionSpanTextChange ) : TextEdit {
65+ const mapRange = function ( edit : protocol . LinePositionSpanTextChange ) : Range {
6666 const newStart = new Position ( edit . StartLine - 1 , edit . StartColumn - 1 ) ;
6767 const newEnd = new Position ( edit . EndLine - 1 , edit . EndColumn - 1 ) ;
68- const newRange = new Range ( newStart , newEnd ) ;
69- return new TextEdit ( newRange , edit . NewText ) ;
68+ return new Range ( newStart , newEnd ) ;
69+ } ;
70+
71+ const mapTextEdit = function ( edit : protocol . LinePositionSpanTextChange ) : TextEdit {
72+ return new TextEdit ( mapRange ( edit ) , edit . NewText ) ;
7073 } ;
7174
7275 const additionalTextEdits = omnisharpCompletion . AdditionalTextEdits ?. map ( mapTextEdit ) ;
7376
77+ const newText = omnisharpCompletion . TextEdit ?. NewText ?? omnisharpCompletion . InsertText ;
7478 const insertText = omnisharpCompletion . InsertTextFormat === InsertTextFormat . Snippet
75- ? new SnippetString ( omnisharpCompletion . InsertText )
76- : omnisharpCompletion . InsertText ;
79+ ? new SnippetString ( newText )
80+ : newText ;
81+
82+ const insertRange = omnisharpCompletion . TextEdit ? mapRange ( omnisharpCompletion . TextEdit ) : undefined ;
7783
7884 return {
7985 label : omnisharpCompletion . Label ,
@@ -84,6 +90,7 @@ export default class OmnisharpCompletionProvider extends AbstractProvider implem
8490 preselect : omnisharpCompletion . Preselect ,
8591 filterText : omnisharpCompletion . FilterText ,
8692 insertText : insertText ,
93+ range : insertRange ,
8794 tags : omnisharpCompletion . Tags ,
8895 sortText : omnisharpCompletion . SortText ,
8996 additionalTextEdits : additionalTextEdits ,
0 commit comments