support snippet item in ghost_text

This commit is contained in:
hrsh7th
2024-04-02 16:05:54 +09:00
parent 7240362105
commit ce16de5665

View File

@@ -3,6 +3,7 @@ local misc = require('cmp.utils.misc')
local snippet = require('cmp.utils.snippet') local snippet = require('cmp.utils.snippet')
local str = require('cmp.utils.str') local str = require('cmp.utils.str')
local api = require('cmp.utils.api') local api = require('cmp.utils.api')
local types = require('cmp.types')
---@class cmp.GhostTextView ---@class cmp.GhostTextView
---@field win number|nil ---@field win number|nil
@@ -77,7 +78,10 @@ end
--- This function calculates the bytes of the entry to display calculating the number --- This function calculates the bytes of the entry to display calculating the number
--- of character differences instead of just byte difference. --- of character differences instead of just byte difference.
ghost_text_view.text_gen = function(self, line, cursor_col) ghost_text_view.text_gen = function(self, line, cursor_col)
local word = tostring(snippet.parse(self.entry:get_insert_text())) local word = self.entry:get_insert_text()
if self.entry:get_completion_item().insertTextFormat == types.lsp.InsertTextFormat.Snippet then
word = tostring(snippet.parse(word))
end
word = str.oneline(word) word = str.oneline(word)
local word_clen = vim.str_utfindex(word) local word_clen = vim.str_utfindex(word)
local cword = string.sub(line, self.entry:get_offset(), cursor_col) local cword = string.sub(line, self.entry:get_offset(), cursor_col)