fix(lsp): do not add extra indentation

This commit is contained in:
Maria José Solano
2023-10-22 22:38:11 -07:00
committed by Mathias Fußenegger
parent 370232dbef
commit 94127cb5df
2 changed files with 8 additions and 3 deletions

View File

@@ -346,6 +346,7 @@ end
function M.expand(input)
local snippet = G.parse(input)
local snippet_text = {}
local base_indent = vim.api.nvim_get_current_line():match('^%s*') or ''
-- Get the placeholders we should use for each tabstop index.
--- @type table<integer, string>
@@ -377,10 +378,10 @@ function M.expand(input)
---
--- @param text string|string[]
local function append_to_snippet(text)
local snippet_lines = text_to_lines(snippet_text)
-- Get the base indentation based on the current line and the last line of the snippet.
local base_indent = vim.api.nvim_get_current_line():match('^%s*') or ''
if #snippet_text > 0 then
base_indent = base_indent .. (snippet_text[#snippet_text]:match('^%s*') or '') --- @type string
if #snippet_lines > 0 then
base_indent = base_indent .. (snippet_lines[#snippet_lines]:match('(^%s*)%S') or '') --- @type string
end
local lines = vim.iter.map(function(i, line)