diff options
| author | anand <anand.panchdhari@gmail.com> | 2026-04-06 23:55:30 +0530 |
|---|---|---|
| committer | anand <anand.panchdhari@gmail.com> | 2026-04-06 23:55:30 +0530 |
| commit | acf9fdb09419dbd1e5921ea4d8b837bf440ee859 (patch) | |
| tree | df4e6361a7cc7003cb1021375b38425e044bf1bc /nvim/lua/config | |
| parent | 76f6235bcd178cc5c28cc4fbf0d09fafb1f63a9b (diff) | |
Nvim config rearranged and neovide addedmain
Diffstat (limited to 'nvim/lua/config')
| -rwxr-xr-x | nvim/lua/config/init.lua | 4 | ||||
| -rw-r--r-- | nvim/lua/config/keymap.lua | 27 | ||||
| -rw-r--r-- | nvim/lua/config/lsp.lua | 23 | ||||
| -rw-r--r-- | nvim/lua/config/options.lua | 32 | ||||
| -rw-r--r-- | nvim/lua/config/pack.lua | 89 |
5 files changed, 175 insertions, 0 deletions
diff --git a/nvim/lua/config/init.lua b/nvim/lua/config/init.lua new file mode 100755 index 0000000..511b408 --- /dev/null +++ b/nvim/lua/config/init.lua @@ -0,0 +1,4 @@ +require('config.options') +require('config.pack') +require('config.lsp') +require('config.keymap') diff --git a/nvim/lua/config/keymap.lua b/nvim/lua/config/keymap.lua new file mode 100644 index 0000000..3254529 --- /dev/null +++ b/nvim/lua/config/keymap.lua @@ -0,0 +1,27 @@ +vim.g.mapleader = ' ' +vim.keymap.set("n", "<leader>u", require("undotree").open) +vim.keymap.set("i", "", "<C-S-H>", { desc = "Solution for xterm" }) +vim.keymap.set({ "n", "v" }, "j", "gj", { desc = "Personal preference" }) +vim.keymap.set({ "n", "v" }, "k", "gk", { desc = "Personal preference" }) +vim.keymap.set("n", "<leader><space>e", "<cmd>lua MiniFiles.open()<CR>", { desc = 'Open Mini.Files' }) +vim.keymap.set("n", "<leader>pv", "<cmd>Ex<CR>", { desc = "Open netrw" }) +vim.keymap.set("n", "<leader>ff", "<cmd>Pick files<CR>", { desc = "Open file Picker" }) +vim.keymap.set("n", "<leader>fg", "<cmd>Pick grep_live<CR>", { desc = "Open Live Grep" }) +vim.keymap.set("n", "<C-d>", "<C-d>zz") +vim.keymap.set("n", "<C-u>", "<C-u>zz") +vim.keymap.set("n", "n", "nzzzv") +vim.keymap.set("n", "N", "Nzzzv") +vim.keymap.set({ "n", "v" }, "<leader>y", "\"+y", { desc = "Copy to system clipboard" }) +vim.keymap.set({ "n", "v" }, "<leader>yy", "V\"+y", { desc = "Copy to system clipboard" }) +vim.keymap.set({ "n" }, "<leader>p", "\"+p", { desc = "Paste system clipboard" }) +vim.keymap.set("v", "<leader>d", "\"_d", { desc = "Delete without copying to buffer" }) +vim.keymap.set("n", "<leader>dd", "V\"+d", { desc = "Delete without copying to buffer" }) +vim.keymap.set({ 'n', 'i' }, '<C-l>', '<CMD>tabnext<CR>', { desc = "Move to next tab" }) +vim.keymap.set({ 'n', 'i' }, '<C-h>', '<CMD>tabprevious<CR>', { desc = "Move to previous tab" }) +vim.keymap.set("n", "<C-j>", "<cmd>cnext<CR>zz") +vim.keymap.set("n", "<C-k>", "<cmd>cprev<CR>zz") +vim.keymap.set({ "n", "t" }, "<leader>/", "<cmd>ToggleTerm<CR>") +vim.keymap.set("n", "gx", function() + local url = vim.fn.expand("<cfile>") + vim.fn.jobstart({ "xdg-open", url }, { detach = true }) +end, { desc = "Open URL with xdg-open" }) diff --git a/nvim/lua/config/lsp.lua b/nvim/lua/config/lsp.lua new file mode 100644 index 0000000..95e564c --- /dev/null +++ b/nvim/lua/config/lsp.lua @@ -0,0 +1,23 @@ +vim.api.nvim_create_autocmd('LspAttach', { + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client ~= nil and client:supports_method('textDocument/foldingRange') then + local win = vim.api.nvim_get_current_win() + vim.wo[win].foldexpr = 'v:lua.vim.lsp.foldexpr()' + vim.wo[win].foldmethod = 'expr' + end + end, +}) + +vim.api.nvim_create_autocmd("BufWritePre", { + pattern = "*", + callback = function() vim.lsp.buf.format() end, +}) + +vim.lsp.enable( + 'lua_ls', + 'basedpyright', + 'rust-analyzer' +) + +vim.diagnostic.config({ virtual_text = false }) diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua new file mode 100644 index 0000000..bf81eb3 --- /dev/null +++ b/nvim/lua/config/options.lua @@ -0,0 +1,32 @@ +vim.o.number = true +vim.o.tabstop = 2 +vim.o.softtabstop = 2 +vim.o.shiftwidth = 2 +vim.o.foldlevel = 2 +vim.o.expandtab = true +vim.o.autoindent = true +vim.o.smartindent = true +vim.o.signcolumn = 'yes' +vim.o.foldlevel = 99 +vim.o.hlsearch = false +vim.o.swapfile = true +vim.o.undodir = os.getenv("HOME") .. "/.vim/undodir" +vim.o.undofile = true +vim.o.smartcase = true +vim.o.ignorecase = true +vim.o.scrolloff = 8 +vim.opt.path:append("**") +vim.o.winborder = 'rounded' +vim.o.foldmethod = 'expr' +vim.o.guifont = 'JetBrainsMono Nerd Font:h10' +vim.o.foldexpr = 'v:lua.vim.lsp.foldexpr()' + +vim.api.nvim_create_autocmd("TextYankPost", { + callback = function() + vim.highlight.on_yank() + end, +}) + +vim.cmd("packadd nvim.undotree") +vim.cmd.colorscheme('catppuccin') +vim.cmd.hi("StatusLine guibg=NONE") diff --git a/nvim/lua/config/pack.lua b/nvim/lua/config/pack.lua new file mode 100644 index 0000000..ba3cd07 --- /dev/null +++ b/nvim/lua/config/pack.lua @@ -0,0 +1,89 @@ +-- Dependencies + +vim.pack.add { + -- Laravel.Nvim + { + src = 'https://github.com/MunifTanjim/nui.nvim', + name = 'nui.nvim' + }, + { + src = 'https://github.com/nvim-lua/plenary.nvim', + name = 'plenary.nvim' + }, +} + +-- Plugins +vim.pack.add { + { + src = 'https://github.com/lewis6991/gitsigns.nvim', + name = 'gitsigns' + }, + { + src = 'https://github.com/nvim-treesitter/nvim-treesitter', + name = 'treesitter' + }, + { + src = 'https://github.com/OXY2DEV/markview.nvim', + name = 'markview' + }, + { + src = 'https://github.com/nvim-mini/mini.surround', + name = 'surround' + }, + { + src = 'https://github.com/nvim-mini/mini.ai', + name = 'ai (around)' + }, + { + src = 'https://github.com/nvim-mini/mini.move', + name = 'move' + }, + { + src = 'https://github.com/nvim-mini/mini.files', + name = 'files' + }, + { + src = 'https://github.com/nvim-treesitter/nvim-treesitter-context', + name = 'treesitter-context' + }, + { + src = 'https://github.com/echasnovski/mini.pick', + name = 'Picker' + }, + { + src = 'https://github.com/HakonHarnes/img-clip.nvim', + name = 'image-clip' + }, + { + src = 'https://github.com/akinsho/toggleterm.nvim', + name = 'toggleterm' + }, + { + src = 'https://github.com/jghauser/follow-md-links.nvim', + name = 'follow-markdown-links' + }, + { + src = 'https://github.com/rachartier/tiny-inline-diagnostic.nvim', + name = 'tiny-inline-diagnostic' + }, + { + src = 'https://github.com/adibhanna/laravel.nvim', + name = 'laravel' + }, + { + src = 'https://github.com/neovim/nvim-lspconfig', + name = 'lspconfig' + }, +} + +require('mini.surround').setup() +require('mini.ai').setup() +require('mini.pick').setup() +require('mini.move').setup() +require('mini.files').setup() +require('mini.completion').setup() +require('tiny-inline-diagnostic').setup() +require('toggleterm').setup() +require('gitsigns').setup() +require('laravel').setup() +require 'treesitter-context'.setup { enable = true } |
