Skip to content

Commit 8fbe1c2

Browse files
committed
feat: add snippets
1 parent 082b8d5 commit 8fbe1c2

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

lib/next_ls.ex

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ defmodule NextLS do
579579
_ -> []
580580
end
581581
end)
582-
|> Enum.map(fn %{name: name, kind: kind} = symbol ->
582+
|> Enum.reduce([], fn %{name: name, kind: kind} = symbol, results ->
583583
{label, kind, docs} =
584584
case kind do
585585
:struct -> {name, GenLSP.Enumerations.CompletionItemKind.struct(), ""}
@@ -592,13 +592,21 @@ defmodule NextLS do
592592
_ -> {name, GenLSP.Enumerations.CompletionItemKind.text(), ""}
593593
end
594594

595-
%GenLSP.Structures.CompletionItem{
596-
label: label,
597-
kind: kind,
598-
insert_text: name,
599-
documentation: docs
600-
}
595+
completion_item =
596+
%GenLSP.Structures.CompletionItem{
597+
label: label,
598+
kind: kind,
599+
insert_text: name,
600+
documentation: docs
601+
}
602+
603+
case NextLS.Snippet.get(name, nil) do
604+
nil -> [completion_item | results]
605+
snippets when is_list(snippets) -> results ++ snippets
606+
snippet -> [snippet | results]
607+
end
601608
end)
609+
|> Enum.reverse()
602610

603611
{:reply, results, lsp}
604612
rescue

0 commit comments

Comments
 (0)