You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.3 KiB
91 lines
2.3 KiB
9 months ago
|
return {
|
||
|
|
||
|
-- Detect tabstop and shiftwidth automatically
|
||
|
"tpope/vim-sleuth",
|
||
|
|
||
|
-- "gc" to comment visual regions/lines
|
||
|
"numToStr/Comment.nvim",
|
||
|
|
||
|
-- Highlight, edit, and navigate code
|
||
|
{
|
||
|
"nvim-treesitter/nvim-treesitter",
|
||
|
dependencies = {
|
||
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
||
|
},
|
||
|
build = ":TSUpdate",
|
||
|
opts = {
|
||
|
ensure_installed = {
|
||
|
"bash", "c", "cmake", "cpp", "c_sharp", "css", "go",
|
||
|
"haskell", "html", "java", "javascript", "jsdoc", "json",
|
||
|
"latex", "lua", "make", "markdown", "php", "python",
|
||
|
"query", "regex", "rust", "toml", "tsx", "typescript",
|
||
|
"vim", "vimdoc", "yaml",
|
||
|
},
|
||
|
sync_install = false,
|
||
|
auto_install = true,
|
||
|
|
||
|
-- Default install directory is <plugin_path>/parser
|
||
|
-- parser_install_dir
|
||
|
|
||
|
highlight = {
|
||
|
enable = true,
|
||
|
additional_vim_regex_highlighting = false,
|
||
|
},
|
||
|
indent = {
|
||
|
enable = true,
|
||
|
},
|
||
|
}
|
||
|
},
|
||
|
|
||
|
-- Auto-save
|
||
|
{
|
||
|
"okuuva/auto-save.nvim",
|
||
|
cmd = "ASToggle", -- defer, until run command
|
||
|
event = { "InsertLeave", "TextChanged" }, -- defer, until event trigger
|
||
|
opts = {
|
||
|
execution_message = {
|
||
|
enabled = true,
|
||
|
message = function()
|
||
|
return [["]] .. vim.fn.bufname() .. [[" written]]
|
||
|
end,
|
||
|
},
|
||
|
debounce_delay = 5000, -- delay for `defer_save`, in ms
|
||
|
condition = function(buf)
|
||
|
-- Dont save special-buffers
|
||
|
return vim.fn.getbufvar(buf, "&buftype") == ""
|
||
|
end,
|
||
|
},
|
||
|
config = function(_, opts)
|
||
|
require("auto-save").setup(opts)
|
||
|
|
||
|
-- Cut off trailing whitespace and trailing blank lines
|
||
|
local group = vim.api.nvim_create_augroup("AutoSave", { clear = false })
|
||
|
local core = require("core.functions")
|
||
|
vim.api.nvim_create_autocmd("User", {
|
||
|
pattern = "AutoSaveWritePre",
|
||
|
group = group,
|
||
|
callback = function(event)
|
||
|
if event.data.saved_buffer ~= nil then
|
||
|
core.trim_buffer()
|
||
|
end
|
||
|
end,
|
||
|
})
|
||
|
end,
|
||
|
},
|
||
|
|
||
|
-- Autopair / electric pair
|
||
|
{ -- https://github.com/altermo/ultimate-autopair.nvim
|
||
|
"altermo/ultimate-autopair.nvim",
|
||
|
event = { "InsertEnter", "CmdlineEnter" }, -- defer
|
||
|
branch = "development",
|
||
|
opts = {
|
||
|
bs = { -- See: `:h ultimate-autopair-map-backspace-config`
|
||
|
-- Call the backspace logic from the config, instead of automap
|
||
|
-- https://github.com/altermo/ultimate-autopair.nvim/issues/60
|
||
|
map = "<Plug>ultimate-autopair-BS",
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
}
|