@@ -1915,6 +1915,8 @@ private static CompletionItem CreateCompletionItem(
1915
1915
{
1916
1916
string detailString = null ;
1917
1917
string documentationString = null ;
1918
+ string completionText = completionDetails . CompletionText ;
1919
+ InsertTextFormat insertTextFormat = InsertTextFormat . PlainText ;
1918
1920
1919
1921
if ( ( completionDetails . CompletionType == CompletionType . Variable ) ||
1920
1922
( completionDetails . CompletionType == CompletionType . ParameterName ) )
@@ -1956,6 +1958,14 @@ private static CompletionItem CreateCompletionItem(
1956
1958
}
1957
1959
}
1958
1960
}
1961
+ else if ( ( ( completionDetails . CompletionType == CompletionType . File ) ||
1962
+ ( completionDetails . CompletionType == CompletionType . Folder ) ) &&
1963
+ ( completionText . EndsWith ( "\" " ) || completionText . EndsWith ( "'" ) ) )
1964
+ {
1965
+ int len = completionDetails . CompletionText . Length ;
1966
+ completionText = completionDetails . CompletionText . Insert ( len - 1 , "$0" ) ;
1967
+ insertTextFormat = InsertTextFormat . Snippet ;
1968
+ }
1959
1969
1960
1970
// Force the client to maintain the sort order in which the
1961
1971
// original completion results were returned. We just need to
@@ -1966,7 +1976,8 @@ private static CompletionItem CreateCompletionItem(
1966
1976
1967
1977
return new CompletionItem
1968
1978
{
1969
- InsertText = completionDetails . CompletionText ,
1979
+ InsertText = completionText ,
1980
+ InsertTextFormat = insertTextFormat ,
1970
1981
Label = completionDetails . ListItemText ,
1971
1982
Kind = MapCompletionKind ( completionDetails . CompletionType ) ,
1972
1983
Detail = detailString ,
@@ -1975,7 +1986,7 @@ private static CompletionItem CreateCompletionItem(
1975
1986
FilterText = completionDetails . CompletionText ,
1976
1987
TextEdit = new TextEdit
1977
1988
{
1978
- NewText = completionDetails . CompletionText ,
1989
+ NewText = completionText ,
1979
1990
Range = new Range
1980
1991
{
1981
1992
Start = new Position
0 commit comments