commit b49ba428a2815459ea402ae0770d4fb51e83efb4 parent b5fa76e298cd4334c8a735240cbc42e62d4716b1 Author: mdnrz <mehdeenoroozi@gmail.com> Date: Mon, 26 May 2025 23:45:13 +0330 nvim: working lazy config Diffstat:
23 files changed, 0 insertions(+), 377 deletions(-)
diff --git a/nvim/.config/nvim/after/colors.lua b/nvim/.config/after/colors.lua diff --git a/nvim/.config/nvim/after/ftplugin/lua.lua b/nvim/.config/after/ftplugin/lua.lua diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/init.lua diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/lazy-lock.json diff --git a/nvim/.config/nvim/lua/config/keymaps.lua b/nvim/.config/lua/config/keymaps.lua diff --git a/nvim/.config/nvim/lua/config/lazy.lua b/nvim/.config/lua/config/lazy.lua diff --git a/nvim/.config/nvim/lua/config/plugins/compile-mode.lua b/nvim/.config/lua/config/plugins/compile-mode.lua diff --git a/nvim/.config/nvim/lua/config/plugins/debug.lua b/nvim/.config/lua/config/plugins/debug.lua diff --git a/nvim/.config/nvim/lua/config/plugins/nvim-treesitter.lua b/nvim/.config/lua/config/plugins/nvim-treesitter.lua diff --git a/nvim/.config/nvim/lua/config/plugins/oil.lua b/nvim/.config/lua/config/plugins/oil.lua diff --git a/nvim/.config/nvim/lua/config/plugins/telescope.lua b/nvim/.config/lua/config/plugins/telescope.lua diff --git a/nvim/.config/nvim/lua/config/plugins/tokyonight.lua b/nvim/.config/lua/config/plugins/tokyonight.lua diff --git a/nvim/.config/nvim/lua/config/settings.lua b/nvim/.config/lua/config/settings.lua diff --git a/nvim/.config/nvim/after/plugin/colors.lua b/nvim/.config/nvim/after/plugin/colors.lua @@ -1,15 +0,0 @@ -function ColorMyNvim(color) - color = color or "gruvbuddy" - vim.cmd.colorscheme(color) - - vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) - vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) - vim.api.nvim_set_hl(0, "SignColumn", { bg = "none" }) - vim.api.nvim_set_hl(0, "LineNr", { fg = "White" }) - vim.api.nvim_set_hl(0, "StatusLine", { bg = "#334455" }) - vim.api.nvim_set_hl(0, "StatusLineNC", { bg = "#333333" }) - -- vim.api.nvim_set_hl(0, "FlaotBorder", { bg = "none" }) - -end - -ColorMyNvim() diff --git a/nvim/.config/nvim/after/plugin/compile-mode.lua b/nvim/.config/nvim/after/plugin/compile-mode.lua @@ -1,21 +0,0 @@ -require("compile-mode").setup({ - buffer_name = "*compilation*", - default_command = "make -k", - time_format = "%a %b %e %H:%M:%S", - ask_about_save = true, - ask_to_interrupt = true, - baleia_setup = true, -}) --- --- ----@type CompileModeOpts --- vim.g.compile_mode = { --- buffer_name = "*compilation*", --- default_command = "make -k", --- time_format = "%a %b %e %H:%M:%S", --- ask_about_save = true, --- ask_to_interrupt = true, --- baleia_setup = true, -- only works if you have baleia.nvim installed - -- bang_expansion = true, -- optional: acts more like `:!` --- } - diff --git a/nvim/.config/nvim/after/plugin/dap.lua b/nvim/.config/nvim/after/plugin/dap.lua @@ -1,12 +0,0 @@ -local dap = require"dap" -dap.configurations.lua = { - { - type = 'nlua', - request = 'launch', - name = "Attach to running Neovim instance", - } -} - -dap.adapters.nlua = function(callback, config) - callback({ type = 'server', host = config.host or "127.0.0.1", port = config.port or 8086 }) -end diff --git a/nvim/.config/nvim/after/plugin/oil.lua b/nvim/.config/nvim/after/plugin/oil.lua @@ -1,181 +0,0 @@ -require("oil").setup({ - -- Oil will take over directory buffers (e.g. `vim .` or `:e src/`) - -- Set to false if you want some other plugin (e.g. netrw) to open when you edit directories. - default_file_explorer = true, - -- Id is automatically added at the beginning, and name at the end - -- See :help oil-columns - columns = { - "icon", - "permissions", - "size", - "mtime", - }, - -- Buffer-local options to use for oil buffers - buf_options = { - buflisted = false, - bufhidden = "hide", - }, - -- Window-local options to use for oil buffers - win_options = { - wrap = false, - signcolumn = "no", - cursorcolumn = false, - foldcolumn = "0", - spell = false, - list = false, - conceallevel = 3, - concealcursor = "nvic", - }, - -- Send deleted files to the trash instead of permanently deleting them (:help oil-trash) - delete_to_trash = false, - -- Skip the confirmation popup for simple operations (:help oil.skip_confirm_for_simple_edits) - skip_confirm_for_simple_edits = true, - -- Selecting a new/moved/renamed file or directory will prompt you to save changes first - -- (:help prompt_save_on_select_new_entry) - prompt_save_on_select_new_entry = true, - -- Oil will automatically delete hidden buffers after this delay - -- You can set the delay to false to disable cleanup entirely - -- Note that the cleanup process only starts when none of the oil buffers are currently displayed - cleanup_delay_ms = 2000, - lsp_file_methods = { - -- Time to wait for LSP file operations to complete before skipping - timeout_ms = 1000, - -- Set to true to autosave buffers that are updated with LSP willRenameFiles - -- Set to "unmodified" to only save unmodified buffers - autosave_changes = false, - }, - -- Constrain the cursor to the editable parts of the oil buffer - -- Set to `false` to disable, or "name" to keep it on the file names - constrain_cursor = "editable", - -- Set to true to watch the filesystem for changes and reload oil - watch_for_changes = false, - -- Keymaps in oil buffer. Can be any value that `vim.keymap.set` accepts OR a table of keymap - -- options with a `callback` (e.g. { callback = function() ... end, desc = "", mode = "n" }) - -- Additionally, if it is a string that matches "actions.<name>", - -- it will use the mapping at require("oil.actions").<name> - -- Set to `false` to remove a keymap - -- See :help oil-actions for a list of all available actions - keymaps = { - ["g?"] = "actions.show_help", - ["<CR>"] = "actions.select", - ["<C-s>"] = { "actions.select", opts = { vertical = true }, desc = "Open the entry in a vertical split" }, - ["<C-h>"] = { "actions.select", opts = { horizontal = true }, desc = "Open the entry in a horizontal split" }, - ["<C-t>"] = { "actions.select", opts = { tab = true }, desc = "Open the entry in new tab" }, - ["<C-p>"] = "actions.preview", - ["<C-c>"] = "actions.close", - ["<C-l>"] = "actions.refresh", - ["-"] = "actions.parent", - ["_"] = "actions.open_cwd", - ["`"] = "actions.cd", - ["~"] = { "actions.cd", opts = { scope = "tab" }, desc = ":tcd to the current oil directory" }, - ["gs"] = "actions.change_sort", - ["gx"] = "actions.open_external", - ["g."] = "actions.toggle_hidden", - ["g\\"] = "actions.toggle_trash", - }, - -- Set to false to disable all of the above keymaps - use_default_keymaps = true, - view_options = { - -- Show files and directories that start with "." - show_hidden = false, - -- This function defines what is considered a "hidden" file - is_hidden_file = function(name, bufnr) - return vim.startswith(name, ".") - end, - -- This function defines what will never be shown, even when `show_hidden` is set - is_always_hidden = function(name, bufnr) - return false - end, - -- Sort file names in a more intuitive order for humans. Is less performant, - -- so you may want to set to false if you work with large directories. - natural_order = true, - -- Sort file and directory names case insensitive - case_insensitive = false, - sort = { - -- sort order can be "asc" or "desc" - -- see :help oil-columns to see which columns are sortable - { "type", "asc" }, - { "name", "asc" }, - }, - }, - -- Extra arguments to pass to SCP when moving/copying files over SSH - extra_scp_args = {}, - -- EXPERIMENTAL support for performing file operations with git - git = { - -- Return true to automatically git add/mv/rm files - add = function(path) - return false - end, - mv = function(src_path, dest_path) - return false - end, - rm = function(path) - return false - end, - }, - -- Configuration for the floating window in oil.open_float - float = { - -- Padding around the floating window - padding = 2, - max_width = 0, - max_height = 0, - border = "rounded", - win_options = { - winblend = 0, - }, - -- preview_split: Split direction: "auto", "left", "right", "above", "below". - preview_split = "auto", - -- This is the config that will be passed to nvim_open_win. - -- Change values here to customize the layout - override = function(conf) - return conf - end, - }, - -- Configuration for the actions floating preview window - preview = { - -- Width dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) - -- min_width and max_width can be a single value or a list of mixed integer/float types. - -- max_width = {100, 0.8} means "the lesser of 100 columns or 80% of total" - max_width = 0.9, - -- min_width = {40, 0.4} means "the greater of 40 columns or 40% of total" - min_width = { 40, 0.4 }, - -- optionally define an integer/float for the exact width of the preview window - width = nil, - -- Height dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) - -- min_height and max_height can be a single value or a list of mixed integer/float types. - -- max_height = {80, 0.9} means "the lesser of 80 columns or 90% of total" - max_height = 0.9, - -- min_height = {5, 0.1} means "the greater of 5 columns or 10% of total" - min_height = { 5, 0.1 }, - -- optionally define an integer/float for the exact height of the preview window - height = nil, - border = "rounded", - win_options = { - winblend = 0, - }, - -- Whether the preview window is automatically updated when the cursor is moved - update_on_cursor_moved = true, - }, - -- Configuration for the floating progress window - progress = { - max_width = 0.9, - min_width = { 40, 0.4 }, - width = nil, - max_height = { 10, 0.9 }, - min_height = { 5, 0.1 }, - height = nil, - border = "rounded", - minimized_border = "none", - win_options = { - winblend = 0, - }, - }, - -- Configuration for the floating SSH window - ssh = { - border = "rounded", - }, - -- Configuration for the floating keymaps help window - keymaps_help = { - border = "rounded", - }, -}) diff --git a/nvim/.config/nvim/after/plugin/telescope.lua b/nvim/.config/nvim/after/plugin/telescope.lua @@ -1,8 +0,0 @@ -local builtin = require('telescope.builtin') -vim.keymap.set('n', '<leader>ff', builtin.find_files, {}) -vim.keymap.set('n', '<leader>fg', builtin.live_grep, {}) -vim.keymap.set('n', '<leader>fb', builtin.buffers, {}) -vim.keymap.set('n', '<leader>fh', builtin.help_tags, {}) -vim.keymap.set('n', '<leader>fw', builtin.git_files, {}) -vim.keymap.set('n', '<leader>fu', ':lua require("telescope.builtin").find_files({no_ignore=true})<CR>', {}) - diff --git a/nvim/.config/nvim/lua/mehdi/init.lua b/nvim/.config/nvim/lua/mehdi/init.lua @@ -1,4 +0,0 @@ -require("mehdi.mappings") -require("mehdi.packer") -require("mehdi.settings") -require("mehdi.wiki") diff --git a/nvim/.config/nvim/lua/mehdi/mappings.lua b/nvim/.config/nvim/lua/mehdi/mappings.lua @@ -1,45 +0,0 @@ -vim.g.mapleader = " " -vim.keymap.set("n", "-", vim.cmd.Ex) -vim.keymap.set("i", "jk", "<Esc>") - -vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>") - -vim.keymap.set("n", "-", "<cmd>Oil<CR>") - --- print the date in current buffer -vim.keymap.set("n", "<leader>n", "Go<Esc>:r!date<cr>0i## <Esc>o"--[[ :r!echo $(date)<cr>0i## <Esc>o" ]], opts) - --- Focus on a window by its name -function FocusWindowByName(name) - vim.cmd("Recompile"); - for _, win in ipairs(vim.api.nvim_tabpage_list_wins(0)) do - local buf = vim.api.nvim_win_get_buf(win) - local bufname = vim.api.nvim_buf_get_name(buf) - if bufname:match(name) then - vim.api.nvim_set_current_win(win) - return - end - end - print("No window found with name: " .. name) -end - --- Run :Recompile and focus on the "compilation" pane -vim.cmd('command! RecompileAndFocus lua FocusWindowByName("compilation")') -vim.keymap.set('n', '<leader>r', ':RecompileAndFocus<CR>', { noremap = true, silent = true }) - -vim.keymap.set("n", "<leader>c", ":Compile<C-F>") -vim.keymap.set("n", "<C-F>", ":silent !tmux neww sessionizer<CR>") - --- DAP -vim.keymap.set("n", "<leader>b", "<cmd>lua require'dap'.toggle_breakpoint()<CR>") -vim.keymap.set("n", "<space>gb", "<cmd>lua require'dap'.run_to_cursor()<CR>") --- Eval var under cursor -vim.keymap.set("n", "<space>?", function() - require("dapui").eval(nil, { enter = true }) -end) -vim.keymap.set("n", "<F1>", "<cmd>lua require'dap'.continue()<CR>") -vim.keymap.set("n", "<F2>", "<cmd>lua require'dap'.step_into()<CR>") -vim.keymap.set("n", "<F3>", "<cmd>lua require'dap'.step_over()<CR>") -vim.keymap.set("n", "<F4>", "<cmd>lua require'dap'.step_out()<CR>") -vim.keymap.set("n", "<F5>", "<cmd>lua require'dap'.step_back()<CR>") -vim.keymap.set("n", "<F13>", "<cmd>lua require'dap'.restart()<CR>") diff --git a/nvim/.config/nvim/lua/mehdi/packer.lua b/nvim/.config/nvim/lua/mehdi/packer.lua @@ -1,49 +0,0 @@ -vim.cmd [[packadd packer.nvim]] - -return require('packer').startup(function(use) - -- Packer can manage itself - use 'wbthomason/packer.nvim' - - use { - 'nvim-telescope/telescope.nvim', tag = '0.1.8', - requires = { {'nvim-lua/plenary.nvim'} } - } - - use { "rose-pine/neovim", name = "rose-pine" } - - use { "blazkowolf/gruber-darker.nvim" } - - use({ - "stevearc/oil.nvim", - config = function() - require("oil").setup() - end, - }) - - use { 'nvim-tree/nvim-web-devicons' } - - use { 'tjdevries/colorbuddy.nvim' } - use { 'tjdevries/gruvbuddy.nvim' } - use { 'fxn/vim-monochrome' } - - use { 'sainnhe/gruvbox-material' } - use { 'slugbyte/lackluster.nvim' } - use { "polirritmico/monokai-nightasty.nvim" } - - use { 'tpope/vim-fugitive' } - use { 'tpope/vim-dadbod' } - - use { 'vimwiki/vimwiki' } - - use { 'ej-shafran/compile-mode.nvim', tag = 'v3.0.1', - requires = { { 'nvim-lua/plenary.nvim' }, - { 'm00qek/baleia.nvim' }, - }, - } - - use { 'mfussenegger/nvim-dap', - requires = { { 'rcarriga/nvim-dap-ui' } } - } - -end) - diff --git a/nvim/.config/nvim/lua/mehdi/settings.lua b/nvim/.config/nvim/lua/mehdi/settings.lua @@ -1,29 +0,0 @@ -vim.opt.nu = true -vim.opt.nuw = 1 -vim.opt.relativenumber = true - -vim.opt.tabstop = 4 -vim.opt.shiftwidth = 4 -vim.opt.softtabstop = 4 -vim.opt.expandtab = true - -vim.opt.smartindent = true -vim.opt.wrap = false - -vim.opt.swapfile = false -vim.opt.backup = false -vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" -vim.opt.undofile = true - -vim.opt.incsearch = true -vim.opt.hlsearch = false -vim.opt.smartcase = true -vim.opt.ignorecase = true - -vim.opt.termguicolors = true -vim.opt.signcolumn = "yes" - -vim.opt.splitright = true -vim.opt.splitbelow = true - -vim.opt.guicursor='n-v-c-:block-blinkwait100-blinkon100-blinkoff80,i-ci-ve:ver25-blinkwait150-blinkon150-blinkoff100,r-ci:hor20' diff --git a/nvim/.config/nvim/lua/mehdi/wiki.lua b/nvim/.config/nvim/lua/mehdi/wiki.lua @@ -1,13 +0,0 @@ --- vimwiki markdown syntax -vim.g.vimwiki_list = { - {path = '~/notes/vimwiki', syntax = 'markdown', ext = '.md'}, - {path = '~/notes/vimwiki/tech', syntax = 'markdown', ext = '.md'}, - {path = '~/notes/vimwiki/tech/linux', syntax = 'markdown', ext = '.md'}, - {path = '~/notes/vimwiki/tech/rust', syntax = 'markdown', ext = '.md'}, - {path = '~/notes/vimwiki/tech/python', syntax = 'markdown', ext = '.md'}, - {path = '~/notes/vimwiki/tech/embedded', syntax = 'markdown', ext = '.md'}, - {path = '~/notes/vimwiki/ideas', syntax = 'markdown', ext = '.md'}, - {path = '~/notes/vimwiki/science', syntax = 'markdown', ext = '.md'}, - {path = '~/notes/vimwiki/ati', syntax = 'markdown', ext = '.md'}, -} -