personal configuations

merge conflicts adjusted
This commit is contained in:
ngorana 2024-08-09 11:10:39 +01:00
parent 1860184830
commit 373c8dc5d3
12 changed files with 318 additions and 144 deletions

View file

@ -0,0 +1,40 @@
return {
'ThePrimeagen/harpoon',
branch = 'harpoon2',
dependencies = { 'nvim-lua/plenary.nvim' },
config = function()
local harpoon = require 'harpoon'
-- REQUIRED
harpoon:setup()
-- REQUIRED
vim.keymap.set('n', '<leader>a', function()
harpoon:list():add()
end, { desc = 'Add Buffer to Harpoon' })
vim.keymap.set('n', '<C-e>', function()
harpoon.ui:toggle_quick_menu(harpoon:list())
end)
vim.keymap.set('n', '<leader>1', function()
harpoon:list():select(1)
end, { desc = 'First Buffer in Harpoon' })
vim.keymap.set('n', '<leader>2', function()
harpoon:list():select(2)
end, { desc = 'Second Buffer in Harpoon' })
vim.keymap.set('n', '<leader>3', function()
harpoon:list():select(3)
end, { desc = 'Third Buffer in Harpoon' })
vim.keymap.set('n', '<leader>4', function()
harpoon:list():select(4)
end, { desc = 'Fourth Buffer in Harpoon' })
-- 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,
}

View file

@ -0,0 +1,12 @@
return {
'NeogitOrg/neogit',
dependencies = {
'nvim-lua/plenary.nvim', -- required
'sindrets/diffview.nvim', -- optional - Diff integration
-- Only one of these is needed, not both.
'nvim-telescope/telescope.nvim', -- optional
'ibhagwan/fzf-lua', -- optional
},
config = true,
}

View file

@ -0,0 +1,24 @@
return {
{
'stevearc/oil.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = function()
require('oil').setup {
columns = { 'icon' },
keymaps = {
['<C-h>'] = false,
['<M-h>'] = 'actions.select_vsplit',
},
view_options = {
show_hidden = true,
},
}
-- Open parent directory in current window
vim.keymap.set('n', '<leader>n', '<CMD>Oil<CR>', { desc = 'Open parent directory' })
-- Open parent directory in floating window
vim.keymap.set('n', '<space>-', require('oil').toggle_float)
end,
},
}

View file

@ -0,0 +1,6 @@
return {
'mbbill/undotree',
config = function()
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
end,
}

View file

@ -0,0 +1,11 @@
return {
'vim-test/vim-test',
dependencies = {
'preservim/vimux',
},
vim.keymap.set('n', '<leader>t', ':TestNearest<CR>'),
vim.keymap.set('n', '<leader>T', ':TestFile<CR>'),
vim.keymap.set('n', '<leader>m', ':TestSuite<CR>'),
vim.keymap.set('n', '<leader>l', ':TestLast<CR>'),
vim.keymap.set('n', '<leader>g', ':TestVisit<CR>'),
}

View file

@ -0,0 +1,18 @@
return {
'christoomey/vim-tmux-navigator',
lazy = false,
cmd = {
'TmuxNavigateLeft',
'TmuxNavigateDown',
'TmuxNavigateUp',
'TmuxNavigateRight',
'TmuxNavigatePrevious',
},
keys = {
{ '<c-h>', '<cmd><C-U>TmuxNavigateLeft<cr>' },
{ '<c-j>', '<cmd><C-U>TmuxNavigateDown<cr>' },
{ '<c-k>', '<cmd><C-U>TmuxNavigateUp<cr>' },
{ '<c-l>', '<cmd><C-U>TmuxNavigateRight<cr>' },
{ '<c-\\>', '<cmd><C-U>TmuxNavigatePrevious<cr>' },
},
}

View file

@ -0,0 +1,3 @@
return {
'cdelledonne/vim-cmake',
}

View file

@ -13,6 +13,7 @@ return {
dependencies = {
-- Creates a beautiful debugger UI
'rcarriga/nvim-dap-ui',
'theHamsta/nvim-dap-virtual-text',
-- Required dependency for nvim-dap-ui
'nvim-neotest/nvim-nio',
@ -22,7 +23,7 @@ return {
'jay-babu/mason-nvim-dap.nvim',
-- Add your own debuggers here
'leoluz/nvim-dap-go',
-- 'leoluz/nvim-dap-go',
},
keys = function(_, keys)
local dap = require 'dap'
@ -57,13 +58,15 @@ return {
-- You can provide additional configuration to the handlers,
-- see mason-nvim-dap README for more information
handlers = {},
handlers = nil,
-- You'll need to check that you have the required things installed
-- online, please don't ask me how to install them :)
ensure_installed = {
-- Update this to ensure that you have the debuggers for the langs you want
'delve',
'codelldb',
'js-debug-adapter',
},
}
@ -101,5 +104,144 @@ return {
detached = vim.fn.has 'win32' == 0,
},
}
-- cpp
dap.adapters.cpp = {
type = 'server',
port = '${port}',
executable = {
command = vim.fn.exepath 'codelldb',
args = { '--port', '${port}' },
},
}
dap.configurations.cpp = {
{
name = 'LLDB: Launch',
type = 'codelldb',
request = 'launch',
program = function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
end,
cwd = '${workspaceFolder}',
stopOnEntry = false,
args = {},
console = 'integratedTerminal',
},
}
-- rust
dap.configurations.rust = dap.configurations.cpp
-- c
dap.configurations.c = dap.configurations.cpp
-- js/ts
dap.adapters['pwa-node'] = {
type = 'server',
host = 'localhost',
port = '${port}',
executable = {
command = 'node',
-- 💀 Make sure to update this path to point to your installation
args = { vim.fn.stdpath 'data' .. '/mason/packages/js-debug-adapter/js-debug/src/dapDebugServer.js', '${port}' },
},
}
dap.configurations.javascript = {
{
type = 'pwa-node',
request = 'launch',
name = 'Launch file',
program = '${file}',
cwd = '${workspaceFolder}',
},
}
dap.configurations.typescript = {
{
type = 'pwa-node',
request = 'launch',
name = 'Launch file',
program = '${file}',
cwd = '${workspaceFolder}',
},
}
-- debug our applications running on the browser.
--note: chrome has to be started with a remote debugging port INFO : google-chrome-stable --remote-debugging-port=9222
-- dap.adapters.chrome = {
-- type = 'executable',
-- command = 'node',
-- args = { vim.fn.stdpath 'data' .. '/mason/packages/chrome-debug-adapter/out/src/chromeDebug.js' }, -- TODO adjust
-- }
--
-- dap.configurations.javascriptreact = { -- change this to javascript if needed
-- {
-- type = 'chrome',
-- request = 'attach',
-- program = '${file}',
-- cwd = vim.fn.getcwd(),
-- sourceMaps = true,
-- protocol = 'inspector',
-- port = 9230,
-- webRoot = '${workspaceFolder}',
-- },
-- }
--
-- dap.configurations.typescriptreact = { -- change to typescript if needed
-- {
-- type = 'chrome',
-- request = 'attach',
-- program = '${file}',
-- cwd = vim.fn.getcwd(),
-- sourceMaps = true,
-- protocol = 'inspector',
-- port = 9230,
-- webRoot = '${workspaceFolder}',
-- },
-- }
-- dap.configurations.javascriptreact = {
-- {
-- type = 'pwa-node',
-- request = 'launch',
-- name = 'Launch Next.js',
-- runtimeExecutable = 'pnpm',
-- runtimeArgs = { 'run', 'dev' },
-- cwd = vim.fn.getcwd(),
-- sourceMaps = true,
-- protocol = 'inspector',
-- -- console = 'integratedTerminal',
-- port = 9230,
-- -- skipFiles = { '<node_internals>/**', 'node_modules/**/*.js' },
-- },
-- {
-- type = 'pwa-node',
-- request = 'attach',
-- name = 'Attach to Next.js',
-- processId = require('dap.utils').pick_process,
-- cwd = vim.fn.getcwd(),
-- sourceMaps = true,
-- protocol = 'inspector',
-- -- console = 'integratedTerminal',
-- port = 9230,
-- },
-- }
--
-- dap.configurations.typescriptreact = dap.configurations.javascriptreact
-- virtual text
require('nvim-dap-virtual-text').setup {
-- This just tries to mitigate the chance that I leak tokens here. Probably won't stop it from happening...
display_callback = function(variable)
local name = string.lower(variable.name)
local value = string.lower(variable.value)
if name:match 'secret' or name:match 'api' or value:match 'secret' or value:match 'api' then
return '*****'
end
if #variable.value > 15 then
return ' ' .. string.sub(variable.value, 1, 15) .. '... '
end
return ' ' .. variable.value
end,
}
end,
}

View file

@ -8,6 +8,7 @@ return {
opts = {
on_attach = function(bufnr)
local gitsigns = require 'gitsigns'
gitsigns.toggle_current_line_blame()
local function map(mode, l, r, opts)
opts = opts or {}

View file

@ -1,25 +0,0 @@
-- Neo-tree is a Neovim plugin to browse the file system
-- https://github.com/nvim-neo-tree/neo-tree.nvim
return {
'nvim-neo-tree/neo-tree.nvim',
version = '*',
dependencies = {
'nvim-lua/plenary.nvim',
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
'MunifTanjim/nui.nvim',
},
cmd = 'Neotree',
keys = {
{ '\\', ':Neotree reveal<CR>', desc = 'NeoTree reveal' },
},
opts = {
filesystem = {
window = {
mappings = {
['\\'] = 'close_window',
},
},
},
},
}