@@ -14,12 +14,14 @@ M.getUltisnipItems = function(prefix)
14
14
end
15
15
local priority = vim .g .completion_items_priority [' UltiSnips' ] or 1
16
16
local kind = ' UltiSnips'
17
+ local dup = opt .get_option (' items_duplicate' )[kind ] or 1
17
18
kind = opt .get_option (' customize_lsp_label' )[kind ] or kind
18
19
for key , val in pairs (snippetsList ) do
19
20
local item = {}
20
21
item .word = key
21
22
item .kind = kind
22
23
item .priority = priority
24
+ item .dup = dup
23
25
local user_data = {snippet_source = ' UltiSnips' , hover = val }
24
26
item .user_data = user_data
25
27
match .matching (complete_items , prefix , item )
@@ -36,6 +38,7 @@ M.getNeosnippetItems = function(prefix)
36
38
end
37
39
local kind = ' Neosnippet'
38
40
kind = opt .get_option (' customize_lsp_label' )[kind ] or kind
41
+ local dup = opt .get_option (' items_duplicate' )[kind ] or 1
39
42
local priority = vim .g .completion_items_priority [' Neosnippet' ]
40
43
for key , val in pairs (snippetsList ) do
41
44
local description
@@ -45,6 +48,7 @@ M.getNeosnippetItems = function(prefix)
45
48
item .word = key
46
49
item .kind = kind
47
50
item .priority = priority
51
+ item .dup = dup
48
52
item .user_data = user_data
49
53
match .matching (complete_items , prefix , item )
50
54
end
@@ -61,6 +65,7 @@ M.getVsnipItems = function(prefix)
61
65
local kind = ' vim-vsnip'
62
66
kind = opt .get_option (' customize_lsp_label' )[kind ] or kind
63
67
local priority = vim .g .completion_items_priority [' vim-vsnip' ]
68
+ local dup = opt .get_option (' items_duplicate' )[kind ] or 1
64
69
for _ , source in pairs (snippetsList ) do
65
70
for _ , snippet in pairs (source ) do
66
71
for _ , word in pairs (snippet .prefix ) do
@@ -69,6 +74,7 @@ M.getVsnipItems = function(prefix)
69
74
item .word = word
70
75
item .kind = kind
71
76
item .menu = snippet .label
77
+ item .dup = dup
72
78
item .priority = priority
73
79
item .user_data = user_data
74
80
match .matching (complete_items , prefix , item )
@@ -90,6 +96,7 @@ M.getSnippetsNvimItems = function(prefix)
90
96
end
91
97
local priority = vim .g .completion_items_priority [' snippets.nvim' ] or 1
92
98
local kind = ' snippets.nvim'
99
+ local dup = opt .get_option (' items_duplicate' )[kind ] or 1
93
100
kind = opt .get_option (' customize_lsp_label' )[kind ] or kind
94
101
for short , long in pairs (snippetsList ) do
95
102
-- TODO: We cannot put the parsed snippet itself in userdata, since it may
@@ -99,6 +106,7 @@ M.getSnippetsNvimItems = function(prefix)
99
106
local item = {}
100
107
item .word = short
101
108
item .kind = kind
109
+ item .dup = dup
102
110
-- TODO: Turn actual snippet text into label/description?
103
111
item .menu = short
104
112
item .priority = priority
0 commit comments