refactor: restructure init.lua to use lazy plugin manager and add lsp configurations

This commit is contained in:
sankalp committed 2025-09-12 16:05:40 +05:45
1 parent d685e0e553
commit 84f2be62ae
119 files changed
+2201 -18000

No files matched your search

+169
View File
@@ -0,0 +1,169 @@
return {
--harpoon
{
"ThePrimeagen/harpoon",
branch = "harpoon2",
keys = {
{
"<A-1>",
function()
require("harpoon"):list():select(1)
end,
desc = "buffer j",
},
{
"<A-2>",
function()
require("harpoon"):list():select(2)
end,
desc = "buffer k",
},
{
"<A-3>",
function()
require("harpoon"):list():select(3)
end,
desc = "buffer l",
},
{
"<A-4>",
function()
require("harpoon"):list():select(4)
end,
desc = "buffer ;",
},
},
},
-- better escape
{
"max397574/better-escape.nvim",
config = function()
require("better_escape").setup({
mappings = {
-- i for insert, other modes are the first letter too
i = {
-- map kj to exit insert mode
k = {
j = "<Esc>",
},
-- map jk and jj to exit insert mode
j = {
k = "<Esc>",
j = "<Esc>",
},
-- disable jj
j = {
j = false,
},
},
},
})
end,
},
-- Navigator
{
"numToStr/Navigator.nvim",
event = "VeryLazy",
config = function()
require("Navigator").setup({
auto_save = "current",
disable_on_zoom = false,
mux = "auto",
})
end,
},
-- float terminal
{
"akinsho/toggleterm.nvim",
cmd = { "ToggleTerm" },
version = "v2.*",
config = function()
require("toggleterm").setup({
size = 10,
open_mapping = [[<c-\>]],
hide_numbers = true,
shade_filetypes = {},
shade_terminals = true,
shading_factor = "2",
start_in_insert = true,
insert_mappings = true,
terminal_mappings = true,
persist_size = true,
direction = "float", -- Use 'float' for floating terminal windows
close_on_exit = true,
shell = vim.o.shell,
float_opts = {
border = "curved", -- or 'single', 'double', 'shadow', etc.
winblend = 0, -- Set to 0 for full transparency
highlights = {
border = "Normal",
background = "Normal",
},
},
})
end,
},
-- smooth scrolling
{
"karb94/neoscroll.nvim",
opts = {},
},
-- discord presence
-- {
-- "vyfor/cord.nvim",
-- event = "VeryLazy",
-- },
{
"rachartier/tiny-code-action.nvim",
dependencies = {
{
"folke/snacks.nvim",
opts = {
terminal = {},
},
},
},
event = "LspAttach",
opts = {},
vim.keymap.set({ "n", "x" }, "<leader>ca", function()
require("tiny-code-action").code_action()
end, { noremap = true, silent = true }),
},
-- uv
{
"benomahony/uv.nvim",
ft = "python",
event = "BufReadPre",
opts = {
picker_integration = true,
keymaps = {
prefix = "<leader>u", -- Main prefix for uv commands
commands = true, -- Show uv commands menu (<leader>x)
run_file = true, -- Run current file (<leader>xr)
run_selection = true, -- Run selected code (<leader>xs)
run_function = true, -- Run function (<leader>xf)
venv = true, -- Environment management (<leader>xe)
init = true, -- Initialize uv project (<leader>xi)
add = true, -- Add a package (<leader>xa)
remove = true, -- Remove a package (<leader>xd)
sync = true, -- Sync packages (<leader>xc)
sync_all = true, -- Sync all packages, extras and groups (<leader>xC)
},
},
},
{ "wakatime/vim-wakatime", event = "VimEnter", lazy = false },
-- {
-- "m4xshen/hardtime.nvim",
-- lazy = false,
-- opts = {},
-- },
}