From 9885096f0cebd3cc7c89514fe5d64ee953b472a2 Mon Sep 17 00:00:00 2001 From: TLCooper4031 <58536802+TLCooper4031@users.noreply.github.com> Date: Sun, 20 Apr 2025 09:07:12 -0400 Subject: [PATCH] initial personal commit --- .pre-commit-config.yaml | 5 + init.lua | 132 ++---- lua/custom/plugins/autopairs.lua | 5 + lua/custom/plugins/better-escape.lua | 3 + lua/custom/plugins/copilot.lua | 14 + lua/custom/plugins/cyberdream.lua | 5 + lua/custom/plugins/diffview.lua | 23 + lua/custom/plugins/flutter-tools.lua | 9 + lua/custom/plugins/obsidian.lua | 34 ++ lua/custom/plugins/oil.lua | 13 + lua/custom/plugins/pomo.lua | 29 ++ lua/custom/plugins/rustaceanvim.lua | 5 + lua/custom/plugins/smear_cursor.lua | 4 + lua/custom/plugins/snacks.lua | 546 ++++++++++++++++++++++ lua/custom/plugins/telescope-frecency.lua | 8 + lua/custom/plugins/tiny-glimmer.lua | 139 ++++++ lua/custom/plugins/tokyonight.lua | 6 + lua/custom/plugins/tranparent.lua | 5 + lua/custom/plugins/trouble.lua | 37 ++ lua/custom/plugins/typr.lua | 6 + lua/custom/plugins/unimpaired.lua | 7 + lua/custom/plugins/wezterm-move.lua | 29 ++ lua/kickstart/plugins/indent_line.lua | 9 - 23 files changed, 969 insertions(+), 104 deletions(-) create mode 100644 .pre-commit-config.yaml create mode 100644 lua/custom/plugins/autopairs.lua create mode 100644 lua/custom/plugins/better-escape.lua create mode 100644 lua/custom/plugins/copilot.lua create mode 100644 lua/custom/plugins/cyberdream.lua create mode 100644 lua/custom/plugins/diffview.lua create mode 100644 lua/custom/plugins/flutter-tools.lua create mode 100644 lua/custom/plugins/obsidian.lua create mode 100644 lua/custom/plugins/oil.lua create mode 100644 lua/custom/plugins/pomo.lua create mode 100644 lua/custom/plugins/rustaceanvim.lua create mode 100644 lua/custom/plugins/smear_cursor.lua create mode 100644 lua/custom/plugins/snacks.lua create mode 100644 lua/custom/plugins/telescope-frecency.lua create mode 100644 lua/custom/plugins/tiny-glimmer.lua create mode 100644 lua/custom/plugins/tokyonight.lua create mode 100644 lua/custom/plugins/tranparent.lua create mode 100644 lua/custom/plugins/trouble.lua create mode 100644 lua/custom/plugins/typr.lua create mode 100644 lua/custom/plugins/unimpaired.lua create mode 100644 lua/custom/plugins/wezterm-move.lua delete mode 100644 lua/kickstart/plugins/indent_line.lua diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..b8a004b1 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,5 @@ +repos: + - repo: https://github.com/gitleaks/gitleaks + rev: v8.24.2 + hooks: + - id: gitleaks diff --git a/init.lua b/init.lua index 4eae8e7d..8f0434a8 100644 --- a/init.lua +++ b/init.lua @@ -1,89 +1,3 @@ ---[[ - -===================================================================== -==================== READ THIS BEFORE CONTINUING ==================== -===================================================================== -======== .-----. ======== -======== .----------------------. | === | ======== -======== |.-""""""""""""""""""-.| |-----| ======== -======== || || | === | ======== -======== || KICKSTART.NVIM || |-----| ======== -======== || || | === | ======== -======== || || |-----| ======== -======== ||:Tutor || |:::::| ======== -======== |'-..................-'| |____o| ======== -======== `"")----------------(""` ___________ ======== -======== /::::::::::| |::::::::::\ \ no mouse \ ======== -======== /:::========| |==hjkl==:::\ \ required \ ======== -======== '""""""""""""' '""""""""""""' '""""""""""' ======== -======== ======== -===================================================================== -===================================================================== - -What is Kickstart? - - Kickstart.nvim is *not* a distribution. - - Kickstart.nvim is a starting point for your own configuration. - The goal is that you can read every line of code, top-to-bottom, understand - what your configuration is doing, and modify it to suit your needs. - - Once you've done that, you can start exploring, configuring and tinkering to - make Neovim your own! That might mean leaving Kickstart just the way it is for a while - or immediately breaking it into modular pieces. It's up to you! - - If you don't know anything about Lua, I recommend taking some time to read through - a guide. One possible example which will only take 10-15 minutes: - - https://learnxinyminutes.com/docs/lua/ - - After understanding a bit more about Lua, you can use `:help lua-guide` as a - reference for how Neovim integrates Lua. - - :help lua-guide - - (or HTML version): https://neovim.io/doc/user/lua-guide.html - -Kickstart Guide: - - TODO: The very first thing you should do is to run the command `:Tutor` in Neovim. - - If you don't know what this means, type the following: - - - - : - - Tutor - - - - (If you already know the Neovim basics, you can skip this step.) - - Once you've completed that, you can continue working through **AND READING** the rest - of the kickstart init.lua. - - Next, run AND READ `:help`. - This will open up a help window with some basic information - about reading, navigating and searching the builtin help documentation. - - This should be the first place you go to look when you're stuck or confused - with something. It's one of my favorite Neovim features. - - MOST IMPORTANTLY, we provide a keymap "sh" to [s]earch the [h]elp documentation, - which is very useful when you're not exactly sure of what you're looking for. - - I have left several `:help X` comments throughout the init.lua - These are hints about where to find more information about the relevant settings, - plugins or Neovim features used in Kickstart. - - NOTE: Look for lines like this - - Throughout the file. These are for you, the reader, to help you understand what is happening. - Feel free to delete them once you know what you're doing, but they should serve as a guide - for when you are first encountering a few different constructs in your Neovim config. - -If you experience any errors while trying to install kickstart, run `:checkhealth` for more info. - -I hope you enjoy your Neovim journey, -- TJ - -P.S. You can delete this when you're done too. It's your config now! :) ---]] - -- Set as the leader key -- See `:help mapleader` -- NOTE: Must happen before plugins are loaded (otherwise wrong leader will be used) @@ -91,7 +5,7 @@ vim.g.mapleader = ' ' vim.g.maplocalleader = ' ' -- Set to true if you have a Nerd Font installed and selected in the terminal -vim.g.have_nerd_font = false +vim.g.have_nerd_font = true -- [[ Setting options ]] -- See `:help vim.opt` @@ -102,7 +16,7 @@ vim.g.have_nerd_font = false vim.opt.number = true -- You can also add relative line numbers, to help with jumping. -- Experiment for yourself to see if you like it! --- vim.opt.relativenumber = true +vim.opt.relativenumber = false -- Enable mouse mode, can be useful for resizing splits for example! vim.opt.mouse = 'a' @@ -175,10 +89,10 @@ vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagn vim.keymap.set('t', '', '', { desc = 'Exit terminal mode' }) -- TIP: Disable arrow keys in normal mode --- vim.keymap.set('n', '', 'echo "Use h to move!!"') --- vim.keymap.set('n', '', 'echo "Use l to move!!"') --- vim.keymap.set('n', '', 'echo "Use k to move!!"') --- vim.keymap.set('n', '', 'echo "Use j to move!!"') +vim.keymap.set('n', '', 'echo "Use h to move!!"') +vim.keymap.set('n', '', 'echo "Use l to move!!"') +vim.keymap.set('n', '', 'echo "Use k to move!!"') +vim.keymap.set('n', '', 'echo "Use j to move!!"') -- Keybinds to make split navigation easier. -- Use CTRL+ to switch between windows @@ -203,6 +117,13 @@ vim.api.nvim_create_autocmd('TextYankPost', { end, }) +vim.api.nvim_create_autocmd('FileType', { + pattern = { 'markdown' }, + callback = function() + vim.wo.conceallevel = 2 + end, + }) + -- [[ Install `lazy.nvim` plugin manager ]] -- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim' @@ -628,7 +549,6 @@ require('lazy').setup({ -- But for many setups, the LSP (`ts_ls`) will work just fine -- ts_ls = {}, -- - lua_ls = { -- cmd = { ... }, -- filetypes = { ... }, @@ -644,6 +564,28 @@ require('lazy').setup({ }, }, } + require('lspconfig').ruff.setup { + init_options = { + settings = { + -- Ruff language server settings go here + }, + }, + } + + require('lspconfig').basedpyright.setup { + settings = { + pyright = { + -- Using Ruff's import organizer + disableOrganizeImports = true, + }, + python = { + analysis = { + -- Ignore all files for analysis to exclusively use Ruff for linting + ignore = { '*' }, + }, + }, + }, + } -- Ensure the servers and tools above are installed -- @@ -849,7 +791,7 @@ require('lazy').setup({ -- Load the colorscheme here. -- Like many other themes, this one has different styles, and you could load -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'. - vim.cmd.colorscheme 'tokyonight-night' + vim.cmd.colorscheme 'tokyonight' -- You can configure highlights by doing something like: vim.cmd.hi 'Comment gui=none' @@ -942,7 +884,7 @@ require('lazy').setup({ -- This is the easiest way to modularize your config. -- -- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going. - -- { import = 'custom.plugins' }, + { import = 'custom.plugins' }, -- -- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec` -- Or use telescope! diff --git a/lua/custom/plugins/autopairs.lua b/lua/custom/plugins/autopairs.lua new file mode 100644 index 00000000..4c76ed99 --- /dev/null +++ b/lua/custom/plugins/autopairs.lua @@ -0,0 +1,5 @@ +return { + 'windwp/nvim-autopairs', + event = 'InsertEnter', + config = true, +} diff --git a/lua/custom/plugins/better-escape.lua b/lua/custom/plugins/better-escape.lua new file mode 100644 index 00000000..d8e6aa67 --- /dev/null +++ b/lua/custom/plugins/better-escape.lua @@ -0,0 +1,3 @@ +return { + 'nvim-zh/better-escape.vim', +} diff --git a/lua/custom/plugins/copilot.lua b/lua/custom/plugins/copilot.lua new file mode 100644 index 00000000..b2f94894 --- /dev/null +++ b/lua/custom/plugins/copilot.lua @@ -0,0 +1,14 @@ +return { + { + 'CopilotC-Nvim/CopilotChat.nvim', + dependencies = { + { 'github/copilot.vim' }, -- or zbirenbaum/copilot.lua + { 'nvim-lua/plenary.nvim', branch = 'master' }, -- for curl, log and async functions + }, + build = 'make tiktoken', -- Only on MacOS or Linux + opts = { + -- See Configuration section for options + }, + -- See Commands section for default commands if you want to lazy load on them + }, +} diff --git a/lua/custom/plugins/cyberdream.lua b/lua/custom/plugins/cyberdream.lua new file mode 100644 index 00000000..24b84a36 --- /dev/null +++ b/lua/custom/plugins/cyberdream.lua @@ -0,0 +1,5 @@ +return { + 'scottmckendry/cyberdream.nvim', + lazy = false, + priority = 1000, +} diff --git a/lua/custom/plugins/diffview.lua b/lua/custom/plugins/diffview.lua new file mode 100644 index 00000000..c5b250ae --- /dev/null +++ b/lua/custom/plugins/diffview.lua @@ -0,0 +1,23 @@ +return { + -- Git diff viewer + { + 'sindrets/diffview.nvim', + dependencies = { 'nvim-lua/plenary.nvim' }, + config = function() + require('diffview').setup { + enhanced_diff_hl = true, -- Highlight word differences within lines + view = { + default = { + layout = 'diff2_horizontal', -- Options: diff2_horizontal, diff2_vertical, diff3_horizontal, diff3_vertical + }, + }, + file_panel = { + win_config = { + position = 'left', -- Can be "left", "right", "top", "bottom" + width = 35, + }, + }, + } + end, + }, +} diff --git a/lua/custom/plugins/flutter-tools.lua b/lua/custom/plugins/flutter-tools.lua new file mode 100644 index 00000000..c224327b --- /dev/null +++ b/lua/custom/plugins/flutter-tools.lua @@ -0,0 +1,9 @@ +return { + 'nvim-flutter/flutter-tools.nvim', + lazy = false, + dependencies = { + 'nvim-lua/plenary.nvim', + 'stevearc/dressing.nvim', -- optional for vim.ui.select + }, + config = true, +} diff --git a/lua/custom/plugins/obsidian.lua b/lua/custom/plugins/obsidian.lua new file mode 100644 index 00000000..a2b9ffd8 --- /dev/null +++ b/lua/custom/plugins/obsidian.lua @@ -0,0 +1,34 @@ +return { + 'obsidian-nvim/obsidian.nvim', + version = '*', -- recommended, use latest release instead of latest commit + lazy = true, + ft = 'markdown', + -- Replace the above line with this if you only want to load obsidian.nvim for markdown files in your vault: + -- event = { + -- -- If you want to use the home shortcut '~' here you need to call 'vim.fn.expand'. + -- -- E.g. "BufReadPre " .. vim.fn.expand "~" .. "/my-vault/*.md" + -- -- refer to `:h file-pattern` for more examples + -- "BufReadPre path/to/my-vault/*.md", + -- "BufNewFile path/to/my-vault/*.md", + -- }, + dependencies = { + -- Required. + 'nvim-lua/plenary.nvim', + + -- see below for full list of optional dependencies 👇 + }, + opts = { + workspaces = { + { + name = 'personal', + path = '~/Documents/personal-1', + }, + { + name = 'zk', + path = '~/zk', + }, + }, + + -- see below for full list of options 👇 + }, +} diff --git a/lua/custom/plugins/oil.lua b/lua/custom/plugins/oil.lua new file mode 100644 index 00000000..7b5a8138 --- /dev/null +++ b/lua/custom/plugins/oil.lua @@ -0,0 +1,13 @@ +vim.keymap.set('n', '-', 'Oil', { desc = 'Open Oil file explorer' }) + +return { + 'stevearc/oil.nvim', + ---@module 'oil' + ---@type oil.SetupOpts + opts = {}, + -- Optional dependencies + dependencies = { { 'echasnovski/mini.icons', opts = {} } }, + -- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons + -- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations. + lazy = false, +} diff --git a/lua/custom/plugins/pomo.lua b/lua/custom/plugins/pomo.lua new file mode 100644 index 00000000..553bd96d --- /dev/null +++ b/lua/custom/plugins/pomo.lua @@ -0,0 +1,29 @@ +return { + 'epwalsh/pomo.nvim', + version = '*', -- Recommended, use latest release instead of latest commit + lazy = true, + cmd = { 'TimerStart', 'TimerRepeat', 'TimerSession' }, + dependencies = { + -- Optional, but highly recommended if you want to use the "Default" timer + 'rcarriga/nvim-notify', + }, + opts = { + -- See below for full list of options 👇 + sessions = { + norm = { + { name = 'Work', duration = '24m30s' }, + { name = 'Status', duration = '30s' }, + { name = 'Short Break', duration = '5m' }, + { name = 'Work', duration = '24m30s' }, + { name = 'Status', duration = '30s' }, + { name = 'Short Break', duration = '5m' }, + { name = 'Work', duration = '24m30s' }, + { name = 'Status', duration = '30s' }, + { name = 'Short Break', duration = '5m' }, + { name = 'Work', duration = '24m30s' }, + { name = 'Status', duration = '30s' }, + { name = 'Long Break', duration = '15m' }, + }, + }, + }, +} diff --git a/lua/custom/plugins/rustaceanvim.lua b/lua/custom/plugins/rustaceanvim.lua new file mode 100644 index 00000000..46c4c82f --- /dev/null +++ b/lua/custom/plugins/rustaceanvim.lua @@ -0,0 +1,5 @@ +return { + 'mrcjkb/rustaceanvim', + version = '^5', -- Recommended + lazy = false, -- This plugin is already lazy +} diff --git a/lua/custom/plugins/smear_cursor.lua b/lua/custom/plugins/smear_cursor.lua new file mode 100644 index 00000000..43393203 --- /dev/null +++ b/lua/custom/plugins/smear_cursor.lua @@ -0,0 +1,4 @@ +return { + 'sphamba/smear-cursor.nvim', + opts = {}, +} diff --git a/lua/custom/plugins/snacks.lua b/lua/custom/plugins/snacks.lua new file mode 100644 index 00000000..bc0afd5d --- /dev/null +++ b/lua/custom/plugins/snacks.lua @@ -0,0 +1,546 @@ +return { + 'folke/snacks.nvim', + priority = 1000, + lazy = false, + ---@type snacks.Config + opts = { + toggle = { enabled = true }, + dim = { enabled = true }, + lazygit = { enabled = true }, + bigfile = { enabled = true }, + dashboard = { enabled = true }, + explorer = { enabled = true }, + indent = { enabled = true }, + input = { enabled = true }, + notifier = { + enabled = true, + timeout = 3000, + }, + picker = { enabled = true }, + quickfile = { enabled = true }, + scope = { enabled = true }, + scroll = { enabled = true }, + statuscolumn = { enabled = true }, + words = { enabled = true }, + styles = { + notification = { + -- wo = { wrap = true } -- Wrap notifications + }, + }, + }, + keys = { + -- Top Pickers & Explorer + { + '', + function() + Snacks.picker.smart() + end, + desc = 'Smart Find Files', + }, + { + ',', + function() + Snacks.picker.buffers() + end, + desc = 'Buffers', + }, + { + '/', + function() + Snacks.picker.grep() + end, + desc = 'Grep', + }, + { + ':', + function() + Snacks.picker.command_history() + end, + desc = 'Command History', + }, + { + 'n', + function() + Snacks.picker.notifications() + end, + desc = 'Notification History', + }, + { + 'e', + function() + Snacks.explorer() + end, + desc = 'File Explorer', + }, + -- find + { + 'fb', + function() + Snacks.picker.buffers() + end, + desc = 'Buffers', + }, + { + 'fc', + function() + Snacks.picker.files { cwd = vim.fn.stdpath 'config' } + end, + desc = 'Find Config File', + }, + { + 'ff', + function() + Snacks.picker.files() + end, + desc = 'Find Files', + }, + { + 'fg', + function() + Snacks.picker.git_files() + end, + desc = 'Find Git Files', + }, + { + 'fp', + function() + Snacks.picker.projects() + end, + desc = 'Projects', + }, + { + 'fr', + function() + Snacks.picker.recent() + end, + desc = 'Recent', + }, + -- git + { + 'gb', + function() + Snacks.picker.git_branches() + end, + desc = 'Git Branches', + }, + { + 'gl', + function() + Snacks.picker.git_log() + end, + desc = 'Git Log', + }, + { + 'gL', + function() + Snacks.picker.git_log_line() + end, + desc = 'Git Log Line', + }, + { + 'gs', + function() + Snacks.picker.git_status() + end, + desc = 'Git Status', + }, + { + 'gS', + function() + Snacks.picker.git_stash() + end, + desc = 'Git Stash', + }, + { + 'gd', + function() + Snacks.picker.git_diff() + end, + desc = 'Git Diff (Hunks)', + }, + { + 'gf', + function() + Snacks.picker.git_log_file() + end, + desc = 'Git Log File', + }, + -- Grep + { + 'sb', + function() + Snacks.picker.lines() + end, + desc = 'Buffer Lines', + }, + { + 'sB', + function() + Snacks.picker.grep_buffers() + end, + desc = 'Grep Open Buffers', + }, + { + 'sg', + function() + Snacks.picker.grep() + end, + desc = 'Grep', + }, + { + 'sw', + function() + Snacks.picker.grep_word() + end, + desc = 'Visual selection or word', + mode = { 'n', 'x' }, + }, + -- search + { + 's"', + function() + Snacks.picker.registers() + end, + desc = 'Registers', + }, + { + 's/', + function() + Snacks.picker.search_history() + end, + desc = 'Search History', + }, + { + 'sa', + function() + Snacks.picker.autocmds() + end, + desc = 'Autocmds', + }, + { + 'sb', + function() + Snacks.picker.lines() + end, + desc = 'Buffer Lines', + }, + { + 'sc', + function() + Snacks.picker.command_history() + end, + desc = 'Command History', + }, + { + 'sC', + function() + Snacks.picker.commands() + end, + desc = 'Commands', + }, + { + 'sd', + function() + Snacks.picker.diagnostics() + end, + desc = 'Diagnostics', + }, + { + 'sD', + function() + Snacks.picker.diagnostics_buffer() + end, + desc = 'Buffer Diagnostics', + }, + { + 'sh', + function() + Snacks.picker.help() + end, + desc = 'Help Pages', + }, + { + 'sH', + function() + Snacks.picker.highlights() + end, + desc = 'Highlights', + }, + { + 'si', + function() + Snacks.picker.icons() + end, + desc = 'Icons', + }, + { + 'sj', + function() + Snacks.picker.jumps() + end, + desc = 'Jumps', + }, + { + 'sk', + function() + Snacks.picker.keymaps() + end, + desc = 'Keymaps', + }, + { + 'sl', + function() + Snacks.picker.loclist() + end, + desc = 'Location List', + }, + { + 'sm', + function() + Snacks.picker.marks() + end, + desc = 'Marks', + }, + { + 'sM', + function() + Snacks.picker.man() + end, + desc = 'Man Pages', + }, + { + 'sp', + function() + Snacks.picker.lazy() + end, + desc = 'Search for Plugin Spec', + }, + { + 'sq', + function() + Snacks.picker.qflist() + end, + desc = 'Quickfix List', + }, + { + 'sR', + function() + Snacks.picker.resume() + end, + desc = 'Resume', + }, + { + 'su', + function() + Snacks.picker.undo() + end, + desc = 'Undo History', + }, + { + 'uC', + function() + Snacks.picker.colorschemes() + end, + desc = 'Colorschemes', + }, + -- LSP + { + 'gd', + function() + Snacks.picker.lsp_definitions() + end, + desc = 'Goto Definition', + }, + { + 'gD', + function() + Snacks.picker.lsp_declarations() + end, + desc = 'Goto Declaration', + }, + { + 'gr', + function() + Snacks.picker.lsp_references() + end, + nowait = true, + desc = 'References', + }, + { + 'gI', + function() + Snacks.picker.lsp_implementations() + end, + desc = 'Goto Implementation', + }, + { + 'gy', + function() + Snacks.picker.lsp_type_definitions() + end, + desc = 'Goto T[y]pe Definition', + }, + { + 'ss', + function() + Snacks.picker.lsp_symbols() + end, + desc = 'LSP Symbols', + }, + { + 'sS', + function() + Snacks.picker.lsp_workspace_symbols() + end, + desc = 'LSP Workspace Symbols', + }, + -- Other + { + 'z', + function() + Snacks.zen() + end, + desc = 'Toggle Zen Mode', + }, + { + 'Z', + function() + Snacks.zen.zoom() + end, + desc = 'Toggle Zoom', + }, + { + '.', + function() + Snacks.scratch() + end, + desc = 'Toggle Scratch Buffer', + }, + { + 'S', + function() + Snacks.scratch.select() + end, + desc = 'Select Scratch Buffer', + }, + { + 'n', + function() + Snacks.notifier.show_history() + end, + desc = 'Notification History', + }, + { + 'bd', + function() + Snacks.bufdelete() + end, + desc = 'Delete Buffer', + }, + { + 'cR', + function() + Snacks.rename.rename_file() + end, + desc = 'Rename File', + }, + { + 'gB', + function() + Snacks.gitbrowse() + end, + desc = 'Git Browse', + mode = { 'n', 'v' }, + }, + { + 'gg', + function() + Snacks.lazygit() + end, + desc = 'Lazygit', + }, + { + 'un', + function() + Snacks.notifier.hide() + end, + desc = 'Dismiss All Notifications', + }, + { + '', + function() + Snacks.terminal() + end, + desc = 'Toggle Terminal', + }, + { + '', + function() + Snacks.terminal() + end, + desc = 'which_key_ignore', + }, + { + ']]', + function() + Snacks.words.jump(vim.v.count1) + end, + desc = 'Next Reference', + mode = { 'n', 't' }, + }, + { + '[[', + function() + Snacks.words.jump(-vim.v.count1) + end, + desc = 'Prev Reference', + mode = { 'n', 't' }, + }, + { + 'N', + desc = 'Neovim News', + function() + Snacks.win { + file = vim.api.nvim_get_runtime_file('doc/news.txt', false)[1], + width = 0.6, + height = 0.6, + wo = { + spell = false, + wrap = false, + signcolumn = 'yes', + statuscolumn = ' ', + conceallevel = 3, + }, + } + end, + }, + }, + init = function() + vim.api.nvim_create_autocmd('User', { + pattern = 'VeryLazy', + callback = function() + -- Setup some globals for debugging (lazy-loaded) + _G.dd = function(...) + Snacks.debug.inspect(...) + end + _G.bt = function() + Snacks.debug.backtrace() + end + vim.print = _G.dd -- Override print to use snacks for `:=` command + + -- Create some toggle mappings + Snacks.toggle.option('spell', { name = 'Spelling' }):map 'us' + Snacks.toggle.option('wrap', { name = 'Wrap' }):map 'uw' + Snacks.toggle.option('relativenumber', { name = 'Relative Number' }):map 'uL' + Snacks.toggle.diagnostics():map 'ud' + Snacks.toggle.line_number():map 'ul' + Snacks.toggle.option('conceallevel', { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 }):map 'uc' + Snacks.toggle.treesitter():map 'uT' + Snacks.toggle.option('background', { off = 'light', on = 'dark', name = 'Dark Background' }):map 'ub' + Snacks.toggle.inlay_hints():map 'uh' + Snacks.toggle.indent():map 'ug' + Snacks.toggle.dim():map 'uD' + end, + }) + end, +} diff --git a/lua/custom/plugins/telescope-frecency.lua b/lua/custom/plugins/telescope-frecency.lua new file mode 100644 index 00000000..3db84c9b --- /dev/null +++ b/lua/custom/plugins/telescope-frecency.lua @@ -0,0 +1,8 @@ +return { + 'nvim-telescope/telescope-frecency.nvim', + -- install the latest stable version + version = '*', + config = function() + require('telescope').load_extension 'frecency' + end, +} diff --git a/lua/custom/plugins/tiny-glimmer.lua b/lua/custom/plugins/tiny-glimmer.lua new file mode 100644 index 00000000..4d3c02e3 --- /dev/null +++ b/lua/custom/plugins/tiny-glimmer.lua @@ -0,0 +1,139 @@ +return { + 'rachartier/tiny-glimmer.nvim', + event = 'VeryLazy', + priority = 10, + opts = { + enabled = true, + disable_warnings = true, + refresh_interval_ms = 8, + overwrite = { + auto_map = true, + yank = { + enabled = true, + default_animation = 'fade', + }, + search = { + enabled = false, + default_animation = 'pulse', + next_mapping = 'n', + prev_mapping = 'N', + }, + paste = { + enabled = true, + default_animation = 'reverse_fade', + paste_mapping = 'p', + Paste_mapping = 'P', + }, + undo = { + enabled = false, + default_animation = { + name = 'fade', + settings = { + from_color = 'DiffDelete', + max_duration = 500, + min_duration = 500, + }, + }, + undo_mapping = 'u', + }, + redo = { + enabled = false, + default_animation = { + name = 'fade', + settings = { + from_color = 'DiffAdd', + max_duration = 500, + min_duration = 500, + }, + }, + redo_mapping = '', + }, + }, + support = { + substitute = { + enabled = false, + default_animation = 'fade', + }, + }, + presets = { + pulsar = { + enabled = false, + on_events = { 'CursorMoved', 'CmdlineEnter', 'WinEnter' }, + default_animation = { + name = 'fade', + settings = { + max_duration = 1000, + min_duration = 1000, + from_color = 'DiffDelete', + to_color = 'Normal', + }, + }, + }, + }, + transparency_color = nil, + animations = { + fade = { + max_duration = 400, + min_duration = 300, + easing = 'outQuad', + chars_for_max_duration = 10, + from_color = 'Visual', + to_color = 'Normal', + }, + reverse_fade = { + max_duration = 380, + min_duration = 300, + easing = 'outBack', + chars_for_max_duration = 10, + from_color = 'Visual', + to_color = 'Normal', + }, + bounce = { + max_duration = 500, + min_duration = 400, + chars_for_max_duration = 20, + oscillation_count = 1, + from_color = 'Visual', + to_color = 'Normal', + }, + left_to_right = { + max_duration = 350, + min_duration = 350, + min_progress = 0.85, + chars_for_max_duration = 25, + lingering_time = 50, + from_color = 'Visual', + to_color = 'Normal', + }, + pulse = { + max_duration = 600, + min_duration = 400, + chars_for_max_duration = 15, + pulse_count = 2, + intensity = 1.2, + from_color = 'Visual', + to_color = 'Normal', + }, + rainbow = { + max_duration = 600, + min_duration = 350, + chars_for_max_duration = 20, + }, + custom = { + max_duration = 350, + chars_for_max_duration = 40, + color = 'Visual', -- You can replace this with a highlight group or hex + effect = function(self, progress) + return self.settings.color, progress + end, + }, + hijack_ft_disabled = { + 'alpha', + 'snacks_dashboard', + }, + }, + virt_text = { + priority = 2048, + }, + }, +} diff --git a/lua/custom/plugins/tokyonight.lua b/lua/custom/plugins/tokyonight.lua new file mode 100644 index 00000000..25fd1a83 --- /dev/null +++ b/lua/custom/plugins/tokyonight.lua @@ -0,0 +1,6 @@ +return { + 'folke/tokyonight.nvim', + lazy = false, + priority = 1000, + opts = {}, +} diff --git a/lua/custom/plugins/tranparent.lua b/lua/custom/plugins/tranparent.lua new file mode 100644 index 00000000..b8d4a845 --- /dev/null +++ b/lua/custom/plugins/tranparent.lua @@ -0,0 +1,5 @@ +return { + 'tribela/transparent.nvim', + event = 'VimEnter', + config = true, +} diff --git a/lua/custom/plugins/trouble.lua b/lua/custom/plugins/trouble.lua new file mode 100644 index 00000000..d0578c9f --- /dev/null +++ b/lua/custom/plugins/trouble.lua @@ -0,0 +1,37 @@ +return { + 'folke/trouble.nvim', + opts = {}, -- for default options, refer to the configuration section for custom setup. + cmd = 'Trouble', + keys = { + { + 'xx', + 'Trouble diagnostics toggle', + desc = 'Diagnostics (Trouble)', + }, + { + 'xX', + 'Trouble diagnostics toggle filter.buf=0', + desc = 'Buffer Diagnostics (Trouble)', + }, + { + 'cs', + 'Trouble symbols toggle focus=false', + desc = 'Symbols (Trouble)', + }, + { + 'cl', + 'Trouble lsp toggle focus=false win.position=right', + desc = 'LSP Definitions / references / ... (Trouble)', + }, + { + 'xL', + 'Trouble loclist toggle', + desc = 'Location List (Trouble)', + }, + { + 'xQ', + 'Trouble qflist toggle', + desc = 'Quickfix List (Trouble)', + }, + }, +} diff --git a/lua/custom/plugins/typr.lua b/lua/custom/plugins/typr.lua new file mode 100644 index 00000000..c887b92b --- /dev/null +++ b/lua/custom/plugins/typr.lua @@ -0,0 +1,6 @@ +return { + 'nvzone/typr', + dependencies = 'nvzone/volt', + opts = {}, + cmd = { 'Typr', 'TyprStats' }, +} diff --git a/lua/custom/plugins/unimpaired.lua b/lua/custom/plugins/unimpaired.lua new file mode 100644 index 00000000..3a92f151 --- /dev/null +++ b/lua/custom/plugins/unimpaired.lua @@ -0,0 +1,7 @@ +return { + 'tummetott/unimpaired.nvim', + event = 'VeryLazy', + opts = { + -- add options here if you wish to override the default settings + }, +} diff --git a/lua/custom/plugins/wezterm-move.lua b/lua/custom/plugins/wezterm-move.lua new file mode 100644 index 00000000..a7751282 --- /dev/null +++ b/lua/custom/plugins/wezterm-move.lua @@ -0,0 +1,29 @@ +return { + 'letieu/wezterm-move.nvim', + keys = { -- Lazy loading, don't need call setup() function + { + '', + function() + require('wezterm-move').move 'h' + end, + }, + { + '', + function() + require('wezterm-move').move 'j' + end, + }, + { + '', + function() + require('wezterm-move').move 'k' + end, + }, + { + '', + function() + require('wezterm-move').move 'l' + end, + }, + }, +} diff --git a/lua/kickstart/plugins/indent_line.lua b/lua/kickstart/plugins/indent_line.lua deleted file mode 100644 index ed7f2693..00000000 --- a/lua/kickstart/plugins/indent_line.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - { -- Add indentation guides even on blank lines - 'lukas-reineke/indent-blankline.nvim', - -- Enable `lukas-reineke/indent-blankline.nvim` - -- See `:help ibl` - main = 'ibl', - opts = {}, - }, -}