Ω
This commit is contained in:
parent
3d72f1417f
commit
f425edc6a6
@ -8,4 +8,4 @@ require("max.core.autocommands")
|
|||||||
|
|
||||||
require("max.core.keymappings")
|
require("max.core.keymappings")
|
||||||
|
|
||||||
vim.cmd("colorscheme " .. require("max.theme").name);
|
vim.cmd("colorscheme " .. require("max.plugins.theme").name);
|
||||||
|
@ -1,68 +1,58 @@
|
|||||||
{
|
{
|
||||||
"ChatGPT.nvim": { "branch": "main", "commit": "3ea19ba666e226ac33c8e00c7bf99e81931d7c86" },
|
|
||||||
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
|
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
|
||||||
"LuaSnip": { "branch": "master", "commit": "8fdb06d4601c019a9ee880473646364bdbed3206" },
|
"LuaSnip": { "branch": "master", "commit": "a6355b12a3b7da0aef71f02560e17ff480182b97" },
|
||||||
"alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" },
|
"alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" },
|
||||||
"autolist.nvim": { "branch": "main", "commit": "6fc6e376d7f3e2a69a3c364294a14d3c620075e2" },
|
"barbar.nvim": { "branch": "master", "commit": "8edf23fe94a2486a8bc74cb64efb9211810f7e83" },
|
||||||
"barbar.nvim": { "branch": "master", "commit": "f37cbed0320bea7cdc756fde4e54fd2e36991cbc" },
|
"catppuccin": { "branch": "main", "commit": "fa9a4465672fa81c06b23634c0f04f6a5d622211" },
|
||||||
"boole.nvim": { "branch": "main", "commit": "f4f9996f91159e54b8f1893b20e2e599c91bc1bd" },
|
|
||||||
"catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" },
|
|
||||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||||
"cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" },
|
"cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" },
|
||||||
"cmp-nvim-lua": { "branch": "main", "commit": "f3491638d123cfd2c8048aefaf66d246ff250ca6" },
|
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
|
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
|
||||||
"copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" },
|
"copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" },
|
||||||
"copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" },
|
"copilot.lua": { "branch": "master", "commit": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb" },
|
||||||
"flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" },
|
"flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" },
|
"friendly-snippets": { "branch": "main", "commit": "8f26df063f0fdabc27845c7aed56db9102d385e8" },
|
||||||
"git-conflict.nvim": { "branch": "main", "commit": "80bc8931d4ed8c8c4d289a08e1838fcf4741408d" },
|
"git-conflict.nvim": { "branch": "main", "commit": "80bc8931d4ed8c8c4d289a08e1838fcf4741408d" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "372d5cb485f2062ac74abc5b33054abac21d8b58" },
|
"gitsigns.nvim": { "branch": "main", "commit": "372d5cb485f2062ac74abc5b33054abac21d8b58" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" },
|
"lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" },
|
||||||
"leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" },
|
"leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" },
|
||||||
"lsp-format.nvim": { "branch": "master", "commit": "ca0df5c8544e51517209ea7b86ecc522c98d4f0a" },
|
"lsp-format.nvim": { "branch": "master", "commit": "ca0df5c8544e51517209ea7b86ecc522c98d4f0a" },
|
||||||
"lspkind.nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" },
|
"lspkind.nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" },
|
||||||
"lspsaga.nvim": { "branch": "main", "commit": "1fbb3e4721354d0d0a20a28bb77b3f83fe68538b" },
|
|
||||||
"lualine-lsp-progress": { "branch": "master", "commit": "56842d097245a08d77912edf5f2a69ba29f275d7" },
|
"lualine-lsp-progress": { "branch": "master", "commit": "56842d097245a08d77912edf5f2a69ba29f275d7" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" },
|
"lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "a8d5db8f227b9b236d1c54a9c6234bc033825ce7" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "b81c50c4baae7d80b1723b3fa86e814d7754d15b" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "2311d9d883eb709ad9979a726a38c5ce1343b63c" },
|
"mason.nvim": { "branch": "main", "commit": "7caf4f7143b4b2e17fe0e893bdd05c622c508207" },
|
||||||
"mini.nvim": { "branch": "main", "commit": "a7c375312edba618d7abc7c6129c53c512cca9d7" },
|
"mini.nvim": { "branch": "main", "commit": "10d3903189418af95d5852d7b93d4e22f6a1e46f" },
|
||||||
"neo-tree.nvim": { "branch": "v2.x", "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" },
|
"neo-tree.nvim": { "branch": "v2.x", "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" },
|
||||||
"neotest": { "branch": "master", "commit": "734efe8a2682b6415712933efd19c484c2f8d942" },
|
"neotest": { "branch": "master", "commit": "3dbac1ebda49861956e3c53f37a9d14de6dffb9b" },
|
||||||
"neotest-jest": { "branch": "main", "commit": "821bb227e31259307db30c88671a1c3724f78637" },
|
"neotest-jest": { "branch": "main", "commit": "821bb227e31259307db30c88671a1c3724f78637" },
|
||||||
"neotest-vitest": { "branch": "main", "commit": "d6577b191e16c174bffbec1eadfcd65c22fdcc0d" },
|
"neotest-vitest": { "branch": "main", "commit": "d6577b191e16c174bffbec1eadfcd65c22fdcc0d" },
|
||||||
"no-neck-pain.nvim": { "branch": "main", "commit": "e22c01b148b37dcb74c40faf801f7ee9de727dfc" },
|
|
||||||
"noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" },
|
"noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "1f43b13d133eb4b4f53a4485379d9afa58808389" },
|
"nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" },
|
||||||
"null-ls.nvim": { "branch": "main", "commit": "5855128178fa78293acdfb5b4e41ef046779240b" },
|
"null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" },
|
"nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" },
|
||||||
"nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" },
|
|
||||||
"nvim-dap": { "branch": "master", "commit": "debd7c2f80eaf20c5f5df25db8d8c1b9b18f4421" },
|
"nvim-dap": { "branch": "master", "commit": "debd7c2f80eaf20c5f5df25db8d8c1b9b18f4421" },
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "286f682f366fbc652b38dff893569374e9433dd3" },
|
"nvim-dap-ui": { "branch": "master", "commit": "286f682f366fbc652b38dff893569374e9433dd3" },
|
||||||
"nvim-dap-vscode-js": { "branch": "main", "commit": "03bd29672d7fab5e515fc8469b7d07cc5994bbf6" },
|
"nvim-dap-vscode-js": { "branch": "main", "commit": "03bd29672d7fab5e515fc8469b7d07cc5994bbf6" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "27e9e1d2638ffd133b06f314a49ac55825cb1017" },
|
"nvim-lspconfig": { "branch": "master", "commit": "e52efca5d4f5536533d447ec0d97e4d525b37ace" },
|
||||||
"nvim-notify": { "branch": "master", "commit": "50d037041ada0895aeba4c0215cde6d11b7729c4" },
|
"nvim-notify": { "branch": "master", "commit": "50d037041ada0895aeba4c0215cde6d11b7729c4" },
|
||||||
"nvim-recorder": { "branch": "main", "commit": "0f6dec901a530c41095cff8def0c723877374cb4" },
|
"nvim-recorder": { "branch": "main", "commit": "0f6dec901a530c41095cff8def0c723877374cb4" },
|
||||||
"nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" },
|
"nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" },
|
||||||
"nvim-toggleterm.lua": { "branch": "main", "commit": "b86982429325112d2b20c6d0cc7a5c4b182ab705" },
|
"nvim-toggleterm.lua": { "branch": "main", "commit": "1c5996ee3c30b54751093fe68d40676859e7778f" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "a57d2a599b57a619f58a5c91c89d9bf12f8977b2" },
|
"nvim-treesitter": { "branch": "master", "commit": "dad0864fa324d1df88242a978e9d7de383c5be68" },
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" },
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" },
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "7a1c677985b8fc4cdfdb87dd55fbc16dadd86bbe" },
|
"nvim-ts-autotag": { "branch": "main", "commit": "cac97f3b47bcb927db6d1d784c0c323056506ef3" },
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" },
|
"nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "f16ec8f6e5d23e4349501dae46e0a661918e086e" },
|
"nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" },
|
||||||
"persisted.nvim": { "branch": "main", "commit": "e053ff33488431dc5bf9239b08650e650ec67292" },
|
"persisted.nvim": { "branch": "main", "commit": "dbdd6af1847105f5cc7f7c51a648b32a78598eec" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" },
|
"plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" },
|
||||||
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
|
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
|
||||||
"rest.nvim": { "branch": "main", "commit": "0fdb69f328529b34a2279c14be63b3325dc52740" },
|
|
||||||
"sniprun": { "branch": "master", "commit": "52ecf6ad06304e46722118af2aaea5647b157ab8" },
|
"sniprun": { "branch": "master", "commit": "52ecf6ad06304e46722118af2aaea5647b157ab8" },
|
||||||
"symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" },
|
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" },
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "2ea61f1952f0ad10e4fcc282468a06d3e69674c2" },
|
"telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" },
|
|
||||||
"translate.nvim": { "branch": "main", "commit": "7b2fd50c21ecfe536d572d62dcd3fa83acad3743" },
|
"translate.nvim": { "branch": "main", "commit": "7b2fd50c21ecfe536d572d62dcd3fa83acad3743" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" },
|
|
||||||
"undotree": { "branch": "master", "commit": "485f01efde4e22cb1ce547b9e8c9238f36566f21" },
|
"undotree": { "branch": "master", "commit": "485f01efde4e22cb1ce547b9e8c9238f36566f21" },
|
||||||
"vim-dadbod": { "branch": "master", "commit": "3f57c0cd41523423fd781422dfc833820095a3e8" },
|
"vim-dadbod": { "branch": "master", "commit": "3f57c0cd41523423fd781422dfc833820095a3e8" },
|
||||||
"vim-dadbod-completion": { "branch": "master", "commit": "e71eb6140556c5ced80de6299a1fdfe22bd3c1b1" },
|
"vim-dadbod-completion": { "branch": "master", "commit": "e71eb6140556c5ced80de6299a1fdfe22bd3c1b1" },
|
||||||
|
@ -1,111 +0,0 @@
|
|||||||
local luasnip = require("luasnip")
|
|
||||||
require("max.configs.snippets")
|
|
||||||
|
|
||||||
local lspkind = require("lspkind")
|
|
||||||
local cmp = require("cmp")
|
|
||||||
|
|
||||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
|
||||||
require("lspconfig").html.setup({
|
|
||||||
capabilities = capabilities,
|
|
||||||
})
|
|
||||||
|
|
||||||
require("copilot").setup({
|
|
||||||
suggestion = { enabled = false },
|
|
||||||
panel = { enabled = false },
|
|
||||||
})
|
|
||||||
require("copilot_cmp").setup {
|
|
||||||
method = "getCompletionsCycling",
|
|
||||||
}
|
|
||||||
|
|
||||||
local check_backspace = function()
|
|
||||||
local col = vim.fn.col(".") - 1
|
|
||||||
return col == 0 or vim.fn.getline("."):sub(col, col):match("%s")
|
|
||||||
end
|
|
||||||
|
|
||||||
cmp.setup({
|
|
||||||
window = {
|
|
||||||
documentation = cmp.config.window.bordered(),
|
|
||||||
},
|
|
||||||
experimental = {
|
|
||||||
ghost_text = true,
|
|
||||||
},
|
|
||||||
completion = {
|
|
||||||
completeopt = "menuone,noselect",
|
|
||||||
},
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
luasnip.lsp_expand(args.body)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
mapping = {
|
|
||||||
["<C-Leader>"] = cmp.mapping.complete({}),
|
|
||||||
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
elseif luasnip.expandable() then
|
|
||||||
luasnip.expand()
|
|
||||||
elseif luasnip.expand_or_jumpable() then
|
|
||||||
luasnip.expand_or_jump()
|
|
||||||
elseif check_backspace() then
|
|
||||||
fallback()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, {
|
|
||||||
"i",
|
|
||||||
"s",
|
|
||||||
}),
|
|
||||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_prev_item()
|
|
||||||
elseif luasnip.jumpable( -1) then
|
|
||||||
luasnip.jump( -1)
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, {
|
|
||||||
"i",
|
|
||||||
"s",
|
|
||||||
}),
|
|
||||||
["<CR>"] = cmp.mapping.confirm({
|
|
||||||
behavior = cmp.ConfirmBehavior.Replace,
|
|
||||||
select = true,
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
formatting = {
|
|
||||||
format = lspkind.cmp_format({
|
|
||||||
mode = "symbol_text",
|
|
||||||
max_width = 50,
|
|
||||||
symbol_map = { Copilot = "" },
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
{ name = "copilot" },
|
|
||||||
{ name = "vim-dadbod-completion", filetype = "sql" },
|
|
||||||
{ name = "nvim_lua" },
|
|
||||||
{ name = "nvim_lsp" },
|
|
||||||
{ name = "luasnip" },
|
|
||||||
{ name = "emoji" },
|
|
||||||
{ name = "path" },
|
|
||||||
{ name = "buffer" },
|
|
||||||
{ name = "calc" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
|
|
||||||
cmp.setup.cmdline("/", {
|
|
||||||
sources = {
|
|
||||||
{ name = "buffer" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
|
||||||
cmp.setup.cmdline(":", {
|
|
||||||
sources = cmp.config.sources({
|
|
||||||
{ name = "path" },
|
|
||||||
}, {
|
|
||||||
{ name = "cmdline" },
|
|
||||||
}),
|
|
||||||
})
|
|
@ -1,96 +0,0 @@
|
|||||||
local dap, dapui = require("dap"), require("dapui")
|
|
||||||
|
|
||||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
|
||||||
dapui.open({})
|
|
||||||
end
|
|
||||||
dap.listeners.before.event_terminated["dapui_config"] = function()
|
|
||||||
dapui.close({})
|
|
||||||
end
|
|
||||||
dap.listeners.before.event_exited["dapui_config"] = function()
|
|
||||||
dapui.close({})
|
|
||||||
end
|
|
||||||
|
|
||||||
require("dap-vscode-js").setup({
|
|
||||||
-- node_path = "node", -- Path of node executable. Defaults to $NODE_PATH, and then "node"
|
|
||||||
-- debugger_path = "(runtimedir)/site/pack/packer/opt/vscode-js-debug", -- Path to vscode-js-debug installation.
|
|
||||||
-- debugger_cmd = { "js-debug-adapter" }, -- Command to use to launch the debug server. Takes precedence over `node_path` and `debugger_path`.
|
|
||||||
adapters = { 'pwa-node', 'pwa-chrome' }, -- which adapters to register in nvim-dap
|
|
||||||
})
|
|
||||||
|
|
||||||
dap.adapters.node2 = {
|
|
||||||
type = 'executable';
|
|
||||||
command = 'node',
|
|
||||||
args = { vim.fn.stdpath "data" .. '/mason/packages/node-debug2-adapter/out/src/nodeDebug.js' };
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.adapters.firefox = {
|
|
||||||
type = "executable",
|
|
||||||
command = "node",
|
|
||||||
options = {
|
|
||||||
initialize_timeout_sec = 10,
|
|
||||||
disconnect_timeout_sec = 10,
|
|
||||||
max_retries = 30,
|
|
||||||
},
|
|
||||||
args = { vim.fn.stdpath("data") .. "/mason/packages/firefox-debug-adapter/dist/adapter.bundle.js" },
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.configurations.typescript = {
|
|
||||||
{
|
|
||||||
name = "Debug with Firefox",
|
|
||||||
type = "firefox",
|
|
||||||
request = "launch",
|
|
||||||
reAttach = true,
|
|
||||||
webRoot = "${workspaceFolder}",
|
|
||||||
url = "http://localhost:8080",
|
|
||||||
firefoxExecutable = "/sbin/firefox-developer-edition",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = 'Launch',
|
|
||||||
type = 'node2',
|
|
||||||
request = 'launch',
|
|
||||||
program = '${file}',
|
|
||||||
cwd = vim.fn.getcwd(),
|
|
||||||
sourceMaps = true,
|
|
||||||
protocol = 'inspector',
|
|
||||||
console = 'integratedTerminal',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
-- For this to work you need to make sure the node process is started with the `--inspect` flag.
|
|
||||||
name = 'Attach to process',
|
|
||||||
type = 'node2',
|
|
||||||
request = 'attach',
|
|
||||||
sourceMaps = true,
|
|
||||||
cwd = "${workspaceFolder}",
|
|
||||||
processId = require 'dap.utils'.pick_process,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type = "pwa-node",
|
|
||||||
request = "attach",
|
|
||||||
name = "Attach",
|
|
||||||
processId = require 'dap.utils'.pick_process,
|
|
||||||
cwd = "${workspaceFolder}",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.configurations.typescriptreact = {
|
|
||||||
{
|
|
||||||
name = 'debug with firefox',
|
|
||||||
type = 'firefox',
|
|
||||||
request = 'launch',
|
|
||||||
reattach = true,
|
|
||||||
url = 'http://localhost:4200',
|
|
||||||
webRoot = '/home/max/Projects/ruumio/main/apps/events-standalone/',
|
|
||||||
firefoxExecutable = '/home/max/Downloads/firefox/firefox'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = 'debug with chrome',
|
|
||||||
type = 'pwa-chrome',
|
|
||||||
request = 'launch',
|
|
||||||
reattach = true,
|
|
||||||
url = 'http://localhost:4200',
|
|
||||||
webroot = '${workspacefolder}',
|
|
||||||
runtimeExecutable = '/mnt/c/Program Files/Google/Chrome/Application/chrome.exe'
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.configurations.javascript = dap.configurations.typescript;
|
|
@ -1,82 +0,0 @@
|
|||||||
-----------------------------------
|
|
||||||
-- Welcome Screen Configuration --
|
|
||||||
-----------------------------------
|
|
||||||
|
|
||||||
-- Call Alpha With A pcall
|
|
||||||
local status_ok, alpha = pcall(require, "alpha")
|
|
||||||
if not status_ok then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Enable Alpha Dashboard
|
|
||||||
local dashboard = require("alpha.themes.dashboard")
|
|
||||||
|
|
||||||
-- Remove These ~ ~ ~
|
|
||||||
vim.opt.fillchars:append({ eob = " " })
|
|
||||||
|
|
||||||
-- Disable Status Line so that alpha dashboard look nice
|
|
||||||
-- vim.cmd [[ au User AlphaReady if winnr('$') == 1 | set laststatus=1 ]]
|
|
||||||
|
|
||||||
-- Custom Footer
|
|
||||||
dashboard.section.footer.val = {
|
|
||||||
"Write Programs That Do One Thing And Do It Well.",
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Custom Section
|
|
||||||
dashboard.section.buttons.val = {
|
|
||||||
dashboard.button("n", " Create New file", ":set laststatus=3 | :ene <BAR> startinsert <CR>"),
|
|
||||||
dashboard.button("e", " Open File Manager", ":set laststatus=3 | :Neotree toggle <CR>"),
|
|
||||||
dashboard.button("s", "Δ Search Sessions", ":Telescope persisted<CR>"),
|
|
||||||
dashboard.button("v", " Neovim Settings ", ":set laststatus=3 | e ~/.config/nvim/init.lua <CR>"),
|
|
||||||
dashboard.button("b", "⟳ Recent Files", ":Telescope oldfiles<CR>"),
|
|
||||||
-- dashboard.button("s", " Shell Configuration", ":set laststatus=3 | e ~/.config/zsh/.zshrc <CR>"),
|
|
||||||
dashboard.button("u", " Update Nvim Plugins", ":Lazy update <CR>"),
|
|
||||||
dashboard.button("q", " Quit Neovim", ":qa<CR>"),
|
|
||||||
}
|
|
||||||
|
|
||||||
-- LuaVim Ascii Art
|
|
||||||
dashboard.section.header.val = {
|
|
||||||
[[███╗ ███╗ █████╗ ██╗ ██╗ ███╗ ██╗ ██╗ ██╗██╗███╗ ███╗]],
|
|
||||||
[[████╗ ████║██╔══██╗╚██╗██╔╝ ████╗ ██║ ██║ ██║██║████╗ ████║]],
|
|
||||||
[[██╔████╔██║███████║ ╚███╔╝ ██╔██╗ ██║ ██║ ██║██║██╔████╔██║]],
|
|
||||||
[[██║╚██╔╝██║██╔══██║ ██╔██╗ ██║╚██╗██║ ╚██╗ ██╔╝██║██║╚██╔╝██║]],
|
|
||||||
[[██║ ╚═╝ ██║██║ ██║██╔╝ ██╗ ██║ ╚████║ ╚████╔╝ ██║██║ ╚═╝ ██║]],
|
|
||||||
[[╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═══╝ ╚═══╝ ╚═╝╚═╝ ╚═╝]],
|
|
||||||
}
|
|
||||||
|
|
||||||
dashboard.section.header.val = {
|
|
||||||
[[ __ ]],
|
|
||||||
[[ /\ \ ]],
|
|
||||||
[[ / /\ \ ]],
|
|
||||||
[[/ /__\ \ ]],
|
|
||||||
[[\/____\/ ]],
|
|
||||||
}
|
|
||||||
|
|
||||||
-- dashboard.section.header.val = {
|
|
||||||
-- [[ ____]],
|
|
||||||
-- [[ /\ \]],
|
|
||||||
-- [[ / \ \]],
|
|
||||||
-- [[ / \ \]],
|
|
||||||
-- [[ / \ \]],
|
|
||||||
-- [[ / /\ \ \]],
|
|
||||||
-- [[ / / \ \ \]],
|
|
||||||
-- [[ / / \ \ \]],
|
|
||||||
-- [[ / / / \ \ \]],
|
|
||||||
-- [[ / / / \ \ \]],
|
|
||||||
-- [[ / / /---------' \]],
|
|
||||||
-- [[/ / /_______________\]],
|
|
||||||
-- [[\ / /]],
|
|
||||||
-- [[ \/_____________________/ ]],
|
|
||||||
-- }
|
|
||||||
|
|
||||||
-- Layout For Luavim ascii art
|
|
||||||
dashboard.config.layout = {
|
|
||||||
{ type = "padding", val = 5 },
|
|
||||||
dashboard.section.header,
|
|
||||||
{ type = "padding", val = 2 },
|
|
||||||
dashboard.section.buttons,
|
|
||||||
{ type = "padding", val = 1 },
|
|
||||||
dashboard.section.footer,
|
|
||||||
}
|
|
||||||
|
|
||||||
alpha.setup(dashboard.opts)
|
|
@ -1,15 +0,0 @@
|
|||||||
require("litee.lib").setup({
|
|
||||||
tree = {
|
|
||||||
icon_set = "codicons",
|
|
||||||
},
|
|
||||||
panel = {
|
|
||||||
orientation = "right",
|
|
||||||
panel_size = 30,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
require("litee.symboltree").setup({
|
|
||||||
icon_set = "codicons",
|
|
||||||
})
|
|
||||||
require("litee.calltree").setup({
|
|
||||||
icon_set = "codicons",
|
|
||||||
})
|
|
@ -1,221 +0,0 @@
|
|||||||
local mason = require("mason")
|
|
||||||
local mason_lsp = require("mason-lspconfig")
|
|
||||||
local lsp = require("lspconfig")
|
|
||||||
|
|
||||||
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(
|
|
||||||
vim.lsp.handlers.hover,
|
|
||||||
{ border = 'single' }
|
|
||||||
)
|
|
||||||
vim.diagnostic.config({
|
|
||||||
float = {
|
|
||||||
border = 'single',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
local null_ls = require("null-ls")
|
|
||||||
null_ls.setup({
|
|
||||||
sources = {
|
|
||||||
null_ls.builtins.diagnostics.eslint_d,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
mason.setup()
|
|
||||||
mason_lsp.setup({
|
|
||||||
ensure_installed = { "lua_ls", "jsonls", "tsserver", "svelte", "cssls", "prismals" },
|
|
||||||
})
|
|
||||||
|
|
||||||
local function on_attach(client, bufnr)
|
|
||||||
if client.supports_method("textDocument/formatting") then
|
|
||||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
|
||||||
buffer = bufnr,
|
|
||||||
callback = function()
|
|
||||||
vim.lsp.buf.format()
|
|
||||||
|
|
||||||
if client.name == "tsserver" or client.name == "svelte" then
|
|
||||||
-- params for the request
|
|
||||||
local params = {
|
|
||||||
command = "_typescript.organizeImports",
|
|
||||||
arguments = { vim.api.nvim_buf_get_name(bufnr) },
|
|
||||||
title = "",
|
|
||||||
}
|
|
||||||
|
|
||||||
-- perform a syncronous request
|
|
||||||
-- 500ms timeout depending on the size of file a bigger timeout may be needed
|
|
||||||
vim.lsp.buf_request_sync(bufnr, "workspace/executeCommand", params, 500)
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
else
|
|
||||||
print("Lsp (" .. client.name .. ") doesnt support format")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
|
||||||
capabilities.textDocument.foldingRange = {
|
|
||||||
dynamicRegistration = false,
|
|
||||||
lineFoldingOnly = true,
|
|
||||||
}
|
|
||||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
|
||||||
|
|
||||||
local custom_lsp = {}
|
|
||||||
|
|
||||||
custom_lsp.tsserver = {
|
|
||||||
root_dir = lsp.util.root_pattern("tsconfig.json", "package.json", "jsconfig.json", ".git"),
|
|
||||||
}
|
|
||||||
|
|
||||||
local runtime_path = vim.split(package.path, ";")
|
|
||||||
table.insert(runtime_path, "lua/?.lua")
|
|
||||||
table.insert(runtime_path, "lua/?/init.lua")
|
|
||||||
custom_lsp.lua_ls = {
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
runtime = {
|
|
||||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
|
||||||
version = "LuaJIT",
|
|
||||||
-- Setup your lua path
|
|
||||||
path = runtime_path,
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
-- Get the language server to recognize the `vim` global
|
|
||||||
globals = { "vim" },
|
|
||||||
},
|
|
||||||
workspace = {
|
|
||||||
-- Make the server aware of Neovim runtime files
|
|
||||||
library = vim.api.nvim_get_runtime_file("", true),
|
|
||||||
checkThirdParty = false
|
|
||||||
},
|
|
||||||
-- Do not send telemetry data containing a randomized but unique identifier
|
|
||||||
telemetry = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
custom_lsp.jsonls = {
|
|
||||||
settings = {
|
|
||||||
provideFormatter = false,
|
|
||||||
json = {
|
|
||||||
schemas = {
|
|
||||||
{
|
|
||||||
description = "TypeScript compiler configuration file",
|
|
||||||
fileMatch = { "tsconfig.json", "tsconfig.*.json" },
|
|
||||||
url = "http://json.schemastore.org/tsconfig",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
description = "ESLint config",
|
|
||||||
fileMatch = { ".eslintrc.json", ".eslintrc" },
|
|
||||||
url = "http://json.schemastore.org/eslintrc",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
description = "Prettier config",
|
|
||||||
fileMatch = { ".prettierrc", ".prettierrc.json", "prettier.config.json" },
|
|
||||||
url = "http://json.schemastore.org/prettierrc",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
description = "JSON schema for Import Maps files",
|
|
||||||
fileMatch = { "importmap.json", "import_map.json", "import-map.json" },
|
|
||||||
name = "importmap.json",
|
|
||||||
url = "https://json.schemastore.org/importmap.json",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
description = "NPM configuration file",
|
|
||||||
fileMatch = { "package.json" },
|
|
||||||
name = "package.json",
|
|
||||||
url = "https://json.schemastore.org/package.json",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
custom_lsp.intelephense = {
|
|
||||||
settings = {
|
|
||||||
intelephense = {
|
|
||||||
stubs = {
|
|
||||||
"wordpress",
|
|
||||||
"woocommerce",
|
|
||||||
"wordpress-globals",
|
|
||||||
"wp-cli",
|
|
||||||
},
|
|
||||||
environment = {
|
|
||||||
includePaths = "/home/max/.composer/vendor/php-stubs/", -- this line forces the composer path for the stubs in case inteliphense don't find it...
|
|
||||||
},
|
|
||||||
files = {
|
|
||||||
maxSize = 5000000,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
custom_lsp.rust_analyzer = {
|
|
||||||
settings = {
|
|
||||||
["rust-analyzer"] = {
|
|
||||||
imports = {
|
|
||||||
granularity = {
|
|
||||||
group = "module",
|
|
||||||
},
|
|
||||||
prefix = "self",
|
|
||||||
},
|
|
||||||
cargo = {
|
|
||||||
buildScripts = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
procMacro = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
custom_lsp.yamlls = {
|
|
||||||
settings = {
|
|
||||||
yaml = {
|
|
||||||
schemas = {
|
|
||||||
["https://raw.githubusercontent.com/quantumblacklabs/kedro/develop/static/jsonschema/kedro-catalog-0.17.json"] = "conf/**/*catalog*",
|
|
||||||
["https://json.schemastore.org/github-workflow.json"] = "/.github/workflows/*",
|
|
||||||
["https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/traefik-v2-file-provider.json"] = "rules.yml",
|
|
||||||
["https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/traefik-v2.json"] = "traefik.yml",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- local glslls_config = require("max.configs.lsp-glsl")
|
|
||||||
-- glslls_config.on_attach = on_attach;
|
|
||||||
-- lsp.glslls.setup(glslls_config)
|
|
||||||
|
|
||||||
custom_lsp.ltex = {
|
|
||||||
settings = {
|
|
||||||
ltex = {
|
|
||||||
language = "de",
|
|
||||||
disabledRules = { ["en-US"] = { "PROFANITY" } },
|
|
||||||
dictionary = {
|
|
||||||
["en-US"] = { "perf", "ci", "neovim" },
|
|
||||||
},
|
|
||||||
hiddenFalsePositives = {
|
|
||||||
"neovim",
|
|
||||||
"Neovim",
|
|
||||||
"waybar",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
mason_lsp.setup_handlers({
|
|
||||||
function(server_name)
|
|
||||||
local config = {
|
|
||||||
on_attach = on_attach,
|
|
||||||
capabilities = capabilities,
|
|
||||||
}
|
|
||||||
|
|
||||||
if custom_lsp[server_name] ~= nil then
|
|
||||||
for k, v in pairs(custom_lsp[server_name]) do
|
|
||||||
config[k] = v
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
lsp[server_name].setup(config)
|
|
||||||
end,
|
|
||||||
})
|
|
@ -1,236 +0,0 @@
|
|||||||
-----------------
|
|
||||||
-- Status Line --
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
-- Eviline / Vimline config for lualine
|
|
||||||
-- Author: shadmansaleh
|
|
||||||
-- Credit: glepnir
|
|
||||||
-- Credit: Elai
|
|
||||||
|
|
||||||
local lualine = require("lualine")
|
|
||||||
|
|
||||||
-- Color table for highlights
|
|
||||||
-- stylua: ignore
|
|
||||||
local colors = {
|
|
||||||
bg = '#00000000',
|
|
||||||
fg = '#bbc2cf',
|
|
||||||
yellow = '#ECBE7B',
|
|
||||||
cyan = '#008080',
|
|
||||||
darkblue = '#081633',
|
|
||||||
green = '#B7BD82',
|
|
||||||
orange = '#8d6141',
|
|
||||||
violet = '#B294BB',
|
|
||||||
magenta = '#AE84BB',
|
|
||||||
blue = '#81A2BE',
|
|
||||||
red = '#CC8282',
|
|
||||||
}
|
|
||||||
|
|
||||||
local conditions = {
|
|
||||||
buffer_not_empty = function()
|
|
||||||
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
|
||||||
end,
|
|
||||||
hide_in_width = function()
|
|
||||||
return vim.fn.winwidth(0) > 80
|
|
||||||
end,
|
|
||||||
check_git_workspace = function()
|
|
||||||
local filepath = vim.fn.expand("%:p:h")
|
|
||||||
local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
|
||||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Config
|
|
||||||
local config = {
|
|
||||||
options = {
|
|
||||||
-- Disable sections and component separators
|
|
||||||
component_separators = "",
|
|
||||||
section_separators = "",
|
|
||||||
globalstatus = true,
|
|
||||||
theme = require("max.theme").name,
|
|
||||||
},
|
|
||||||
-- These are to remove the defaults
|
|
||||||
sections = {
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {},
|
|
||||||
-- These will be filled later
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
-- these are to remove the defaults
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {},
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Inserts a component in lualine_c at left section
|
|
||||||
local function ins_left(component)
|
|
||||||
table.insert(config.sections.lualine_c, component)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Inserts a component in lualine_x ot right section
|
|
||||||
local function ins_right(component)
|
|
||||||
table.insert(config.sections.lualine_x, component)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Icon Of Diffrent Mode: -- normal -- | -- insert -- | -- visual --
|
|
||||||
ins_left({
|
|
||||||
-- mode component
|
|
||||||
function()
|
|
||||||
return "◬"
|
|
||||||
end,
|
|
||||||
color = function()
|
|
||||||
-- auto change color according to neovims mode
|
|
||||||
local mode_color = {
|
|
||||||
n = colors.green,
|
|
||||||
i = colors.blue,
|
|
||||||
v = colors.magenta,
|
|
||||||
[""] = colors.blue,
|
|
||||||
V = colors.blue,
|
|
||||||
c = colors.red,
|
|
||||||
no = colors.red,
|
|
||||||
s = colors.orange,
|
|
||||||
S = colors.orange,
|
|
||||||
[""] = colors.orange,
|
|
||||||
ic = colors.yellow,
|
|
||||||
R = colors.violet,
|
|
||||||
Rv = colors.violet,
|
|
||||||
cv = colors.red,
|
|
||||||
ce = colors.red,
|
|
||||||
r = colors.cyan,
|
|
||||||
rm = colors.cyan,
|
|
||||||
["r?"] = colors.cyan,
|
|
||||||
["!"] = colors.red,
|
|
||||||
t = colors.red,
|
|
||||||
}
|
|
||||||
return { fg = mode_color[vim.fn.mode()] }
|
|
||||||
end,
|
|
||||||
padding = { right = 1 },
|
|
||||||
})
|
|
||||||
|
|
||||||
-- File Name
|
|
||||||
ins_left({
|
|
||||||
"filename",
|
|
||||||
file_status = true, -- Displays file status (readonly status, modified status)
|
|
||||||
path = 2, -- 0: Just the filename
|
|
||||||
-- 1: Relative path
|
|
||||||
-- 2: Absolute path
|
|
||||||
shorting_target = 100, -- Shortens path to leave 40 spaces in the window
|
|
||||||
-- for other components. (terrible name, any suggestions?)
|
|
||||||
symbols = {
|
|
||||||
modified = " ", -- Text to show when the file is modified.
|
|
||||||
readonly = " ", -- Text to show when the file is non-modifiable or readonly.
|
|
||||||
unnamed = "[No Name]", -- Text to show for unnamed buffers.
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
require("recorder").recordingStatus
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
'lsp_progress',
|
|
||||||
display_components = { 'lsp_client_name', { 'title', 'percentage', 'message' } },
|
|
||||||
-- With spinner
|
|
||||||
-- display_components = { 'lsp_client_name', 'spinner', { 'title', 'percentage', 'message' }},
|
|
||||||
colors = {
|
|
||||||
percentage = colors.cyan,
|
|
||||||
title = colors.cyan,
|
|
||||||
message = colors.cyan,
|
|
||||||
spinner = colors.cyan,
|
|
||||||
lsp_client_name = colors.magenta,
|
|
||||||
use = true,
|
|
||||||
},
|
|
||||||
separators = {
|
|
||||||
component = ' ',
|
|
||||||
progress = ' | ',
|
|
||||||
message = { pre = '(', post = ')' },
|
|
||||||
percentage = { pre = '', post = '%% ' },
|
|
||||||
title = { pre = '', post = ': ' },
|
|
||||||
lsp_client_name = { pre = '[', post = ']' },
|
|
||||||
spinner = { pre = '', post = '' },
|
|
||||||
},
|
|
||||||
timer = { progress_enddelay = 500, spinner = 1000, lsp_client_name_enddelay = 1000 },
|
|
||||||
spinner_symbols = { '🌑 ', '🌒 ', '🌓 ', '🌔 ', '🌕 ', '🌖 ', '🌗 ', '🌘 ' },
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Git Diff
|
|
||||||
local function diff_source()
|
|
||||||
local gitsigns = vim.b.gitsigns_status_dict
|
|
||||||
if gitsigns then
|
|
||||||
return {
|
|
||||||
added = gitsigns.added,
|
|
||||||
modified = gitsigns.changed,
|
|
||||||
removed = gitsigns.removed,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
ins_right({ "diff", source = diff_source })
|
|
||||||
|
|
||||||
-- Git Branch
|
|
||||||
ins_right({
|
|
||||||
"branch",
|
|
||||||
icon = "",
|
|
||||||
-- icon = '',
|
|
||||||
-- color = { fg = colors.green },
|
|
||||||
-- padding = { right = 1 },
|
|
||||||
-- padding = { left = 1 },
|
|
||||||
})
|
|
||||||
|
|
||||||
-- File Type
|
|
||||||
ins_right({
|
|
||||||
"filetype",
|
|
||||||
icon_only = true,
|
|
||||||
padding = { right = 2, left = 1 },
|
|
||||||
})
|
|
||||||
|
|
||||||
-- File Encoding
|
|
||||||
ins_right({
|
|
||||||
"o:encoding", -- option component same as &encoding in viml
|
|
||||||
fmt = string.upper, -- I'm not sure why it's upper case either ;)
|
|
||||||
cond = conditions.hide_in_width,
|
|
||||||
padding = { right = 2 },
|
|
||||||
-- color = { fg = colors.green, gui = 'bold' },
|
|
||||||
-- Add components to right sections
|
|
||||||
})
|
|
||||||
|
|
||||||
-- File Size
|
|
||||||
ins_right({
|
|
||||||
-- filesize component
|
|
||||||
"filesize",
|
|
||||||
padding = { right = 2 },
|
|
||||||
cond = conditions.buffer_not_empty,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- File Location
|
|
||||||
ins_right({
|
|
||||||
"location",
|
|
||||||
padding = { right = 0 },
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Insert mid section. You can make any number of sections in neovim :)
|
|
||||||
-- for lualine it's any number greater then 2
|
|
||||||
ins_left({
|
|
||||||
function()
|
|
||||||
return "%="
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- End Of The Status Bar
|
|
||||||
ins_right {
|
|
||||||
function()
|
|
||||||
return ''
|
|
||||||
end,
|
|
||||||
color = { fg = colors.blue }, -- Sets highlighting of component
|
|
||||||
padding = { left = 1, right = 0 }, -- We don't need space before this
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Now don't forget to initialize lualine
|
|
||||||
lualine.setup(config)
|
|
@ -1,5 +0,0 @@
|
|||||||
require("neotest").setup({
|
|
||||||
adapters = {
|
|
||||||
require("neotest-vitest")({}),
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,17 +0,0 @@
|
|||||||
local notify = require("notify")
|
|
||||||
notify.setup(
|
|
||||||
{
|
|
||||||
stages = "fade_in_slide_out",
|
|
||||||
max_width = 50,
|
|
||||||
render = "minimal",
|
|
||||||
background_colour = "#000000",
|
|
||||||
icons = {
|
|
||||||
ERROR = "",
|
|
||||||
WARN = "",
|
|
||||||
INFO = "",
|
|
||||||
DEBUG = "",
|
|
||||||
TRACE = "✎"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
vim.notify = notify;
|
|
@ -1,159 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-tree/nvim-tree.lua",
|
|
||||||
cmd = "NvimTreeToggle",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-tree/nvim-web-devicons",
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
auto_reload_on_write = true,
|
|
||||||
create_in_closed_folder = false,
|
|
||||||
disable_netrw = false,
|
|
||||||
hijack_cursor = false,
|
|
||||||
hijack_netrw = true,
|
|
||||||
hijack_unnamed_buffer_when_opening = false,
|
|
||||||
ignore_buffer_on_setup = false,
|
|
||||||
open_on_setup = false,
|
|
||||||
open_on_setup_file = false,
|
|
||||||
open_on_tab = false,
|
|
||||||
sort_by = "name",
|
|
||||||
update_cwd = true,
|
|
||||||
reload_on_bufenter = true,
|
|
||||||
respect_buf_cwd = false,
|
|
||||||
view = {
|
|
||||||
adaptive_size = false,
|
|
||||||
width = 35,
|
|
||||||
hide_root_folder = true,
|
|
||||||
side = "left",
|
|
||||||
preserve_window_proportions = false,
|
|
||||||
number = false,
|
|
||||||
relativenumber = false,
|
|
||||||
signcolumn = "yes",
|
|
||||||
mappings = {
|
|
||||||
list = {
|
|
||||||
{ key = "d", action = "trash" },
|
|
||||||
{ key = "D", action = "remove" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
renderer = {
|
|
||||||
add_trailing = false,
|
|
||||||
group_empty = true,
|
|
||||||
highlight_git = true,
|
|
||||||
highlight_opened_files = "none",
|
|
||||||
indent_markers = {
|
|
||||||
enable = true,
|
|
||||||
icons = {
|
|
||||||
corner = "└",
|
|
||||||
edge = "│",
|
|
||||||
none = "",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
icons = {
|
|
||||||
webdev_colors = true,
|
|
||||||
git_placement = "signcolumn",
|
|
||||||
padding = " ",
|
|
||||||
symlink_arrow = " ",
|
|
||||||
show = {
|
|
||||||
file = true,
|
|
||||||
folder = true,
|
|
||||||
folder_arrow = true,
|
|
||||||
git = false,
|
|
||||||
},
|
|
||||||
glyphs = {
|
|
||||||
default = "",
|
|
||||||
symlink = "",
|
|
||||||
folder = {
|
|
||||||
default = "",
|
|
||||||
empty = "",
|
|
||||||
empty_open = "",
|
|
||||||
open = "",
|
|
||||||
symlink = "",
|
|
||||||
symlink_open = "",
|
|
||||||
arrow_open = "",
|
|
||||||
arrow_closed = "",
|
|
||||||
},
|
|
||||||
git = {
|
|
||||||
unstaged = "",
|
|
||||||
staged = "ﰶ",
|
|
||||||
unmerged = "",
|
|
||||||
renamed = "➜",
|
|
||||||
untracked = "●",
|
|
||||||
deleted = "﯀",
|
|
||||||
ignored = "",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md", "package.json" },
|
|
||||||
},
|
|
||||||
hijack_directories = {
|
|
||||||
enable = true,
|
|
||||||
auto_open = true,
|
|
||||||
},
|
|
||||||
update_focused_file = {
|
|
||||||
enable = true,
|
|
||||||
update_cwd = true,
|
|
||||||
ignore_list = {},
|
|
||||||
},
|
|
||||||
ignore_ft_on_setup = {},
|
|
||||||
system_open = {
|
|
||||||
cmd = "",
|
|
||||||
args = {},
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
enable = false,
|
|
||||||
show_on_dirs = false,
|
|
||||||
},
|
|
||||||
filters = {
|
|
||||||
dotfiles = false,
|
|
||||||
custom = {
|
|
||||||
"^.git$",
|
|
||||||
},
|
|
||||||
exclude = {},
|
|
||||||
},
|
|
||||||
git = {
|
|
||||||
enable = true,
|
|
||||||
ignore = false,
|
|
||||||
timeout = 400,
|
|
||||||
},
|
|
||||||
actions = {
|
|
||||||
use_system_clipboard = true,
|
|
||||||
change_dir = {
|
|
||||||
enable = true,
|
|
||||||
global = false,
|
|
||||||
restrict_above_cwd = false,
|
|
||||||
},
|
|
||||||
open_file = {
|
|
||||||
quit_on_open = true,
|
|
||||||
resize_window = true,
|
|
||||||
window_picker = {
|
|
||||||
enable = true,
|
|
||||||
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
|
|
||||||
exclude = {
|
|
||||||
filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" },
|
|
||||||
buftype = { "nofile", "terminal", "help" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
trash = {
|
|
||||||
cmd = "trash",
|
|
||||||
require_confirm = true,
|
|
||||||
},
|
|
||||||
live_filter = {
|
|
||||||
prefix = "[FILTER]: ",
|
|
||||||
always_show_folders = true,
|
|
||||||
},
|
|
||||||
log = {
|
|
||||||
enable = false,
|
|
||||||
truncate = false,
|
|
||||||
types = {
|
|
||||||
all = false,
|
|
||||||
config = false,
|
|
||||||
copy_paste = false,
|
|
||||||
diagnostics = false,
|
|
||||||
git = false,
|
|
||||||
profile = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
require("scrollbar").setup({
|
|
||||||
handlers = {
|
|
||||||
cursor = true,
|
|
||||||
diagnostic = true,
|
|
||||||
gitsigns = true, -- Requires gitsigns
|
|
||||||
handle = true,
|
|
||||||
search = false, -- Requires hlslens
|
|
||||||
},
|
|
||||||
excluded_filetypes = {
|
|
||||||
"prompt",
|
|
||||||
"TelescopePrompt",
|
|
||||||
"noice",
|
|
||||||
"NvimTree",
|
|
||||||
"neo-tree"
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,3 +0,0 @@
|
|||||||
require("persisted").setup({
|
|
||||||
autoload = true,
|
|
||||||
})
|
|
@ -1,4 +0,0 @@
|
|||||||
require('sniprun').setup({
|
|
||||||
selected_interpreters = { "JS_TS_deno" },
|
|
||||||
repl_enable = { "JS_TS_deno" }
|
|
||||||
})
|
|
@ -1,70 +0,0 @@
|
|||||||
local telescope = require("telescope")
|
|
||||||
telescope.setup({
|
|
||||||
defaults = {},
|
|
||||||
})
|
|
||||||
|
|
||||||
local function open_with_trouble()
|
|
||||||
require("trouble.providers.telescope").open_with_trouble()
|
|
||||||
end
|
|
||||||
|
|
||||||
local default = {
|
|
||||||
extensions = {
|
|
||||||
sessions_picker = {
|
|
||||||
sessions_dir = vim.fn.stdpath("data") .. "/sessions/",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
defaults = {
|
|
||||||
vimgrep_arguments = {
|
|
||||||
"rg",
|
|
||||||
"--color=never",
|
|
||||||
"--no-heading",
|
|
||||||
"--with-filename",
|
|
||||||
"--line-number",
|
|
||||||
"--column",
|
|
||||||
"--smart-case",
|
|
||||||
"--ignore-file",
|
|
||||||
".gitignore",
|
|
||||||
},
|
|
||||||
prompt_prefix = " ",
|
|
||||||
selection_caret = " ",
|
|
||||||
entry_prefix = " ",
|
|
||||||
initial_mode = "insert",
|
|
||||||
selection_strategy = "reset",
|
|
||||||
sorting_strategy = "ascending",
|
|
||||||
layout_strategy = "horizontal",
|
|
||||||
layout_config = {
|
|
||||||
horizontal = {
|
|
||||||
prompt_position = "top",
|
|
||||||
preview_width = 0.55,
|
|
||||||
results_width = 0.8,
|
|
||||||
},
|
|
||||||
vertical = {
|
|
||||||
mirror = false,
|
|
||||||
},
|
|
||||||
width = 0.87,
|
|
||||||
height = 0.80,
|
|
||||||
preview_cutoff = 120,
|
|
||||||
},
|
|
||||||
file_sorter = require("telescope.sorters").get_fuzzy_file,
|
|
||||||
file_ignore_patterns = { "node_modules", "*pnpm-lock*" },
|
|
||||||
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
|
|
||||||
path_display = { "truncate" },
|
|
||||||
winblend = 0,
|
|
||||||
border = {},
|
|
||||||
mappings = {
|
|
||||||
i = { ["<c-t>"] = open_with_trouble },
|
|
||||||
n = { ["<c-t>"] = open_with_trouble },
|
|
||||||
},
|
|
||||||
borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
|
||||||
color_devicons = true,
|
|
||||||
use_less = true,
|
|
||||||
set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil,
|
|
||||||
file_previewer = require("telescope.previewers").vim_buffer_cat.new,
|
|
||||||
grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
|
|
||||||
qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
telescope.setup(default)
|
|
||||||
telescope.load_extension("notify")
|
|
||||||
-- telescope.load_extension("persisted") -- To load the telescope extension
|
|
@ -1,38 +0,0 @@
|
|||||||
local Terminal = require("toggleterm.terminal").Terminal
|
|
||||||
local lazygit = Terminal:new({
|
|
||||||
cmd = "lazygit",
|
|
||||||
dir = "git_dir",
|
|
||||||
direction = "float",
|
|
||||||
float_opts = {
|
|
||||||
winblend = 0,
|
|
||||||
border = "shadow",
|
|
||||||
},
|
|
||||||
on_close = function()
|
|
||||||
Terminal:close()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
function _Lazygit_toggle()
|
|
||||||
lazygit:toggle()
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("n", "<C-g>", "<cmd>lua _Lazygit_toggle()<CR>", { noremap = true, silent = true })
|
|
||||||
|
|
||||||
local pnpm = Terminal:new({
|
|
||||||
dir = "git_dir",
|
|
||||||
direction = "float",
|
|
||||||
float_opts = {
|
|
||||||
winblend = 0,
|
|
||||||
padding = 10,
|
|
||||||
border = "single",
|
|
||||||
},
|
|
||||||
on_close = function()
|
|
||||||
Terminal:close()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
function _Pnpm_toggle()
|
|
||||||
pnpm:toggle()
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("n", "<C-t>", "<cmd>lua _Pnpm_toggle()<CR>", { noremap = true, silent = true })
|
|
@ -1,60 +0,0 @@
|
|||||||
local languages = require("max.configs.translate.languages")
|
|
||||||
local pickers = require("telescope.pickers")
|
|
||||||
local finders = require("telescope.finders")
|
|
||||||
local actions = require("telescope.actions")
|
|
||||||
local action_state = require("telescope.actions.state")
|
|
||||||
local conf = require("telescope.config").values
|
|
||||||
|
|
||||||
return function()
|
|
||||||
-- This active_buf and active selection because telescope clears everything (i think)
|
|
||||||
local active_buf = vim.api.nvim_get_current_buf()
|
|
||||||
local mode = vim.api.nvim_get_mode().mode
|
|
||||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<Esc>", true, false, true), "x!", true)
|
|
||||||
local start_mark = vim.api.nvim_buf_get_mark(active_buf, "<")
|
|
||||||
local end_mark = vim.api.nvim_buf_get_mark(active_buf, ">")
|
|
||||||
|
|
||||||
pickers
|
|
||||||
.new({}, {
|
|
||||||
prompt_title = "Translate",
|
|
||||||
finder = finders.new_table({
|
|
||||||
results = languages,
|
|
||||||
entry_maker = function(entry)
|
|
||||||
return {
|
|
||||||
value = entry[2],
|
|
||||||
ordinal = entry[1] .. " " .. entry[2],
|
|
||||||
display = entry[3] .. entry[1],
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}),
|
|
||||||
sorter = conf.generic_sorter({}),
|
|
||||||
attach_mappings = function(prompt_bufnr)
|
|
||||||
actions.select_default:replace(function()
|
|
||||||
actions.close(prompt_bufnr)
|
|
||||||
|
|
||||||
local selection = action_state.get_selected_entry()
|
|
||||||
|
|
||||||
vim.api.nvim_set_current_buf(active_buf)
|
|
||||||
|
|
||||||
vim.api.nvim_win_set_cursor(0, start_mark)
|
|
||||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(mode, true, false, true), "x!", true)
|
|
||||||
vim.api.nvim_win_set_cursor(0, end_mark)
|
|
||||||
|
|
||||||
local timer = vim.loop.new_timer()
|
|
||||||
timer:start(
|
|
||||||
500,
|
|
||||||
0,
|
|
||||||
vim.schedule_wrap(function()
|
|
||||||
if mode == "v" or mode == "V" then
|
|
||||||
vim.cmd("'<,'>Translate " .. selection.value)
|
|
||||||
else
|
|
||||||
vim.cmd("Translate " .. selection.value)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
)
|
|
||||||
end)
|
|
||||||
return true
|
|
||||||
end,
|
|
||||||
previewer = nil,
|
|
||||||
})
|
|
||||||
:find()
|
|
||||||
end
|
|
@ -1,39 +0,0 @@
|
|||||||
-- Configure nvim-tree
|
|
||||||
require("nvim-tree").setup({
|
|
||||||
hijack_cursor = true,
|
|
||||||
update_cwd = false,
|
|
||||||
trash = {
|
|
||||||
cmd = "trash",
|
|
||||||
require_confirm = true,
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
enable = true,
|
|
||||||
icons = {
|
|
||||||
hint = "",
|
|
||||||
info = "",
|
|
||||||
warning = "",
|
|
||||||
error = "",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
view = {
|
|
||||||
hide_root_folder = true,
|
|
||||||
signcolumn = "no",
|
|
||||||
},
|
|
||||||
renderer = {
|
|
||||||
group_empty = true,
|
|
||||||
highlight_opened_files = "all",
|
|
||||||
icons = {
|
|
||||||
glyphs = {
|
|
||||||
git = {
|
|
||||||
untracked = "*",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
show = {
|
|
||||||
folder_arrow = false,
|
|
||||||
folder = true,
|
|
||||||
file = true,
|
|
||||||
git = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,65 +0,0 @@
|
|||||||
require("nvim-treesitter.configs").setup({
|
|
||||||
context_commentstring = {
|
|
||||||
enable = true
|
|
||||||
},
|
|
||||||
autotag = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
indent = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
ensure_installed = {
|
|
||||||
"bash",
|
|
||||||
"yaml",
|
|
||||||
"http",
|
|
||||||
"svelte",
|
|
||||||
"css",
|
|
||||||
"svelte",
|
|
||||||
"typescript",
|
|
||||||
"javascript",
|
|
||||||
"tsx",
|
|
||||||
"go",
|
|
||||||
"lua",
|
|
||||||
"json",
|
|
||||||
"yaml",
|
|
||||||
"prisma",
|
|
||||||
},
|
|
||||||
highlight = { enable = true },
|
|
||||||
textobjects = {
|
|
||||||
select = {
|
|
||||||
enable = true,
|
|
||||||
|
|
||||||
-- Automatically jump forward to textobj, similar to targets.vim
|
|
||||||
lookahead = true,
|
|
||||||
|
|
||||||
keymaps = {
|
|
||||||
["af"] = "@function.outer",
|
|
||||||
["if"] = "@function.inner",
|
|
||||||
["ac"] = "@class.outer",
|
|
||||||
["ic"] = "@class.inner",
|
|
||||||
},
|
|
||||||
-- You can choose the select mode (default is charwise 'v')
|
|
||||||
--
|
|
||||||
-- Can also be a function which gets passed a table with the keys
|
|
||||||
-- * query_string: eg '@function.inner'
|
|
||||||
-- * method: eg 'v' or 'o'
|
|
||||||
-- and should return the mode ('v', 'V', or '<c-v>') or a table
|
|
||||||
-- mapping query_strings to modes.
|
|
||||||
selection_modes = {
|
|
||||||
["@parameter.outer"] = "v", -- charwise
|
|
||||||
["@function.outer"] = "V", -- linewise
|
|
||||||
["@class.outer"] = "<c-v>", -- blockwise
|
|
||||||
},
|
|
||||||
-- If you set this to `true` (default is `false`) then any textobject is
|
|
||||||
-- extended to include preceding or succeeding whitespace. Succeeding
|
|
||||||
-- whitespace has priority in order to act similarly to eg the built-in
|
|
||||||
-- `ap`.
|
|
||||||
--
|
|
||||||
-- Can also be a function which gets passed a table with the keys
|
|
||||||
-- * query_string: eg '@function.inner'
|
|
||||||
-- * selection_mode: eg 'v'
|
|
||||||
-- and should return true of false
|
|
||||||
include_surrounding_whitespace = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,41 +0,0 @@
|
|||||||
return function()
|
|
||||||
local handler = function(virtText, lnum, endLnum, width, truncate)
|
|
||||||
local newVirtText = {}
|
|
||||||
local suffix = (' %d '):format(endLnum - lnum)
|
|
||||||
local sufWidth = vim.fn.strdisplaywidth(suffix)
|
|
||||||
local targetWidth = width - sufWidth
|
|
||||||
local curWidth = 0
|
|
||||||
for _, chunk in ipairs(virtText) do
|
|
||||||
local chunkText = chunk[1]
|
|
||||||
local chunkWidth = vim.fn.strdisplaywidth(chunkText)
|
|
||||||
if targetWidth > curWidth + chunkWidth then
|
|
||||||
table.insert(newVirtText, chunk)
|
|
||||||
else
|
|
||||||
chunkText = truncate(chunkText, targetWidth - curWidth)
|
|
||||||
local hlGroup = chunk[2]
|
|
||||||
table.insert(newVirtText, { chunkText, hlGroup })
|
|
||||||
chunkWidth = vim.fn.strdisplaywidth(chunkText)
|
|
||||||
-- str width returned from truncate() may less than 2nd argument, need padding
|
|
||||||
if curWidth + chunkWidth < targetWidth then
|
|
||||||
suffix = suffix .. (' '):rep(targetWidth - curWidth - chunkWidth)
|
|
||||||
end
|
|
||||||
break
|
|
||||||
end
|
|
||||||
curWidth = curWidth + chunkWidth
|
|
||||||
end
|
|
||||||
table.insert(newVirtText, { suffix, 'MoreMsg' })
|
|
||||||
return newVirtText
|
|
||||||
end
|
|
||||||
|
|
||||||
require("ufo").setup({
|
|
||||||
fold_virt_text_handler = handler,
|
|
||||||
provider_selector = function(bufnr, filetype, buftype)
|
|
||||||
return { 'treesitter', 'indent' }
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.o.foldcolumn = '1'
|
|
||||||
vim.o.foldlevel = 99
|
|
||||||
vim.o.foldlevelstart = 99
|
|
||||||
vim.o.foldenable = true
|
|
||||||
end
|
|
@ -61,7 +61,7 @@ map("n", "<Leader>ip", ":TroubleToggle<CR>", opts) -- [i]nspect [p]rob
|
|||||||
map("n", "<Leader>ii", ":Lspsaga incomming_calls<CR>", opts) -- [i]nspect [i]ncomming_calls
|
map("n", "<Leader>ii", ":Lspsaga incomming_calls<CR>", opts) -- [i]nspect [i]ncomming_calls
|
||||||
map("n", "<Leader>io", ":Lspsaga outgoing_calls<CR>", opts) -- [i]nspect [o]utgoing_calls
|
map("n", "<Leader>io", ":Lspsaga outgoing_calls<CR>", opts) -- [i]nspect [o]utgoing_calls
|
||||||
|
|
||||||
map({ "n", "v" }, "<Leader>t", require("max.configs.translate"), opts)
|
map({ "n", "v" }, "<Leader>t", require("max.functions.translate"), opts)
|
||||||
|
|
||||||
-- DAP Functionality
|
-- DAP Functionality
|
||||||
map("n", "<Leader>b", ":lua require('dap').toggle_breakpoint()<CR>", opts)
|
map("n", "<Leader>b", ":lua require('dap').toggle_breakpoint()<CR>", opts)
|
||||||
|
@ -1,399 +1,123 @@
|
|||||||
local plugins = {
|
-- local plugins = {
|
||||||
|
--
|
||||||
{
|
-- {
|
||||||
dir = "~/Projects/sudoku.nvim",
|
-- dir = "~/Projects/sudoku.nvim",
|
||||||
cmd = "Sudoku",
|
-- cmd = "Sudoku",
|
||||||
config = function()
|
-- config = function()
|
||||||
require("sudoku").setup({
|
-- require("sudoku").setup({
|
||||||
custom_highlights = {
|
-- custom_highlights = {
|
||||||
square = { fg = "red" }
|
-- square = { fg = "red" }
|
||||||
}
|
-- }
|
||||||
})
|
|
||||||
vim.cmd("hi SudokuSquare guibg=red")
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
|
|
||||||
---------------------
|
|
||||||
-- Theming Section --
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
require("max.theme"),
|
|
||||||
|
|
||||||
--------------------
|
|
||||||
-- Layout Plugins --
|
|
||||||
--------------------
|
|
||||||
"nvim-lua/popup.nvim",
|
|
||||||
require("max.configs.neotree"),
|
|
||||||
{
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
lazy = false,
|
|
||||||
config = function()
|
|
||||||
require("max.configs.lualine")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'echasnovski/mini.nvim',
|
|
||||||
version = false,
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
-- require("mini.sessions").setup({
|
|
||||||
-- autoread = true,
|
|
||||||
-- directory = "session",
|
|
||||||
-- file = "",
|
|
||||||
-- verbose = { read = true, write = true, delete = true },
|
|
||||||
-- })
|
-- })
|
||||||
|
-- vim.cmd("hi SudokuSquare guibg=red")
|
||||||
require("mini.comment").setup({
|
-- end
|
||||||
})
|
-- },
|
||||||
|
--
|
||||||
require("mini.pairs").setup({
|
--
|
||||||
})
|
--
|
||||||
|
-- {
|
||||||
require("mini.surround").setup({
|
-- "shortcuts/no-neck-pain.nvim",
|
||||||
})
|
-- cmd = "NoNeckPain",
|
||||||
|
-- config = true
|
||||||
require("mini.animate").setup({
|
-- },
|
||||||
cursor = {
|
-- ,
|
||||||
enable = false,
|
-- {
|
||||||
}
|
-- "stevearc/dressing.nvim",
|
||||||
})
|
-- enabled = false,
|
||||||
end
|
-- lazy = true,
|
||||||
},
|
-- },
|
||||||
{
|
-- {
|
||||||
"shortcuts/no-neck-pain.nvim",
|
-- "simrat39/symbols-outline.nvim",
|
||||||
cmd = "NoNeckPain",
|
-- cmd = "SymbolsOutline",
|
||||||
config = true
|
-- config = true,
|
||||||
},
|
-- },
|
||||||
{
|
-- ---------------------
|
||||||
"folke/noice.nvim",
|
-- -- Code Navigation --
|
||||||
event = "VeryLazy",
|
-- ---------------------
|
||||||
enabled = true,
|
-- ---------------
|
||||||
opts = {
|
-- -- Lsp Setup --
|
||||||
lsp = {
|
-- ---------------
|
||||||
progress = {
|
-- {
|
||||||
enabled = false
|
-- "glepnir/lspsaga.nvim",
|
||||||
},
|
-- event = "BufRead",
|
||||||
hover = {
|
-- config = function()
|
||||||
enabled = false
|
-- require("lspsaga").setup({
|
||||||
}
|
-- symbol_in_winbar = {
|
||||||
},
|
-- enable = false,
|
||||||
views = {
|
-- },
|
||||||
cmdline_popup = {
|
-- })
|
||||||
border = {
|
-- end,
|
||||||
style = "single",
|
-- },
|
||||||
padding = { 0, 1 },
|
-- {
|
||||||
},
|
-- "folke/trouble.nvim",
|
||||||
filter_options = {},
|
-- cmd = "TroubleToggle",
|
||||||
win_options = {
|
-- dependencies = "nvim-tree/nvim-web-devicons",
|
||||||
winhighlight = "NormalFloat:NormalFloat,FloatBorder:FloatBorder",
|
-- config = function()
|
||||||
},
|
-- require("trouble").setup({})
|
||||||
},
|
-- end,
|
||||||
},
|
-- },
|
||||||
presets = {
|
|
||||||
bottom_search = true,
|
|
||||||
command_palette = true,
|
|
||||||
long_message_to_split = true,
|
|
||||||
lsp_doc_border = true
|
|
||||||
},
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<S-Enter>", function() require("noice").redirect(vim.fn.getcmdline()) end, mode = "c", desc = "Redirect Cmdline" },
|
|
||||||
{ "<leader>snl", function() require("noice").cmd("last") end, desc = "Noice Last Message" },
|
|
||||||
{ "<leader>snh", function() require("noice").cmd("history") end, desc = "Noice History" },
|
|
||||||
{ "<leader>sna", function() require("noice").cmd("all") end, desc = "Noice All" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"romgrk/barbar.nvim",
|
|
||||||
dependencies = 'nvim-tree/nvim-web-devicons',
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("bufferline").setup({
|
|
||||||
auto_hide = true,
|
|
||||||
icons = {
|
|
||||||
seperator = { left = "│", right = "" }
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"stevearc/dressing.nvim",
|
|
||||||
enabled = false,
|
|
||||||
lazy = true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/which-key.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("which-key").setup({})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"simrat39/symbols-outline.nvim",
|
|
||||||
cmd = "SymbolsOutline",
|
|
||||||
config = true,
|
|
||||||
},
|
|
||||||
{ "mbbill/undotree", cmd = { "Undotree", "UndotreeToggle" } },
|
|
||||||
{
|
|
||||||
"petertriho/nvim-scrollbar",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("max.configs.scrollbar")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"lewis6991/gitsigns.nvim",
|
|
||||||
event = "BufReadPost",
|
|
||||||
config = function()
|
|
||||||
require("gitsigns").setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"akinsho/nvim-toggleterm.lua",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("max.configs.toggleterm");
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"akinsho/git-conflict.nvim",
|
|
||||||
version = "*",
|
|
||||||
event = "BufReadPost",
|
|
||||||
config = function()
|
|
||||||
require("git-conflict").setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rcarriga/nvim-notify",
|
|
||||||
config = function()
|
|
||||||
require("max.configs.notify")
|
|
||||||
end,
|
|
||||||
event = "VimEnter",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"goolord/alpha-nvim",
|
|
||||||
lazy = false,
|
|
||||||
config = function()
|
|
||||||
require("max.configs.dashboard")
|
|
||||||
end,
|
|
||||||
}, -- startup screen
|
|
||||||
-- -------------------
|
-- -------------------
|
||||||
-- Code Navigation --
|
-- -- Autocomplete --
|
||||||
-- -------------------
|
-- -------------------
|
||||||
{
|
-- {
|
||||||
"ggandor/flit.nvim",
|
-- "nat-418/boole.nvim",
|
||||||
dependencies = {
|
-- event = "InsertEnter",
|
||||||
"ggandor/leap.nvim",
|
-- config = function()
|
||||||
},
|
-- require("boole").setup({
|
||||||
event = "VeryLazy",
|
-- mappings = {
|
||||||
config = true,
|
-- increment = '+',
|
||||||
},
|
-- decrement = '-'
|
||||||
{
|
-- },
|
||||||
"nvim-telescope/telescope.nvim",
|
-- additions = {
|
||||||
dependencies = {
|
-- { "const", "let", "var" },
|
||||||
"nvim-lua/popup.nvim",
|
-- { "absolute", "relative", "fixed", "sticky" }
|
||||||
"nvim-lua/plenary.nvim",
|
-- }
|
||||||
"nvim-telescope/telescope-fzf-native.nvim",
|
-- })
|
||||||
},
|
-- end,
|
||||||
event = "VeryLazy",
|
-- },
|
||||||
config = function()
|
-- {
|
||||||
require("max.configs.telescope")
|
-- "gaoDean/autolist.nvim",
|
||||||
end,
|
-- event = "InsertEnter",
|
||||||
},
|
-- config = true,
|
||||||
---------------
|
-- },
|
||||||
-- Lsp Setup --
|
-- -------------------------
|
||||||
---------------
|
-- -- Syntax Highlighting --
|
||||||
{
|
-- -------------------------
|
||||||
"glepnir/lspsaga.nvim",
|
-- {
|
||||||
event = "BufRead",
|
-- "norcalli/nvim-colorizer.lua",
|
||||||
config = function()
|
-- config = true,
|
||||||
require("lspsaga").setup({
|
-- event = "BufReadPost",
|
||||||
symbol_in_winbar = {
|
-- },
|
||||||
enable = false,
|
-- {
|
||||||
},
|
-- "folke/todo-comments.nvim",
|
||||||
})
|
-- config = true,
|
||||||
end,
|
-- event = "VeryLazy",
|
||||||
},
|
-- },
|
||||||
{
|
-- --------------------
|
||||||
"neovim/nvim-lspconfig",
|
-- -- IDE Type Stuff --
|
||||||
dependencies = {
|
-- --------------------
|
||||||
"arkav/lualine-lsp-progress",
|
-- {
|
||||||
"williamboman/mason.nvim",
|
-- "rest-nvim/rest.nvim",
|
||||||
"jose-elias-alvarez/null-ls.nvim",
|
-- lazy = false,
|
||||||
"williamboman/mason-lspconfig.nvim",
|
-- dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
"onsails/lspkind.nvim",
|
-- config = function()
|
||||||
{ "lukas-reineke/lsp-format.nvim", config = true },
|
-- require("rest-nvim").setup({})
|
||||||
},
|
-- end,
|
||||||
event = "BufReadPost",
|
-- },
|
||||||
config = function()
|
-- {
|
||||||
require("max.configs.lsp")
|
-- "jackMort/ChatGPT.nvim",
|
||||||
end,
|
-- cmd = "ChatGPT",
|
||||||
},
|
-- config = true,
|
||||||
{
|
-- dependencies = {
|
||||||
"folke/trouble.nvim",
|
-- "MunifTanjim/nui.nvim",
|
||||||
cmd = "TroubleToggle",
|
-- },
|
||||||
dependencies = "nvim-tree/nvim-web-devicons",
|
-- },
|
||||||
config = function()
|
-- --Dap Debugger -- Have not yet been able to set this up
|
||||||
require("trouble").setup({})
|
-- }
|
||||||
end,
|
|
||||||
},
|
|
||||||
-------------------
|
|
||||||
-- Autocomplete --
|
|
||||||
-------------------
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
event = "InsertEnter",
|
|
||||||
dependencies = {
|
|
||||||
"hrsh7th/cmp-buffer",
|
|
||||||
"hrsh7th/cmp-path",
|
|
||||||
"hrsh7th/cmp-emoji",
|
|
||||||
"saadparwaiz1/cmp_luasnip",
|
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
|
||||||
"hrsh7th/cmp-nvim-lua",
|
|
||||||
"zbirenbaum/copilot.lua",
|
|
||||||
"zbirenbaum/copilot-cmp",
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
"rafamadriz/friendly-snippets",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("max.configs.autocomplete")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nat-418/boole.nvim",
|
|
||||||
event = "InsertEnter",
|
|
||||||
config = function()
|
|
||||||
require("boole").setup({
|
|
||||||
mappings = {
|
|
||||||
increment = '+',
|
|
||||||
decrement = '-'
|
|
||||||
},
|
|
||||||
additions = {
|
|
||||||
{ "const", "let", "var" },
|
|
||||||
{ "absolute", "relative", "fixed", "sticky" }
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"gaoDean/autolist.nvim",
|
|
||||||
event = "InsertEnter",
|
|
||||||
config = true,
|
|
||||||
},
|
|
||||||
-------------------------
|
|
||||||
-- Syntax Highlighting --
|
|
||||||
-------------------------
|
|
||||||
{
|
|
||||||
"norcalli/nvim-colorizer.lua",
|
|
||||||
config = true,
|
|
||||||
event = "BufReadPost",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/todo-comments.nvim",
|
|
||||||
config = true,
|
|
||||||
event = "VeryLazy",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
|
||||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
|
||||||
"windwp/nvim-ts-autotag",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("max.configs.treesitter")
|
|
||||||
end,
|
|
||||||
build = ":TSUpdate",
|
|
||||||
},
|
|
||||||
--------------------
|
|
||||||
-- IDE Type Stuff --
|
|
||||||
--------------------
|
|
||||||
{
|
|
||||||
"rest-nvim/rest.nvim",
|
|
||||||
lazy = false,
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
|
||||||
config = function()
|
|
||||||
require("rest-nvim").setup({})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"chrisgrieser/nvim-recorder",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("recorder").setup({
|
|
||||||
logLevel = vim.log.levels.OFF,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"jackMort/ChatGPT.nvim",
|
|
||||||
cmd = "ChatGPT",
|
|
||||||
config = true,
|
|
||||||
dependencies = {
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"olimorris/persisted.nvim",
|
|
||||||
lazy = false,
|
|
||||||
config = function()
|
|
||||||
require("max.configs.session")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
--Dap Debugger -- Have not yet been able to set this up
|
|
||||||
{
|
|
||||||
"mfussenegger/nvim-dap",
|
|
||||||
dependencies = {
|
|
||||||
"rcarriga/nvim-dap-ui",
|
|
||||||
"mxsdev/nvim-dap-vscode-js",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("max.configs.dap")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"michaelb/sniprun",
|
|
||||||
event = "BufRead",
|
|
||||||
config = function()
|
|
||||||
require("max.configs.sniprun")
|
|
||||||
end,
|
|
||||||
build = "bash ./install.sh",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uga-rosa/translate.nvim",
|
|
||||||
event = "InsertEnter",
|
|
||||||
config = function()
|
|
||||||
require("translate").setup({ default = { output = "replace" } })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-neotest/neotest",
|
|
||||||
cmd = "NeoTest",
|
|
||||||
config = function()
|
|
||||||
require("max.configs.neotest")
|
|
||||||
end,
|
|
||||||
dependencies = {
|
|
||||||
"haydenmeade/neotest-jest",
|
|
||||||
"KaiSpencer/neotest-vitest",
|
|
||||||
"antoinemadec/FixCursorHold.nvim",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tpope/vim-dadbod",
|
|
||||||
dependencies = {
|
|
||||||
"kristijanhusak/vim-dadbod-completion",
|
|
||||||
"kristijanhusak/vim-dadbod-ui",
|
|
||||||
},
|
|
||||||
cmd = "DBUI"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
local opts = {
|
local opts = {
|
||||||
defaults = { lazy = true },
|
defaults = { lazy = true },
|
||||||
install = { colorscheme = { require("max.theme").name } },
|
install = { colorscheme = { require("max.plugins.theme").name } },
|
||||||
change_detection = {
|
change_detection = {
|
||||||
enabled = true, -- automatically check for config file changes and reload the ui
|
enabled = true, -- automatically check for config file changes and reload the ui
|
||||||
notify = true, -- get a notification when changes are found
|
notify = true, -- get a notification when changes are found
|
||||||
@ -426,4 +150,4 @@ local opts = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
require("lazy").setup(plugins, opts)
|
require("lazy").setup("max.plugins", opts)
|
||||||
|
60
configs/nvim/lua/max/functions/translate/init.lua
Normal file
60
configs/nvim/lua/max/functions/translate/init.lua
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
local languages = require("max.functions.translate.languages")
|
||||||
|
local pickers = require("telescope.pickers")
|
||||||
|
local finders = require("telescope.finders")
|
||||||
|
local actions = require("telescope.actions")
|
||||||
|
local action_state = require("telescope.actions.state")
|
||||||
|
local conf = require("telescope.config").values
|
||||||
|
|
||||||
|
return function()
|
||||||
|
-- This active_buf and active selection because telescope clears everything (i think)
|
||||||
|
local active_buf = vim.api.nvim_get_current_buf()
|
||||||
|
local mode = vim.api.nvim_get_mode().mode
|
||||||
|
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<Esc>", true, false, true), "x!", true)
|
||||||
|
local start_mark = vim.api.nvim_buf_get_mark(active_buf, "<")
|
||||||
|
local end_mark = vim.api.nvim_buf_get_mark(active_buf, ">")
|
||||||
|
|
||||||
|
pickers
|
||||||
|
.new({}, {
|
||||||
|
prompt_title = "Translate",
|
||||||
|
finder = finders.new_table({
|
||||||
|
results = languages,
|
||||||
|
entry_maker = function(entry)
|
||||||
|
return {
|
||||||
|
value = entry[2],
|
||||||
|
ordinal = entry[1] .. " " .. entry[2],
|
||||||
|
display = entry[3] .. entry[1],
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
}),
|
||||||
|
sorter = conf.generic_sorter({}),
|
||||||
|
attach_mappings = function(prompt_bufnr)
|
||||||
|
actions.select_default:replace(function()
|
||||||
|
actions.close(prompt_bufnr)
|
||||||
|
|
||||||
|
local selection = action_state.get_selected_entry()
|
||||||
|
|
||||||
|
vim.api.nvim_set_current_buf(active_buf)
|
||||||
|
|
||||||
|
vim.api.nvim_win_set_cursor(0, start_mark)
|
||||||
|
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(mode, true, false, true), "x!", true)
|
||||||
|
vim.api.nvim_win_set_cursor(0, end_mark)
|
||||||
|
|
||||||
|
local timer = vim.loop.new_timer()
|
||||||
|
timer:start(
|
||||||
|
500,
|
||||||
|
0,
|
||||||
|
vim.schedule_wrap(function()
|
||||||
|
if mode == "v" or mode == "V" then
|
||||||
|
vim.cmd("'<,'>Translate " .. selection.value)
|
||||||
|
else
|
||||||
|
vim.cmd("Translate " .. selection.value)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
end)
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
previewer = nil,
|
||||||
|
})
|
||||||
|
:find()
|
||||||
|
end
|
129
configs/nvim/lua/max/plugins/autocomplete.lua
Normal file
129
configs/nvim/lua/max/plugins/autocomplete.lua
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
return {
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
event = "InsertEnter",
|
||||||
|
dependencies = {
|
||||||
|
"hrsh7th/cmp-buffer",
|
||||||
|
"hrsh7th/cmp-path",
|
||||||
|
"hrsh7th/cmp-emoji",
|
||||||
|
"saadparwaiz1/cmp_luasnip",
|
||||||
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
|
"hrsh7th/cmp-nvim-lua",
|
||||||
|
"zbirenbaum/copilot.lua",
|
||||||
|
"zbirenbaum/copilot-cmp",
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
"rafamadriz/friendly-snippets",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local luasnip = require("luasnip")
|
||||||
|
require("max.plugins.autocomplete.snippets")
|
||||||
|
|
||||||
|
local lspkind = require("lspkind")
|
||||||
|
local cmp = require("cmp")
|
||||||
|
|
||||||
|
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||||
|
require("lspconfig").html.setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
})
|
||||||
|
|
||||||
|
require("copilot").setup({
|
||||||
|
suggestion = { enabled = false },
|
||||||
|
panel = { enabled = false },
|
||||||
|
})
|
||||||
|
require("copilot_cmp").setup {
|
||||||
|
method = "getCompletionsCycling",
|
||||||
|
}
|
||||||
|
|
||||||
|
local check_backspace = function()
|
||||||
|
local col = vim.fn.col(".") - 1
|
||||||
|
return col == 0 or vim.fn.getline("."):sub(col, col):match("%s")
|
||||||
|
end
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
window = {
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
experimental = {
|
||||||
|
ghost_text = true,
|
||||||
|
},
|
||||||
|
completion = {
|
||||||
|
completeopt = "menuone,noselect",
|
||||||
|
},
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
luasnip.lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = {
|
||||||
|
["<C-Leader>"] = cmp.mapping.complete({}),
|
||||||
|
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
||||||
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_next_item()
|
||||||
|
elseif luasnip.expandable() then
|
||||||
|
luasnip.expand()
|
||||||
|
elseif luasnip.expand_or_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
elseif check_backspace() then
|
||||||
|
fallback()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, {
|
||||||
|
"i",
|
||||||
|
"s",
|
||||||
|
}),
|
||||||
|
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_prev_item()
|
||||||
|
elseif luasnip.jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, {
|
||||||
|
"i",
|
||||||
|
"s",
|
||||||
|
}),
|
||||||
|
["<CR>"] = cmp.mapping.confirm({
|
||||||
|
behavior = cmp.ConfirmBehavior.Replace,
|
||||||
|
select = true,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
formatting = {
|
||||||
|
format = lspkind.cmp_format({
|
||||||
|
mode = "symbol_text",
|
||||||
|
max_width = 50,
|
||||||
|
symbol_map = { Copilot = "" },
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
{ name = "copilot" },
|
||||||
|
{ name = "vim-dadbod-completion", filetype = "sql" },
|
||||||
|
{ name = "nvim_lua" },
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "luasnip" },
|
||||||
|
{ name = "emoji" },
|
||||||
|
{ name = "path" },
|
||||||
|
{ name = "buffer" },
|
||||||
|
{ name = "calc" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
|
||||||
|
cmp.setup.cmdline("/", {
|
||||||
|
sources = {
|
||||||
|
{ name = "buffer" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||||
|
cmp.setup.cmdline(":", {
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = "path" },
|
||||||
|
}, {
|
||||||
|
{ name = "cmdline" },
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
8
configs/nvim/lua/max/plugins/dadbod.lua
Normal file
8
configs/nvim/lua/max/plugins/dadbod.lua
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
return {
|
||||||
|
"tpope/vim-dadbod",
|
||||||
|
dependencies = {
|
||||||
|
"kristijanhusak/vim-dadbod-completion",
|
||||||
|
"kristijanhusak/vim-dadbod-ui",
|
||||||
|
},
|
||||||
|
cmd = "DBUI"
|
||||||
|
}
|
107
configs/nvim/lua/max/plugins/dap.lua
Normal file
107
configs/nvim/lua/max/plugins/dap.lua
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
return {
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
dependencies = {
|
||||||
|
"rcarriga/nvim-dap-ui",
|
||||||
|
"mxsdev/nvim-dap-vscode-js",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("max.configs.dap")
|
||||||
|
|
||||||
|
local dap, dapui = require("dap"), require("dapui")
|
||||||
|
|
||||||
|
dap.listeners.after.event_initialized["dapui_config"] = function()
|
||||||
|
dapui.open({})
|
||||||
|
end
|
||||||
|
dap.listeners.before.event_terminated["dapui_config"] = function()
|
||||||
|
dapui.close({})
|
||||||
|
end
|
||||||
|
dap.listeners.before.event_exited["dapui_config"] = function()
|
||||||
|
dapui.close({})
|
||||||
|
end
|
||||||
|
|
||||||
|
require("dap-vscode-js").setup({
|
||||||
|
-- node_path = "node", -- Path of node executable. Defaults to $NODE_PATH, and then "node"
|
||||||
|
-- debugger_path = "(runtimedir)/site/pack/packer/opt/vscode-js-debug", -- Path to vscode-js-debug installation.
|
||||||
|
-- debugger_cmd = { "js-debug-adapter" }, -- Command to use to launch the debug server. Takes precedence over `node_path` and `debugger_path`.
|
||||||
|
adapters = { 'pwa-node', 'pwa-chrome' }, -- which adapters to register in nvim-dap
|
||||||
|
})
|
||||||
|
|
||||||
|
dap.adapters.node2 = {
|
||||||
|
type = 'executable',
|
||||||
|
command = 'node',
|
||||||
|
args = { vim.fn.stdpath "data" .. '/mason/packages/node-debug2-adapter/out/src/nodeDebug.js' },
|
||||||
|
}
|
||||||
|
|
||||||
|
dap.adapters.firefox = {
|
||||||
|
type = "executable",
|
||||||
|
command = "node",
|
||||||
|
options = {
|
||||||
|
initialize_timeout_sec = 10,
|
||||||
|
disconnect_timeout_sec = 10,
|
||||||
|
max_retries = 30,
|
||||||
|
},
|
||||||
|
args = { vim.fn.stdpath("data") .. "/mason/packages/firefox-debug-adapter/dist/adapter.bundle.js" },
|
||||||
|
}
|
||||||
|
|
||||||
|
dap.configurations.typescript = {
|
||||||
|
{
|
||||||
|
name = "Debug with Firefox",
|
||||||
|
type = "firefox",
|
||||||
|
request = "launch",
|
||||||
|
reAttach = true,
|
||||||
|
webRoot = "${workspaceFolder}",
|
||||||
|
url = "http://localhost:8080",
|
||||||
|
firefoxExecutable = "/sbin/firefox-developer-edition",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = 'Launch',
|
||||||
|
type = 'node2',
|
||||||
|
request = 'launch',
|
||||||
|
program = '${file}',
|
||||||
|
cwd = vim.fn.getcwd(),
|
||||||
|
sourceMaps = true,
|
||||||
|
protocol = 'inspector',
|
||||||
|
console = 'integratedTerminal',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
-- For this to work you need to make sure the node process is started with the `--inspect` flag.
|
||||||
|
name = 'Attach to process',
|
||||||
|
type = 'node2',
|
||||||
|
request = 'attach',
|
||||||
|
sourceMaps = true,
|
||||||
|
cwd = "${workspaceFolder}",
|
||||||
|
processId = require 'dap.utils'.pick_process,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type = "pwa-node",
|
||||||
|
request = "attach",
|
||||||
|
name = "Attach",
|
||||||
|
processId = require 'dap.utils'.pick_process,
|
||||||
|
cwd = "${workspaceFolder}",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dap.configurations.typescriptreact = {
|
||||||
|
{
|
||||||
|
name = 'debug with firefox',
|
||||||
|
type = 'firefox',
|
||||||
|
request = 'launch',
|
||||||
|
reattach = true,
|
||||||
|
url = 'http://localhost:4200',
|
||||||
|
webRoot = '/home/max/Projects/ruumio/main/apps/events-standalone/',
|
||||||
|
firefoxExecutable = '/home/max/Downloads/firefox/firefox'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = 'debug with chrome',
|
||||||
|
type = 'pwa-chrome',
|
||||||
|
request = 'launch',
|
||||||
|
reattach = true,
|
||||||
|
url = 'http://localhost:4200',
|
||||||
|
webroot = '${workspacefolder}',
|
||||||
|
runtimeExecutable = '/mnt/c/Program Files/Google/Chrome/Application/chrome.exe'
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
dap.configurations.javascript = dap.configurations.typescript;
|
||||||
|
end,
|
||||||
|
}
|
88
configs/nvim/lua/max/plugins/dashboard.lua
Normal file
88
configs/nvim/lua/max/plugins/dashboard.lua
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
return {
|
||||||
|
"goolord/alpha-nvim",
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
-----------------------------------
|
||||||
|
-- Welcome Screen Configuration --
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
-- Call Alpha With A pcall
|
||||||
|
local status_ok, alpha = pcall(require, "alpha")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Enable Alpha Dashboard
|
||||||
|
local dashboard = require("alpha.themes.dashboard")
|
||||||
|
|
||||||
|
-- Remove These ~ ~ ~
|
||||||
|
vim.opt.fillchars:append({ eob = " " })
|
||||||
|
|
||||||
|
-- Disable Status Line so that alpha dashboard look nice
|
||||||
|
-- vim.cmd [[ au User AlphaReady if winnr('$') == 1 | set laststatus=1 ]]
|
||||||
|
|
||||||
|
-- Custom Footer
|
||||||
|
dashboard.section.footer.val = {
|
||||||
|
"Write Programs That Do One Thing And Do It Well.",
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Custom Section
|
||||||
|
dashboard.section.buttons.val = {
|
||||||
|
dashboard.button("n", " Create New file", ":set laststatus=3 | :ene <BAR> startinsert <CR>"),
|
||||||
|
dashboard.button("e", " Open File Manager", ":set laststatus=3 | :Neotree toggle <CR>"),
|
||||||
|
dashboard.button("s", "Δ Search Sessions", ":Telescope persisted<CR>"),
|
||||||
|
dashboard.button("v", " Neovim Settings ", ":set laststatus=3 | e ~/.config/nvim/init.lua <CR>"),
|
||||||
|
dashboard.button("b", "⟳ Recent Files", ":Telescope oldfiles<CR>"),
|
||||||
|
-- dashboard.button("s", " Shell Configuration", ":set laststatus=3 | e ~/.config/zsh/.zshrc <CR>"),
|
||||||
|
dashboard.button("u", " Update Nvim Plugins", ":Lazy update <CR>"),
|
||||||
|
dashboard.button("q", " Quit Neovim", ":qa<CR>"),
|
||||||
|
}
|
||||||
|
|
||||||
|
-- LuaVim Ascii Art
|
||||||
|
dashboard.section.header.val = {
|
||||||
|
[[███╗ ███╗ █████╗ ██╗ ██╗ ███╗ ██╗ ██╗ ██╗██╗███╗ ███╗]],
|
||||||
|
[[████╗ ████║██╔══██╗╚██╗██╔╝ ████╗ ██║ ██║ ██║██║████╗ ████║]],
|
||||||
|
[[██╔████╔██║███████║ ╚███╔╝ ██╔██╗ ██║ ██║ ██║██║██╔████╔██║]],
|
||||||
|
[[██║╚██╔╝██║██╔══██║ ██╔██╗ ██║╚██╗██║ ╚██╗ ██╔╝██║██║╚██╔╝██║]],
|
||||||
|
[[██║ ╚═╝ ██║██║ ██║██╔╝ ██╗ ██║ ╚████║ ╚████╔╝ ██║██║ ╚═╝ ██║]],
|
||||||
|
[[╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═══╝ ╚═══╝ ╚═╝╚═╝ ╚═╝]],
|
||||||
|
}
|
||||||
|
|
||||||
|
dashboard.section.header.val = {
|
||||||
|
[[ __ ]],
|
||||||
|
[[ /\ \ ]],
|
||||||
|
[[ / /\ \ ]],
|
||||||
|
[[/ /__\ \ ]],
|
||||||
|
[[\/____\/ ]],
|
||||||
|
}
|
||||||
|
|
||||||
|
-- dashboard.section.header.val = {
|
||||||
|
-- [[ ____]],
|
||||||
|
-- [[ /\ \]],
|
||||||
|
-- [[ / \ \]],
|
||||||
|
-- [[ / \ \]],
|
||||||
|
-- [[ / \ \]],
|
||||||
|
-- [[ / /\ \ \]],
|
||||||
|
-- [[ / / \ \ \]],
|
||||||
|
-- [[ / / \ \ \]],
|
||||||
|
-- [[ / / / \ \ \]],
|
||||||
|
-- [[ / / / \ \ \]],
|
||||||
|
-- [[ / / /---------' \]],
|
||||||
|
-- [[/ / /_______________\]],
|
||||||
|
-- [[\ / /]],
|
||||||
|
-- [[ \/_____________________/ ]],
|
||||||
|
-- }
|
||||||
|
|
||||||
|
-- Layout For Luavim ascii art
|
||||||
|
dashboard.config.layout = {
|
||||||
|
{ type = "padding", val = 5 },
|
||||||
|
dashboard.section.header,
|
||||||
|
{ type = "padding", val = 2 },
|
||||||
|
dashboard.section.buttons,
|
||||||
|
{ type = "padding", val = 1 },
|
||||||
|
dashboard.section.footer,
|
||||||
|
}
|
||||||
|
|
||||||
|
alpha.setup(dashboard.opts)
|
||||||
|
end,
|
||||||
|
}
|
6
configs/nvim/lua/max/plugins/git-conflict.lua
Normal file
6
configs/nvim/lua/max/plugins/git-conflict.lua
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
return {
|
||||||
|
"akinsho/git-conflict.nvim",
|
||||||
|
version = "*",
|
||||||
|
event = "BufReadPost",
|
||||||
|
config = true,
|
||||||
|
}
|
5
configs/nvim/lua/max/plugins/git-signs.lua
Normal file
5
configs/nvim/lua/max/plugins/git-signs.lua
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
return {
|
||||||
|
"lewis6991/gitsigns.nvim",
|
||||||
|
event = "BufReadPost",
|
||||||
|
config = true,
|
||||||
|
}
|
8
configs/nvim/lua/max/plugins/jump.lua
Normal file
8
configs/nvim/lua/max/plugins/jump.lua
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
return {
|
||||||
|
"ggandor/flit.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"ggandor/leap.nvim",
|
||||||
|
},
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = true,
|
||||||
|
}
|
213
configs/nvim/lua/max/plugins/lsp.lua
Normal file
213
configs/nvim/lua/max/plugins/lsp.lua
Normal file
@ -0,0 +1,213 @@
|
|||||||
|
return {
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
dependencies = {
|
||||||
|
"arkav/lualine-lsp-progress",
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
"jose-elias-alvarez/null-ls.nvim",
|
||||||
|
"williamboman/mason-lspconfig.nvim",
|
||||||
|
"onsails/lspkind.nvim",
|
||||||
|
"lukas-reineke/lsp-format.nvim"
|
||||||
|
},
|
||||||
|
event = "BufReadPost",
|
||||||
|
config = function()
|
||||||
|
local mason = require("mason")
|
||||||
|
local mason_lsp = require("mason-lspconfig")
|
||||||
|
local lsp = require("lspconfig")
|
||||||
|
|
||||||
|
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(
|
||||||
|
vim.lsp.handlers.hover,
|
||||||
|
{ border = 'single' }
|
||||||
|
)
|
||||||
|
vim.diagnostic.config({
|
||||||
|
float = {
|
||||||
|
border = 'single',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
local null_ls = require("null-ls")
|
||||||
|
null_ls.setup({
|
||||||
|
sources = {
|
||||||
|
null_ls.builtins.diagnostics.eslint_d,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
mason.setup()
|
||||||
|
mason_lsp.setup({
|
||||||
|
ensure_installed = { "lua_ls", "jsonls", "tsserver", "svelte", "cssls", "prismals" },
|
||||||
|
})
|
||||||
|
|
||||||
|
local function on_attach(client)
|
||||||
|
require("lsp-format").on_attach(client)
|
||||||
|
end
|
||||||
|
|
||||||
|
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||||
|
capabilities.textDocument.foldingRange = {
|
||||||
|
dynamicRegistration = false,
|
||||||
|
lineFoldingOnly = true,
|
||||||
|
}
|
||||||
|
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||||
|
|
||||||
|
local custom_lsp = {}
|
||||||
|
|
||||||
|
custom_lsp.tsserver = {
|
||||||
|
root_dir = lsp.util.root_pattern("tsconfig.json", "package.json", "jsconfig.json", ".git"),
|
||||||
|
}
|
||||||
|
|
||||||
|
local runtime_path = vim.split(package.path, ";")
|
||||||
|
table.insert(runtime_path, "lua/?.lua")
|
||||||
|
table.insert(runtime_path, "lua/?/init.lua")
|
||||||
|
custom_lsp.lua_ls = {
|
||||||
|
settings = {
|
||||||
|
Lua = {
|
||||||
|
runtime = {
|
||||||
|
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||||
|
version = "LuaJIT",
|
||||||
|
-- Setup your lua path
|
||||||
|
path = runtime_path,
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
-- Get the language server to recognize the `vim` global
|
||||||
|
globals = { "vim" },
|
||||||
|
},
|
||||||
|
workspace = {
|
||||||
|
-- Make the server aware of Neovim runtime files
|
||||||
|
library = vim.api.nvim_get_runtime_file("", true),
|
||||||
|
checkThirdParty = false
|
||||||
|
},
|
||||||
|
-- Do not send telemetry data containing a randomized but unique identifier
|
||||||
|
telemetry = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
custom_lsp.jsonls = {
|
||||||
|
settings = {
|
||||||
|
provideFormatter = false,
|
||||||
|
json = {
|
||||||
|
schemas = {
|
||||||
|
{
|
||||||
|
description = "TypeScript compiler configuration file",
|
||||||
|
fileMatch = { "tsconfig.json", "tsconfig.*.json" },
|
||||||
|
url = "http://json.schemastore.org/tsconfig",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "ESLint config",
|
||||||
|
fileMatch = { ".eslintrc.json", ".eslintrc" },
|
||||||
|
url = "http://json.schemastore.org/eslintrc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Prettier config",
|
||||||
|
fileMatch = { ".prettierrc", ".prettierrc.json", "prettier.config.json" },
|
||||||
|
url = "http://json.schemastore.org/prettierrc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "JSON schema for Import Maps files",
|
||||||
|
fileMatch = { "importmap.json", "import_map.json", "import-map.json" },
|
||||||
|
name = "importmap.json",
|
||||||
|
url = "https://json.schemastore.org/importmap.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "NPM configuration file",
|
||||||
|
fileMatch = { "package.json" },
|
||||||
|
name = "package.json",
|
||||||
|
url = "https://json.schemastore.org/package.json",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
custom_lsp.intelephense = {
|
||||||
|
settings = {
|
||||||
|
intelephense = {
|
||||||
|
stubs = {
|
||||||
|
"wordpress",
|
||||||
|
"woocommerce",
|
||||||
|
"wordpress-globals",
|
||||||
|
"wp-cli",
|
||||||
|
},
|
||||||
|
environment = {
|
||||||
|
includePaths = "/home/max/.composer/vendor/php-stubs/", -- this line forces the composer path for the stubs in case inteliphense don't find it...
|
||||||
|
},
|
||||||
|
files = {
|
||||||
|
maxSize = 5000000,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
custom_lsp.rust_analyzer = {
|
||||||
|
settings = {
|
||||||
|
["rust-analyzer"] = {
|
||||||
|
imports = {
|
||||||
|
granularity = {
|
||||||
|
group = "module",
|
||||||
|
},
|
||||||
|
prefix = "self",
|
||||||
|
},
|
||||||
|
cargo = {
|
||||||
|
buildScripts = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
procMacro = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
custom_lsp.yamlls = {
|
||||||
|
settings = {
|
||||||
|
yaml = {
|
||||||
|
schemas = {
|
||||||
|
["https://raw.githubusercontent.com/quantumblacklabs/kedro/develop/static/jsonschema/kedro-catalog-0.17.json"] = "conf/**/*catalog*",
|
||||||
|
["https://json.schemastore.org/github-workflow.json"] = "/.github/workflows/*",
|
||||||
|
["https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/traefik-v2-file-provider.json"] = "rules.yml",
|
||||||
|
["https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/traefik-v2.json"] = "traefik.yml",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- local glslls_config = require("max.configs.lsp-glsl")
|
||||||
|
-- glslls_config.on_attach = on_attach;
|
||||||
|
-- lsp.glslls.setup(glslls_config)
|
||||||
|
|
||||||
|
custom_lsp.ltex = {
|
||||||
|
settings = {
|
||||||
|
ltex = {
|
||||||
|
language = "de",
|
||||||
|
disabledRules = { ["en-US"] = { "PROFANITY" } },
|
||||||
|
dictionary = {
|
||||||
|
["en-US"] = { "perf", "ci", "neovim" },
|
||||||
|
},
|
||||||
|
hiddenFalsePositives = {
|
||||||
|
"neovim",
|
||||||
|
"Neovim",
|
||||||
|
"waybar",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
mason_lsp.setup_handlers({
|
||||||
|
function(server_name)
|
||||||
|
local config = {
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
}
|
||||||
|
|
||||||
|
if custom_lsp[server_name] ~= nil then
|
||||||
|
for k, v in pairs(custom_lsp[server_name]) do
|
||||||
|
config[k] = v
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
lsp[server_name].setup(config)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
245
configs/nvim/lua/max/plugins/lualine.lua
Normal file
245
configs/nvim/lua/max/plugins/lualine.lua
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
return {
|
||||||
|
"nvim-lualine/lualine.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"chrisgrieser/nvim-recorder",
|
||||||
|
},
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
-----------------
|
||||||
|
-- Status Line --
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
-- Eviline / Vimline config for lualine
|
||||||
|
-- Author: shadmansaleh
|
||||||
|
-- Credit: glepnir
|
||||||
|
-- Credit: Elai
|
||||||
|
|
||||||
|
local lualine = require("lualine")
|
||||||
|
|
||||||
|
-- Color table for highlights
|
||||||
|
-- stylua: ignore
|
||||||
|
local colors = {
|
||||||
|
bg = '#00000000',
|
||||||
|
fg = '#bbc2cf',
|
||||||
|
yellow = '#ECBE7B',
|
||||||
|
cyan = '#008080',
|
||||||
|
darkblue = '#081633',
|
||||||
|
green = '#B7BD82',
|
||||||
|
orange = '#8d6141',
|
||||||
|
violet = '#B294BB',
|
||||||
|
magenta = '#AE84BB',
|
||||||
|
blue = '#81A2BE',
|
||||||
|
red = '#CC8282',
|
||||||
|
}
|
||||||
|
|
||||||
|
local conditions = {
|
||||||
|
buffer_not_empty = function()
|
||||||
|
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
||||||
|
end,
|
||||||
|
hide_in_width = function()
|
||||||
|
return vim.fn.winwidth(0) > 80
|
||||||
|
end,
|
||||||
|
check_git_workspace = function()
|
||||||
|
local filepath = vim.fn.expand("%:p:h")
|
||||||
|
local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
||||||
|
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Config
|
||||||
|
local config = {
|
||||||
|
options = {
|
||||||
|
-- Disable sections and component separators
|
||||||
|
component_separators = "",
|
||||||
|
section_separators = "",
|
||||||
|
globalstatus = true,
|
||||||
|
theme = require("max.plugins.theme").name,
|
||||||
|
},
|
||||||
|
-- These are to remove the defaults
|
||||||
|
sections = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {},
|
||||||
|
-- These will be filled later
|
||||||
|
lualine_c = {},
|
||||||
|
lualine_x = {},
|
||||||
|
},
|
||||||
|
inactive_sections = {
|
||||||
|
-- these are to remove the defaults
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {},
|
||||||
|
lualine_c = {},
|
||||||
|
lualine_x = {},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Inserts a component in lualine_c at left section
|
||||||
|
local function ins_left(component)
|
||||||
|
table.insert(config.sections.lualine_c, component)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Inserts a component in lualine_x ot right section
|
||||||
|
local function ins_right(component)
|
||||||
|
table.insert(config.sections.lualine_x, component)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Icon Of Diffrent Mode: -- normal -- | -- insert -- | -- visual --
|
||||||
|
ins_left({
|
||||||
|
-- mode component
|
||||||
|
function()
|
||||||
|
return "◬"
|
||||||
|
end,
|
||||||
|
color = function()
|
||||||
|
-- auto change color according to neovims mode
|
||||||
|
local mode_color = {
|
||||||
|
n = colors.green,
|
||||||
|
i = colors.blue,
|
||||||
|
v = colors.magenta,
|
||||||
|
[""] = colors.blue,
|
||||||
|
V = colors.blue,
|
||||||
|
c = colors.red,
|
||||||
|
no = colors.red,
|
||||||
|
s = colors.orange,
|
||||||
|
S = colors.orange,
|
||||||
|
[""] = colors.orange,
|
||||||
|
ic = colors.yellow,
|
||||||
|
R = colors.violet,
|
||||||
|
Rv = colors.violet,
|
||||||
|
cv = colors.red,
|
||||||
|
ce = colors.red,
|
||||||
|
r = colors.cyan,
|
||||||
|
rm = colors.cyan,
|
||||||
|
["r?"] = colors.cyan,
|
||||||
|
["!"] = colors.red,
|
||||||
|
t = colors.red,
|
||||||
|
}
|
||||||
|
return { fg = mode_color[vim.fn.mode()] }
|
||||||
|
end,
|
||||||
|
padding = { right = 1 },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- File Name
|
||||||
|
ins_left({
|
||||||
|
"filename",
|
||||||
|
file_status = true, -- Displays file status (readonly status, modified status)
|
||||||
|
path = 2, -- 0: Just the filename
|
||||||
|
-- 1: Relative path
|
||||||
|
-- 2: Absolute path
|
||||||
|
shorting_target = 100, -- Shortens path to leave 40 spaces in the window
|
||||||
|
-- for other components. (terrible name, any suggestions?)
|
||||||
|
symbols = {
|
||||||
|
modified = " ", -- Text to show when the file is modified.
|
||||||
|
readonly = " ", -- Text to show when the file is non-modifiable or readonly.
|
||||||
|
unnamed = "[No Name]", -- Text to show for unnamed buffers.
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
ins_left {
|
||||||
|
require("recorder").recordingStatus
|
||||||
|
}
|
||||||
|
|
||||||
|
ins_left {
|
||||||
|
'lsp_progress',
|
||||||
|
display_components = { 'lsp_client_name', { 'title', 'percentage', 'message' } },
|
||||||
|
-- With spinner
|
||||||
|
-- display_components = { 'lsp_client_name', 'spinner', { 'title', 'percentage', 'message' }},
|
||||||
|
colors = {
|
||||||
|
percentage = colors.cyan,
|
||||||
|
title = colors.cyan,
|
||||||
|
message = colors.cyan,
|
||||||
|
spinner = colors.cyan,
|
||||||
|
lsp_client_name = colors.magenta,
|
||||||
|
use = true,
|
||||||
|
},
|
||||||
|
separators = {
|
||||||
|
component = ' ',
|
||||||
|
progress = ' | ',
|
||||||
|
message = { pre = '(', post = ')' },
|
||||||
|
percentage = { pre = '', post = '%% ' },
|
||||||
|
title = { pre = '', post = ': ' },
|
||||||
|
lsp_client_name = { pre = '[', post = ']' },
|
||||||
|
spinner = { pre = '', post = '' },
|
||||||
|
},
|
||||||
|
timer = { progress_enddelay = 500, spinner = 1000, lsp_client_name_enddelay = 1000 },
|
||||||
|
spinner_symbols = { '🌑 ', '🌒 ', '🌓 ', '🌔 ', '🌕 ', '🌖 ', '🌗 ', '🌘 ' },
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Git Diff
|
||||||
|
local function diff_source()
|
||||||
|
local gitsigns = vim.b.gitsigns_status_dict
|
||||||
|
if gitsigns then
|
||||||
|
return {
|
||||||
|
added = gitsigns.added,
|
||||||
|
modified = gitsigns.changed,
|
||||||
|
removed = gitsigns.removed,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
ins_right({ "diff", source = diff_source })
|
||||||
|
|
||||||
|
-- Git Branch
|
||||||
|
ins_right({
|
||||||
|
"branch",
|
||||||
|
icon = "",
|
||||||
|
-- icon = '',
|
||||||
|
-- color = { fg = colors.green },
|
||||||
|
-- padding = { right = 1 },
|
||||||
|
-- padding = { left = 1 },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- File Type
|
||||||
|
ins_right({
|
||||||
|
"filetype",
|
||||||
|
icon_only = true,
|
||||||
|
padding = { right = 2, left = 1 },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- File Encoding
|
||||||
|
ins_right({
|
||||||
|
"o:encoding", -- option component same as &encoding in viml
|
||||||
|
fmt = string.upper, -- I'm not sure why it's upper case either ;)
|
||||||
|
cond = conditions.hide_in_width,
|
||||||
|
padding = { right = 2 },
|
||||||
|
-- color = { fg = colors.green, gui = 'bold' },
|
||||||
|
-- Add components to right sections
|
||||||
|
})
|
||||||
|
|
||||||
|
-- File Size
|
||||||
|
ins_right({
|
||||||
|
-- filesize component
|
||||||
|
"filesize",
|
||||||
|
padding = { right = 2 },
|
||||||
|
cond = conditions.buffer_not_empty,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- File Location
|
||||||
|
ins_right({
|
||||||
|
"location",
|
||||||
|
padding = { right = 0 },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Insert mid section. You can make any number of sections in neovim :)
|
||||||
|
-- for lualine it's any number greater then 2
|
||||||
|
ins_left({
|
||||||
|
function()
|
||||||
|
return "%="
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- End Of The Status Bar
|
||||||
|
ins_right {
|
||||||
|
function()
|
||||||
|
return ''
|
||||||
|
end,
|
||||||
|
color = { fg = colors.blue }, -- Sets highlighting of component
|
||||||
|
padding = { left = 1, right = 0 }, -- We don't need space before this
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Now don't forget to initialize lualine
|
||||||
|
lualine.setup(config)
|
||||||
|
end
|
||||||
|
}
|
21
configs/nvim/lua/max/plugins/mini.lua
Normal file
21
configs/nvim/lua/max/plugins/mini.lua
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
return {
|
||||||
|
'echasnovski/mini.nvim',
|
||||||
|
version = false,
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
require("mini.comment").setup({
|
||||||
|
})
|
||||||
|
|
||||||
|
require("mini.pairs").setup({
|
||||||
|
})
|
||||||
|
|
||||||
|
require("mini.surround").setup({
|
||||||
|
})
|
||||||
|
|
||||||
|
require("mini.animate").setup({
|
||||||
|
cursor = {
|
||||||
|
enable = false,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
16
configs/nvim/lua/max/plugins/neotest.lua
Normal file
16
configs/nvim/lua/max/plugins/neotest.lua
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
return {
|
||||||
|
"nvim-neotest/neotest",
|
||||||
|
cmd = "NeoTest",
|
||||||
|
config = function()
|
||||||
|
require("neotest").setup({
|
||||||
|
adapters = {
|
||||||
|
require("neotest-vitest")({}),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
"haydenmeade/neotest-jest",
|
||||||
|
"KaiSpencer/neotest-vitest",
|
||||||
|
"antoinemadec/FixCursorHold.nvim",
|
||||||
|
},
|
||||||
|
}
|
45
configs/nvim/lua/max/plugins/noice.lua
Normal file
45
configs/nvim/lua/max/plugins/noice.lua
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
return {
|
||||||
|
"folke/noice.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
enabled = true,
|
||||||
|
opts = {
|
||||||
|
lsp = {
|
||||||
|
progress = {
|
||||||
|
enabled = false
|
||||||
|
},
|
||||||
|
hover = {
|
||||||
|
enabled = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
views = {
|
||||||
|
cmdline_popup = {
|
||||||
|
border = {
|
||||||
|
style = "single",
|
||||||
|
padding = { 0, 1 },
|
||||||
|
},
|
||||||
|
filter_options = {},
|
||||||
|
win_options = {
|
||||||
|
winhighlight = "NormalFloat:NormalFloat,FloatBorder:FloatBorder",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
presets = {
|
||||||
|
bottom_search = true,
|
||||||
|
command_palette = true,
|
||||||
|
long_message_to_split = true,
|
||||||
|
lsp_doc_border = true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<S-Enter>",
|
||||||
|
function() require("noice").redirect(vim.fn.getcmdline()) end,
|
||||||
|
mode = "c",
|
||||||
|
desc =
|
||||||
|
"Redirect Cmdline"
|
||||||
|
},
|
||||||
|
{ "<leader>snl", function() require("noice").cmd("last") end, desc = "Noice Last Message" },
|
||||||
|
{ "<leader>snh", function() require("noice").cmd("history") end, desc = "Noice History" },
|
||||||
|
{ "<leader>sna", function() require("noice").cmd("all") end, desc = "Noice All" },
|
||||||
|
},
|
||||||
|
}
|
23
configs/nvim/lua/max/plugins/notify.lua
Normal file
23
configs/nvim/lua/max/plugins/notify.lua
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
return {
|
||||||
|
"rcarriga/nvim-notify",
|
||||||
|
config = function()
|
||||||
|
local notify = require("notify")
|
||||||
|
notify.setup(
|
||||||
|
{
|
||||||
|
stages = "fade_in_slide_out",
|
||||||
|
max_width = 50,
|
||||||
|
render = "minimal",
|
||||||
|
background_colour = "#000000",
|
||||||
|
icons = {
|
||||||
|
ERROR = "",
|
||||||
|
WARN = "",
|
||||||
|
INFO = "",
|
||||||
|
DEBUG = "",
|
||||||
|
TRACE = "✎"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
vim.notify = notify;
|
||||||
|
end,
|
||||||
|
event = "VimEnter",
|
||||||
|
}
|
7
configs/nvim/lua/max/plugins/recorder.lua
Normal file
7
configs/nvim/lua/max/plugins/recorder.lua
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
return {
|
||||||
|
"chrisgrieser/nvim-recorder",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
logLevel = vim.log.levels.OFF,
|
||||||
|
},
|
||||||
|
}
|
22
configs/nvim/lua/max/plugins/scrollbar.lua
Normal file
22
configs/nvim/lua/max/plugins/scrollbar.lua
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
return {
|
||||||
|
"petertriho/nvim-scrollbar",
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
require("scrollbar").setup({
|
||||||
|
handlers = {
|
||||||
|
cursor = true,
|
||||||
|
diagnostic = true,
|
||||||
|
gitsigns = true, -- Requires gitsigns
|
||||||
|
handle = true,
|
||||||
|
search = false, -- Requires hlslens
|
||||||
|
},
|
||||||
|
excluded_filetypes = {
|
||||||
|
"prompt",
|
||||||
|
"TelescopePrompt",
|
||||||
|
"noice",
|
||||||
|
"NvimTree",
|
||||||
|
"neo-tree"
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
7
configs/nvim/lua/max/plugins/session.lua
Normal file
7
configs/nvim/lua/max/plugins/session.lua
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
return {
|
||||||
|
"olimorris/persisted.nvim",
|
||||||
|
lazy = false,
|
||||||
|
opts = {
|
||||||
|
autoload = true,
|
||||||
|
},
|
||||||
|
}
|
9
configs/nvim/lua/max/plugins/sniprun.lua
Normal file
9
configs/nvim/lua/max/plugins/sniprun.lua
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
return {
|
||||||
|
"michaelb/sniprun",
|
||||||
|
event = "BufRead",
|
||||||
|
opts = {
|
||||||
|
selected_interpreters = { "JS_TS_deno" },
|
||||||
|
repl_enable = { "JS_TS_deno" }
|
||||||
|
},
|
||||||
|
build = "bash ./install.sh",
|
||||||
|
}
|
13
configs/nvim/lua/max/plugins/tabs.lua
Normal file
13
configs/nvim/lua/max/plugins/tabs.lua
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
return {
|
||||||
|
"romgrk/barbar.nvim",
|
||||||
|
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
require("bufferline").setup({
|
||||||
|
auto_hide = true,
|
||||||
|
icons = {
|
||||||
|
seperator = { left = "│", right = "" }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
82
configs/nvim/lua/max/plugins/telescope.lua
Normal file
82
configs/nvim/lua/max/plugins/telescope.lua
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
return {
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/popup.nvim",
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"nvim-telescope/telescope-fzf-native.nvim",
|
||||||
|
},
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
local telescope = require("telescope")
|
||||||
|
telescope.setup({
|
||||||
|
defaults = {},
|
||||||
|
})
|
||||||
|
|
||||||
|
local function open_with_trouble()
|
||||||
|
require("trouble.providers.telescope").open_with_trouble()
|
||||||
|
end
|
||||||
|
|
||||||
|
local default = {
|
||||||
|
extensions = {
|
||||||
|
sessions_picker = {
|
||||||
|
sessions_dir = vim.fn.stdpath("data") .. "/sessions/",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
defaults = {
|
||||||
|
vimgrep_arguments = {
|
||||||
|
"rg",
|
||||||
|
"--color=never",
|
||||||
|
"--no-heading",
|
||||||
|
"--with-filename",
|
||||||
|
"--line-number",
|
||||||
|
"--column",
|
||||||
|
"--smart-case",
|
||||||
|
"--ignore-file",
|
||||||
|
".gitignore",
|
||||||
|
},
|
||||||
|
prompt_prefix = " ",
|
||||||
|
selection_caret = " ",
|
||||||
|
entry_prefix = " ",
|
||||||
|
initial_mode = "insert",
|
||||||
|
selection_strategy = "reset",
|
||||||
|
sorting_strategy = "ascending",
|
||||||
|
layout_strategy = "horizontal",
|
||||||
|
layout_config = {
|
||||||
|
horizontal = {
|
||||||
|
prompt_position = "top",
|
||||||
|
preview_width = 0.55,
|
||||||
|
results_width = 0.8,
|
||||||
|
},
|
||||||
|
vertical = {
|
||||||
|
mirror = false,
|
||||||
|
},
|
||||||
|
width = 0.87,
|
||||||
|
height = 0.80,
|
||||||
|
preview_cutoff = 120,
|
||||||
|
},
|
||||||
|
file_sorter = require("telescope.sorters").get_fuzzy_file,
|
||||||
|
file_ignore_patterns = { "node_modules", "*pnpm-lock*" },
|
||||||
|
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
|
||||||
|
path_display = { "truncate" },
|
||||||
|
winblend = 0,
|
||||||
|
border = {},
|
||||||
|
mappings = {
|
||||||
|
i = { ["<c-t>"] = open_with_trouble },
|
||||||
|
n = { ["<c-t>"] = open_with_trouble },
|
||||||
|
},
|
||||||
|
borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
||||||
|
color_devicons = true,
|
||||||
|
use_less = true,
|
||||||
|
set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil,
|
||||||
|
file_previewer = require("telescope.previewers").vim_buffer_cat.new,
|
||||||
|
grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
|
||||||
|
qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
telescope.setup(default)
|
||||||
|
telescope.load_extension("notify")
|
||||||
|
-- telescope.load_extension("persisted") -- To load the telescope extension
|
||||||
|
--
|
||||||
|
end,
|
||||||
|
}
|
2
configs/nvim/lua/max/plugins/theme.lua
Normal file
2
configs/nvim/lua/max/plugins/theme.lua
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
require("max.plugins.theme.statuscolumn")
|
||||||
|
return require("max.plugins.theme.catpuccin");
|
0
configs/nvim/lua/max/plugins/theme/init.lua
Normal file
0
configs/nvim/lua/max/plugins/theme/init.lua
Normal file
44
configs/nvim/lua/max/plugins/toggleterm.lua
Normal file
44
configs/nvim/lua/max/plugins/toggleterm.lua
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
return {
|
||||||
|
"akinsho/nvim-toggleterm.lua",
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
local Terminal = require("toggleterm.terminal").Terminal
|
||||||
|
local lazygit = Terminal:new({
|
||||||
|
cmd = "lazygit",
|
||||||
|
dir = "git_dir",
|
||||||
|
direction = "float",
|
||||||
|
float_opts = {
|
||||||
|
winblend = 0,
|
||||||
|
border = "shadow",
|
||||||
|
},
|
||||||
|
on_close = function()
|
||||||
|
Terminal:close()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
function _Lazygit_toggle()
|
||||||
|
lazygit:toggle()
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_set_keymap("n", "<C-g>", "<cmd>lua _Lazygit_toggle()<CR>", { noremap = true, silent = true })
|
||||||
|
|
||||||
|
local pnpm = Terminal:new({
|
||||||
|
dir = "git_dir",
|
||||||
|
direction = "float",
|
||||||
|
float_opts = {
|
||||||
|
winblend = 0,
|
||||||
|
padding = 10,
|
||||||
|
border = "single",
|
||||||
|
},
|
||||||
|
on_close = function()
|
||||||
|
Terminal:close()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
function _Pnpm_toggle()
|
||||||
|
pnpm:toggle()
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_set_keymap("n", "<C-t>", "<cmd>lua _Pnpm_toggle()<CR>", { noremap = true, silent = true })
|
||||||
|
end,
|
||||||
|
}
|
7
configs/nvim/lua/max/plugins/translate.lua
Normal file
7
configs/nvim/lua/max/plugins/translate.lua
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
return {
|
||||||
|
"uga-rosa/translate.nvim",
|
||||||
|
event = "InsertEnter",
|
||||||
|
config = function()
|
||||||
|
require("translate").setup({ default = { output = "replace" } })
|
||||||
|
end,
|
||||||
|
}
|
75
configs/nvim/lua/max/plugins/treesitter.lua
Normal file
75
configs/nvim/lua/max/plugins/treesitter.lua
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
return {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
event = "VeryLazy",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||||
|
"JoosepAlviste/nvim-ts-context-commentstring",
|
||||||
|
"windwp/nvim-ts-autotag",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("nvim-treesitter.configs").setup({
|
||||||
|
context_commentstring = {
|
||||||
|
enable = true
|
||||||
|
},
|
||||||
|
autotag = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
ensure_installed = {
|
||||||
|
"bash",
|
||||||
|
"yaml",
|
||||||
|
"http",
|
||||||
|
"svelte",
|
||||||
|
"css",
|
||||||
|
"svelte",
|
||||||
|
"typescript",
|
||||||
|
"javascript",
|
||||||
|
"tsx",
|
||||||
|
"go",
|
||||||
|
"lua",
|
||||||
|
"json",
|
||||||
|
"yaml",
|
||||||
|
"prisma",
|
||||||
|
},
|
||||||
|
highlight = { enable = true },
|
||||||
|
textobjects = {
|
||||||
|
select = {
|
||||||
|
enable = true,
|
||||||
|
-- Automatically jump forward to textobj, similar to targets.vim
|
||||||
|
lookahead = true,
|
||||||
|
keymaps = {
|
||||||
|
["af"] = "@function.outer",
|
||||||
|
["if"] = "@function.inner",
|
||||||
|
["ac"] = "@class.outer",
|
||||||
|
["ic"] = "@class.inner",
|
||||||
|
},
|
||||||
|
-- You can choose the select mode (default is charwise 'v')
|
||||||
|
--
|
||||||
|
-- Can also be a function which gets passed a table with the keys
|
||||||
|
-- * query_string: eg '@function.inner'
|
||||||
|
-- * method: eg 'v' or 'o'
|
||||||
|
-- and should return the mode ('v', 'V', or '<c-v>') or a table
|
||||||
|
-- mapping query_strings to modes.
|
||||||
|
selection_modes = {
|
||||||
|
["@parameter.outer"] = "v", -- charwise
|
||||||
|
["@function.outer"] = "V", -- linewise
|
||||||
|
["@class.outer"] = "<c-v>", -- blockwise
|
||||||
|
},
|
||||||
|
-- If you set this to `true` (default is `false`) then any textobject is
|
||||||
|
-- extended to include preceding or succeeding whitespace. Succeeding
|
||||||
|
-- whitespace has priority in order to act similarly to eg the built-in
|
||||||
|
-- `ap`.
|
||||||
|
--
|
||||||
|
-- Can also be a function which gets passed a table with the keys
|
||||||
|
-- * query_string: eg '@function.inner'
|
||||||
|
-- * selection_mode: eg 'v'
|
||||||
|
-- and should return true of false
|
||||||
|
include_surrounding_whitespace = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
build = ":TSUpdate",
|
||||||
|
}
|
4
configs/nvim/lua/max/plugins/undotree.lua
Normal file
4
configs/nvim/lua/max/plugins/undotree.lua
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
return {
|
||||||
|
"mbbill/undotree",
|
||||||
|
cmd = { "Undotree", "UndotreeToggle" }
|
||||||
|
}
|
7
configs/nvim/lua/max/plugins/which-key.lua
Normal file
7
configs/nvim/lua/max/plugins/which-key.lua
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
return {
|
||||||
|
"folke/which-key.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
require("which-key").setup({})
|
||||||
|
end,
|
||||||
|
}
|
@ -1,2 +0,0 @@
|
|||||||
require("max.theme.statuscolumn")
|
|
||||||
return require("max.theme.catpuccin");
|
|
Loading…
Reference in New Issue
Block a user