summaryrefslogtreecommitdiff
path: root/nvim/lua/config
diff options
context:
space:
mode:
authoranand <anand.panchdhari@gmail.com>2026-04-06 23:55:30 +0530
committeranand <anand.panchdhari@gmail.com>2026-04-06 23:55:30 +0530
commitacf9fdb09419dbd1e5921ea4d8b837bf440ee859 (patch)
treedf4e6361a7cc7003cb1021375b38425e044bf1bc /nvim/lua/config
parent76f6235bcd178cc5c28cc4fbf0d09fafb1f63a9b (diff)
Nvim config rearranged and neovide addedmain
Diffstat (limited to 'nvim/lua/config')
-rwxr-xr-xnvim/lua/config/init.lua4
-rw-r--r--nvim/lua/config/keymap.lua27
-rw-r--r--nvim/lua/config/lsp.lua23
-rw-r--r--nvim/lua/config/options.lua32
-rw-r--r--nvim/lua/config/pack.lua89
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 }