Compare commits
45 Commits
63ae70fc67
...
slim
| Author | SHA1 | Date | |
|---|---|---|---|
| eaa9ac358a | |||
| b66c4a6eff | |||
|
|
42369bc959 | ||
|
|
d2261a927c | ||
|
|
e49ce77ec4 | ||
|
|
3eef18f9cd | ||
|
|
69ec44c865 | ||
|
|
a2ed35c726 | ||
|
|
6eda929dd3 | ||
|
|
074e475d40 | ||
|
|
c47b4da611 | ||
|
|
b3fdc6d580 | ||
|
|
3a4fcf5762 | ||
|
|
cb535f28e4 | ||
|
|
cf575950da | ||
|
|
de6697239e | ||
|
|
09e62e8940 | ||
|
|
cbce3193f9 | ||
|
|
17f72e1552 | ||
|
|
06f73e3f29 | ||
|
|
0f831a46b1 | ||
|
|
d171bfe6f3 | ||
|
|
7d8372c71f | ||
|
|
547d9b000a | ||
|
|
0129204a78 | ||
|
|
1796a835f8 | ||
|
|
dc60249576 | ||
|
|
bb66b8fa82 | ||
|
|
571341310a | ||
|
|
6358e87244 | ||
|
|
ab66632f7f | ||
|
|
d5a3a49cb1 | ||
|
|
945caaefb1 | ||
|
|
b3ab200719 | ||
|
|
9fa1a2fa85 | ||
|
|
b5b26754bd | ||
|
|
ed65d752c6 | ||
|
|
52a70c595f | ||
|
|
2a0dd567b9 | ||
|
|
3bdf68fb70 | ||
|
|
4a8f203d52 | ||
|
|
87b443444c | ||
|
|
d7645de63d | ||
|
|
f5eaec8a5d | ||
|
|
a088a7565a |
83
init.lua
83
init.lua
@@ -1,4 +1,6 @@
|
|||||||
|
-- Pull in core keybindings --
|
||||||
require("dan.core")
|
require("dan.core")
|
||||||
|
|
||||||
-- Lazy VIM --
|
-- Lazy VIM --
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
@@ -12,68 +14,25 @@ if not vim.loop.fs_stat(lazypath) then
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
-- SET NEOVIM THEME --
|
||||||
|
vim.o.termguicolors = true
|
||||||
|
-- vim.cmd "let g:everforest_background = 'hard'"
|
||||||
|
-- vim.cmd.colorscheme('sistine')
|
||||||
|
vim.o.background = "dark"
|
||||||
|
|
||||||
|
-- Load Plugins
|
||||||
require("lazy").setup("plugins")
|
require("lazy").setup("plugins")
|
||||||
vim.cmd.colorscheme('catppuccin')
|
vim.cmd.colorscheme('everforest')
|
||||||
local dap = require('dap')
|
|
||||||
require('telescope').load_extension('dap')
|
|
||||||
|
|
||||||
dap.adapters.php = {
|
vim.keymap.set("n", "<leader>ct", "<cmd>Telescope colorscheme<CR>")
|
||||||
type = "executable",
|
|
||||||
command = "node",
|
|
||||||
args = { os.getenv("HOME") .. "/vscode-php-debug/out/phpDebug.js" }
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.configurations.php = {
|
|
||||||
{
|
|
||||||
type = "php",
|
|
||||||
request = "launch",
|
|
||||||
name = "Listen for Xdebug",
|
|
||||||
port = 9003,
|
|
||||||
log = true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "listen for Xdebug docker",
|
|
||||||
type = "php",
|
|
||||||
request = "launch",
|
|
||||||
port = 9003,
|
|
||||||
-- this is where your file is in the container
|
|
||||||
pathMappings = {
|
|
||||||
["/var/www/html/web"] = "${workspaceFolder}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>?', function() dap.continue() end)
|
|
||||||
vim.keymap.set('n', '<leader>N', function() dap.step_over() end)
|
|
||||||
vim.keymap.set('n', '<leader>n', function() dap.step_into() end)
|
|
||||||
vim.keymap.set('n', '<leader>E', function() dap.step_out() end)
|
|
||||||
vim.keymap.set('n', '<leader>b', function() dap.toggle_breakpoint() end)
|
|
||||||
vim.keymap.set('n', '<leader>B', function() dap.set_breakpoint() end)
|
|
||||||
vim.keymap.set('n', '<leader>dr', function() dap.repl.open() end)
|
|
||||||
vim.keymap.set('n', '<leader>dl', function() dap.run_last() end)
|
|
||||||
-- vim.keymap.set({'n', 'v'}, '<leader>dh', function()
|
|
||||||
-- require('dap.ui.widgets').hover()
|
|
||||||
-- end)
|
|
||||||
-- vim.keymap.set({'n', 'v'}, '<leader>dp', function()
|
|
||||||
-- require('dap.ui.widgets').preview()
|
|
||||||
-- end)
|
|
||||||
-- vim.keymap.set('n', '<leader>df', function()
|
|
||||||
-- local widgets = require('dap.ui.widgets')
|
|
||||||
-- widgets.centered_float(widgets.frames)
|
|
||||||
-- end)
|
|
||||||
vim.keymap.set('n', '<leader>db', function()
|
|
||||||
local widgets = require('dap.ui.widgets')
|
|
||||||
widgets.centered_float(widgets.scopes)
|
|
||||||
end)
|
|
||||||
-- 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
|
|
||||||
|
|
||||||
|
-- LSP --
|
||||||
|
vim.o.winborder = 'rounded'
|
||||||
|
vim.lsp.enable({'intelephense'})
|
||||||
|
vim.lsp.enable({'rust_analyzer'})
|
||||||
|
vim.lsp.enable({'elixirls'})
|
||||||
|
vim.lsp.enable({'lexical'})
|
||||||
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
|
||||||
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
|
||||||
|
vim.keymap.set({ "n" }, "<leader>ca", vim.lsp.buf.code_action, {})
|
||||||
|
|||||||
@@ -1,30 +1,40 @@
|
|||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "787dee55ca364cc9119787165418fe93b74c1842" },
|
"LuaSnip": { "branch": "master", "commit": "b3104910bb5ebf40492aadffae18f2528fa757d9" },
|
||||||
"alpha-nvim": { "branch": "main", "commit": "bf3c8bb8c02ed3d9644cc5bbc48e2bdc39349cd7" },
|
"ahoy.nvim": { "branch": "main", "commit": "a08ced2a95ac9e0b8cf7048d9daa7c39756b8261" },
|
||||||
"catppuccin": { "branch": "main", "commit": "d9ee9a35f46f0a2bda9a15b5a763fee4095428fd" },
|
"barbar.nvim": { "branch": "master", "commit": "549ee11d97057eae207bafa2c23c315942cca097" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
|
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||||
"harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "cf8ecc2c5e4332760431a33534240b0cbc6680ab" },
|
"everforest": { "branch": "master", "commit": "3fffb096f6ac11372944ac964c60f8af41d8809f" },
|
||||||
"lazygit.nvim": { "branch": "main", "commit": "56760339a81cd1540d5a72fd9d93010a2677b55d" },
|
"gitsigns.nvim": { "branch": "main", "commit": "23ae90a2a52fdc9b8c50dc61d6c30ebb18521343" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
|
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7446f47b3dfb7df801f31a6f6783c2ad119a6935" },
|
"kanagawa.nvim": { "branch": "master", "commit": "debe91547d7fb1eef34ce26a5106f277fbfdd109" },
|
||||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
"lazygit.nvim": { "branch": "main", "commit": "2305deed25bc61b866d5d39189e9105a45cf1cfb" },
|
||||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
|
"lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" },
|
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "29fb4854573355792df9e156cb779f0d31308796" },
|
"markview.nvim": { "branch": "main", "commit": "3b9ad1ef6527c220b9b6b0c0d7694c74a95524f4" },
|
||||||
"nvim-dap": { "branch": "master", "commit": "7ff6936010b7222fea2caea0f67ed77f1b7c60dd" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "f760507df8c49a4bf46a4d12e1fc616797508979" },
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
|
"mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" },
|
||||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "52638640ae309cacdaff785fdbb854437bd1ee5c" },
|
"mason.nvim": { "branch": "main", "commit": "b3689a41dd77e5294498dba9757fb22cc80cbebd" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "28b205ebe73a18f401e040585106f9bafd8ff21f" },
|
"mini.icons": { "branch": "main", "commit": "e8fae66cb400744daeedf6e387347df50271c252" },
|
||||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
"nightfox": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "48fc5d1dfe3dded8028826dfee7526e26212c73b" },
|
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "19d257cf889f79f4022163c3fbb5e08639077bd8" },
|
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
"nvim-dap": { "branch": "master", "commit": "7367cec8e8f7a0b1e4566af9a7ef5959d11206a7" },
|
||||||
"telescope-dap.nvim": { "branch": "master", "commit": "8c88d9716c91eaef1cdea13cb9390d8ef447dbfe" },
|
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
||||||
|
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
|
||||||
|
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||||
|
"nvim-treesitter": { "branch": "main", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "f6b0920f452bfd7595ee9a9efe5e1ae78e0e2997" },
|
||||||
|
"oil.nvim": { "branch": "master", "commit": "919e155fdf38e9148cdb5304faaaf53c20d703ea" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
|
"rose-pine": { "branch": "main", "commit": "72a04c4065345b51b56aed4859ea1d884f734097" },
|
||||||
|
"snacks.nvim": { "branch": "main", "commit": "5d9dacd09876eed33bde204d224fa7596ac850e8" },
|
||||||
|
"telescope-dap.nvim": { "branch": "master", "commit": "783366bd6c1e7fa0a5c59c07db37f49c805a28df" },
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||||
"vim-commentary": { "branch": "master", "commit": "64a654ef4a20db1727938338310209b6a63f60c9" }
|
"vim-commentary": { "branch": "master", "commit": "64a654ef4a20db1727938338310209b6a63f60c9" },
|
||||||
|
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" }
|
||||||
}
|
}
|
||||||
|
|||||||
11
lsp/elixirls.lua
Normal file
11
lsp/elixirls.lua
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
return {
|
||||||
|
filetypes = { 'elixir', 'eelixir', 'heex', 'surface' },
|
||||||
|
root_dir = function(bufnr, on_dir)
|
||||||
|
local fname = vim.api.nvim_buf_get_name(bufnr)
|
||||||
|
local matches = vim.fs.find({ 'mix.exs' }, { upward = true, limit = 2, path = fname })
|
||||||
|
local child_or_root_path, maybe_umbrella_path = unpack(matches)
|
||||||
|
local root_dir = vim.fs.dirname(maybe_umbrella_path or child_or_root_path)
|
||||||
|
|
||||||
|
on_dir(root_dir)
|
||||||
|
end,
|
||||||
|
}
|
||||||
12
lsp/intelephense.lua
Normal file
12
lsp/intelephense.lua
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
return {
|
||||||
|
cmd = { 'intelephense', '--stdio' },
|
||||||
|
filetypes = { 'php' },
|
||||||
|
root_dir = function(bufnr, on_dir)
|
||||||
|
local fname = vim.api.nvim_buf_get_name(bufnr)
|
||||||
|
local cwd = assert(vim.uv.cwd())
|
||||||
|
local root = vim.fs.root(fname, { 'composer.json', '.git' })
|
||||||
|
|
||||||
|
-- prefer cwd if root is a descendant
|
||||||
|
on_dir(root and vim.fs.relpath(cwd, root) and cwd)
|
||||||
|
end,
|
||||||
|
}
|
||||||
4
lsp/lexical.lua
Normal file
4
lsp/lexical.lua
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
return {
|
||||||
|
filetypes = { 'elixir', 'eelixir', 'heex', 'surface' },
|
||||||
|
root_markers = { 'mix.exs', '.git' },
|
||||||
|
}
|
||||||
96
lsp/rust_analyzer.lua
Normal file
96
lsp/rust_analyzer.lua
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
local function reload_workspace(bufnr)
|
||||||
|
local clients = vim.lsp.get_clients { bufnr = bufnr, name = 'rust_analyzer' }
|
||||||
|
for _, client in ipairs(clients) do
|
||||||
|
vim.notify 'Reloading Cargo Workspace'
|
||||||
|
client.request('rust-analyzer/reloadWorkspace', nil, function(err)
|
||||||
|
if err then
|
||||||
|
error(tostring(err))
|
||||||
|
end
|
||||||
|
vim.notify 'Cargo workspace reloaded'
|
||||||
|
end, 0)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function is_library(fname)
|
||||||
|
local user_home = vim.fs.normalize(vim.env.HOME)
|
||||||
|
local cargo_home = os.getenv 'CARGO_HOME' or user_home .. '/.cargo'
|
||||||
|
local registry = cargo_home .. '/registry/src'
|
||||||
|
local git_registry = cargo_home .. '/git/checkouts'
|
||||||
|
|
||||||
|
local rustup_home = os.getenv 'RUSTUP_HOME' or user_home .. '/.rustup'
|
||||||
|
local toolchains = rustup_home .. '/toolchains'
|
||||||
|
|
||||||
|
for _, item in ipairs { toolchains, registry, git_registry } do
|
||||||
|
if vim.fs.relpath(item, fname) then
|
||||||
|
local clients = vim.lsp.get_clients { name = 'rust_analyzer' }
|
||||||
|
return #clients > 0 and clients[#clients].config.root_dir or nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
cmd = { 'rust-analyzer' },
|
||||||
|
filetypes = { 'rust' },
|
||||||
|
root_dir = function(bufnr, on_dir)
|
||||||
|
local fname = vim.api.nvim_buf_get_name(bufnr)
|
||||||
|
local reused_dir = is_library(fname)
|
||||||
|
if reused_dir then
|
||||||
|
on_dir(reused_dir)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local cargo_crate_dir = vim.fs.root(fname, { 'Cargo.toml' })
|
||||||
|
local cargo_workspace_root
|
||||||
|
|
||||||
|
if cargo_crate_dir == nil then
|
||||||
|
on_dir(
|
||||||
|
vim.fs.root(fname, { 'rust-project.json' })
|
||||||
|
or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
|
||||||
|
)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local cmd = {
|
||||||
|
'cargo',
|
||||||
|
'metadata',
|
||||||
|
'--no-deps',
|
||||||
|
'--format-version',
|
||||||
|
'1',
|
||||||
|
'--manifest-path',
|
||||||
|
cargo_crate_dir .. '/Cargo.toml',
|
||||||
|
}
|
||||||
|
|
||||||
|
vim.system(cmd, { text = true }, function(output)
|
||||||
|
if output.code == 0 then
|
||||||
|
if output.stdout then
|
||||||
|
local result = vim.json.decode(output.stdout)
|
||||||
|
if result['workspace_root'] then
|
||||||
|
cargo_workspace_root = vim.fs.normalize(result['workspace_root'])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
on_dir(cargo_workspace_root or cargo_crate_dir)
|
||||||
|
else
|
||||||
|
vim.schedule(function()
|
||||||
|
vim.notify(('[rust_analyzer] cmd failed with code %d: %s\n%s'):format(output.code, cmd, output.stderr))
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end,
|
||||||
|
capabilities = {
|
||||||
|
experimental = {
|
||||||
|
serverStatusNotification = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
before_init = function(init_params, config)
|
||||||
|
-- See https://github.com/rust-lang/rust-analyzer/blob/eb5da56d839ae0a9e9f50774fa3eb78eb0964550/docs/dev/lsp-extensions.md?plain=1#L26
|
||||||
|
if config.settings and config.settings['rust-analyzer'] then
|
||||||
|
init_params.initializationOptions = config.settings['rust-analyzer']
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
on_attach = function()
|
||||||
|
vim.api.nvim_buf_create_user_command(0, 'LspCargoReload', function()
|
||||||
|
reload_workspace(0)
|
||||||
|
end, { desc = 'Reload current cargo workspace' })
|
||||||
|
end,
|
||||||
|
}
|
||||||
37
lua/dan/completions.lua
Normal file
37
lua/dan/completions.lua
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
-- vim.opt.completeopt = { "menu", "menuone", "noselect" }
|
||||||
|
-- vim.opt.shortmess:append "c"
|
||||||
|
|
||||||
|
local lspkind = require "lspkind"
|
||||||
|
lspkind.init {}
|
||||||
|
|
||||||
|
local cmp = require "cmp"
|
||||||
|
|
||||||
|
cmp.setup {
|
||||||
|
sources = {
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "cody" },
|
||||||
|
{ name = "path" },
|
||||||
|
{ name = "buffer" },
|
||||||
|
},
|
||||||
|
mapping = {
|
||||||
|
["<C-n>"] = cmp.mapping.select_next_item { behavior = cmp.SelectBehavior.Insert },
|
||||||
|
["<C-p>"] = cmp.mapping.select_prev_item { behavior = cmp.SelectBehavior.Insert },
|
||||||
|
["<C-y>"] = cmp.mapping(
|
||||||
|
cmp.mapping.confirm {
|
||||||
|
behavior = cmp.ConfirmBehavior.Insert,
|
||||||
|
select = true,
|
||||||
|
},
|
||||||
|
{ "i", "c" }
|
||||||
|
),
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
-- Enable luasnip to handle snippet expansion for nvim-cmp
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
vim.snippet.expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,6 +1,42 @@
|
|||||||
|
-- Print variables function
|
||||||
|
P = function(v)
|
||||||
|
print(vim.inspect(v))
|
||||||
|
return v
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Custom keymaps
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
|
|
||||||
vim.keymap.set("n", "<leader>gg", vim.cmd.LazyGit)
|
vim.keymap.set("n", "<leader>gg", vim.cmd.LazyGit)
|
||||||
|
vim.keymap.set('n', '<leader><leader>r', function()
|
||||||
|
vim.cmd("w")
|
||||||
|
vim.cmd("source %")
|
||||||
|
end)
|
||||||
|
vim.keymap.set("n", "-", "<cmd>Oil<CR>")
|
||||||
|
vim.keymap.set("n", "<CR>", "<cmd>w!<CR>")
|
||||||
|
vim.keymap.set("n", "<leader>nh", "<cmd>noh<CR>")
|
||||||
|
vim.keymap.set("n", "<leader>sq", "<cmd>wq!<CR>")
|
||||||
|
vim.keymap.set("n", "<leader>lg", "<cmd>LazyGit<CR>")
|
||||||
|
|
||||||
|
-- Terminal in neovim --
|
||||||
|
vim.keymap.set('t', '<C-space>', "<C-\\><C-n><C-w>h",{silent = true})
|
||||||
|
vim.api.nvim_create_autocmd('TermOpen', {
|
||||||
|
group = vim.api.nvim_create_augroup('open-terminal', { clear = true }),
|
||||||
|
callback = function()
|
||||||
|
vim.opt.number = false
|
||||||
|
vim.opt.relativenumber = false
|
||||||
|
vim.api.nvim_input("i")
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
local job_id = 0
|
||||||
|
vim.keymap.set("n", "<leader>tt", function()
|
||||||
|
vim.cmd.vnew()
|
||||||
|
vim.cmd.term()
|
||||||
|
vim.cmd.wincmd("J")
|
||||||
|
vim.api.nvim_win_set_height(0, 15)
|
||||||
|
job_id = vim.bo.channel
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- General config
|
||||||
vim.cmd("set expandtab")
|
vim.cmd("set expandtab")
|
||||||
vim.cmd("set tabstop=2")
|
vim.cmd("set tabstop=2")
|
||||||
vim.cmd("set softtabstop=2")
|
vim.cmd("set softtabstop=2")
|
||||||
@@ -8,12 +44,18 @@ vim.cmd("set shiftwidth=2")
|
|||||||
vim.cmd("set syntax=on")
|
vim.cmd("set syntax=on")
|
||||||
vim.cmd("set number")
|
vim.cmd("set number")
|
||||||
vim.cmd("set nu")
|
vim.cmd("set nu")
|
||||||
vim.cmd("set relativenumber")
|
vim.cmd("set linebreak")
|
||||||
vim.cmd("set rnu")
|
vim.cmd("set termguicolors")
|
||||||
vim.cmd("set number relativenumber")
|
-- vim.cmd("set guicursor=n-v-c:block")
|
||||||
vim.cmd("set nu rnu")
|
|
||||||
vim.api.nvim_set_option("clipboard","unnamed")
|
vim.api.nvim_set_option("clipboard","unnamed")
|
||||||
vim.api.nvim_create_user_command("DiagnosticToggle", function()
|
|
||||||
|
-- Markview
|
||||||
|
vim.keymap.set("n", "<leader>mv", function()
|
||||||
|
vim.cmd("Markview splitToggle")
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Command to turn off diagnostics, if crowding screen
|
||||||
|
vim.api.nvim_create_user_command("DiagnosticsToggle", function()
|
||||||
local config = vim.diagnostic.config
|
local config = vim.diagnostic.config
|
||||||
local vt = config().virtual_text
|
local vt = config().virtual_text
|
||||||
config {
|
config {
|
||||||
@@ -22,3 +64,5 @@ vim.api.nvim_create_user_command("DiagnosticToggle", function()
|
|||||||
signs = not vt,
|
signs = not vt,
|
||||||
}
|
}
|
||||||
end, { desc = "toggle diagnostic" })
|
end, { desc = "toggle diagnostic" })
|
||||||
|
vim.keymap.set("n", "<leader>dtog", "<cmd>DiagnosticsToggle<CR>")
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
return {
|
return {
|
||||||
|
-- Call local plugins here.
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
lua/plugins/.DS_Store
vendored
BIN
lua/plugins/.DS_Store
vendored
Binary file not shown.
@@ -1,76 +0,0 @@
|
|||||||
return {
|
|
||||||
"goolord/alpha-nvim",
|
|
||||||
event = "VimEnter", -- load plugin after all configuration is set
|
|
||||||
dependencies = {
|
|
||||||
"nvim-tree/nvim-web-devicons",
|
|
||||||
},
|
|
||||||
|
|
||||||
config = function()
|
|
||||||
local alpha = require("alpha")
|
|
||||||
local dashboard = require("alpha.themes.dashboard")
|
|
||||||
|
|
||||||
dashboard.section.header.val = {
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ████ ██████ █████ ██ ]],
|
|
||||||
[[ ███████████ █████ ]],
|
|
||||||
[[ █████████ ███████████████████ ███ ███████████ ]],
|
|
||||||
[[ █████████ ███ █████████████ █████ ██████████████ ]],
|
|
||||||
[[ █████████ ██████████ █████████ █████ █████ ████ █████ ]],
|
|
||||||
[[ ███████████ ███ ███ █████████ █████ █████ ████ █████ ]],
|
|
||||||
[[ ██████ █████████████████████ ████ █████ █████ ████ ██████ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
}
|
|
||||||
|
|
||||||
_Gopts = {
|
|
||||||
position = "center",
|
|
||||||
hl = "Type",
|
|
||||||
-- wrap = "overflow";
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Set menu
|
|
||||||
dashboard.section.buttons.val = {
|
|
||||||
-- dashboard.button("SPC j", " Restore Session", ":SessionRestore<cr>"),
|
|
||||||
dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
|
|
||||||
dashboard.button("f", " Find file", ":cd $HOME/dotfiles/.config | Telescope find_files<CR>"),
|
|
||||||
dashboard.button("g", " Find word", ":Telescope live_grep<CR>"),
|
|
||||||
dashboard.button("r", " Recent", ":Telescope oldfiles<CR>"),
|
|
||||||
dashboard.button("c", " Config", ":e $MYVIMRC <CR>"),
|
|
||||||
dashboard.button("m", " Mason", ":Mason<CR>"),
|
|
||||||
dashboard.button("l", " Lazy", ":Lazy<CR>"),
|
|
||||||
dashboard.button("u", " Update plugins", "<cmd>lua require('lazy').sync()<CR>"),
|
|
||||||
dashboard.button("q", " Quit NVIM", ":qa<CR>"),
|
|
||||||
}
|
|
||||||
|
|
||||||
--local function footer()
|
|
||||||
--return "Mohammed Babiker Babai"
|
|
||||||
--end
|
|
||||||
|
|
||||||
--dashboard.section.footer.val = footer()
|
|
||||||
|
|
||||||
dashboard.opts.opts.noautocmd = true
|
|
||||||
alpha.setup(dashboard.opts)
|
|
||||||
|
|
||||||
require("alpha").setup(dashboard.opts)
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("User", {
|
|
||||||
pattern = "LazyVimStarted",
|
|
||||||
callback = function()
|
|
||||||
local stats = require("lazy").stats()
|
|
||||||
local count = (math.floor(stats.startuptime * 100) / 100)
|
|
||||||
dashboard.section.footer.val = {
|
|
||||||
" " .. stats.count .. " plugins loaded in " .. count .. " ms"
|
|
||||||
}
|
|
||||||
pcall(vim.cmd.AlphaRedraw)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
14
lua/plugins/barbar.lua
Normal file
14
lua/plugins/barbar.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
return {
|
||||||
|
'romgrk/barbar.nvim',
|
||||||
|
dependencies = {
|
||||||
|
'lewis6991/gitsigns.nvim', -- OPTIONAL: for git status
|
||||||
|
'nvim-tree/nvim-web-devicons', -- OPTIONAL: for file icons
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
vim.keymap.set("n", "<C-k>", "<cmd>BufferNext<CR>")
|
||||||
|
vim.keymap.set("n", "<C-j>", "<cmd>BufferPrevious<CR>")
|
||||||
|
vim.keymap.set('n', '<C-p>', '<Cmd>BufferPin<CR>')
|
||||||
|
vim.keymap.set('n', '<C-q>', '<Cmd>BufferClose<CR>')
|
||||||
|
end
|
||||||
|
}
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
return {
|
|
||||||
'catppuccin/nvim',
|
|
||||||
priority = 1000,
|
|
||||||
name = "catppuccin",
|
|
||||||
config = function()
|
|
||||||
require("catppuccin").setup({
|
|
||||||
flavour = "macchiato", -- latte, frappe, macchiato, mocha
|
|
||||||
background = { -- :h background
|
|
||||||
light = "latte",
|
|
||||||
dark = "mocha",
|
|
||||||
},
|
|
||||||
transparent_background = false, -- disables setting the background color.
|
|
||||||
show_end_of_buffer = false, -- shows the '~' characters after the end of buffers
|
|
||||||
term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`)
|
|
||||||
dim_inactive = {
|
|
||||||
enabled = false, -- dims the background color of inactive window
|
|
||||||
shade = "dark",
|
|
||||||
percentage = 0.15, -- percentage of the shade to apply to the inactive window
|
|
||||||
},
|
|
||||||
no_italic = false, -- Force no italic
|
|
||||||
no_bold = false, -- Force no bold
|
|
||||||
no_underline = false, -- Force no underline
|
|
||||||
styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
|
|
||||||
comments = { "italic" }, -- Change the style of comments
|
|
||||||
conditionals = { "italic" },
|
|
||||||
loops = {},
|
|
||||||
functions = {},
|
|
||||||
keywords = {},
|
|
||||||
strings = {},
|
|
||||||
variables = {},
|
|
||||||
numbers = {},
|
|
||||||
booleans = {},
|
|
||||||
properties = {},
|
|
||||||
types = {},
|
|
||||||
operators = {},
|
|
||||||
-- miscs = {}, -- Uncomment to turn off hard-coded styles
|
|
||||||
},
|
|
||||||
color_overrides = {},
|
|
||||||
custom_highlights = {},
|
|
||||||
default_integrations = true,
|
|
||||||
integrations = {
|
|
||||||
cmp = true,
|
|
||||||
gitsigns = true,
|
|
||||||
nvimtree = true,
|
|
||||||
treesitter = true,
|
|
||||||
notify = false,
|
|
||||||
mini = {
|
|
||||||
enabled = true,
|
|
||||||
indentscope_color = "",
|
|
||||||
},
|
|
||||||
-- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations)
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
10
lua/plugins/colorizer.lua
Normal file
10
lua/plugins/colorizer.lua
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
return {
|
||||||
|
"norcalli/nvim-colorizer.lua",
|
||||||
|
config = function()
|
||||||
|
require("colorizer").setup({
|
||||||
|
'css',
|
||||||
|
'scss',
|
||||||
|
'javascript',
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -1,44 +1,18 @@
|
|||||||
return {
|
return {
|
||||||
{
|
|
||||||
"hrsh7th/cmp-nvim-lsp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
dependencies = {
|
|
||||||
"saadparwaiz1/cmp_luasnip",
|
|
||||||
"rafamadriz/friendly-snippets"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"hrsh7th/nvim-cmp",
|
"hrsh7th/nvim-cmp",
|
||||||
|
lazy = false,
|
||||||
|
priority = 100,
|
||||||
|
dependencies = {
|
||||||
|
"onsails/lspkind.nvim",
|
||||||
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
|
"hrsh7th/cmp-path",
|
||||||
|
"hrsh7th/cmp-buffer",
|
||||||
|
{ "L3MON4D3/LuaSnip", build = "make install_jsregexp" },
|
||||||
|
"saadparwaiz1/cmp_luasnip",
|
||||||
|
},
|
||||||
config = function()
|
config = function()
|
||||||
local cmp = require("cmp")
|
require "dan.completions"
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
|
||||||
cmp.setup({
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
window = {
|
|
||||||
completion = cmp.config.window.bordered(),
|
|
||||||
documentation = cmp.config.window.bordered(),
|
|
||||||
},
|
|
||||||
mapping = cmp.mapping.preset.insert({
|
|
||||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
|
||||||
['<C-e>'] = cmp.mapping.abort(),
|
|
||||||
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
|
||||||
}),
|
|
||||||
sources = cmp.config.sources({
|
|
||||||
-- { name = 'nvim_lsp' },
|
|
||||||
-- { name = 'vsnip' }, -- For vsnip users.
|
|
||||||
{ name = 'luasnip' }, -- For luasnip users.
|
|
||||||
}, {
|
|
||||||
{ name = 'buffer' },
|
|
||||||
})
|
|
||||||
})
|
|
||||||
end
|
end
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
5
lua/plugins/everforest.lua
Normal file
5
lua/plugins/everforest.lua
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
return {
|
||||||
|
"sainnhe/everforest",
|
||||||
|
priority = 1000,
|
||||||
|
name = "everforest",
|
||||||
|
}
|
||||||
@@ -9,30 +9,9 @@ return {
|
|||||||
-- REQUIRED
|
-- REQUIRED
|
||||||
harpoon:setup()
|
harpoon:setup()
|
||||||
-- REQUIRED
|
-- REQUIRED
|
||||||
-- basic telescope configuration
|
vim.keymap.set("n", "<leader>a", function() harpoon:list():add() end)
|
||||||
local conf = require("telescope.config").values
|
|
||||||
local function toggle_telescope(harpoon_files)
|
|
||||||
local file_paths = {}
|
|
||||||
for _, item in ipairs(harpoon_files.items) do
|
|
||||||
table.insert(file_paths, item.value)
|
|
||||||
end
|
|
||||||
|
|
||||||
require("telescope.pickers").new({}, {
|
|
||||||
prompt_title = "Harpoon",
|
|
||||||
finder = require("telescope.finders").new_table({
|
|
||||||
results = file_paths,
|
|
||||||
}),
|
|
||||||
previewer = conf.file_previewer({}),
|
|
||||||
sorter = conf.generic_sorter({}),
|
|
||||||
}):find()
|
|
||||||
end
|
|
||||||
vim.keymap.set("n", "<C-h>", function() toggle_telescope(harpoon:list()) end, { desc = "Open harpoon window" })
|
|
||||||
vim.keymap.set("n", "<leader>a", function() harpoon:list():append() end)
|
|
||||||
vim.keymap.set("n", "<leader>c", function() harpoon:list():clear() end)
|
vim.keymap.set("n", "<leader>c", function() harpoon:list():clear() end)
|
||||||
vim.keymap.set("n", "<leader>r", function() harpoon:list():remove() end)
|
vim.keymap.set("n", "<leader>r", function() harpoon:list():remove() end)
|
||||||
-- vim.keymap.set("n", "<C-h>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
|
vim.keymap.set("n", "<leader>h", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
|
||||||
-- Toggle previous & next buffers stored within Harpoon list
|
|
||||||
-- vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
|
|
||||||
-- vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)
|
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
"kdheepak/lazygit.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -3,34 +3,14 @@ return {
|
|||||||
"williamboman/mason.nvim",
|
"williamboman/mason.nvim",
|
||||||
config = function()
|
config = function()
|
||||||
require("mason").setup()
|
require("mason").setup()
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"williamboman/mason-lspconfig.nvim",
|
"williamboman/mason-lspconfig.nvim",
|
||||||
config = function()
|
config = function()
|
||||||
require("mason-lspconfig").setup({
|
require("mason-lspconfig").setup({
|
||||||
ensure_installed = { "lua_ls", "phpactor", "rust_analyzer" }
|
ensure_installed = { "lua_ls", "intelephense", "rust_analyzer", "elixirls" },
|
||||||
})
|
})
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
config = function()
|
|
||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
|
||||||
local lspconfig = require("lspconfig")
|
|
||||||
lspconfig.lua_ls.setup({
|
|
||||||
capabilities = capabilities
|
|
||||||
})
|
|
||||||
lspconfig.phpactor.setup({
|
|
||||||
capabilities = capabilities
|
|
||||||
})
|
|
||||||
lspconfig.rust_analyzer.setup({
|
|
||||||
capabilities = capabilities
|
|
||||||
})
|
|
||||||
vim.keymap.set("n", 'K', vim.lsp.buf.hover, {})
|
|
||||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, {})
|
|
||||||
vim.keymap.set({ 'n' }, '<leader>ca', vim.lsp.buf.code_action, {})
|
|
||||||
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ return {
|
|||||||
'nvim-tree/nvim-web-devicons'
|
'nvim-tree/nvim-web-devicons'
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
require('lualine'). setup({
|
require('lualine').setup({
|
||||||
options= {
|
options= {
|
||||||
theme = 'dracula'
|
theme = 'everforest'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
branch = "v3.x",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"nvim-tree/nvim-web-devicons",
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
vim.keymap.set("n", "<C-n>", ':Neotree filesystem reveal left<CR>', {})
|
|
||||||
vim.keymap.set("n", "<C-e>", ':Neotree position=current<CR>', {})
|
|
||||||
end
|
|
||||||
}
|
|
||||||
20
lua/plugins/oil.lua
Normal file
20
lua/plugins/oil.lua
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
'stevearc/oil.nvim',
|
||||||
|
---@module 'oil'
|
||||||
|
---@type oil.SetupOpts
|
||||||
|
opts = {
|
||||||
|
view_options = {
|
||||||
|
show_hidden = true,
|
||||||
|
is_always_hidden = function(name, _)
|
||||||
|
return name == "node_modules" or name == ".git"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- Optional dependencies
|
||||||
|
dependencies = { { "echasnovski/mini.icons", opts = {} } },
|
||||||
|
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
|
||||||
|
-- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations.
|
||||||
|
lazy = false,
|
||||||
|
}
|
||||||
|
}
|
||||||
4
lua/plugins/rosepine.lua
Normal file
4
lua/plugins/rosepine.lua
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
return {
|
||||||
|
"rose-pine/neovim",
|
||||||
|
name = "rose-pine",
|
||||||
|
}
|
||||||
70
lua/plugins/snacks.lua
Normal file
70
lua/plugins/snacks.lua
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
return {
|
||||||
|
"folke/snacks.nvim",
|
||||||
|
---@type snacks.Config
|
||||||
|
opts = {
|
||||||
|
picker = {
|
||||||
|
ignored = true,
|
||||||
|
hidden = true,
|
||||||
|
exclude = {
|
||||||
|
".git",
|
||||||
|
".DS_Store",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
explorer = {},
|
||||||
|
indent = {},
|
||||||
|
animate = {},
|
||||||
|
lazygit = {},
|
||||||
|
scroll = {},
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
-- Top Pickers & Explorer
|
||||||
|
{ "<leader><space>", function() Snacks.picker.smart() end, desc = "Smart Find Files" },
|
||||||
|
{ "<leader>,", function() Snacks.picker.buffers() end, desc = "Buffers" },
|
||||||
|
{ "<leader>/", function() Snacks.picker.grep() end, desc = "Grep" },
|
||||||
|
{ "<leader>:", function() Snacks.picker.command_history() end, desc = "Command History" },
|
||||||
|
{ "<leader>n", function() Snacks.picker.notifications() end, desc = "Notification History" },
|
||||||
|
{ "<leader>e", function() Snacks.explorer() end, desc = "File Explorer" },
|
||||||
|
-- find
|
||||||
|
{ "<leader>fb", function() Snacks.picker.buffers() end, desc = "Buffers" },
|
||||||
|
{ "<leader>fc", function() Snacks.picker.files({ cwd = vim.fn.stdpath("config") }) end, desc = "Find Config File" },
|
||||||
|
{ "<leader>ff", function() Snacks.picker.files() end, desc = "Find Files" },
|
||||||
|
{ "<leader>fg", function() Snacks.picker.git_files() end, desc = "Find Git Files" },
|
||||||
|
{ "<leader>fp", function() Snacks.picker.projects() end, desc = "Projects" },
|
||||||
|
{ "<leader>fr", function() Snacks.picker.recent() end, desc = "Recent" },
|
||||||
|
-- Grep
|
||||||
|
{ "<leader>sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" },
|
||||||
|
{ "<leader>sB", function() Snacks.picker.grep_buffers() end, desc = "Grep Open Buffers" },
|
||||||
|
{ "<leader>sg", function() Snacks.picker.grep() end, desc = "Grep" },
|
||||||
|
{ "<leader>sw", function() Snacks.picker.grep_word() end, desc = "Visual selection or word", mode = { "n", "x" } },
|
||||||
|
-- search
|
||||||
|
{ '<leader>s"', function() Snacks.picker.registers() end, desc = "Registers" },
|
||||||
|
{ '<leader>s/', function() Snacks.picker.search_history() end, desc = "Search History" },
|
||||||
|
{ "<leader>sa", function() Snacks.picker.autocmds() end, desc = "Autocmds" },
|
||||||
|
{ "<leader>sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" },
|
||||||
|
{ "<leader>sc", function() Snacks.picker.command_history() end, desc = "Command History" },
|
||||||
|
{ "<leader>sC", function() Snacks.picker.commands() end, desc = "Commands" },
|
||||||
|
{ "<leader>sd", function() Snacks.picker.diagnostics() end, desc = "Diagnostics" },
|
||||||
|
{ "<leader>sD", function() Snacks.picker.diagnostics_buffer() end, desc = "Buffer Diagnostics" },
|
||||||
|
{ "<leader>sh", function() Snacks.picker.help() end, desc = "Help Pages" },
|
||||||
|
{ "<leader>sH", function() Snacks.picker.highlights() end, desc = "Highlights" },
|
||||||
|
{ "<leader>si", function() Snacks.picker.icons() end, desc = "Icons" },
|
||||||
|
{ "<leader>sj", function() Snacks.picker.jumps() end, desc = "Jumps" },
|
||||||
|
{ "<leader>sk", function() Snacks.picker.keymaps() end, desc = "Keymaps" },
|
||||||
|
{ "<leader>sl", function() Snacks.picker.loclist() end, desc = "Location List" },
|
||||||
|
{ "<leader>sm", function() Snacks.picker.marks() end, desc = "Marks" },
|
||||||
|
{ "<leader>sM", function() Snacks.picker.man() end, desc = "Man Pages" },
|
||||||
|
{ "<leader>sp", function() Snacks.picker.lazy() end, desc = "Search for Plugin Spec" },
|
||||||
|
{ "<leader>sq", function() Snacks.picker.qflist() end, desc = "Quickfix List" },
|
||||||
|
{ "<leader>sR", function() Snacks.picker.resume() end, desc = "Resume" },
|
||||||
|
{ "<leader>su", function() Snacks.picker.undo() end, desc = "Undo History" },
|
||||||
|
{ "<leader>uC", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" },
|
||||||
|
-- LSP
|
||||||
|
{ "gd", function() Snacks.picker.lsp_definitions() end, desc = "Goto Definition" },
|
||||||
|
{ "gD", function() Snacks.picker.lsp_declarations() end, desc = "Goto Declaration" },
|
||||||
|
{ "gr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" },
|
||||||
|
{ "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" },
|
||||||
|
{ "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" },
|
||||||
|
{ "<leader>ss", function() Snacks.picker.lsp_symbols() end, desc = "LSP Symbols" },
|
||||||
|
{ "<leader>sS", function() Snacks.picker.lsp_workspace_symbols() end, desc = "LSP Workspace Symbols" },
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -7,10 +7,10 @@ return {
|
|||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
local builtin = require('telescope.builtin')
|
local builtin = require('telescope.builtin')
|
||||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
-- vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
-- vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
||||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
-- vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
-- vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -29,11 +29,5 @@ return {
|
|||||||
-- load_extension, somewhere after setup function:
|
-- load_extension, somewhere after setup function:
|
||||||
require("telescope").load_extension("ui-select")
|
require("telescope").load_extension("ui-select")
|
||||||
end
|
end
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-telescope/telescope-dap.nvim",
|
|
||||||
config = function()
|
|
||||||
require('telescope').load_extension('dap')
|
|
||||||
end
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,15 @@ return {
|
|||||||
config = function()
|
config = function()
|
||||||
local configs = require("nvim-treesitter.configs")
|
local configs = require("nvim-treesitter.configs")
|
||||||
configs.setup({
|
configs.setup({
|
||||||
ensure_installed = { "php", "lua", "vim", "javascript", "html", "yaml", "twig" },
|
ensure_installed = { "php", "lua", "vim", "javascript", "html", "yaml", "twig", "vimdoc", "markdown", "markdown_inline" },
|
||||||
sync_install = false,
|
sync_install = false,
|
||||||
highlight = { enable = true },
|
highlight = { enable = true },
|
||||||
indent = { enable = true },
|
indent = { enable = true },
|
||||||
})
|
})
|
||||||
end
|
end,
|
||||||
|
dependencies = {
|
||||||
|
"OXY2DEV/markview.nvim"
|
||||||
|
},
|
||||||
|
lazy = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
'mfussenegger/nvim-dap',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"jay-babu/mason-nvim-dap.nvim",
|
|
||||||
config = function()
|
|
||||||
require("mason-nvim-dap").setup({
|
|
||||||
ensure_installed = { "php-debug-adapter" }
|
|
||||||
})
|
|
||||||
end
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'theHamsta/nvim-dap-virtual-text',
|
|
||||||
config = function()
|
|
||||||
require("nvim-dap-virtual-text").setup()
|
|
||||||
end
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rcarriga/nvim-dap-ui",
|
|
||||||
dependencies = {
|
|
||||||
"mfussenegger/nvim-dap",
|
|
||||||
"nvim-neotest/nvim-nio"
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("dapui").setup()
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user