From ab2c05ee4d1666b71ffb4b64b2d8bc267222083d Mon Sep 17 00:00:00 2001 From: Hadeed Ahmad <me@hadeedahmad.com> Date: Sun, 23 Mar 2025 10:12:58 +0500 Subject: [PATCH] Start nvim config rewrite Following TJ Devries' advent of neovim --- nvim/ftplugin/gitcommit.vim | 2 - nvim/init.lua | 18 ------- nvim/lua/filetypes.lua | 43 ---------------- nvim/lua/keymaps.lua | 90 --------------------------------- nvim/lua/options.lua | 37 -------------- nvim/lua/plugins.lua | 68 ------------------------- nvim/lua/plugins/completion.lua | 42 --------------- nvim/lua/plugins/lsp.lua | 29 ----------- nvim/lua/plugins/telescope.lua | 37 -------------- nvim/lua/plugins/toggleterm.lua | 7 --- 10 files changed, 373 deletions(-) delete mode 100644 nvim/ftplugin/gitcommit.vim delete mode 100644 nvim/init.lua delete mode 100644 nvim/lua/filetypes.lua delete mode 100644 nvim/lua/keymaps.lua delete mode 100644 nvim/lua/options.lua delete mode 100644 nvim/lua/plugins.lua delete mode 100644 nvim/lua/plugins/completion.lua delete mode 100644 nvim/lua/plugins/lsp.lua delete mode 100644 nvim/lua/plugins/telescope.lua delete mode 100644 nvim/lua/plugins/toggleterm.lua diff --git a/nvim/ftplugin/gitcommit.vim b/nvim/ftplugin/gitcommit.vim deleted file mode 100644 index b815bee..0000000 --- a/nvim/ftplugin/gitcommit.vim +++ /dev/null @@ -1,2 +0,0 @@ -inoremap <buffer> <C-CR> <CMD>x<CR> -startinsert diff --git a/nvim/init.lua b/nvim/init.lua deleted file mode 100644 index 333aecd..0000000 --- a/nvim/init.lua +++ /dev/null @@ -1,18 +0,0 @@ -require("options") -require("keymaps") -require("filetypes") - -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not vim.loop.fs_stat(lazypath) then - vim.fn.system({ - "git", - "clone", - "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", - "--branch=stable", - lazypath, - }) -end -vim.opt.rtp:prepend(lazypath) - -require("lazy").setup("plugins") diff --git a/nvim/lua/filetypes.lua b/nvim/lua/filetypes.lua deleted file mode 100644 index 7217f41..0000000 --- a/nvim/lua/filetypes.lua +++ /dev/null @@ -1,43 +0,0 @@ -vim.filetype.add({ - filename = { - ["user-dirs.dirs"] = "conf", - - ["gruvbox.conf"] = "kitty", - ["keys.conf"] = "kitty", - ["kitty.conf"] = "kitty", - ["ssh.conf"] = "kitty", - - ["dot-zshenv"] = "zsh", - ["dot-zshrc"] = "zsh" - }, - - pattern = { - [".*/git/config"] = "gitconfig" - } -}) - -vim.api.nvim_create_autocmd("Filetype", { - group = vim.api.nvim_create_augroup("setIndent", {}), - pattern = { "lua" }, - command = "setlocal tabstop=2 softtabstop=2 shiftwidth=2" -}) - -vim.api.nvim_create_autocmd("Filetype", { - group = vim.api.nvim_create_augroup("webDev", {}), - pattern = { "html", "css", "javascript", "svelte", "javascriptreact", "json" }, - callback = function() - vim.cmd [[setlocal tabstop=2 softtabstop=2 shiftwidth=2]] - vim.bo.formatprg = "prettier --stdin-filepath " .. vim.fn.expand("%:p") - require("minimal-format").enable_autocmd(0) - end -}) - -vim.api.nvim_create_autocmd("Filetype", { - group = vim.api.nvim_create_augroup("zola", {}), - pattern = { "htmldjango" }, - callback = function() - vim.cmd [[setlocal tabstop=2 softtabstop=2 shiftwidth=2]] - vim.bo.formatprg = "djhtml -; echo" - require("minimal-format").enable_autocmd(0) - end -}) diff --git a/nvim/lua/keymaps.lua b/nvim/lua/keymaps.lua deleted file mode 100644 index d1d53f7..0000000 --- a/nvim/lua/keymaps.lua +++ /dev/null @@ -1,90 +0,0 @@ ------------------------------------------------------------------------------- --- Misc -- ------------------------------------------------------------------------------- - -vim.keymap.set("i", "jk", "<ESC>") -vim.keymap.set("i", "kj", "<ESC>") - -vim.keymap.set("", "<leader>q", "<CMD>confirm quit<CR>") -vim.keymap.set("", "<leader>x", "<CMD>exit<CR>") -vim.keymap.set("", "<leader>ww", "<CMD>write<CR>") -vim.keymap.set("", "<leader><leader>x", "<CMD>write<BAR>source %<CR>") - -vim.keymap.set("", "n", "nzz") -vim.keymap.set("", "N", "Nzz") -vim.keymap.set("", "<C-N>", "<CMD>nohls<CR>") - -vim.keymap.set("", "<C-U>", "<C-U>zz") -vim.keymap.set("", "<C-D>", "<C-D>zz") - - -local function swap(a, b) - vim.keymap.set("", a, b) - vim.keymap.set("", b, a) -end - -swap(";", ":") -swap("'", "`") - - -vim.keymap.set("", "<leader>w", "<C-W>") -local function window_map(key, mapping) - local k = '<M-'..key..'>' - local m = '<CMD>wincmd ' .. (mapping or key) .. '<CR>' - - vim.keymap.set({"", "i", "t"}, k, m) -end - -window_map("h") -window_map("j") -window_map("k") -window_map("l") - ------------------------------------------------------------------------------- --- Plugin Maps -- ------------------------------------------------------------------------------- - -local M = {} - -function M.telescope() - local telescope = require("telescope") - local builtin = require("telescope.builtin") - - vim.keymap.set("", "<leader>ff", builtin.find_files) - vim.keymap.set("", "<leader>fh", builtin.help_tags) - vim.keymap.set("", "<leader>ft", builtin.builtin) - vim.keymap.set("", "<leader>fm", builtin.man_pages) - vim.keymap.set("", "<leader>fb", telescope.extensions.file_browser.file_browser) - - vim.keymap.set("", "<leader>fd", function() builtin.find_files({ - cwd = "$DOTS", - prompt_title = "< Dotfiles >" - }) end) -end - -function M.harpoon() - vim.keymap.set("", "<leader>ha", require("harpoon.mark").add_file) - vim.keymap.set("", "<leader>ho", require("harpoon.ui").toggle_quick_menu) - - vim.keymap.set("", "<leader>hf", function() require("harpoon.ui").nav_file(1) end) - vim.keymap.set("", "<leader>hd", function() require("harpoon.ui").nav_file(2) end) - vim.keymap.set("", "<leader>hs", function() require("harpoon.ui").nav_file(2) end) -end - -function M.lsp(env) - local opts = { buffer = env.buffer } - - vim.keymap.set("", "<leader>dn", vim.diagnostic.goto_next, opts) - vim.keymap.set("", "<leader>dp", vim.diagnostic.goto_prev, opts) - vim.keymap.set("", "<leader>de", vim.diagnostic.open_float, opts) - vim.keymap.set("", "<leader>df", vim.lsp.buf.code_action, opts) - vim.keymap.set("", "<leader>rn", vim.lsp.buf.rename, opts) - vim.keymap.set("", "<leader>gD", vim.lsp.buf.declaration, opts) - vim.keymap.set("", "<leader>gd", vim.lsp.buf.definition, opts) -end - -function M.fugitive() - vim.keymap.set("", "<leader>gs", "<cmd>Git<cr>") -end - -return M diff --git a/nvim/lua/options.lua b/nvim/lua/options.lua deleted file mode 100644 index 8c1119f..0000000 --- a/nvim/lua/options.lua +++ /dev/null @@ -1,37 +0,0 @@ -vim.g.mapleader = " " - -vim.opt.tabstop = 4 -vim.opt.softtabstop = 4 -vim.opt.shiftwidth = 4 -vim.opt.expandtab = true -vim.opt.smartindent = true - -vim.opt.hidden = true -vim.opt.backup = false -vim.opt.swapfile = false - -vim.opt.splitright = true -vim.opt.splitbelow = true - -vim.opt.number = true -vim.opt.relativenumber = true - -vim.opt.cursorline = true -vim.opt.colorcolumn = '80' -vim.opt.signcolumn = 'yes' -vim.opt.laststatus = 3 - -vim.opt.ignorecase = true -vim.opt.smartcase = true -vim.opt.incsearch = true -vim.opt.inccommand = 'nosplit' - -vim.opt.scrolloff = 5 -vim.opt.wrap = false -vim.opt.termguicolors = true -vim.opt.timeoutlen = 400 - -vim.opt.list = true -vim.opt.listchars = "eol:↲,tab:» ,trail:.," - -vim.opt.exrc = true diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua deleted file mode 100644 index f53f149..0000000 --- a/nvim/lua/plugins.lua +++ /dev/null @@ -1,68 +0,0 @@ -return { - { - "ellisonleao/gruvbox.nvim", - config = function() - vim.cmd.colorscheme("gruvbox") - end - }, - - { - "ggandor/leap.nvim", - config = function() - require("leap").add_default_mappings() - vim.api.nvim_set_hl(0, 'LeapBackdrop', { link = 'Comment' }) - end - }, - - { - "ThePrimeagen/harpoon", - config = function() - require("keymaps").harpoon() - end - }, - - { - "nvim-treesitter/nvim-treesitter", - opts = { - ensure_installed = "all", - highlight = { - enable = true, - additional_vim_regex_highlighting = false - }, - indent = { - enable = true - } - }, - main = "nvim-treesitter.configs", - build = ":TSUpdate" - }, - - { - "abecodes/tabout.nvim", - config = { - ignore_beginning = false - } - }, - - { "numToStr/Comment.nvim", config = true }, - { "nvim-lualine/lualine.nvim", config = true }, - { "windwp/nvim-autopairs", config = true }, - - {"tpope/vim-fugitive", config = require("keymaps").fugitive}, - "tpope/vim-repeat", - "tpope/vim-surround", - "tpope/vim-unimpaired", - - "fladson/vim-kitty", - "cljoly/minimal-format.nvim", - - { - 'mikesmithgh/kitty-scrollback.nvim', - lazy = true, - cmd = { 'KittyScrollbackGenerateKittens', 'KittyScrollbackCheckHealth' }, - event = { 'User KittyScrollbackLaunch' }, - config = function() - require('kitty-scrollback').setup() - end, - } -} diff --git a/nvim/lua/plugins/completion.lua b/nvim/lua/plugins/completion.lua deleted file mode 100644 index 6d8759b..0000000 --- a/nvim/lua/plugins/completion.lua +++ /dev/null @@ -1,42 +0,0 @@ -return { - "hrsh7th/nvim-cmp", - dependencies = { - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-nvim-lua", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - "L3MON4D3/LuaSnip" - }, - config = function() - local cmp = require("cmp") - vim.opt.completeopt = {"menu", "menuone", "noinsert"} - - cmp.setup { - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end - }, - mapping = cmp.mapping.preset.insert { - ['<C-Space>'] = cmp.mapping.complete(), - ["<C-Y>"] = function(fallback) - if cmp.visible() then - cmp.confirm { select=true } - else - fallback() - end - end - }, - sources = { - { name = "nvim_lsp" }, - { name = "nvim_lua" }, - { name = "buffer" }, - { name = "path" } - }, - experimental = { - native_menu = false, - ghost_text = { hl_group = "Comment" } - } - } - end -} diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua deleted file mode 100644 index eb090a7..0000000 --- a/nvim/lua/plugins/lsp.lua +++ /dev/null @@ -1,29 +0,0 @@ -return { - "neovim/nvim-lspconfig", - dependencies = { - "nvim-telescope/telescope.nvim" - }, - config = function() - local lspconfig = require("lspconfig") - - local snippet_capabilities = vim.lsp.protocol.make_client_capabilities() - snippet_capabilities.textDocument.completion.completionItem.snippetSupport = true - - lspconfig.emmet_ls.setup { - capabilities = snippet_capabilities - } - - lspconfig.tailwindcss.setup { - capabilities = snippet_capabilities - } - - lspconfig.cssls.setup { - capabilities = snippet_capabilities - } - - vim.api.nvim_create_autocmd("LspAttach", { - group = vim.api.nvim_create_augroup("UserLspConfig", {}), - callback = require("keymaps").lsp - }) - end -} diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua deleted file mode 100644 index 7f7329a..0000000 --- a/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,37 +0,0 @@ -return { - "nvim-telescope/telescope.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - "kyazdani42/nvim-web-devicons", - "nvim-telescope/telescope-file-browser.nvim", - { "nvim-telescope/telescope-fzf-native.nvim", build = "make" } - }, - config = function() - local telescope = require("telescope") - - telescope.setup({ - pickers = { - man_pages = { - sections = {"ALL"} - } - }, - extensions = { - file_browser = { - grouped = true, - hidden = true, - respect_gitignore = false, - sorting_strategy = "ascending", - layout_config = { - prompt_position = "top" - } - } - } - }) - - telescope.load_extension("file_browser") - telescope.load_extension("fzf") - - require("keymaps").telescope() - - end -} diff --git a/nvim/lua/plugins/toggleterm.lua b/nvim/lua/plugins/toggleterm.lua deleted file mode 100644 index f7c20e7..0000000 --- a/nvim/lua/plugins/toggleterm.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - "akinsho/toggleterm.nvim", - opts = { - open_mapping = "<C-t>", - direction = "float" - } -}