nvim python specific config

This commit is contained in:
thek4n 2024-11-12 12:29:21 +03:00
parent 91d8bd8de2
commit c0d34945eb

View File

@ -0,0 +1,30 @@
vim.g.python_indent = {
open_paren = 'shiftwidth()',
nested_paren = 'shiftwidth()',
continue = 'shiftwidth()',
closed_paren_align_last_line = false,
searchpair_timeout = 150,
}
vim.api.nvim_create_autocmd("InsertCharPre", {
pattern = { "*.py" },
group = vim.api.nvim_create_augroup("py-fstring", { clear = true }),
---@param params NvimAutocmdCallbackParams
callback = function(params)
if vim.v.char ~= "{" then return end
local node = vim.treesitter.get_node({})
if not node then return end
if node:type() ~= "string" then node = node:parent() end
if not node or node:type() ~= "string" then return end
local row, col, _, _ = vim.treesitter.get_node_range(node)
local first_char = vim.api.nvim_buf_get_text(params.buf, row, col, row, col + 1, {})[1]
if first_char == "f" then return end
vim.api.nvim_input("<Esc>m'" .. row + 1 .. "gg" .. col + 1 .. "|if<esc>`'la")
end,
})