Skip to content

Commit d647b72

Browse files
committed
CSharpLanguageServer.Conversions: move CompletionContext.toCompletionTrigger inside CSharpLanguageServer.Handlers.Completion.handle
1 parent a6ced27 commit d647b72

File tree

2 files changed

+13
-18
lines changed

2 files changed

+13
-18
lines changed

src/CSharpLanguageServer/Conversions.fs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@ open System
44
open System.IO
55

66
open Microsoft.CodeAnalysis
7-
open Microsoft.CodeAnalysis.Completion
87
open Microsoft.CodeAnalysis.Text
98
open Ionide.LanguageServerProtocol.Types
109

1110
open CSharpLanguageServer.Util
1211

1312
module Uri =
14-
// Unescape some necessary char before passing string to Uri.
13+
// Unescape some necessary char before passing string to Uri.
1514
// Can't use Uri.UnescapeDataString here. For example, if uri is "file:///z%3a/src/c%23/ProjDir" ("%3a" is
1615
// ":" and "%23" is "#"), Uri.UnescapeDataString will unescape both "%3a" and "%23". Then Uri will think
1716
/// "#/ProjDir" is Fragment instead of part of LocalPath.
@@ -262,18 +261,3 @@ module Diagnostic =
262261
Data = None }
263262

264263
(diagnostic, mappedLineSpan.Path |> Uri.fromPath)
265-
266-
267-
module CompletionContext =
268-
let toCompletionTrigger (context: CompletionContext option) : CompletionTrigger =
269-
context
270-
|> Option.bind (fun ctx ->
271-
match ctx.TriggerKind with
272-
| CompletionTriggerKind.Invoked
273-
| CompletionTriggerKind.TriggerForIncompleteCompletions -> Some CompletionTrigger.Invoke
274-
| CompletionTriggerKind.TriggerCharacter ->
275-
ctx.TriggerCharacter
276-
|> Option.map Seq.head
277-
|> Option.map CompletionTrigger.CreateInsertionTrigger
278-
| _ -> None)
279-
|> Option.defaultValue CompletionTrigger.Invoke

src/CSharpLanguageServer/Handlers/Completion.fs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,18 @@ module Completion =
202202
|> _.WithBool("ShowItemsFromUnimportedNamespaces", false)
203203
|> _.WithBool("ShowNameSuggestions", false)
204204

205-
let completionTrigger = CompletionContext.toCompletionTrigger p.Context
205+
let completionTrigger =
206+
p.Context
207+
|> Option.bind (fun ctx ->
208+
match ctx.TriggerKind with
209+
| CompletionTriggerKind.Invoked
210+
| CompletionTriggerKind.TriggerForIncompleteCompletions -> Some Microsoft.CodeAnalysis.Completion.CompletionTrigger.Invoke
211+
| CompletionTriggerKind.TriggerCharacter ->
212+
ctx.TriggerCharacter
213+
|> Option.map Seq.head
214+
|> Option.map Microsoft.CodeAnalysis.Completion.CompletionTrigger.CreateInsertionTrigger
215+
| _ -> None)
216+
|> Option.defaultValue Microsoft.CodeAnalysis.Completion.CompletionTrigger.Invoke
206217

207218
let shouldTriggerCompletion =
208219
p.Context

0 commit comments

Comments
 (0)