]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
add snippet preview to ultisnip integration
authorOleksiy Hryshchenko <greeschenko@gmail.com>
Wed, 5 Apr 2023 09:20:30 +0000 (12:20 +0300)
committerOleksiy Hryshchenko <greeschenko@gmail.com>
Wed, 5 Apr 2023 09:20:30 +0000 (12:20 +0300)
autoload/lsp/completion.vim

index 138f2d3b49f0a0b20dfa3abdf672466f03a5675d..28a4b9f2f4e2584962a28a34e0c5b5de1fec29c4 100644 (file)
@@ -93,15 +93,26 @@ export def CompletionReply(lspserver: dict<any>, cItems: any)
   endif
 
   if opt.lspOptions.ultisnipsSupport
-      var ultisniplist = UltiSnips#SnippetsInCurrentScope()
-      for [key, info] in items(ultisniplist)
+      call UltiSnips#SnippetsInCurrentScope(1)
+      for [key, info] in items(g:current_ulti_dict_info)
+          var parts = split(info.location, ':')
+          var txt = readfile(parts[0])[str2nr(parts[1]) : str2nr(parts[1]) + 20]
+          var restxt = info.description .. "\n\n"
+          for line in txt
+              if line == ""
+                  break
+              else
+                  restxt = restxt .. line .. "\n"
+              endif
+          endfor
+          echom restxt
           items->add({
               label: key,
               data: {
                   entryNames: [key],
               },
               kind: 15,
-              documentation: info,
+              documentation: restxt,
           })
       endfor
   endif