Nvim cleanup.
This commit is contained in:
@@ -6,7 +6,6 @@ vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = '*',
|
||||
callback = function()
|
||||
pcall(vim.treesitter.start)
|
||||
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
||||
end,
|
||||
})
|
||||
|
||||
@@ -56,9 +55,9 @@ vim.api.nvim_create_autocmd('LspAttach', {
|
||||
|
||||
-- Enable completion if the server supports it
|
||||
if client:supports_method('textDocument/completion') then
|
||||
vim.lsp.completion.enable(true, client.id, ev.buf, {
|
||||
autotrigger = true, -- false = manual trigger only
|
||||
})
|
||||
vim.lsp.completion.enable(true, client.id, ev.buf, {
|
||||
autotrigger = true, -- false = manual trigger only
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
@@ -87,37 +86,37 @@ vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost" }, {
|
||||
|
||||
-- Format: whole file or visual selection via :Fc
|
||||
local function smart_format()
|
||||
local mode = vim.fn.mode()
|
||||
local in_visual = mode == "v" or mode == "V" or mode == "\22"
|
||||
local mode = vim.fn.mode()
|
||||
local in_visual = mode == "v" or mode == "V" or mode == "\22"
|
||||
|
||||
local clients = vim.lsp.get_clients({ bufnr = 0 })
|
||||
local has_formatter = false
|
||||
for _, client in ipairs(clients) do
|
||||
if client.supports_method("textDocument/formatting") then
|
||||
has_formatter = true
|
||||
break
|
||||
local clients = vim.lsp.get_clients({ bufnr = 0 })
|
||||
local has_formatter = false
|
||||
for _, client in ipairs(clients) do
|
||||
if client.supports_method("textDocument/formatting") then
|
||||
has_formatter = true
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if in_visual then
|
||||
if has_formatter then
|
||||
vim.lsp.buf.format({
|
||||
range = {
|
||||
start = vim.api.nvim_buf_get_mark(0, "<"),
|
||||
["end"] = vim.api.nvim_buf_get_mark(0, ">"),
|
||||
},
|
||||
})
|
||||
if in_visual then
|
||||
if has_formatter then
|
||||
vim.lsp.buf.format({
|
||||
range = {
|
||||
start = vim.api.nvim_buf_get_mark(0, "<"),
|
||||
["end"] = vim.api.nvim_buf_get_mark(0, ">"),
|
||||
},
|
||||
})
|
||||
else
|
||||
vim.cmd("normal! gv=")
|
||||
end
|
||||
else
|
||||
vim.cmd("normal! gv=")
|
||||
if has_formatter then
|
||||
vim.lsp.buf.format({ async = false })
|
||||
else
|
||||
local view = vim.fn.winsaveview()
|
||||
vim.cmd("normal! gg=G")
|
||||
vim.fn.winrestview(view)
|
||||
end
|
||||
end
|
||||
else
|
||||
if has_formatter then
|
||||
vim.lsp.buf.format({ async = false })
|
||||
else
|
||||
local view = vim.fn.winsaveview()
|
||||
vim.cmd("normal! gg=G")
|
||||
vim.fn.winrestview(view)
|
||||
end
|
||||
end
|
||||
end
|
||||
vim.api.nvim_create_user_command("FF", smart_format, { range = true })
|
||||
|
||||
Reference in New Issue
Block a user