Closed github-actions[bot] closed 5 days ago
in the header.
https://github.com/JohnnyAmos/nvim-configuration/blob/8daf0809737807deececc68ff5c32a5892a18669/lua/config/plugins.lua#L455-L456
-- ╔═JMJ══════════════════════╡ ❈✧❈ ✞ ❈✧❈ ╞═══════════════════════AMDG═╗ -- -- ║ Neovim configuration for Mac/unix ║ -- -- ║ (Mac now, unix soon.) ║ -- -- ╠═══════════════════════════════════════════════════════════════════════╣ -- -- ║ Plugins file: $HOME/.config/nvim/lua/config/plugins.lua ║ -- -- ╚═══════════════════════════════════════════════════════════════════════╝ -- -- Last modified: 2024-10-30 21:47 return { -- ╞═╡ PLUGIN: Comment.nvim ╞══════════════════════════════════════════════╡ -- { "numToStr/Comment.nvim" }, -- ╞═╡ PLUGIN: browser-bokmarks.nvim ╞═════════════════════════════════════╡ -- { "dhruvmanila/browser-bookmarks.nvim", version = "*", dependencies = { "nvim-telescope/telescope.nvim" }, opts = { selected_browser = 'vivaldi' } }, -- ╞═╡ PLUGIN: cmp-buffer ╞════════════════════════════════════════════════╡ -- { "hrsh7th/cmp-buffer" }, -- ╞═╡ PLUGIN: cmp-nvim-lsp ╞══════════════════════════════════════════════╡ -- { "hrsh7th/cmp-nvim-lsp" }, -- ╞═╡ PLUGIN: cmp-path ╞══════════════════════════════════════════════════╡ -- { "hrsh7th/cmp-path" }, -- ╞═╡ PLUGIN: command-completion.nvim ╞═══════════════════════════════════╡ -- { "smolck/command-completion.nvim", opts = { border = single, max_col_num = 3, min_col_width = 25, use_matchfuzzy = false } }, -- ╞═╡ PLUGIN: conform.nvim ╞══════════════════════════════════════════════╡ -- { "stevearc/conform.nvim", event = "BufWritePre", cmd = "ConformInfo", opts = { formatters_by_ft = { lua = { "stylua" }, python = { "isort", "black" }, javascript = { "prettierd", "prettier", stop_after_first = true } }, default_format_opts = { lsp_format = "fallback" }, }, init = function() vim.o.formatexpr = "v:lua.require('conform').formatexpr()" end }, -- ╞═╡ PLUGIN: csvvview.nvim ╞═════════════════════════════════════════════╡ -- { "hat0uma/csvview.nvim" }, -- ╞═╡ PLUGIN: custom-theme.nvim ╞═════════════════════════════════════════╡ -- { "Djancyp/custom-theme.nvim", config = function() require("custom-theme").setup() end }, -- ╞═╡ PLUGIN: dressing.nvim ╞═════════════════════════════════════════════╡ -- { "stevearc/dressing.nvim" }, -- ╞═╡ PLUGIN: edgy.nvim ╞═════════════════════════════════════════════════╡ -- { "folke/edgy.nvim", event = "VeryLazy", opts = { bottom = { { ft = "toggleterm", size = { height = 0.4 }, filter = function(buf, win) return vim.api.nvim_win_get_config(win).relative == "" end }, "Trouble", { ft = "qf", title = "QuickFix" } }, left = { { title = "Files", ft = "neo-tree", filter = function(buf) return vim.b[buf].neo_tree_source == "filesystem" end, size = { height = 0.5 } }, { title = "Git", ft = "neo-tree", filter = function(buf) return vim.b[buf].neo_tree_source == "git_status" end, pinned = true, collapsed = true, -- show window as collapsed on start open = "Neotree position=right git_status" }, { title = "Buffers", ft = "neo-tree", filter = function(buf) return vim.b[buf].neo_tree_source == "buffers" end, pinned = true, collapsed = true, -- show window as collapsed on start open = "Neotree position=top buffers" }, { title = function() local buf_name = vim.api.nvim_buf_get_name(0) or "[No Name]" return vim.fn.fnamemodify(buf_name, ":t") end, ft = "Outline", pinned = true, open = "SymbolsOutlineOpen" }, -- any other neo-tree windows "neo-tree" }, right = { { ft = "help", filter = function(buf) return vim.bo[buf].buftype == "help" end } } } }, -- ╞═╡ PLUGIN: flash.nvim ╞════════════════════════════════════════════════╡ -- { "folke/flash.nvim", event = 'VeryLazy', opts = { -- Ordered thusly because it places the home row keys first, with the -- top second and the bottom third. labels = "asdfghjklqwertyuiopzxcvbnm", search = { mode = "search", incremental = true }, } }, -- ╞═╡ PLUGIN: fortune.nvim ╞══════════════════════════════════════════════╡ -- { "fecet/fortune.nvim" }, -- ╞═╡ PLUGIN: friendly-snippets ╞═════════════════════════════════════════╡ -- { "rafamadriz/friendly-snippets"}, -- ╞═╡ PLUGIN: gitsigns.nvim ╞═════════════════════════════════════════════╡ -- { "sewis6991/gitsigns.nvim", opts = { signs = require("config.assets.icons").gitsigns_signs(), signs_staged = require("config.assets.icons").gitsigns_signs_staged(), signs_staged_enable = true, word_diff = true, watch_gitdir = { follow_files = true }, attach_to_untracked = true, } }, -- ╞═╡ PLUGIN: grug-far.nvim ╞═════════════════════════════════════════════╡ -- { "MagicDuck/grug-far.nvim" }, -- ╞═╡ PLUGIN: lazydev.nvim ╞══════════════════════════════════════════════╡ -- { "folke/lazydev.nvim", ft = "lua", opts = { library = { { path = "luvit-meta/library", words = { "vim%.uv" } } }, integrations = { lspconfig = true, cmp = true, } } }, -- ╞═╡ PLUGIN: lualine.nvim ╞══════════════════════════════════════════════╡ -- { "nvim-lualine/lualine.nvim", opts = { theme = "base16", globalstatus = true }, sections = { lualine_a = { "mode" }, lualine_b = { "branch", "diff", "diagnostics" }, lualine_c = { { "filename", path = 1 } }, lualine_x = { "encoding", { "fileformat", symbols = require("config.assets.icons") .lualine_fileformat_symbols() }, "filetype", "filesize" }, lualine_z = { "location", "tabs" , { "windows", mode = 1, show_modified_status = true } } }, tabline = { lualine_a = { { "buffers", max_length = vim.o.columns * 3 / 4, mode = 4 } }, lualine_b = {}, lualine_c = {}, lualine_x = {}, lualine_y = {}, lualine_z = { { "tabs", max_length = vim.o.columns / 4, mode = 0 } } } }, -- ╞═╡ PLUGIN: luvit-meta ╞════════════════════════════════════════════════╡ -- { "Bilal2453/luvit-meta", lazy = true }, -- ╞═╡ PLUGIN: marks.nvim ╞════════════════════════════════════════════════╡ -- { "chentoast/marks.nvim", event = "VeryLazy", opts = { default_mappings = false, force_write_shada = true, sign_priority = 10 } }, -- ╞═╡ PLUGIN: mason-lspconfig.nvim ╞══════════════════════════════════════╡ -- { "williamboman/mason-lspconfig.nvim", }, -- ╞═╡ PLUGIN: mason.nvim ╞════════════════════════════════════════════════╡ -- { "williamboman/mason.nvim", opts = { PATH = 'skip', border = 'single', ui = { icons = require("config.assets.icons").mason_ui_icons(), } } }, -- ╞═╡ PLUGIN: mini.nvim ╞═════════════════════════════════════════════════╡ -- { "echasnovski/mini.nvim", version = false, config = function() -- mini.align require("mini.align").setup() -- mini.bracketed require("mini.bracketed").setup() -- mini.cursorword -- I'm of two minds about this one. It can be useful, and it can be -- very annoying. The trait it exhibits most wins. require("mini.cursorword").setup() -- mini.icons require("mini.icons").setup() -- mini.jump require("mini.jump").setup() -- mini.junp2d require("mini.jump2d").setup({ mappings = { start_jumping = "\\", }, }) -- mini.misc -- I know it's just a box, but it's a nice box and I might need it -- someday. I just hope I can remember where I put it when I need it. require("mini.misc").setup() -- mini.move require("mini.move").setup({ mappings = { -- Move visual selection in Visual mode. -- Defaults are Alt (Meta) + hjkl. left = '<ca-h>', right = '<ca-l>', down = '<ca-j>', up = '<ca-k>', -- Move current line in Normal mode line_left = '<a-h>', line_right = '<a-l>', line_down = '<a-j>', line_up = '<a-k>', }, }) -- mini.pairs require("mini.pairs").setup({ mappings = { -- Prevent the addition of the closing symbol when opening -- symbol is to the left of any non-space character or to the -- immediate right of "\". ["("] = { action = "open", pair = "()", neigh_pattern = "[^\\][%s%)%]%}]" }, ["["] = { action = "open", pair = "[]", neigh_pattern = "[^\\][%s%)%]%}]" }, ["{"] = { action = "open", pair = "{}", neigh_pattern = "[^\\][%s%)%]%}]" }, -- This is default (prevents the action if the cursor is just -- next to a "\"). [")"] = { action = "close", pair = "()", neigh_pattern = "[^\\]." }, ["]"] = { action = "close", pair = "[]", neigh_pattern = "[^\\]." }, ["}"] = { action = "close", pair = "{}", neigh_pattern = "[^\\]." }, -- Prevents the action if the cursor is just before or next to -- any character. ['"'] = { action = "closeopen", pair = '""', neigh_pattern = "[^%w][^%w]", register = { cr = false } }, ["'"] = { action = "closeopen", pair = "''", neigh_pattern = "[^%w][^%w]", register = { cr = false } }, ["`"] = { action = "closeopen", pair = "``", neigh_pattern = "[^%w][^%w]", register = { cr = false } }, }, }) -- mini.sessions -- TODO: See if there are any keymaps that can be used, or make some require("mini.sessions").setup() -- mini.starter local logo = table.concat({ [[,----------------------------------------------------,]], [[| [][][][][] [][][][][] [][][][] [][__] [][][][] |]], [[| |]], [[| [][][][][][][][][][][][][][_] [][][] [][][][] |]], [[| [_][][][][][][][][][][][][][ | [][][] [][][][] |]], [[| [][_][][][][][][][][][][][][]|| [] [][][][] |]], [[| [__][][][][][][][][][][][][__] [][][] [][][]|| |]], [[| [__][________________][__] [__][]|| |]], [[`----------------------------------------------------"]], }, "\n") local pad = string.rep(" ", 1) local new_section = function(name, action, section) return { name = name, action = action, section = pad .. section } end -- TODO: Add fortune and stats to footer and put the cow back -- in the header. local starter = require("mini.starter") starter.setup({ evaluating_single = true, header = logo, items = { { action = "ene | startinsert", name = "New File", section = "Files" }, { action = "Telescope oldfiles", name = "Recent Files", section = "Files" }, { action = "Telescope find_files", name = "Find Files", section = "Files" }, { action = "Telescope file_browser", name = "Browser", section = "Files" }, { action = "Telescope live_grep", name = "Live Grep", section = "Search" }, { action = "Telescope command_history", name = "Command History", section = "Search" }, { action = "Telescope repo list", name = "Git Repos", section = "Projects" }, starter.sections.sessions(5, true), { action = "Telescope man_pages", name = "Man Pages", section = "Reference/Config" }, { action = "Telescope help_tags", name = "Help tags", section = "Reference/Config" }, { action = "Lazy", name = "Plugins", section = "Reference/Config" }, { action = "Telescope colorscheme", name = "Schémas de Couleurs", section = "Reference/Config" }, { action = "Telescope bookmarks", name = "Vivaldi Bookmarks", section = "Internet Resources" }, { action = "qa", name = "Quit", section = "Exit" }, }, -- footer = footer, content_hooks = { starter.gen_hook.adding_bullet("░ ☞ "), starter.gen_hook.aligning("center", "center"), starter.gen_hook.indexing("all", { "Files", "Search", "Projects", "Reference/Config", "Internet Resources", "Exit" }) } }) -- mini.visits require("mini.visits").setup() end }, --[[ NOTE: The unused mini.nvim modules. TODO: I haven't tried these modules yet: mini.hues mini.test mini.colors mini.trailspace If I get around to writing a plugin or two I might need mini.doc. I don't have a need for these modules: mini.basics mini.extra mini.map mini.operators I am using other plugins for these purposes: instead of: I'm using: mini.ai nvim-treesitter-textobject mini.base16 tinty TODO: tinty's out. Time to reconsider mini.base16 mini.clu which-key.nvim mini.completion nvim-cmp mini.deps lazy.nvim mini.diff gitsigns.nvim mini.files neo-tree.nvim mini.fuzzy telescope-fzf-native.nvim mini.git gitsigns.nvim mini.hipatterns todo-comments.nvim mini.notify nvim-notify (I'm using neither at the moment.) mini.pick telescope.nvim mini.splitjoin treesj mini.statusline lualine.nvim mini.surround nvim-surround mini.tabline lualine.nvim As regards mini.comment: It does one thing at a time. It does it very well. And then… It moves on. I, however, needed more than one thing. So I moved on. As for mini.bufremove: it's been a long time since I used vim, and I am new to nvim, and I don't get the point of this one. Maybe in time. ¯\_(ツ)_/¯ And Finally, firmly in the no-thank-you category: mini.animate: ʕ ͡° ʖ̯ ͡°ʔノ Eww, apparantly I am not a fan of flying cursors. mini.indentscope: This is even worse than the animated cursor. It is terribly annoying. (ಠ_ಠ) --]] -- ╞═╡ PLUGIN: neo-tree.nvim ╞═════════════════════════════════════════════╡ -- { "nvim-neo-tree/neo-tree.nvim", branch = "v3.x", opts = { add_blank_line_at_top = true, auto_clean_after_session_restore = true, -- "trace", "debug", "info", "warn", "error", "fatal" log_level = "info", -- true, false, "/path/to/file.log", use :NeoTreeLogs to show the file log_to_file = '$HOME/.config/nvim/.logs/neotree.log', -- "double", "none", "rounded", "shadow", "single" or "solid" popup_border_style = "single", -- used when sorting files and directories in the tree sort_case_insensitive = false, use_default_mappings = false, window = { -- left, right, top, bottom, float, current position = "left", -- applies to left and right positions width = 40, auto_expand_width = true, insert_as = "child", }, filesystem = { async_directory_scan = "auto", scan_mode = "shallow", bind_to_cwd = true, filtered_items = { visible = true, force_visible_in_empty_folder = true, hide_dotfiles = false, }, hijack_netrw_behavior = "open_default", }, } }, -- ╞═╡ PLUGIN: neoconf.nvim ╞══════════════════════════════════════════════╡ -- { "folke/neoconf.nvim", cmd = 'Neoconf' }, -- ╞═╡ PLUGIN: none-ls.nvim ╞══════════════════════════════════════════════╡ -- { "nvimtools/none-ls.nvim" }, -- ╞═╡ PLUGIN: nui.nvim ╞══════════════════════════════════════════════════╡ -- { "MunifTanjim/nui.nvim" }, -- ╞═╡ PLUGIN: nvim-cmp ╞══════════════════════════════════════════════════╡ -- { "hrsh7th/nvim-cmp" }, -- ╞═╡ PLUGIN: nvim-colorizer ╞════════════════════════════════════════════╡ -- { "norcalli/nvim-colorizer.lua" }, -- ╞═╡ PLUGIN: nvim-comment-frame ╞════════════════════════════════════════╡ -- { "s1n7ax/nvim-comment-frame" }, -- ╞═╡ PLUGIN: nvim-dap ╞══════════════════════════════════════════════════╡ -- { "mfussenegger/nvim-dap" }, -- ╞═╡ PLUGIN: nvim-dap-ui ╞═══════════════════════════════════════════════╡ -- { "rcarriga/nvim-dap-ui" }, -- ╞═╡ PLUGIN: nvim-lspconfig ╞════════════════════════════════════════════╡ -- { "neovim/nvim-lspconfig" }, -- ╞═╡ PLUGIN: nvim-nio ╞══════════════════════════════════════════════════╡ -- { "nvim-neotest/nvim-nio" }, -- ╞═╡ PLUGIN: nvim-surround ╞═════════════════════════════════════════════╡ -- { "kylechui/nvim-surround", version = "*", event = "VeryLazy" }, -- ╞═╡ PLUGIN: nvim-treesitter ╞═══════════════════════════════════════════╡ -- { "nvim-treesitter/nvim-treesitter", version = false, event = { "BufReadPre", "BufNewFile" }, dependencies = { "nvim-treesitter/nvim-treesitter-textobjects", "RRethy/nvim-treesitter-endwise" }, build = function() require("nvim-treesitter.install").update({ with_sync = true })() end, vim.treesitter.language.register('markdown', 'octo'), opts = { auto_install = true, highlight = { enable = true }, indent = { enable = true }, ensure_installed = { "arduino", "astro", "authzed", "bash", "c", "cpp", "css", "csv", "diff", "dtd", "editorconfig", "git_config", "git_rebase", "gitattributes", "gitcommit", "gitigniore", "glimmer", "glimmer_javascript", "html", "http", "java", "javascript", "jsdoc", "json", "json5", "ledger", "lua", "luadocs", "luap", "markdown", "mermaid", "perl", "pod", "printf", "python", "query", "regex", "robots", "ron", "ruby", "rust", "scss", "sql", "ssh_config", "styled", "swift", "tmux", "toml", "yaml" }, textobjects = { select = { enable = true, lookahead = true }, swap = { enable = true }, move = { enable = true, set_jumps = true }, lsp_interop = { enable = true, border = "none" } }, endwise = { enable = true } } }, -- ╞═╡ PLUGIN: nvim-treesitter-endwise ╞═══════════════════════════════════╡ -- -- These specs live in nvim-treesitter. -- ╞═╡ PLUGIN: nvim-treesitter-textobjects ╞═══════════════════════════════╡ -- -- These specs live in nvim-treesitter. -- ╞═╡ PLUGIN: nvim-update-time ╞══════════════════════════════════════════╡ -- { "StonyBoy/nvim-update-time", opts = { last = 8, format = "%Y-%m-%d %H:%M", pattern = "Last modified: " } }, -- ╞═╡ PLUGIN: nvim-web-devicons ╞═════════════════════════════════════════╡ -- { "kyazdani42/nvim-web-devicons" }, -- ╞═╡ PLUGIN: octo.nvim ╞═════════════════════════════════════════════════╡ -- { "pwntester/octo.nvim", opts = { enable_builtin = true, default_remote = {"origin", "upstream"}, picker = "telescope", default_to_projects_v2 = false, suppress_missing_scope = { projects_v2 = true }, ui = { -- show "modified" marks on the sign column use_signcolumn = false, -- show "modified" marks on the status column use_signstatus = true, }, mappings_disable_default = true, } }, -- ╞═╡ PLUGIN: plenary.nvim ╞══════════════════════════════════════════════╡ -- { "nvim-lua/plenary.nvim" }, -- ╞═╡ PLUGIN: render-markdown.nvim ╞══════════════════════════════════════╡ -- { "MeanderingProgrammer/render-markdown.nvim", opts = { file_types = { "md", "markdown" }, render_modes = { "n", "v", "i", "c" }, heading = { position = "inline" }, icons = require("config.assets.icons").render_markdown_icons(), dash = { width = 79 } } }, -- ╞═╡ PLUGIN: sqlite.lua ╞════════════════════════════════════════════════╡ -- { "kkharji/sqlite.lua" }, -- ╞═╡ PLUGIN: stylua-nvim ╞═══════════════════════════════════════════════╡ -- { "ckipp01/stylua-nvim" }, -- ╞═╡ PLUGIN: telescope-lazy.nvim ╞═══════════════════════════════════════╡ -- -- Move to telescope dependencies -- Move to telescope opts -- ╞═╡ PLUGIN: telescope.nvim ╞════════════════════════════════════════════╡ -- { "nvim-telescope/telescope.nvim", dependencies = { { "nvim-lua/plenary.nvim" }, { "MunifTanjim/nui.nvim" }, { "nvim-telescope/telescope-file-browser.nvim" }, { "nvim-telescope/telescope-frecency.nvim" }, { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, { "nvim-telescope/telescope-github.nvim" }, { "tsakirist/telescope-lazy.nvim" }, { "cljoly/telescope-repo.nvim" }, { "nvim-telescope/telescope-symbols.nvim" } }, config = function() local Layout = require("nui.layout") local Popup = require("nui.popup") local telescope = require("telescope") local TSLayout = require("telescope.pickers.layout") local function make_popup(options) local popup = Popup(options) function popup.border:change_title(title) popup.border.set_text(popup.border, "top", title) end return TSLayout.Window(popup) end telescope.setup({ defaults = { layout_strategy = "flex", layout_config = { horizontal = { size = { width = "90%", height = "60%" } }, vertical = { size = { width = "90%", height = "90%" } } }, extensions = { ---@module "telescope._extensions.lazy" ---@type TelescopeLazy.Config lazy = { mappings = { open_in_browser = "<c-o>", open_in_file_browser = "<m-b>", open_in_find_files = "<c-f>", open_in_live_grep = "<c-g>", open_in_terminal = "<c-t>", open_plugins_picker = "<c-b>", open_lazy_root_find_files = "<c-r>f", open_lazy_root_live_grep = "<c-r>g", change_cwd_to_plugin = "<c-c>d" } } }, create_layout = function(picker) local border = { results = { top_left = "┌", top = "─", top_right = "┬", right = "│", bottom_right = "", bottom = "", bottom_left = "", left = "│" }, results_patch = { minimal = { top_left = "┌", top_right = "┐" }, horizontal = { top_left = "┌", top_right = "┬" }, vertical = { top_left = "├", top_right = "┤" } }, prompt = { top_left = "├", top = "─", top_right = "┤", right = "│", bottom_right = "┘", bottom = "─", bottom_left = "└", left = "│" }, prompt_patch = { minimal = { bottom_right = "┘" }, horizontal = { bottom_right = "┴" }, vertical = { bottom_right = "┘" } }, preview = { top_left = "┌", top = "─", top_right = "┐", right = "│", bottom_right = "┘", bottom = "─", bottom_left = "└", left = "│" }, preview_patch = { minimal = {}, horizontal = { bottom = "─", bottom_left = "", bottom_right = "┘", left = "", top_left = "" }, vertical = { bottom = "", bottom_left = "", bottom_right = "", left = "│", top_left = "┌" } } } local results = make_popup({ focusable = false, border = { style = border.results, text = { top = picker.results_title, top_align = "center" } }, win_options = { winhighlight = "Normal:Normal" } }) local prompt = make_popup({ enter = true, border = { style = border.prompt, text = { top = picker.prompt_title, top_align = "center" } }, win_options = { winhighlight = "Normal:Normal" } }) local preview = make_popup({ focusable = false, border = { style = border.preview, text = { top = picker.preview_title, top_align = "center" } } }) local box_by_kind = { vertical = Layout.Box({ Layout.Box(preview, { grow = 1 }), Layout.Box(results, { grow = 1 }), Layout.Box(prompt, { size = 3 }) }, { dir = "col" }), horizontal = Layout.Box({ Layout.Box({ Layout.Box(results, { grow = 1 }), Layout.Box(prompt, { size = 3 }) }, { dir = "col", size = "50%" }), Layout.Box(preview, { size = "50%" }) }, { dir = "row" }), minimal = Layout.Box({ Layout.Box(results, { grow = 1 }), Layout.Box(prompt, { size = 3 }) }, { dir = "col" }), } local function get_box() local strategy = picker.layout_strategy if strategy == "vertical" or strategy == "horizontal" then return box_by_kind[strategy], strategy end local height, width = vim.o.lines, vim.o.columns local box_kind = "horizontal" if width < 100 then box_kind = "vertical" if height < 40 then box_kind = "minimal" end end return box_by_kind[box_kind], box_kind end local function prepare_layout_parts(layout, box_type) layout.results = results results.border:set_style(border.results_patch[box_type]) layout.prompt = prompt prompt.border:set_style(border.prompt_patch[box_type]) if box_type == "minimal" then layout.preview = nil else layout.preview = preview preview.border:set_style( border.preview_patch[box_type] ) end end local function get_layout_size(box_kind) return picker.layout_config[box_kind == "minimal" and "vertical" or box_kind].size end local box, box_kind = get_box() local layout = Layout({ relative = "editor", position = "50%", size = get_layout_size(box_kind) }, box) layout.picker = picker prepare_layout_parts(layout, box_kind) local layout_update = layout.update function layout:update() local box, box_kind = get_box() prepare_layout_parts(layout, box_kind) layout_update(self, { size = get_layout_size(box_kind) }, box) end return TSLayout(layout) end } }) telescope.load_extension("bookmarks") telescope.load_extension("frecency") telescope.load_extension("fzf") telescope.load_extension("gh") telescope.load_extension("lazy") telescope.load_extension("repo") -- require("telescope.builtin").symbols{ -- sources = { -- "emoji", -- "gitmoji", -- "julia", -- "kaomoji", -- "math", -- "nerd" -- } -- } end }, -- ╞═╡ PLUGIN: todo-comments.nvim ╞════════════════════════════════════════╡ -- { "folke/todo-comments.nvim", cmd = { 'TodoTrouble', 'TodoTelescope' }, lazy = false, opts = { keywords = { FIX = { icon = " ", color = "fix" }, TODO = { icon = " ", color = "todo" }, HACK = { icon = " ", color = "hack" }, WARN = { icon = " ", color = "warn" }, PERF = { icon = " ", color = "perf" }, NOTE = { icon = " ", color = "note" }, IDEA = { icon = " ", color = "note" }, TEST = { icon = " ", color = "test" }, SECTION = { icon = ' ', color = 'section' }, SUBSECTION = { icon = '¶ ', color = 'subsection' }, PLUGIN = { icon = ' ', color = 'plugin' }, FUNCTION = { icon = ' ', color = 'subsection' } }, merge_keywords = true, -- FIX: it's broken -- TODO: done -- HACK: held together with chewing gum and bailing wire -- WARN: something bad may happen -- PERF: make it faster or more efficient -- NOTE: something informative -- TEST: will it work -- IDEA: try this -- SECTION: complementary items -- SUBSECTION: small parts of sections -- PLUGIN: pluggy.nvim -- FUNCTION: functions, one hopes colors = { fix = { "#ff5445" }, todo = { "#76c7b7" }, hack = { "#fda331" }, warn = { "#e8e805" }, perf = { "#d381c3" }, note = { "#6fb3d2" }, test = { "#b0b0b0" }, plugin = { "#e3845a" }, -- Either the plugin color or the section = { "#6fb3d2" }, -- subsection color will be used. subsection = { "#a1c659" } -- Or not, depending. }, highlight = { multiline = true, -- default: false before = "", -- 'fg', 'bg', or empty keyword = "wide", -- 'fg', 'bg', 'wide', 'wide_bg', -- 'wide_fg', or empty after = "", -- "fg", "bg" or empty comments_only = true, -- pattern or table of patterns, used for highlightng (vim regex) -- pattern = [[[-]{1,2}.*<(KEYWORDS)\s*:]], pattern = [[.*<(KEYWORDS)\s*:]] } } }, --[[ TODO: Experiment with different patterns for highlights. The backslashes are placed before the closing square brackets only so the comment doesn't break. they should be removed before using. (\]\]) These patterns allow for usernames in the keyword. highlight = { -- vimgrep regex, supporting the pattern TODO(name): pattern = [[.*<((KEYWORDS)%(\(.{-1,}\))?):\]\], }, search = { -- ripgrep regex, supporting the pattern TODO(name): pattern = [[\b(KEYWORDS)(\(\w*\))*:\]\], }, Also need to make multiline work. Soonish. --]] -- ╞═╡ PLUGIN: treesj ╞════════════════════════════════════════════════════╡ -- { "Wansmer/treesj", opts = { use_default_keymaps = false, max_join_length = 79 } }, -- ╞═╡ PLUGIN: trouble.nvim ╞══════════════════════════════════════════════╡ -- { "folke/trouble.nvim", cmd = "Trouble", opts = { keys = { -- trouble window-specific keys need not be added to maps.lua ["?"] = "help", r = "refresh", R = "toggle_refresh", q = "close", o = "jump_close", ["<esc>"] = "cancel", ["<cr>"] = "jump", ["<2-leftmouse>"] = "jump", ["<c-s>"] = "jump_split", ["<c-v>"] = "jump_vsplit", -- go down to next item (accepts count) -- j = "next", ["}"] = "next", ["]]"] = "next", -- go up to prev item (accepts count) -- k = "prev", ["{"] = "prev", ["[["] = "prev", dd = "delete", d = { action = "delete", mode = "v" }, i = "inspect", p = "preview", P = "toggle_preview", zo = "fold_open", zO = "fold_open_recursive", zc = "fold_close", zC = "fold_close_recursive", za = "fold_toggle", zA = "fold_toggle_recursive", zm = "fold_more", zM = "fold_close_all", zr = "fold_reduce", zR = "fold_open_all", zx = "fold_update", zX = "fold_update_all", zn = "fold_disable", zN = "fold_enable", zi = "fold_toggle_enable" } } }, -- ╞═╡ PLUGIN: which-key.nvim ╞════════════════════════════════════════════╡ -- { "folke/which-key.nvim", event = "VeryLazy", opts = { preset = "modern", notify = true, triggers = { { "<auto>", mode = "nixsotc" }, { "<leader>", mode = { "n", "v" } } }, keys = { scroll_down = "<A-DOWN>", scroll_up = "<A-UP>" }, sort = { "alphanum" }, } }, -- ╞═╡ PLUGIN: yanky.nvim ╞════════════════════════════════════════════════╡ -- { "gbprod/yanky.nvim", config = true }, }
Closed in cda9589cda6d96e68336dbfc59f4a612950507bf.
in the header.
https://github.com/JohnnyAmos/nvim-configuration/blob/8daf0809737807deececc68ff5c32a5892a18669/lua/config/plugins.lua#L455-L456