Ω
This commit is contained in:
parent
3d72f1417f
commit
f425edc6a6
@ -8,4 +8,4 @@ require("max.core.autocommands")
|
||||
|
||||
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" },
|
||||
"LuaSnip": { "branch": "master", "commit": "8fdb06d4601c019a9ee880473646364bdbed3206" },
|
||||
"LuaSnip": { "branch": "master", "commit": "a6355b12a3b7da0aef71f02560e17ff480182b97" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" },
|
||||
"autolist.nvim": { "branch": "main", "commit": "6fc6e376d7f3e2a69a3c364294a14d3c620075e2" },
|
||||
"barbar.nvim": { "branch": "master", "commit": "f37cbed0320bea7cdc756fde4e54fd2e36991cbc" },
|
||||
"boole.nvim": { "branch": "main", "commit": "f4f9996f91159e54b8f1893b20e2e599c91bc1bd" },
|
||||
"catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" },
|
||||
"barbar.nvim": { "branch": "master", "commit": "8edf23fe94a2486a8bc74cb64efb9211810f7e83" },
|
||||
"catppuccin": { "branch": "main", "commit": "fa9a4465672fa81c06b23634c0f04f6a5d622211" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" },
|
||||
"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_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
|
||||
"copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" },
|
||||
"copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" },
|
||||
"copilot.lua": { "branch": "master", "commit": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb" },
|
||||
"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" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "372d5cb485f2062ac74abc5b33054abac21d8b58" },
|
||||
"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" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" },
|
||||
"lspsaga.nvim": { "branch": "main", "commit": "1fbb3e4721354d0d0a20a28bb77b3f83fe68538b" },
|
||||
"lualine-lsp-progress": { "branch": "master", "commit": "56842d097245a08d77912edf5f2a69ba29f275d7" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "a8d5db8f227b9b236d1c54a9c6234bc033825ce7" },
|
||||
"mason.nvim": { "branch": "main", "commit": "2311d9d883eb709ad9979a726a38c5ce1343b63c" },
|
||||
"mini.nvim": { "branch": "main", "commit": "a7c375312edba618d7abc7c6129c53c512cca9d7" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "b81c50c4baae7d80b1723b3fa86e814d7754d15b" },
|
||||
"mason.nvim": { "branch": "main", "commit": "7caf4f7143b4b2e17fe0e893bdd05c622c508207" },
|
||||
"mini.nvim": { "branch": "main", "commit": "10d3903189418af95d5852d7b93d4e22f6a1e46f" },
|
||||
"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-vitest": { "branch": "main", "commit": "d6577b191e16c174bffbec1eadfcd65c22fdcc0d" },
|
||||
"no-neck-pain.nvim": { "branch": "main", "commit": "e22c01b148b37dcb74c40faf801f7ee9de727dfc" },
|
||||
"noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" },
|
||||
"nui.nvim": { "branch": "main", "commit": "1f43b13d133eb4b4f53a4485379d9afa58808389" },
|
||||
"null-ls.nvim": { "branch": "main", "commit": "5855128178fa78293acdfb5b4e41ef046779240b" },
|
||||
"nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" },
|
||||
"null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" },
|
||||
"nvim-dap": { "branch": "master", "commit": "debd7c2f80eaf20c5f5df25db8d8c1b9b18f4421" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "286f682f366fbc652b38dff893569374e9433dd3" },
|
||||
"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-recorder": { "branch": "main", "commit": "0f6dec901a530c41095cff8def0c723877374cb4" },
|
||||
"nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" },
|
||||
"nvim-toggleterm.lua": { "branch": "main", "commit": "b86982429325112d2b20c6d0cc7a5c4b182ab705" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "a57d2a599b57a619f58a5c91c89d9bf12f8977b2" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "7a1c677985b8fc4cdfdb87dd55fbc16dadd86bbe" },
|
||||
"nvim-toggleterm.lua": { "branch": "main", "commit": "1c5996ee3c30b54751093fe68d40676859e7778f" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "dad0864fa324d1df88242a978e9d7de383c5be68" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "cac97f3b47bcb927db6d1d784c0c323056506ef3" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "f16ec8f6e5d23e4349501dae46e0a661918e086e" },
|
||||
"persisted.nvim": { "branch": "main", "commit": "e053ff33488431dc5bf9239b08650e650ec67292" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" },
|
||||
"persisted.nvim": { "branch": "main", "commit": "dbdd6af1847105f5cc7f7c51a648b32a78598eec" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" },
|
||||
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
|
||||
"rest.nvim": { "branch": "main", "commit": "0fdb69f328529b34a2279c14be63b3325dc52740" },
|
||||
"sniprun": { "branch": "master", "commit": "52ecf6ad06304e46722118af2aaea5647b157ab8" },
|
||||
"symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "2ea61f1952f0ad10e4fcc282468a06d3e69674c2" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" },
|
||||
"translate.nvim": { "branch": "main", "commit": "7b2fd50c21ecfe536d572d62dcd3fa83acad3743" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" },
|
||||
"undotree": { "branch": "master", "commit": "485f01efde4e22cb1ce547b9e8c9238f36566f21" },
|
||||
"vim-dadbod": { "branch": "master", "commit": "3f57c0cd41523423fd781422dfc833820095a3e8" },
|
||||
"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>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
|
||||
map("n", "<Leader>b", ":lua require('dap').toggle_breakpoint()<CR>", opts)
|
||||
|
@ -1,399 +1,123 @@
|
||||
local plugins = {
|
||||
|
||||
{
|
||||
dir = "~/Projects/sudoku.nvim",
|
||||
cmd = "Sudoku",
|
||||
config = function()
|
||||
require("sudoku").setup({
|
||||
custom_highlights = {
|
||||
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 },
|
||||
-- local plugins = {
|
||||
--
|
||||
-- {
|
||||
-- dir = "~/Projects/sudoku.nvim",
|
||||
-- cmd = "Sudoku",
|
||||
-- config = function()
|
||||
-- require("sudoku").setup({
|
||||
-- custom_highlights = {
|
||||
-- square = { fg = "red" }
|
||||
-- }
|
||||
-- })
|
||||
|
||||
require("mini.comment").setup({
|
||||
})
|
||||
|
||||
require("mini.pairs").setup({
|
||||
})
|
||||
|
||||
require("mini.surround").setup({
|
||||
})
|
||||
|
||||
require("mini.animate").setup({
|
||||
cursor = {
|
||||
enable = false,
|
||||
}
|
||||
})
|
||||
end
|
||||
},
|
||||
{
|
||||
"shortcuts/no-neck-pain.nvim",
|
||||
cmd = "NoNeckPain",
|
||||
config = true
|
||||
},
|
||||
{
|
||||
"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" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"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
|
||||
-- vim.cmd("hi SudokuSquare guibg=red")
|
||||
-- end
|
||||
-- },
|
||||
--
|
||||
--
|
||||
--
|
||||
-- {
|
||||
-- "shortcuts/no-neck-pain.nvim",
|
||||
-- cmd = "NoNeckPain",
|
||||
-- config = true
|
||||
-- },
|
||||
-- ,
|
||||
-- {
|
||||
-- "stevearc/dressing.nvim",
|
||||
-- enabled = false,
|
||||
-- lazy = true,
|
||||
-- },
|
||||
-- {
|
||||
-- "simrat39/symbols-outline.nvim",
|
||||
-- cmd = "SymbolsOutline",
|
||||
-- config = true,
|
||||
-- },
|
||||
-- ---------------------
|
||||
-- -- Code Navigation --
|
||||
-- ---------------------
|
||||
-- ---------------
|
||||
-- -- Lsp Setup --
|
||||
-- ---------------
|
||||
-- {
|
||||
-- "glepnir/lspsaga.nvim",
|
||||
-- event = "BufRead",
|
||||
-- config = function()
|
||||
-- require("lspsaga").setup({
|
||||
-- symbol_in_winbar = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- })
|
||||
-- end,
|
||||
-- },
|
||||
-- {
|
||||
-- "folke/trouble.nvim",
|
||||
-- cmd = "TroubleToggle",
|
||||
-- dependencies = "nvim-tree/nvim-web-devicons",
|
||||
-- config = function()
|
||||
-- require("trouble").setup({})
|
||||
-- end,
|
||||
-- },
|
||||
-- -------------------
|
||||
-- Code Navigation --
|
||||
-- -- Autocomplete --
|
||||
-- -------------------
|
||||
{
|
||||
"ggandor/flit.nvim",
|
||||
dependencies = {
|
||||
"ggandor/leap.nvim",
|
||||
},
|
||||
event = "VeryLazy",
|
||||
config = true,
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/popup.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
},
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("max.configs.telescope")
|
||||
end,
|
||||
},
|
||||
---------------
|
||||
-- Lsp Setup --
|
||||
---------------
|
||||
{
|
||||
"glepnir/lspsaga.nvim",
|
||||
event = "BufRead",
|
||||
config = function()
|
||||
require("lspsaga").setup({
|
||||
symbol_in_winbar = {
|
||||
enable = false,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"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", config = true },
|
||||
},
|
||||
event = "BufReadPost",
|
||||
config = function()
|
||||
require("max.configs.lsp")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
cmd = "TroubleToggle",
|
||||
dependencies = "nvim-tree/nvim-web-devicons",
|
||||
config = function()
|
||||
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"
|
||||
},
|
||||
}
|
||||
-- {
|
||||
-- "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",
|
||||
-- },
|
||||
-- --------------------
|
||||
-- -- IDE Type Stuff --
|
||||
-- --------------------
|
||||
-- {
|
||||
-- "rest-nvim/rest.nvim",
|
||||
-- lazy = false,
|
||||
-- dependencies = { "nvim-lua/plenary.nvim" },
|
||||
-- config = function()
|
||||
-- require("rest-nvim").setup({})
|
||||
-- end,
|
||||
-- },
|
||||
-- {
|
||||
-- "jackMort/ChatGPT.nvim",
|
||||
-- cmd = "ChatGPT",
|
||||
-- config = true,
|
||||
-- dependencies = {
|
||||
-- "MunifTanjim/nui.nvim",
|
||||
-- },
|
||||
-- },
|
||||
-- --Dap Debugger -- Have not yet been able to set this up
|
||||
-- }
|
||||
|
||||
local opts = {
|
||||
defaults = { lazy = true },
|
||||
install = { colorscheme = { require("max.theme").name } },
|
||||
install = { colorscheme = { require("max.plugins.theme").name } },
|
||||
change_detection = {
|
||||
enabled = true, -- automatically check for config file changes and reload the ui
|
||||
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