From 3be8daa5032132417609eac9047ae661c3c46b8a Mon Sep 17 00:00:00 2001 From: Tolik Date: Sun, 2 Jul 2023 19:02:34 +1000 Subject: [PATCH 1/3] Initial for Lazyvim --- nvim/.neoconf.json | 15 + nvim/Makefile | 16 -- nvim/init.lua | 25 +- nvim/lazy-lock.json | 67 +++-- nvim/lua/config/autocmds.lua | 3 + nvim/lua/config/keymaps.lua | 3 + nvim/lua/config/lazy.lua | 46 +++ nvim/lua/config/options.lua | 3 + nvim/lua/general.lua | 110 -------- nvim/lua/plugins.lua | 234 --------------- nvim/lua/plugins/example.lua | 266 ++++++++++++++++++ .../lua/command_dispatch/init.lua | 56 ---- .../term_wrapper/lua/term_wrapper/init.lua | 52 ---- nvim/tests/helper.lua | 29 -- nvim/tests/init.lua | 24 -- nvim/tests/tests/command_dispatch_test.lua | 19 -- nvim/tests/tests/simple_test.lua | 10 - nvim/tests/tests/term_wrapper_test.lua | 8 - 18 files changed, 383 insertions(+), 603 deletions(-) create mode 100644 nvim/.neoconf.json delete mode 100644 nvim/Makefile create mode 100644 nvim/lua/config/autocmds.lua create mode 100644 nvim/lua/config/keymaps.lua create mode 100644 nvim/lua/config/lazy.lua create mode 100644 nvim/lua/config/options.lua delete mode 100644 nvim/lua/general.lua delete mode 100644 nvim/lua/plugins.lua create mode 100644 nvim/lua/plugins/example.lua delete mode 100644 nvim/plugins/command_dispatch/lua/command_dispatch/init.lua delete mode 100644 nvim/plugins/term_wrapper/lua/term_wrapper/init.lua delete mode 100644 nvim/tests/helper.lua delete mode 100644 nvim/tests/init.lua delete mode 100644 nvim/tests/tests/command_dispatch_test.lua delete mode 100644 nvim/tests/tests/simple_test.lua delete mode 100644 nvim/tests/tests/term_wrapper_test.lua diff --git a/nvim/.neoconf.json b/nvim/.neoconf.json new file mode 100644 index 0000000..7c48087 --- /dev/null +++ b/nvim/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + } +} diff --git a/nvim/Makefile b/nvim/Makefile deleted file mode 100644 index 303e7d5..0000000 --- a/nvim/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/zsh - -test: - clear - nvim --headless -c "lua R = require('tests/init'); R.run_all()" & pid=$! - waiting = 2 - sleep $waiting - still_running = ps | grep $pid | grep nvim | wc -l - if [ still_running -gt 0]; then - echo Killing after $waiting seconds - kill -INT $pid - fi - - - - diff --git a/nvim/init.lua b/nvim/init.lua index e66e481..2514f9e 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1,23 +1,2 @@ -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) - -vim.g.mapleader = ',' -vim.g.maplocalleader = ',' - -require('lazy').setup(require('plugins')) -require('general') - --- The line beneath this is called `modeline`. See `:help modeline` --- vim: ts=2 sts=2 sw=2 et +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index f38fb5c..53805af 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,29 +1,52 @@ { - "LuaSnip": { "branch": "master", "commit": "c7984d1cca3d8615e4daefc196597872a0b8d590" }, + "LazyVim": { "branch": "main", "commit": "ea21cad7ed5d7c699b013fb3d66f4b6650d2efdd" }, + "LuaSnip": { "branch": "master", "commit": "105b5f7f72c13e682a3aa5d29eac2408ae513b22" }, + "alpha-nvim": { "branch": "main", "commit": "9e33db324b8bb7a147bce9ea5496686ee859461d" }, + "bufferline.nvim": { "branch": "main", "commit": "2f391fde91b9c3876eee359ee24cc352050e5e48" }, + "catppuccin": { "branch": "main", "commit": "12894370fa3c9e2200f3724c4184354d6b79733a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp-spell": { "branch": "master", "commit": "60584cb75e5e8bba5a0c9e4c3ab0791e0698bffa" }, - "cmp-under-comparator": { "branch": "master", "commit": "6857f10272c3cfe930cece2afa2406e1385bfef8" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "flyboy": { "branch": "main", "commit": "c387f1e003cd35c9e83b36d4693844196259e212" }, - "friendly-snippets": { "branch": "main", "commit": "5749f093759c29e3694053d048ceb940fe12c3d3" }, - "lazy.nvim": { "branch": "main", "commit": "4c8b625bc873ca76b76eee0c28c98f1f7148f17f" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "4c3baba22189aa2a08d32bb8d08b32c7e22a2e84" }, - "mason.nvim": { "branch": "main", "commit": "8adaf0bc58ddadd70dad563f949042fb1cb0211c" }, + "dressing.nvim": { "branch": "master", "commit": "e6eff7a5a950a853c3903d906dbcea03f778db5f" }, + "flit.nvim": { "branch": "main", "commit": "5c9a78b97f7f4301473ea5e37501b5b1d4da167b" }, + "friendly-snippets": { "branch": "main", "commit": "ad7cef5d538b023ee3af0fe3170cadb096171b1f" }, + "gitsigns.nvim": { "branch": "main", "commit": "a36bc3360d584d39b4fb076d855c4180842d4444" }, + "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, + "lazy.nvim": { "branch": "main", "commit": "0d61488b89a570415177f75a36ef93616aac6c77" }, + "leap.nvim": { "branch": "main", "commit": "f41de5c1cfeb146e4b8c5ed20e5b32230457ff25" }, + "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "4f1c72767bec31397d59554f84096909b2887195" }, + "mason.nvim": { "branch": "main", "commit": "b68d3be4b664671002221d43c82e74a0f1006b26" }, + "mini.ai": { "branch": "main", "commit": "5218ea75e635df78a807bc9d5a7162594fb76d02" }, + "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, - "mini.surround": { "branch": "main", "commit": "14f418209ecf52d1a8de9d091eb6bd63c31a4e01" }, - "mkdir.nvim": { "branch": "main", "commit": "c55d1dee4f099528a1853b28bb28caa802eba217" }, - "null-ls.nvim": { "branch": "main", "commit": "bbaf5a96913aa92281f154b08732be2f57021c45" }, - "nvim-cmp": { "branch": "main", "commit": "e1f1b40790a8cb7e64091fb12cc5ffe350363aa0" }, - "nvim-lspconfig": { "branch": "master", "commit": "b6b34b9acf84949f0ac1c00747765e62b81fb38d" }, - "nvim-treesitter": { "branch": "master", "commit": "e7f2b1276b7aa68099acc8169ce51f7e389b1772" }, - "plenary.nvim": { "branch": "master", "commit": "36aaceb6e93addd20b1b18f94d86aecc552f30c4" }, - "splitjoin.vim": { "branch": "main", "commit": "95a700875530a1ad87232e472fab307ee2a553ba" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "0.1.x", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, - "tokyonight.nvim": { "branch": "main", "commit": "fd0a005fd8986ec0d98a1938dc570303e8d8444b" }, - "vim-fugitive": { "branch": "master", "commit": "43f18ab9155c853a84ded560c6104e6300ad41da" }, - "vim-rhubarb": { "branch": "master", "commit": "ee69335de176d9325267b0fd2597a22901d927b1" }, - "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" } + "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, + "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, + "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "f765e75e7d2444629b5ace3cd7609c12251de254" }, + "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, + "neodev.nvim": { "branch": "main", "commit": "a2b1d8fb9fa4daa35d3fd9123bccccccbd4a3520" }, + "noice.nvim": { "branch": "main", "commit": "6c87c1d11c38180fb72bf8f45518a0a3e081afc1" }, + "nui.nvim": { "branch": "main", "commit": "d146966a423e60699b084eeb28489fe3b6427599" }, + "null-ls.nvim": { "branch": "main", "commit": "aac27a1fa550de3d0b2c651168167cc0d5366a9a" }, + "nvim-cmp": { "branch": "main", "commit": "2743dd989e9b932e1b4813a4927d7b84272a14e2" }, + "nvim-lspconfig": { "branch": "master", "commit": "0011c435282f043a018e23393cae06ed926c3f4a" }, + "nvim-navic": { "branch": "master", "commit": "32cff45f1c84bec5e2a7bf15c0f3c6739b64c85d" }, + "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, + "nvim-spectre": { "branch": "master", "commit": "dc3f0bd41e09148924ef04a4746cb708539d08db" }, + "nvim-treesitter": { "branch": "master", "commit": "af25e8b7e0894dd7dc1461f0604d1005041154b5" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, + "nvim-web-devicons": { "branch": "master", "commit": "9ab9b0b894b2388a9dbcdee5f00ce72e25d85bf9" }, + "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, + "plenary.nvim": { "branch": "master", "commit": "102c02903c74b93c705406bf362049383abc87c8" }, + "telescope.nvim": { "branch": "master", "commit": "b14de80d1cdf66f988f6550ca8577c43bb3797cd" }, + "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, + "tokyonight.nvim": { "branch": "main", "commit": "d785293494c59ce0940c00b8b044fc672d2902b1" }, + "trouble.nvim": { "branch": "main", "commit": "d99e2abd10808ef91738ce98a5c767e6a51df449" }, + "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, + "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, + "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, + "which-key.nvim": { "branch": "main", "commit": "d871f2b664afd5aed3dc1d1573bef2fb24ce0484" } } \ No newline at end of file diff --git a/nvim/lua/config/autocmds.lua b/nvim/lua/config/autocmds.lua new file mode 100644 index 0000000..27e9e06 --- /dev/null +++ b/nvim/lua/config/autocmds.lua @@ -0,0 +1,3 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..2c134f7 --- /dev/null +++ b/nvim/lua/config/keymaps.lua @@ -0,0 +1,3 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..891b190 --- /dev/null +++ b/nvim/lua/config/lazy.lua @@ -0,0 +1,46 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + -- bootstrap lazy.nvim + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) +end +vim.opt.rtp:prepend(vim.env.LAZY or lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import any extras modules here + -- { import = "lazyvim.plugins.extras.lang.typescript" }, + -- { import = "lazyvim.plugins.extras.lang.json" }, + -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua new file mode 100644 index 0000000..3ea1454 --- /dev/null +++ b/nvim/lua/config/options.lua @@ -0,0 +1,3 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here diff --git a/nvim/lua/general.lua b/nvim/lua/general.lua deleted file mode 100644 index 89a4fb9..0000000 --- a/nvim/lua/general.lua +++ /dev/null @@ -1,110 +0,0 @@ -vim.api.nvim_set_option('clipboard', 'unnamed') -vim.o.splitright = true -vim.o.splitbelow = true - -vim.o.completeopt = 'menuone,noselect' - --- Set highlight on search -vim.o.hlsearch = true - --- Mouse mode -vim.o.mouse = "" - --- Indentation -vim.o.breakindent = true -vim.o.tabstop = 2 -vim.o.shiftwidth = 2 -vim.o.expandtab = true - --- Undo history and swap -vim.o.undofile = false -vim.o.swapfile = false - --- Case insensitive searching UNLESS /C or capital in search -vim.o.ignorecase = true -vim.o.smartcase = true - --- Disable welcome screen -vim.o.shortmess = 'I' - --- Decrease update time -vim.o.updatetime = 250 - --- Status column -vim.o.number = false -vim.o.relativenumber = false -vim.o.signcolumn = 'no' - - --- Spelling -vim.opt.spell = false -vim.opt.spelllang = { 'en_us' } -vim.api.nvim_create_autocmd('FileType', { - pattern = { 'markdown', 'txt', 'gitcommit' }, - callback = function() - vim.api.nvim_win_set_option(0, 'spell', true) - end -}) - --- JSON format -vim.api.nvim_create_autocmd('FileType', { - pattern = 'json', - callback = function() - vim.api.nvim_create_user_command('Format', '%!jq .', { nargs = '?' }) - end -}) - --- Set completeopt to have a better completion experience -vim.keymap.set('t', '', '', { noremap = true }) -vim.keymap.set('n', '', ':noh', { noremap = true }) -vim.keymap.set('n', 'f', ':Explore', { noremap = true }) -vim.keymap.set('n', 'e', ':e#', { noremap = true }) -vim.keymap.set('n', 'gs', ':Git', { noremap = true }) -vim.keymap.set('n', 's', ':w', { noremap = true }) -vim.keymap.set({ 'n', 'v' }, 'J', 'zz', { silent = true }) -vim.keymap.set({ 'n', 'v' }, 'K', 'zz', { silent = true }) -vim.keymap.set({ 'n', 'v' }, 'H', '0', { silent = true }) -vim.keymap.set({ 'n', 'v' }, 'L', '$', { silent = true }) -vim.keymap.set('n', 'M', ':join', { silent = true }) -vim.keymap.set('n', '===', "gg=G''", { silent = true }) -vim.keymap.set({ 'n', 'v' }, 'k', function () - vim.diagnostic.open_float() -end, { silent = true }) - --- For fat fingers -vim.api.nvim_create_user_command('W', 'w', { nargs = '?' }) -vim.api.nvim_create_user_command('WQ', 'wq', { nargs = '?' }) -vim.api.nvim_create_user_command('Wq', 'wq', { nargs = '?' }) -vim.api.nvim_create_user_command('Q', 'q', { nargs = '?' }) -vim.api.nvim_create_user_command('Cq', 'cq', { nargs = '?' }) - --- Command dispatcher -vim.keymap.set('n', 'st', ':CommandDispatch file', { noremap = true }) -vim.keymap.set('n', 'ss', ':CommandDispatch currentline', { noremap = true }) -vim.keymap.set('n', 'sl', ':CommandDispatch last', { noremap = true }) - - -vim.keymap.set({ 'n', 'v' }, '', '', { silent = true }) - --- Remap for dealing with word wrap -vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) -vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) - - -local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }) -vim.api.nvim_create_autocmd('TextYankPost', { - callback = function() - vim.highlight.on_yank() - end, - group = highlight_group, - pattern = '*', -}) - -vim.keymap.set('n', 'so', require('telescope.builtin').oldfiles) -vim.keymap.set('n', 'l', require('telescope.builtin').buffers) -vim.keymap.set('n', '', require('telescope.builtin').find_files) -vim.keymap.set('n', 'sh', require('telescope.builtin').help_tags) -vim.keymap.set('n', 'sw', require('telescope.builtin').grep_string) -vim.keymap.set('n', 'sg', require('telescope.builtin').live_grep) -vim.keymap.set('n', 'sd', require('telescope.builtin').diagnostics) -vim.keymap.set('n', 'sr', require('telescope.builtin').resume) diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua deleted file mode 100644 index 97059cf..0000000 --- a/nvim/lua/plugins.lua +++ /dev/null @@ -1,234 +0,0 @@ -return { - { - name = 'term_wrapper', - dir = '~/dotfiles/nvim/plugins/term_wrapper', - opts = { user_command = 'T' }, - }, - - { - name = 'command_dispatch', - dir = '~/dotfiles/nvim/plugins/command_dispatch', - opts = { - user_command = 'CommandDispatch', - write_before_run = true, - commands = { - javascript = 'T yarn test ', - lua = 'T make test ', - make = 'T make test ', - ruby = 'T bundle exec rspec ', - typescript = 'T yarn test ', - elixir = 'T mix test ', - } - }, - }, - { - 'williamboman/mason.nvim', - dependencies = { - 'williamboman/mason-lspconfig.nvim', - 'neovim/nvim-lspconfig', - 'jose-elias-alvarez/null-ls.nvim', - 'hrsh7th/cmp-nvim-lsp' - }, - config = function() - local servers = { - tsserver = {}, - rust_analyzer = {}, - lua_ls = { - Lua = { - workspace = { checkThirdParty = false }, - telemetry = { enable = false }, - diagnostics = { - globals = { 'vim' } - } - }, - }, - ruby_ls = {}, - emmet_ls = { - filetypes = { - 'css', - 'html', - 'javascriptreact', - 'less', - 'sass', - 'scss', - 'typescriptreact', - }, - } - } - - require('mason').setup() - - local mason_lspconfig = require 'mason-lspconfig' - local capabilities = vim.lsp.protocol.make_client_capabilities() - capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) - - mason_lspconfig.setup { - ensure_installed = vim.tbl_keys(servers), - } - - mason_lspconfig.setup_handlers { - function(server_name) - require('lspconfig')[server_name].setup { - capabilities = capabilities, - settings = servers[server_name], - } - end, - } - end, - build = ':MasonUpdate' - }, - { - 'hrsh7th/nvim-cmp', - dependencies = { - 'hrsh7th/cmp-buffer', - 'hrsh7th/cmp-path', - 'hrsh7th/cmp-nvim-lsp', - 'f3fora/cmp-spell', - 'saadparwaiz1/cmp_luasnip', - 'lukas-reineke/cmp-under-comparator', - { - 'L3MON4D3/LuaSnip', - config = function() - require('luasnip/loaders/from_vscode').lazy_load() - end, - dependencies = { - 'rafamadriz/friendly-snippets', - } - } - }, - config = function() - local cmp = require 'cmp' - local luasnip = require 'luasnip' - - cmp.setup { - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - formatting = { - fields = { 'kind', 'abbr', 'menu' }, - format = function(entry, vim_item) - vim_item.menu = ({ - buffer = '[Buffer]', - luasnip = '[Snippet]', - nvim_lsp = '[LSP]', - spell = '[Spelling]', - })[entry.source.name] - - return vim_item - end - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.confirm({ select = true }), - }), - sources = { - { name = 'nvim_lsp' }, - { name = 'luasnip' }, - { name = 'path' }, - { - name = 'buffer', - keyword_length = 1, - option = { - get_bufnrs = function() - return vim.api.nvim_list_bufs() - end - } - }, - { - name = 'spell', - option = { - keep_all_entries = false, - enable_in_context = function() - return require('cmp.config.context').in_treesitter_capture('spell') - end, - }, - }, - }, - } - end - }, - - { - 'nvim-treesitter/nvim-treesitter', - build = ':TSUpdate', - config = function() - require('nvim-treesitter.configs').setup({ - ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "ruby", "elixir", "heex" }, - highlight = { - enable = true, - }, - indent = { - enable = true - } - }) - end, - }, - - { - 'folke/tokyonight.nvim', - lazy = false, - priority = 1000, - config = function() - require('tokyonight').setup({ - style = 'night', - light_style = 'day', - terminal_colors = true, - }) - - vim.cmd 'colorscheme tokyonight' - end, - }, - - { - 'nvim-telescope/telescope.nvim', - branch = '0.1.x', - dependencies = { 'nvim-lua/plenary.nvim' }, - opts = { - defaults = { - mappings = { - i = { - [''] = false, - [''] = false, - }, - }, - }, - pickers = { - buffers = { - ignore_current_buffer = true, - sort_lastused = true, - }, - }, - } - }, - - { - 'nvim-telescope/telescope-fzf-native.nvim', - build = 'make', - cond = vim.fn.executable 'make' == 1, - config = function() - pcall(require('telescope').load_extension, 'fzf') - end - }, - - { - 'echasnovski/mini.surround', - config = function() - require('mini.surround').setup() - end - }, - - { - 'echasnovski/mini.comment', - config = function() - require('mini.comment').setup() - end - }, - - 'jghauser/mkdir.nvim', - 'AndrewRadev/splitjoin.vim', - 'tpope/vim-sleuth', - 'tpope/vim-fugitive', - 'tpope/vim-rhubarb', - 'CamdenClark/flyboy', -} diff --git a/nvim/lua/plugins/example.lua b/nvim/lua/plugins/example.lua new file mode 100644 index 0000000..78a3370 --- /dev/null +++ b/nvim/lua/plugins/example.lua @@ -0,0 +1,266 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- add gruvbox + { "ellisonleao/gruvbox.nvim" }, + + -- Configure LazyVim to load gruvbox + { + "LazyVim/LazyVim", + opts = { + colorscheme = "gruvbox", + }, + }, + + -- change trouble config + { + "folke/trouble.nvim", + -- opts will be merged with the parent spec + opts = { use_diagnostic_signs = true }, + }, + + -- disable trouble + { "folke/trouble.nvim", enabled = false }, + + -- add symbols-outline + { + "simrat39/symbols-outline.nvim", + cmd = "SymbolsOutline", + keys = { { "cs", "SymbolsOutline", desc = "Symbols Outline" } }, + config = true, + }, + + -- override nvim-cmp and add cmp-emoji + { + "hrsh7th/nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local cmp = require("cmp") + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) + end, + }, + + -- change some telescope options and a keymap to browse plugin files + { + "nvim-telescope/telescope.nvim", + keys = { + -- add a keymap to browse plugin files + -- stylua: ignore + { + "fp", + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + desc = "Find Plugin File", + }, + }, + -- change some options + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, + + -- add telescope-fzf-native + { + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-fzf-native.nvim", + build = "make", + config = function() + require("telescope").load_extension("fzf") + end, + }, + }, + + -- add pyright to lspconfig + { + "neovim/nvim-lspconfig", + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- pyright will be automatically installed with mason and loaded with lspconfig + pyright = {}, + }, + }, + }, + + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + -- add tsx and treesitter + vim.list_extend(opts.ensure_installed, { + "tsx", + "typescript", + }) + end, + }, + + -- the opts function can also be used to change the default opts: + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, "😄") + end, + }, + + -- or you can return new options to override all the defaults + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + return { + --[[add your custom lualine config here]] + } + end, + }, + + -- use mini.starter instead of alpha + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + + -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, + + -- Use for completion and snippets (supertab) + -- first: disable default and behavior in LuaSnip + { + "L3MON4D3/LuaSnip", + keys = function() + return {} + end, + }, + -- then: setup supertab in cmp + { + "hrsh7th/nvim-cmp", + dependencies = { + "hrsh7th/cmp-emoji", + }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local luasnip = require("luasnip") + local cmp = require("cmp") + + opts.mapping = vim.tbl_extend("force", opts.mapping, { + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() + -- this way you will only jump inside the snippet region + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }) + end, + }, +} diff --git a/nvim/plugins/command_dispatch/lua/command_dispatch/init.lua b/nvim/plugins/command_dispatch/lua/command_dispatch/init.lua deleted file mode 100644 index 3676fe8..0000000 --- a/nvim/plugins/command_dispatch/lua/command_dispatch/init.lua +++ /dev/null @@ -1,56 +0,0 @@ -M = {} - -local get_filename = function() return vim.api.nvim_buf_get_name(0) end -local get_line_number = function() return vim.api.nvim_win_get_cursor(0)[1] end - -local get_command = function(opt) - print(vim.inspect(vim.bo.filetype)) - local commands = M.commands - local command = commands[vim.bo.filetype] - - if not command then return end - - command = command .. get_filename() - - if opt == 'currentline' then - command = command .. ':' .. get_line_number() - end - - return command -end - -M.command_dispatch = function(input) - local opt = input.args - - if (M.write_before_run and vim.bo.modified and not vim.bo.readonly) then vim.cmd('up') end - - if opt == 'last' then - local command = M['last_command'] - if command then - vim.cmd(command) - return - else - print('No dispatched commands yet') - return - end - else - local command = get_command(opt) - if not command then - print('No command to dispatch for this filetype') - return - end - - M['last_command'] = command - vim.cmd(command) - end -end - -M.setup = function(opts) - M['commands'] = opts.commands or {} - M['user_command'] = opts.user_command or 'CommandDispatch' - M['write_before_run'] = opts.write_before_run or true - - vim.api.nvim_create_user_command(M.user_command, M.command_dispatch, { nargs = 1, desc = "Command dispatcher" }) -end - -return M diff --git a/nvim/plugins/term_wrapper/lua/term_wrapper/init.lua b/nvim/plugins/term_wrapper/lua/term_wrapper/init.lua deleted file mode 100644 index 6dea3d6..0000000 --- a/nvim/plugins/term_wrapper/lua/term_wrapper/init.lua +++ /dev/null @@ -1,52 +0,0 @@ -local M = {} - -local scroll_to_bottom = function() vim.cmd("normal G") end -local switch_win = function() vim.cmd("wincmd w") end - -local get_term_win = function() - return vim.tbl_filter(function(window) return window.terminal == 1 end, vim.fn.getwininfo())[1] -end - -local get_term_buf = function() - return vim.tbl_filter(function(buf) return buf.variables.terminal_job_id ~= nil end, vim.fn.getbufinfo())[1] -end - -local ensure_split = function() - local win_in_first_row = vim.tbl_filter(function(window) return window.winrow == 1 end, vim.fn.getwininfo()) - if vim.tbl_count(win_in_first_row) == 1 then - vim.cmd('vsplit') - end -end - -local ensure_term_buf_exists = function() - if not get_term_buf() then - vim.cmd('term') - scroll_to_bottom() - switch_win() - end -end - -local ensure_term_win_shown = function() - if not get_term_win() then - vim.cmd('b' .. get_term_buf().bufnr) - scroll_to_bottom() - switch_win() - end -end - -local get_term_chan = function() return get_term_buf().variables.terminal_job_id end -local send_cmd = function(cmd) vim.fn.chansend(get_term_chan(), cmd .. "\n") end - -M.term_cmd = function(input) - ensure_split() - ensure_term_buf_exists() - ensure_term_win_shown() - send_cmd(input.args) -end - -M.setup = function(opts) - M['user_command'] = opts.user_command or 'T' - vim.api.nvim_create_user_command(M.user_command, M.term_cmd, { nargs = "*", desc = "Terminal wrapper" }) -end - -return M diff --git a/nvim/tests/helper.lua b/nvim/tests/helper.lua deleted file mode 100644 index 6d16183..0000000 --- a/nvim/tests/helper.lua +++ /dev/null @@ -1,29 +0,0 @@ -H = {} - -H.exec = function(cmd) - vim.cmd('redir @t') - vim.cmd(cmd) - vim.cmd('redir END') - local output = vim.fn.split(vim.fn.getreg('t'), '\n') - return output -end - -H.exec_normal = function(cmd) - return H.exec('normal ' .. cmd) -end - -H.exec_normal_leader = function(cmd) - return H.exec('normal ,' .. cmd) -end - -H.inspect = function(o) - print(vim.inspect(o)) -end - -H.expect_eq = function(left, right) - if vim.deep_equal(left, right) then return true end - local context = string.format('Left: %s\nRight: %s', vim.inspect(left), vim.inspect(right)) - error('\nNot equal:\n' .. context) -end - -return H diff --git a/nvim/tests/init.lua b/nvim/tests/init.lua deleted file mode 100644 index 9342c40..0000000 --- a/nvim/tests/init.lua +++ /dev/null @@ -1,24 +0,0 @@ -local M = {} - -M.run = function(test_file) - print('Running file', test_file) - local tests = require('tests/tests/' .. test_file) - - for k, _ in pairs(tests) do - print('Running', k) - print('\n') - tests[k]() - print('Passed', k) - end -end - -M.run_all = function() - for test, _ in vim.fs.dir('tests/tests') do - test = string.gsub(test, '.lua', '') - M.run(test) - end - - print('All done!') -end - -return M diff --git a/nvim/tests/tests/command_dispatch_test.lua b/nvim/tests/tests/command_dispatch_test.lua deleted file mode 100644 index 014051c..0000000 --- a/nvim/tests/tests/command_dispatch_test.lua +++ /dev/null @@ -1,19 +0,0 @@ -local H = require('tests/helper') -local T = {} - -T['command dispatch last'] = function() - local output = H.exec_normal_leader('sl') - H.expect_eq(output[1], 'No dispatched commands yet') -end - -T['command dispatch file'] = function() - local output = H.exec_normal_leader('st') - H.expect_eq(output[1], 'No command to dispatch for this filetype') -end - -T['command dispatch line'] = function() - local output = H.exec_normal_leader('ss') - H.expect_eq(output[1], 'No command to dispatch for this filetype') -end - -return T diff --git a/nvim/tests/tests/simple_test.lua b/nvim/tests/tests/simple_test.lua deleted file mode 100644 index 5ae4723..0000000 --- a/nvim/tests/tests/simple_test.lua +++ /dev/null @@ -1,10 +0,0 @@ -local T = {} - -T['simple test'] = function() - local x = 1 + 1 - if x ~= 2 then - error('`x` is not equal to 2') - end -end - -return T diff --git a/nvim/tests/tests/term_wrapper_test.lua b/nvim/tests/tests/term_wrapper_test.lua deleted file mode 100644 index 4b9927a..0000000 --- a/nvim/tests/tests/term_wrapper_test.lua +++ /dev/null @@ -1,8 +0,0 @@ -local H = require('tests/helper') -local T = {} - -T['term wrapper test'] = function() - H.exec('T ls') -end - -return T From 9897874a5819e86660fbbe3c278fd748228277c5 Mon Sep 17 00:00:00 2001 From: Tolik Date: Sun, 2 Jul 2023 20:48:36 +1000 Subject: [PATCH 2/3] Tune lazyVim --- Brewfile | 54 ++ Brewfile.lock.json | 995 +++++++++++++++++++++++++++++++++++ nvim/lazy-lock.json | 12 +- nvim/lua/config/autocmds.lua | 7 + nvim/lua/config/keymaps.lua | 25 + nvim/lua/config/lazy.lua | 74 +-- nvim/lua/config/options.lua | 6 + nvim/lua/plugins/default.lua | 263 +++++++++ nvim/lua/plugins/example.lua | 266 ---------- 9 files changed, 1395 insertions(+), 307 deletions(-) create mode 100644 Brewfile.lock.json create mode 100644 nvim/lua/plugins/default.lua delete mode 100644 nvim/lua/plugins/example.lua diff --git a/Brewfile b/Brewfile index 0aef512..d5b3f3e 100644 --- a/Brewfile +++ b/Brewfile @@ -27,3 +27,57 @@ cask 'rectangle' cask 'spotify' cask 'visual-studio-code' cask 'vlc' + +# Fonts +tap 'homebrew/cask-fonts' + +cask 'font-3270-nerd-font' +cask 'font-fira-mono-nerd-font' +cask 'font-inconsolata-go-nerd-font' +cask 'font-inconsolata-lgc-nerd-font' +cask 'font-inconsolata-nerd-font' +cask 'font-monofur-nerd-font' +cask 'font-overpass-nerd-font' +cask 'font-ubuntu-mono-nerd-font' +cask 'font-agave-nerd-font' +cask 'font-arimo-nerd-font' +cask 'font-anonymice-nerd-font' +cask 'font-aurulent-sans-mono-nerd-font' +cask 'font-bigblue-terminal-nerd-font' +cask 'font-bitstream-vera-sans-mono-nerd-font' +cask 'font-blex-mono-nerd-font' +cask 'font-caskaydia-cove-nerd-font' +cask 'font-code-new-roman-nerd-font' +cask 'font-cousine-nerd-font' +cask 'font-daddy-time-mono-nerd-font' +cask 'font-dejavu-sans-mono-nerd-font' +cask 'font-droid-sans-mono-nerd-font' +cask 'font-fantasque-sans-mono-nerd-font' +cask 'font-fira-code-nerd-font' +cask 'font-go-mono-nerd-font' +cask 'font-gohufont-nerd-font' +cask 'font-hack-nerd-font' +cask 'font-hasklug-nerd-font' +cask 'font-heavy-data-nerd-font' +cask 'font-hurmit-nerd-font' +cask 'font-im-writing-nerd-font' +cask 'font-iosevka-nerd-font' +cask 'font-jetbrains-mono-nerd-font' +cask 'font-lekton-nerd-font' +cask 'font-liberation-nerd-font' +cask 'font-meslo-lg-nerd-font' +cask 'font-monoid-nerd-font' +cask 'font-mononoki-nerd-font' +cask 'font-mplus-nerd-font' +cask 'font-noto-nerd-font' +cask 'font-open-dyslexic-nerd-font' +cask 'font-profont-nerd-font' +cask 'font-proggy-clean-tt-nerd-font' +cask 'font-roboto-mono-nerd-font' +cask 'font-sauce-code-pro-nerd-font' +cask 'font-shure-tech-mono-nerd-font' +cask 'font-space-mono-nerd-font' +cask 'font-terminess-ttf-nerd-font' +cask 'font-tinos-nerd-font' +cask 'font-ubuntu-nerd-font' +cask 'font-victor-mono-nerd-font' diff --git a/Brewfile.lock.json b/Brewfile.lock.json new file mode 100644 index 0000000..281a463 --- /dev/null +++ b/Brewfile.lock.json @@ -0,0 +1,995 @@ +{ + "entries": { + "tap": { + "homebrew/bundle": { + "revision": "c02dfff991181c3ad1721138e2ac8bdce3c6ee5d" + }, + "homebrew/cask": { + "revision": "c504722cb95b0c54e1e1209df68f31c9acec63ae" + }, + "homebrew/core": { + "revision": "cc9b7779d582f7059883f8b2d9742ecb042c7541" + }, + "homebrew/services": { + "revision": "d39f864ddffda7a8c47dc95cd284b50683db9653" + }, + "homebrew/cask-fonts": { + "revision": "7e11d66a90a12fc547f7373b0350492a007afa60" + } + }, + "brew": { + "asdf": { + "version": "0.12.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "all": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/asdf/blobs/sha256:d96303f7e926935adfbe217ee7f157427cc5877a24894baa59500d6c27c215af", + "sha256": "d96303f7e926935adfbe217ee7f157427cc5877a24894baa59500d6c27c215af" + } + } + } + }, + "coreutils": { + "version": "9.3", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/coreutils/blobs/sha256:cbc188426bc245864378bb96620243cfade681ebb64beb9149717bcb04a55b0a", + "sha256": "cbc188426bc245864378bb96620243cfade681ebb64beb9149717bcb04a55b0a" + }, + "arm64_monterey": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/coreutils/blobs/sha256:2db183003c663554e8280280f64294f30d8d7819b1378914173236c2634aacc9", + "sha256": "2db183003c663554e8280280f64294f30d8d7819b1378914173236c2634aacc9" + }, + "arm64_big_sur": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/coreutils/blobs/sha256:4a20d93169207bcb131c5cf8deebca08e75be30c042c7c13487a986d61bf3f16", + "sha256": "4a20d93169207bcb131c5cf8deebca08e75be30c042c7c13487a986d61bf3f16" + }, + "ventura": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/coreutils/blobs/sha256:5461d665ee6121b4f9c42e17ac6441f77c5db156d3f7a6a6eab095773a2457f9", + "sha256": "5461d665ee6121b4f9c42e17ac6441f77c5db156d3f7a6a6eab095773a2457f9" + }, + "monterey": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/coreutils/blobs/sha256:a199c4d7b252b74fdcfb48dc9d9e39cfdbe3b88a9a2da0ce59dfb67d482b46a4", + "sha256": "a199c4d7b252b74fdcfb48dc9d9e39cfdbe3b88a9a2da0ce59dfb67d482b46a4" + }, + "big_sur": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/coreutils/blobs/sha256:9786f8f2ae9fd345b401d089887d099c8145590934ca84d9850a3755be0b32a5", + "sha256": "9786f8f2ae9fd345b401d089887d099c8145590934ca84d9850a3755be0b32a5" + }, + "x86_64_linux": { + "cellar": "/home/linuxbrew/.linuxbrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/coreutils/blobs/sha256:376674abab0d5c19e3f3db5481a2604adac227f89036c4d58d62fc23f59076ab", + "sha256": "376674abab0d5c19e3f3db5481a2604adac227f89036c4d58d62fc23f59076ab" + } + } + } + }, + "fd": { + "version": "8.7.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fd/blobs/sha256:97281975697f4338e4ec9adca10144759323332a9976d4b52f73078d09fec55f", + "sha256": "97281975697f4338e4ec9adca10144759323332a9976d4b52f73078d09fec55f" + }, + "arm64_monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fd/blobs/sha256:6714a0d1e7be8c21bfb980d76995b38a3e27a2809530d2eacd5ce6c62b96451d", + "sha256": "6714a0d1e7be8c21bfb980d76995b38a3e27a2809530d2eacd5ce6c62b96451d" + }, + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fd/blobs/sha256:25b34d213330b2ab2e72754101acd9f77aa95ef6b2ee7909dc7df97cc06aea9b", + "sha256": "25b34d213330b2ab2e72754101acd9f77aa95ef6b2ee7909dc7df97cc06aea9b" + }, + "ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fd/blobs/sha256:9a0154c723baedc9bed355b282c180b62d265bd7b30413a5857cf2c17e14a12d", + "sha256": "9a0154c723baedc9bed355b282c180b62d265bd7b30413a5857cf2c17e14a12d" + }, + "monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fd/blobs/sha256:a6bf3e9aeacb4a6e1cff103480bbb1b77fd2c5c08ba06b74cafa7a6ebc03a449", + "sha256": "a6bf3e9aeacb4a6e1cff103480bbb1b77fd2c5c08ba06b74cafa7a6ebc03a449" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fd/blobs/sha256:aeb2360ba43e2e508e45f0e832d53f11b4a89d209ae619af9d16f24159aafcd5", + "sha256": "aeb2360ba43e2e508e45f0e832d53f11b4a89d209ae619af9d16f24159aafcd5" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fd/blobs/sha256:8b83137db9ea1cdbe2c8af884325afca72a11a0b1e640d97232cb164028bc4ef", + "sha256": "8b83137db9ea1cdbe2c8af884325afca72a11a0b1e640d97232cb164028bc4ef" + } + } + } + }, + "fzf": { + "version": "0.42.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fzf/blobs/sha256:007ac5ffcfa1cbf733393fe35d5daf3647e07865f04d31d6c442fb8de936d219", + "sha256": "007ac5ffcfa1cbf733393fe35d5daf3647e07865f04d31d6c442fb8de936d219" + }, + "arm64_monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fzf/blobs/sha256:007ac5ffcfa1cbf733393fe35d5daf3647e07865f04d31d6c442fb8de936d219", + "sha256": "007ac5ffcfa1cbf733393fe35d5daf3647e07865f04d31d6c442fb8de936d219" + }, + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fzf/blobs/sha256:007ac5ffcfa1cbf733393fe35d5daf3647e07865f04d31d6c442fb8de936d219", + "sha256": "007ac5ffcfa1cbf733393fe35d5daf3647e07865f04d31d6c442fb8de936d219" + }, + "ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fzf/blobs/sha256:5cd9be92ee93dd44fecaaec2528656d609ef968ca1529fbf01720afbff5dfdcd", + "sha256": "5cd9be92ee93dd44fecaaec2528656d609ef968ca1529fbf01720afbff5dfdcd" + }, + "monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fzf/blobs/sha256:5cd9be92ee93dd44fecaaec2528656d609ef968ca1529fbf01720afbff5dfdcd", + "sha256": "5cd9be92ee93dd44fecaaec2528656d609ef968ca1529fbf01720afbff5dfdcd" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fzf/blobs/sha256:5cd9be92ee93dd44fecaaec2528656d609ef968ca1529fbf01720afbff5dfdcd", + "sha256": "5cd9be92ee93dd44fecaaec2528656d609ef968ca1529fbf01720afbff5dfdcd" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/fzf/blobs/sha256:2c7586893fbacc5e1755ecb44dae017b283bd45a6a28017409396ea950116dd3", + "sha256": "2c7586893fbacc5e1755ecb44dae017b283bd45a6a28017409396ea950116dd3" + } + } + } + }, + "gawk": { + "version": "5.2.2", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gawk/blobs/sha256:65f1eef20c9020d64d6e664d556d3b55cba583c3e64986dff74833176de62129", + "sha256": "65f1eef20c9020d64d6e664d556d3b55cba583c3e64986dff74833176de62129" + }, + "arm64_monterey": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gawk/blobs/sha256:6a22d40e0864a6bd67522c0c1ebcefb92a08d4370ca11f47fd505c6cc26a58c7", + "sha256": "6a22d40e0864a6bd67522c0c1ebcefb92a08d4370ca11f47fd505c6cc26a58c7" + }, + "arm64_big_sur": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gawk/blobs/sha256:3d7e64fc455d1cb077101b6be42ae8e4e595a94a2325eb14f4b2278f6dd05009", + "sha256": "3d7e64fc455d1cb077101b6be42ae8e4e595a94a2325eb14f4b2278f6dd05009" + }, + "ventura": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gawk/blobs/sha256:aff1e481cdfb6f23d99e951a3b3b7efcb628141856666eb5d70d824125959031", + "sha256": "aff1e481cdfb6f23d99e951a3b3b7efcb628141856666eb5d70d824125959031" + }, + "monterey": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gawk/blobs/sha256:36a97b5d58be2e0f4c59dd0a408d6508e13ebad9ca83c72e60ce9a94cc2d2d1b", + "sha256": "36a97b5d58be2e0f4c59dd0a408d6508e13ebad9ca83c72e60ce9a94cc2d2d1b" + }, + "big_sur": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gawk/blobs/sha256:dac1bf3984e01fe1dd3ed03ecb98116eeaaf631a2a15d9417b55c4e8dd7a8e73", + "sha256": "dac1bf3984e01fe1dd3ed03ecb98116eeaaf631a2a15d9417b55c4e8dd7a8e73" + }, + "x86_64_linux": { + "cellar": "/home/linuxbrew/.linuxbrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gawk/blobs/sha256:5dff4bf12d6526e57e13d81cdc9fd5273d0c52a83418fefa5411e4a50634fa20", + "sha256": "5dff4bf12d6526e57e13d81cdc9fd5273d0c52a83418fefa5411e4a50634fa20" + } + } + } + }, + "git": { + "version": "2.41.0_1", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/git/blobs/sha256:96443562c1f0d820f159fbe897d4e1b8a83a26585a73e74e742c0f9270ff3cb6", + "sha256": "96443562c1f0d820f159fbe897d4e1b8a83a26585a73e74e742c0f9270ff3cb6" + }, + "arm64_monterey": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/git/blobs/sha256:147ebdd97e787a2335a5978a8bcda6a85b64d2fae67aec9446b997cdcae85949", + "sha256": "147ebdd97e787a2335a5978a8bcda6a85b64d2fae67aec9446b997cdcae85949" + }, + "arm64_big_sur": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/git/blobs/sha256:389bf22054ba2eec09b2f8acd705f67f24343cfdee8ad7e8a75be5be647e37fd", + "sha256": "389bf22054ba2eec09b2f8acd705f67f24343cfdee8ad7e8a75be5be647e37fd" + }, + "ventura": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/git/blobs/sha256:6b23e127ff57cb08b6e610bf9805cc5ba8169a3ff55c8cc79bb00e3aa0507856", + "sha256": "6b23e127ff57cb08b6e610bf9805cc5ba8169a3ff55c8cc79bb00e3aa0507856" + }, + "monterey": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/git/blobs/sha256:508c29a6ad703a30c60fd79f077ca67d5e358d10b6c575da65cd31bf3dab47ec", + "sha256": "508c29a6ad703a30c60fd79f077ca67d5e358d10b6c575da65cd31bf3dab47ec" + }, + "big_sur": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/git/blobs/sha256:6b821e82625bc1402818a707cd4813af3e9264875c3bc828f096b67fcd800a82", + "sha256": "6b821e82625bc1402818a707cd4813af3e9264875c3bc828f096b67fcd800a82" + }, + "x86_64_linux": { + "cellar": "/home/linuxbrew/.linuxbrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/git/blobs/sha256:a259c7996de4fc4d18a5842a2b40728f8a8911fe39b9a9fb425ef7b2b1d6d73e", + "sha256": "a259c7996de4fc4d18a5842a2b40728f8a8911fe39b9a9fb425ef7b2b1d6d73e" + } + } + } + }, + "gpg": { + "version": "2.4.2", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gnupg/blobs/sha256:0444e36ecde4cdd39f8f357676cc070fd5eabfa62e154094db31186165729854", + "sha256": "0444e36ecde4cdd39f8f357676cc070fd5eabfa62e154094db31186165729854" + }, + "arm64_monterey": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gnupg/blobs/sha256:ea2c0672322cb660f8a13f3712f60c0a4b66990b2c712b27314d312d3fcca6cc", + "sha256": "ea2c0672322cb660f8a13f3712f60c0a4b66990b2c712b27314d312d3fcca6cc" + }, + "arm64_big_sur": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gnupg/blobs/sha256:28d15ef470a53803877eb5afdeb5e1944c7e5aabb9416e4ff301ebaf8735faf3", + "sha256": "28d15ef470a53803877eb5afdeb5e1944c7e5aabb9416e4ff301ebaf8735faf3" + }, + "ventura": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gnupg/blobs/sha256:636f410b0c3a6fa2ec2842e174f3e450b631be7e169f3a961edbe91008adff23", + "sha256": "636f410b0c3a6fa2ec2842e174f3e450b631be7e169f3a961edbe91008adff23" + }, + "monterey": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gnupg/blobs/sha256:e49ae9b65978830d618300f96f44c36713cd01171296eda01e6ad8d85aa3f7b1", + "sha256": "e49ae9b65978830d618300f96f44c36713cd01171296eda01e6ad8d85aa3f7b1" + }, + "big_sur": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gnupg/blobs/sha256:6be1634a2f8662b24f6dbbbffede9920265dee4bc703071fed15697728a6dd97", + "sha256": "6be1634a2f8662b24f6dbbbffede9920265dee4bc703071fed15697728a6dd97" + }, + "x86_64_linux": { + "cellar": "/home/linuxbrew/.linuxbrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/gnupg/blobs/sha256:9f7cc1360d927edad31063e694c013d17c395051833fdfdf2ee50819e9bfdfba", + "sha256": "9f7cc1360d927edad31063e694c013d17c395051833fdfdf2ee50819e9bfdfba" + } + } + } + }, + "htop": { + "version": "3.2.2", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/htop/blobs/sha256:87daed2cfe0d478a778b09b5f29428f05b15ff081f0e70b9a2609cf479572721", + "sha256": "87daed2cfe0d478a778b09b5f29428f05b15ff081f0e70b9a2609cf479572721" + }, + "arm64_monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/htop/blobs/sha256:76872761874d2148c1da382b3922b25916f245ef1d05fa21f95dbc1baa5ff8d4", + "sha256": "76872761874d2148c1da382b3922b25916f245ef1d05fa21f95dbc1baa5ff8d4" + }, + "arm64_big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/htop/blobs/sha256:52bdaef69f06d6808896cd8325ff6b2be3f96643660cc5475e1d45ba850a594d", + "sha256": "52bdaef69f06d6808896cd8325ff6b2be3f96643660cc5475e1d45ba850a594d" + }, + "ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/htop/blobs/sha256:38dcedb23adca849a1e1952c4a0d3249406b625f0e2094dfc47028be7df304b2", + "sha256": "38dcedb23adca849a1e1952c4a0d3249406b625f0e2094dfc47028be7df304b2" + }, + "monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/htop/blobs/sha256:078c94ade63f91b01334d300f00489592361bdfef3600c0ca7f6ad3ce2032281", + "sha256": "078c94ade63f91b01334d300f00489592361bdfef3600c0ca7f6ad3ce2032281" + }, + "big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/htop/blobs/sha256:7620c57b8abc846f264fb7906b96f3da07da7c6d2b43bde1579c29e04c77fc64", + "sha256": "7620c57b8abc846f264fb7906b96f3da07da7c6d2b43bde1579c29e04c77fc64" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/htop/blobs/sha256:bb45255abf5f0cd1d886bb8ea68b26c60517771268cf18ac3cec875b572b1fc6", + "sha256": "bb45255abf5f0cd1d886bb8ea68b26c60517771268cf18ac3cec875b572b1fc6" + } + } + } + }, + "jq": { + "version": "1.6", + "bottle": { + "rebuild": 1, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:4622927182fbc7bf27c4b706e005fbae2700d15e69a68ef7002aed2676b8a4f7", + "sha256": "4622927182fbc7bf27c4b706e005fbae2700d15e69a68ef7002aed2676b8a4f7" + }, + "arm64_monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:f70e1ae8df182b242ca004492cc0a664e2a8195e2e46f30546fe78e265d5eb87", + "sha256": "f70e1ae8df182b242ca004492cc0a664e2a8195e2e46f30546fe78e265d5eb87" + }, + "arm64_big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:674b3ae41c399f1e8e44c271b0e6909babff9fcd2e04a2127d25e2407ea4dd33", + "sha256": "674b3ae41c399f1e8e44c271b0e6909babff9fcd2e04a2127d25e2407ea4dd33" + }, + "ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:b70ec02353c5f6cb69d947e1506e71c96d2952ed4099ae3948c6c61420b16ef9", + "sha256": "b70ec02353c5f6cb69d947e1506e71c96d2952ed4099ae3948c6c61420b16ef9" + }, + "monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:7fee6ea327062b37d34ef5346a84810a1752cc7146fff1223fab76c9b45686e0", + "sha256": "7fee6ea327062b37d34ef5346a84810a1752cc7146fff1223fab76c9b45686e0" + }, + "big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:bf0f8577632af7b878b6425476f5b1ab9c3bf66d65affb0c455048a173a0b6bf", + "sha256": "bf0f8577632af7b878b6425476f5b1ab9c3bf66d65affb0c455048a173a0b6bf" + }, + "catalina": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:820a3c85fcbb63088b160c7edf125d7e55fc2c5c1d51569304499c9cc4b89ce8", + "sha256": "820a3c85fcbb63088b160c7edf125d7e55fc2c5c1d51569304499c9cc4b89ce8" + }, + "mojave": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:71f0e76c5b22e5088426c971d5e795fe67abee7af6c2c4ae0cf4c0eb98ed21ff", + "sha256": "71f0e76c5b22e5088426c971d5e795fe67abee7af6c2c4ae0cf4c0eb98ed21ff" + }, + "high_sierra": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:dffcffa4ea13e8f0f2b45c5121e529077e135ae9a47254c32182231662ee9b72", + "sha256": "dffcffa4ea13e8f0f2b45c5121e529077e135ae9a47254c32182231662ee9b72" + }, + "sierra": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:bb4d19dc026c2d72c53eed78eaa0ab982e9fcad2cd2acc6d13e7a12ff658e877", + "sha256": "bb4d19dc026c2d72c53eed78eaa0ab982e9fcad2cd2acc6d13e7a12ff658e877" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/jq/blobs/sha256:2beea2c2c372ccf1081e9a5233fc3020470803254284aeecc071249d76b62338", + "sha256": "2beea2c2c372ccf1081e9a5233fc3020470803254284aeecc071249d76b62338" + } + } + } + }, + "openssl": { + "version": "3.1.1_1", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/openssl/3/blobs/sha256:c4366444ddd5f55ff7dc1cb24a81c01f6ba946e255556af9c641da17142d472e", + "sha256": "c4366444ddd5f55ff7dc1cb24a81c01f6ba946e255556af9c641da17142d472e" + }, + "arm64_monterey": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/openssl/3/blobs/sha256:36b1a4b62c08bb2bf6cd013d952d26cb10bdee3306ae95178b86cd9d661363e0", + "sha256": "36b1a4b62c08bb2bf6cd013d952d26cb10bdee3306ae95178b86cd9d661363e0" + }, + "arm64_big_sur": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/openssl/3/blobs/sha256:6d2ec66dd29a9e5fb070c8c6f773ba9e5d50a4beef0bd96ee96e73c17a26c3bc", + "sha256": "6d2ec66dd29a9e5fb070c8c6f773ba9e5d50a4beef0bd96ee96e73c17a26c3bc" + }, + "ventura": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/openssl/3/blobs/sha256:a123a680d5fd22d094e2337101d3c8f8b8f78960c9ad4f07abbe3b025b8d36ff", + "sha256": "a123a680d5fd22d094e2337101d3c8f8b8f78960c9ad4f07abbe3b025b8d36ff" + }, + "monterey": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/openssl/3/blobs/sha256:7d21b114cdeb9c924f3efa5ba6e120c6a852b0c7be0dda71354f6704b02e4883", + "sha256": "7d21b114cdeb9c924f3efa5ba6e120c6a852b0c7be0dda71354f6704b02e4883" + }, + "big_sur": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/openssl/3/blobs/sha256:50c7448f726762394d63abe2722acee2a426d8fd1a8101504ad7c8dfc44bca31", + "sha256": "50c7448f726762394d63abe2722acee2a426d8fd1a8101504ad7c8dfc44bca31" + }, + "x86_64_linux": { + "cellar": "/home/linuxbrew/.linuxbrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/openssl/3/blobs/sha256:1231b6b95a6c55e775258b4c19b3babbc504a065b984ec6df9d960cf7ffc947b", + "sha256": "1231b6b95a6c55e775258b4c19b3babbc504a065b984ec6df9d960cf7ffc947b" + } + } + } + }, + "readline": { + "version": "8.2.1", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:fba42a9bd6feaa8902ae4491ffdf177662e0a165a0d0ddef0988ad6ecf0f23dd", + "sha256": "fba42a9bd6feaa8902ae4491ffdf177662e0a165a0d0ddef0988ad6ecf0f23dd" + }, + "arm64_monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:9406afa0f7aefbbef37ee193b3b17dd0e08bb2a80e99680cde732289f4819ad2", + "sha256": "9406afa0f7aefbbef37ee193b3b17dd0e08bb2a80e99680cde732289f4819ad2" + }, + "arm64_big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:7012f0f3d05e9ca181c67bd55ffeee000aa557aedcee0e260d75085215e80234", + "sha256": "7012f0f3d05e9ca181c67bd55ffeee000aa557aedcee0e260d75085215e80234" + }, + "ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:abe9d3f3eec3ba2339860faa6a978b9909194c65c97a60b0d16f3d6d118879ea", + "sha256": "abe9d3f3eec3ba2339860faa6a978b9909194c65c97a60b0d16f3d6d118879ea" + }, + "monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:19e6b02f577010a1a33c6ae6f09e40772d6ab22d94b6cf3455cfed9d301d28cf", + "sha256": "19e6b02f577010a1a33c6ae6f09e40772d6ab22d94b6cf3455cfed9d301d28cf" + }, + "big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:e6dfc7d95895f18657c0fb15e77a8c104362bb87bafdff770a6a352301cc1082", + "sha256": "e6dfc7d95895f18657c0fb15e77a8c104362bb87bafdff770a6a352301cc1082" + }, + "catalina": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:ef32c6905cc91e0ff5acfce9ad9e7aba1eecbcc5c79ee4e1e3abfe25fa4bf1a6", + "sha256": "ef32c6905cc91e0ff5acfce9ad9e7aba1eecbcc5c79ee4e1e3abfe25fa4bf1a6" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/readline/blobs/sha256:7dc8f7ebbfcb22adcd5535a8da083ed8aa3c42c8579c465a2263d778868bc058", + "sha256": "7dc8f7ebbfcb22adcd5535a8da083ed8aa3c42c8579c465a2263d778868bc058" + } + } + } + }, + "ripgrep": { + "version": "13.0.0", + "bottle": { + "rebuild": 1, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/ripgrep/blobs/sha256:ca37acadebbf8a719b4f985c484ffd381e0cbeccc73d73673ec116692bf5450a", + "sha256": "ca37acadebbf8a719b4f985c484ffd381e0cbeccc73d73673ec116692bf5450a" + }, + "arm64_monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/ripgrep/blobs/sha256:d21429f4b0a97e94f87cf7588958f53b57bf067876377d6a2e7a30259fa94394", + "sha256": "d21429f4b0a97e94f87cf7588958f53b57bf067876377d6a2e7a30259fa94394" + }, + "arm64_big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/ripgrep/blobs/sha256:977038e704a31a1e362cb737e465324659061857c2fe5a0a7babe8d5d59673c8", + "sha256": "977038e704a31a1e362cb737e465324659061857c2fe5a0a7babe8d5d59673c8" + }, + "ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/ripgrep/blobs/sha256:045b7757f7894aa1091ce0aaf41e58117901b5d6f4893195dd02d2abe5927787", + "sha256": "045b7757f7894aa1091ce0aaf41e58117901b5d6f4893195dd02d2abe5927787" + }, + "monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/ripgrep/blobs/sha256:a24a4ab187a9dac94b62c9a4271e6ba434d531a460f886212696bb2e1b5917eb", + "sha256": "a24a4ab187a9dac94b62c9a4271e6ba434d531a460f886212696bb2e1b5917eb" + }, + "big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/ripgrep/blobs/sha256:f3a112620b217412149aef8d12e54508ce18f96c3f05f2376673f385ca5a0e3a", + "sha256": "f3a112620b217412149aef8d12e54508ce18f96c3f05f2376673f385ca5a0e3a" + }, + "catalina": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/ripgrep/blobs/sha256:bab190961709b00de3da9a56ec89396cd773ead7531f62fd2c6756bb2743c9a7", + "sha256": "bab190961709b00de3da9a56ec89396cd773ead7531f62fd2c6756bb2743c9a7" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/ripgrep/blobs/sha256:e7bf9e8cee09ae435aa694e1b8942f915f7a9f58ec16a1e0b1fc5f7a76014dae", + "sha256": "e7bf9e8cee09ae435aa694e1b8942f915f7a9f58ec16a1e0b1fc5f7a76014dae" + } + } + } + }, + "tldr": { + "version": "1.6.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/tldr/blobs/sha256:6403ccd9be45f800e8b3068b35aa93ab33cea03f60990257d955015dbbced536", + "sha256": "6403ccd9be45f800e8b3068b35aa93ab33cea03f60990257d955015dbbced536" + }, + "arm64_monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/tldr/blobs/sha256:d8ae9baacf4db01a286f57b11e7ae144eab6b3c94bf7cde29b4ceade55614f88", + "sha256": "d8ae9baacf4db01a286f57b11e7ae144eab6b3c94bf7cde29b4ceade55614f88" + }, + "arm64_big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/tldr/blobs/sha256:e631d264c50eddb5c4e2d998d85c783b6f023ea50a854e17ebe14c42bc9f54b8", + "sha256": "e631d264c50eddb5c4e2d998d85c783b6f023ea50a854e17ebe14c42bc9f54b8" + }, + "ventura": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/tldr/blobs/sha256:c10fa005911f6490ffc52c0e1c732c6f2d02c7acd2aecac7f69c7bae19dbe3fd", + "sha256": "c10fa005911f6490ffc52c0e1c732c6f2d02c7acd2aecac7f69c7bae19dbe3fd" + }, + "monterey": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/tldr/blobs/sha256:3bf02d8355d6087bbeeeabdba2a96dc70eb0e862db46002673f7579f97f73af4", + "sha256": "3bf02d8355d6087bbeeeabdba2a96dc70eb0e862db46002673f7579f97f73af4" + }, + "big_sur": { + "cellar": ":any", + "url": "https://ghcr.io/v2/homebrew/core/tldr/blobs/sha256:a8e870d5413d1baa4a93cdbc044d1e84815c0aa6e2518957ff0ea1825a3f64db", + "sha256": "a8e870d5413d1baa4a93cdbc044d1e84815c0aa6e2518957ff0ea1825a3f64db" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/tldr/blobs/sha256:2e171e983894fa7c3fd7ab9170a87648513bea3cfbdd1bcc3c4d1779bae9a8db", + "sha256": "2e171e983894fa7c3fd7ab9170a87648513bea3cfbdd1bcc3c4d1779bae9a8db" + } + } + } + }, + "wget": { + "version": "1.21.4", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:c7b3fe54045aa9dc0d4da59adc8776a781766b9d72cf629ea6ac3d0935f2e8de", + "sha256": "c7b3fe54045aa9dc0d4da59adc8776a781766b9d72cf629ea6ac3d0935f2e8de" + }, + "arm64_monterey": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:f24fa0ffc6139c1063772ce054602910f6178ae636e32c150c2e6e81a61aa10b", + "sha256": "f24fa0ffc6139c1063772ce054602910f6178ae636e32c150c2e6e81a61aa10b" + }, + "arm64_big_sur": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:5d481ab27cab089083c35830f28e9e8c069708c8692e5ab35160b91f0ada90dd", + "sha256": "5d481ab27cab089083c35830f28e9e8c069708c8692e5ab35160b91f0ada90dd" + }, + "ventura": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:f1d0f59e9cd5863d4d4e29a4f0d7cf1c34da8ab4535d9b9a7b8822dbc4ce5e1b", + "sha256": "f1d0f59e9cd5863d4d4e29a4f0d7cf1c34da8ab4535d9b9a7b8822dbc4ce5e1b" + }, + "monterey": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:cf388783b9a7c9f017b3d7f176e8dbf6963f4a96d321a171a14e403b005b1bd4", + "sha256": "cf388783b9a7c9f017b3d7f176e8dbf6963f4a96d321a171a14e403b005b1bd4" + }, + "big_sur": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:5d2a224fb078f5b344070188c8b44307b52610f459104b0b08aa62d4e4016716", + "sha256": "5d2a224fb078f5b344070188c8b44307b52610f459104b0b08aa62d4e4016716" + }, + "x86_64_linux": { + "cellar": "/home/linuxbrew/.linuxbrew/Cellar", + "url": "https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:f73c136ea66bb8c7dfd4c35ef3b247ec588ed622c72ad7b425dc4f7a1922dce9", + "sha256": "f73c136ea66bb8c7dfd4c35ef3b247ec588ed622c72ad7b425dc4f7a1922dce9" + } + } + } + } + }, + "cask": { + "keepingyouawake": { + "version": "1.6.4", + "options": { + "full_name": "keepingyouawake" + } + }, + "kitty": { + "version": "0.28.1", + "options": { + "full_name": "kitty" + } + }, + "ngrok": { + "version": "3.3.1,gRmfNMWCVKD,a", + "options": { + "full_name": "ngrok" + } + }, + "rectangle": { + "version": "0.69", + "options": { + "full_name": "rectangle" + } + }, + "spotify": { + "version": "1.2.14.1149,a3ae422d,1071", + "options": { + "full_name": "spotify" + } + }, + "visual-studio-code": { + "version": "1.79.2", + "options": { + "full_name": "visual-studio-code" + } + }, + "vlc": { + "version": "3.0.18", + "options": { + "full_name": "vlc" + } + }, + "font-3270-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-3270-nerd-font" + } + }, + "font-fira-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-fira-mono-nerd-font" + } + }, + "font-inconsolata-go-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-inconsolata-go-nerd-font" + } + }, + "font-inconsolata-lgc-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-inconsolata-lgc-nerd-font" + } + }, + "font-inconsolata-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-inconsolata-nerd-font" + } + }, + "font-monofur-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-monofur-nerd-font" + } + }, + "font-overpass-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-overpass-nerd-font" + } + }, + "font-ubuntu-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-ubuntu-mono-nerd-font" + } + }, + "font-agave-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-agave-nerd-font" + } + }, + "font-arimo-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-arimo-nerd-font" + } + }, + "font-anonymice-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-anonymice-nerd-font" + } + }, + "font-aurulent-sans-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-aurulent-sans-mono-nerd-font" + } + }, + "font-bigblue-terminal-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-bigblue-terminal-nerd-font" + } + }, + "font-bitstream-vera-sans-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-bitstream-vera-sans-mono-nerd-font" + } + }, + "font-blex-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-blex-mono-nerd-font" + } + }, + "font-caskaydia-cove-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-caskaydia-cove-nerd-font" + } + }, + "font-code-new-roman-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-code-new-roman-nerd-font" + } + }, + "font-cousine-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-cousine-nerd-font" + } + }, + "font-daddy-time-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-daddy-time-mono-nerd-font" + } + }, + "font-dejavu-sans-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-dejavu-sans-mono-nerd-font" + } + }, + "font-droid-sans-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-droid-sans-mono-nerd-font" + } + }, + "font-fantasque-sans-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-fantasque-sans-mono-nerd-font" + } + }, + "font-fira-code-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-fira-code-nerd-font" + } + }, + "font-go-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-go-mono-nerd-font" + } + }, + "font-gohufont-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-gohufont-nerd-font" + } + }, + "font-hack-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-hack-nerd-font" + } + }, + "font-hasklug-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-hasklug-nerd-font" + } + }, + "font-heavy-data-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-heavy-data-nerd-font" + } + }, + "font-hurmit-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-hurmit-nerd-font" + } + }, + "font-im-writing-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-im-writing-nerd-font" + } + }, + "font-iosevka-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-iosevka-nerd-font" + } + }, + "font-jetbrains-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-jetbrains-mono-nerd-font" + } + }, + "font-lekton-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-lekton-nerd-font" + } + }, + "font-liberation-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-liberation-nerd-font" + } + }, + "font-meslo-lg-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-meslo-lg-nerd-font" + } + }, + "font-monoid-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-monoid-nerd-font" + } + }, + "font-mononoki-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-mononoki-nerd-font" + } + }, + "font-mplus-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-mplus-nerd-font" + } + }, + "font-noto-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-noto-nerd-font" + } + }, + "font-open-dyslexic-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-open-dyslexic-nerd-font" + } + }, + "font-profont-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-profont-nerd-font" + } + }, + "font-proggy-clean-tt-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-proggy-clean-tt-nerd-font" + } + }, + "font-roboto-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-roboto-mono-nerd-font" + } + }, + "font-sauce-code-pro-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-sauce-code-pro-nerd-font" + } + }, + "font-shure-tech-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-shure-tech-mono-nerd-font" + } + }, + "font-space-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-space-mono-nerd-font" + } + }, + "font-terminess-ttf-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-terminess-ttf-nerd-font" + } + }, + "font-tinos-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-tinos-nerd-font" + } + }, + "font-ubuntu-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-ubuntu-nerd-font" + } + }, + "font-victor-mono-nerd-font": { + "version": "3.0.2", + "options": { + "full_name": "font-victor-mono-nerd-font" + } + } + } + }, + "system": { + "macos": { + "ventura": { + "HOMEBREW_VERSION": "4.0.26", + "HOMEBREW_PREFIX": "/opt/homebrew", + "Homebrew/homebrew-core": "api", + "CLT": "14.3.1.0.1.1683849156", + "Xcode": "14.3.1", + "macOS": "13.4" + } + } + } +} diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 53805af..74a3c50 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,21 +1,19 @@ { "LazyVim": { "branch": "main", "commit": "ea21cad7ed5d7c699b013fb3d66f4b6650d2efdd" }, "LuaSnip": { "branch": "master", "commit": "105b5f7f72c13e682a3aa5d29eac2408ae513b22" }, + "SchemaStore.nvim": { "branch": "main", "commit": "0ba3914a03a4689441170d6b6796500a09b5c189" }, "alpha-nvim": { "branch": "main", "commit": "9e33db324b8bb7a147bce9ea5496686ee859461d" }, - "bufferline.nvim": { "branch": "main", "commit": "2f391fde91b9c3876eee359ee24cc352050e5e48" }, "catppuccin": { "branch": "main", "commit": "12894370fa3c9e2200f3724c4184354d6b79733a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dressing.nvim": { "branch": "master", "commit": "e6eff7a5a950a853c3903d906dbcea03f778db5f" }, - "flit.nvim": { "branch": "main", "commit": "5c9a78b97f7f4301473ea5e37501b5b1d4da167b" }, "friendly-snippets": { "branch": "main", "commit": "ad7cef5d538b023ee3af0fe3170cadb096171b1f" }, "gitsigns.nvim": { "branch": "main", "commit": "a36bc3360d584d39b4fb076d855c4180842d4444" }, "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, "lazy.nvim": { "branch": "main", "commit": "0d61488b89a570415177f75a36ef93616aac6c77" }, - "leap.nvim": { "branch": "main", "commit": "f41de5c1cfeb146e4b8c5ed20e5b32230457ff25" }, - "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "4f1c72767bec31397d59554f84096909b2887195" }, "mason.nvim": { "branch": "main", "commit": "b68d3be4b664671002221d43c82e74a0f1006b26" }, "mini.ai": { "branch": "main", "commit": "5218ea75e635df78a807bc9d5a7162594fb76d02" }, @@ -27,13 +25,15 @@ "neo-tree.nvim": { "branch": "v2.x", "commit": "f765e75e7d2444629b5ace3cd7609c12251de254" }, "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, "neodev.nvim": { "branch": "main", "commit": "a2b1d8fb9fa4daa35d3fd9123bccccccbd4a3520" }, + "neotest": { "branch": "master", "commit": "e46eae5739c470aa011ee43108ea8a730736174e" }, + "neotest-rspec": { "branch": "main", "commit": "f5569be7d462585576eb19282aab83887ba84a6c" }, "noice.nvim": { "branch": "main", "commit": "6c87c1d11c38180fb72bf8f45518a0a3e081afc1" }, "nui.nvim": { "branch": "main", "commit": "d146966a423e60699b084eeb28489fe3b6427599" }, "null-ls.nvim": { "branch": "main", "commit": "aac27a1fa550de3d0b2c651168167cc0d5366a9a" }, "nvim-cmp": { "branch": "main", "commit": "2743dd989e9b932e1b4813a4927d7b84272a14e2" }, + "nvim-dap-ruby": { "branch": "main", "commit": "0a18182c6e5ee62b690b0c6ace155e4bbc4cd37f" }, "nvim-lspconfig": { "branch": "master", "commit": "0011c435282f043a018e23393cae06ed926c3f4a" }, "nvim-navic": { "branch": "master", "commit": "32cff45f1c84bec5e2a7bf15c0f3c6739b64c85d" }, - "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-spectre": { "branch": "master", "commit": "dc3f0bd41e09148924ef04a4746cb708539d08db" }, "nvim-treesitter": { "branch": "master", "commit": "af25e8b7e0894dd7dc1461f0604d1005041154b5" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, @@ -41,10 +41,12 @@ "nvim-web-devicons": { "branch": "master", "commit": "9ab9b0b894b2388a9dbcdee5f00ce72e25d85bf9" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "plenary.nvim": { "branch": "master", "commit": "102c02903c74b93c705406bf362049383abc87c8" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, "telescope.nvim": { "branch": "master", "commit": "b14de80d1cdf66f988f6550ca8577c43bb3797cd" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, "tokyonight.nvim": { "branch": "main", "commit": "d785293494c59ce0940c00b8b044fc672d2902b1" }, "trouble.nvim": { "branch": "main", "commit": "d99e2abd10808ef91738ce98a5c767e6a51df449" }, + "typescript.nvim": { "branch": "main", "commit": "de304087e6e49981fde01af8ccc5b21e8519306f" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, diff --git a/nvim/lua/config/autocmds.lua b/nvim/lua/config/autocmds.lua index 27e9e06..04ba7c9 100644 --- a/nvim/lua/config/autocmds.lua +++ b/nvim/lua/config/autocmds.lua @@ -1,3 +1,10 @@ -- Autocmds are automatically loaded on the VeryLazy event -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua -- Add any additional autocmds here + +-- For fat fingers +vim.api.nvim_create_user_command("W", "w", { nargs = "?" }) +vim.api.nvim_create_user_command("WQ", "wq", { nargs = "?" }) +vim.api.nvim_create_user_command("Wq", "wq", { nargs = "?" }) +vim.api.nvim_create_user_command("Q", "q", { nargs = "?" }) +vim.api.nvim_create_user_command("Cq", "cq", { nargs = "?" }) diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua index 2c134f7..430ac71 100644 --- a/nvim/lua/config/keymaps.lua +++ b/nvim/lua/config/keymaps.lua @@ -1,3 +1,28 @@ -- Keymaps are automatically loaded on the VeryLazy event -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua -- Add any additional keymaps here + +local function map(mode, lhs, rhs, opts) + local keys = require("lazy.core.handler").handlers.keys + ---@cast keys LazyKeysHandler + -- do not create the keymap if a lazy keys handler exists + if not keys.active[keys.parse({ lhs, mode = mode }).id] then + opts = opts or {} + opts.silent = opts.silent ~= false + if opts.remap and not vim.g.vscode then + opts.remap = nil + end + vim.keymap.set(mode, lhs, rhs, opts) + end +end + +map("n", "==", "gg=G''") + +map("n", "", "zz") +map("n", "", "zz") +map("n", "", "^") +map("n", "", "$") +map("v", "", "zz") +map("v", "", "zz") +map("v", "", "^") +map("v", "", "$") diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua index 891b190..ca937ee 100644 --- a/nvim/lua/config/lazy.lua +++ b/nvim/lua/config/lazy.lua @@ -7,40 +7,42 @@ end vim.opt.rtp:prepend(vim.env.LAZY or lazypath) require("lazy").setup({ - spec = { - -- add LazyVim and import its plugins - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - -- import any extras modules here - -- { import = "lazyvim.plugins.extras.lang.typescript" }, - -- { import = "lazyvim.plugins.extras.lang.json" }, - -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, - -- import/override with your plugins - { import = "plugins" }, - }, - defaults = { - -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. - -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. - lazy = false, - -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, - -- have outdated releases, which may break your Neovim install. - version = false, -- always use the latest git commit - -- version = "*", -- try installing the latest stable version for plugins that support semver - }, - install = { colorscheme = { "tokyonight", "habamax" } }, - checker = { enabled = true }, -- automatically check for plugin updates - performance = { - rtp = { - -- disable some rtp plugins - disabled_plugins = { - "gzip", - -- "matchit", - -- "matchparen", - -- "netrwPlugin", - "tarPlugin", - "tohtml", - "tutor", - "zipPlugin", - }, - }, - }, + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import any extras modules here + { import = "lazyvim.plugins.extras.test.core" }, + { import = "lazyvim.plugins.extras.lang.ruby" }, + { import = "lazyvim.plugins.extras.lang.typescript" }, + { import = "lazyvim.plugins.extras.lang.json" }, + -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, }) diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua index 3ea1454..3222399 100644 --- a/nvim/lua/config/options.lua +++ b/nvim/lua/config/options.lua @@ -1,3 +1,9 @@ -- Options are automatically loaded before lazy.nvim startup -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua -- Add any additional options here + +local opt = vim.opt + +opt.mouse = "" +opt.number = false +opt.relativenumber = false diff --git a/nvim/lua/plugins/default.lua b/nvim/lua/plugins/default.lua new file mode 100644 index 0000000..c337a2c --- /dev/null +++ b/nvim/lua/plugins/default.lua @@ -0,0 +1,263 @@ +-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +-- +return { + { "akinsho/bufferline.nvim", enabled = false }, + { "rcarriga/nvim-notify", enabled = false }, + { "nvim-lualine/lualine.nvim", enabled = false }, + { "ggandor/flit.nvim", enabled = false }, + { "ggandor/leap.nvim", enabled = false }, + { "lewis6991/gitsigns.nvim", enabled = false }, + + { + "folke/which-key.nvim", + opts = { + defaults = { + ["t"] = { name = "+test" }, + }, + }, + }, + + { "olimorris/neotest-rspec" }, + { + "nvim-neotest/neotest", + dependencies = { + "olimorris/neotest-rspec", + }, + opts = { + adapters = { + ["neotest-rspec"] = { + rspec_cmd = function() + return vim.tbl_flatten({ + "bundle", + "exec", + "rspec", + }) + end, + }, + }, + }, + }, + + { + "folke/tokyonight.nvim", + opts = { + -- transparent = true, + style = "night", + -- styles = { + -- sidebars = "transparent", + -- floats = "transparent", + -- }, + }, + }, + + -- change trouble config + -- { + -- "folke/trouble.nvim", + -- -- opts will be merged with the parent spec + -- opts = { use_diagnostic_signs = true }, + -- }, + + -- disable trouble + -- { "folke/trouble.nvim", enabled = false }, + + -- change some telescope options and a keymap to browse plugin files + -- { + -- "nvim-telescope/telescope.nvim", + -- keys = { + -- -- add a keymap to browse plugin files + -- -- stylua: ignore + -- { + -- "fp", + -- function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + -- desc = "Find Plugin File", + -- }, + -- }, + -- -- change some options + -- opts = { + -- defaults = { + -- layout_strategy = "horizontal", + -- layout_config = { prompt_position = "top" }, + -- sorting_strategy = "ascending", + -- winblend = 0, + -- }, + -- }, + -- }, + + -- add telescope-fzf-native + { + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-fzf-native.nvim", + build = "make", + config = function() + require("telescope").load_extension("fzf") + end, + }, + }, + + -- add pyright to lspconfig + -- { + -- "neovim/nvim-lspconfig", + -- ---@class PluginLspOpts + -- opts = { + -- ---@type lspconfig.options + -- servers = { + -- -- pyright will be automatically installed with mason and loaded with lspconfig + -- pyright = {}, + -- }, + -- }, + -- }, + -- + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + "elixir", + "heex", + "ruby", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + -- { + -- "nvim-treesitter/nvim-treesitter", + -- opts = function(_, opts) + -- -- add tsx and treesitter + -- vim.list_extend(opts.ensure_installed, { + -- "tsx", + -- "typescript", + -- }) + -- end, + -- }, + + -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, + + -- Use for completion and snippets (supertab) + -- first: disable default and behavior in LuaSnip + { + "L3MON4D3/LuaSnip", + keys = function() + return {} + end, + }, + -- then: setup supertab in cmp + { + "hrsh7th/nvim-cmp", + dependencies = { + "hrsh7th/cmp-emoji", + }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 + and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local luasnip = require("luasnip") + local cmp = require("cmp") + + opts.mapping = vim.tbl_extend("force", opts.mapping, { + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() + -- this way you will only jump inside the snippet region + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }) + end, + }, +} diff --git a/nvim/lua/plugins/example.lua b/nvim/lua/plugins/example.lua deleted file mode 100644 index 78a3370..0000000 --- a/nvim/lua/plugins/example.lua +++ /dev/null @@ -1,266 +0,0 @@ --- since this is just an example spec, don't actually load anything here and return an empty spec --- stylua: ignore -if true then return {} end - --- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim --- --- In your plugin files, you can: --- * add extra plugins --- * disable/enabled LazyVim plugins --- * override the configuration of LazyVim plugins -return { - -- add gruvbox - { "ellisonleao/gruvbox.nvim" }, - - -- Configure LazyVim to load gruvbox - { - "LazyVim/LazyVim", - opts = { - colorscheme = "gruvbox", - }, - }, - - -- change trouble config - { - "folke/trouble.nvim", - -- opts will be merged with the parent spec - opts = { use_diagnostic_signs = true }, - }, - - -- disable trouble - { "folke/trouble.nvim", enabled = false }, - - -- add symbols-outline - { - "simrat39/symbols-outline.nvim", - cmd = "SymbolsOutline", - keys = { { "cs", "SymbolsOutline", desc = "Symbols Outline" } }, - config = true, - }, - - -- override nvim-cmp and add cmp-emoji - { - "hrsh7th/nvim-cmp", - dependencies = { "hrsh7th/cmp-emoji" }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local cmp = require("cmp") - opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) - end, - }, - - -- change some telescope options and a keymap to browse plugin files - { - "nvim-telescope/telescope.nvim", - keys = { - -- add a keymap to browse plugin files - -- stylua: ignore - { - "fp", - function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, - desc = "Find Plugin File", - }, - }, - -- change some options - opts = { - defaults = { - layout_strategy = "horizontal", - layout_config = { prompt_position = "top" }, - sorting_strategy = "ascending", - winblend = 0, - }, - }, - }, - - -- add telescope-fzf-native - { - "telescope.nvim", - dependencies = { - "nvim-telescope/telescope-fzf-native.nvim", - build = "make", - config = function() - require("telescope").load_extension("fzf") - end, - }, - }, - - -- add pyright to lspconfig - { - "neovim/nvim-lspconfig", - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- pyright will be automatically installed with mason and loaded with lspconfig - pyright = {}, - }, - }, - }, - - -- add tsserver and setup with typescript.nvim instead of lspconfig - { - "neovim/nvim-lspconfig", - dependencies = { - "jose-elias-alvarez/typescript.nvim", - init = function() - require("lazyvim.util").on_attach(function(_, buffer) - -- stylua: ignore - vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) - vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) - end) - end, - }, - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- tsserver will be automatically installed with mason and loaded with lspconfig - tsserver = {}, - }, - -- you can do any additional lsp server setup here - -- return true if you don't want this server to be setup with lspconfig - ---@type table - setup = { - -- example to setup with typescript.nvim - tsserver = function(_, opts) - require("typescript").setup({ server = opts }) - return true - end, - -- Specify * to use this function as a fallback for any server - -- ["*"] = function(server, opts) end, - }, - }, - }, - - -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, - -- treesitter, mason and typescript.nvim. So instead of the above, you can use: - { import = "lazyvim.plugins.extras.lang.typescript" }, - - -- add more treesitter parsers - { - "nvim-treesitter/nvim-treesitter", - opts = { - ensure_installed = { - "bash", - "html", - "javascript", - "json", - "lua", - "markdown", - "markdown_inline", - "python", - "query", - "regex", - "tsx", - "typescript", - "vim", - "yaml", - }, - }, - }, - - -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above - -- would overwrite `ensure_installed` with the new value. - -- If you'd rather extend the default config, use the code below instead: - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - -- add tsx and treesitter - vim.list_extend(opts.ensure_installed, { - "tsx", - "typescript", - }) - end, - }, - - -- the opts function can also be used to change the default opts: - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function(_, opts) - table.insert(opts.sections.lualine_x, "😄") - end, - }, - - -- or you can return new options to override all the defaults - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function() - return { - --[[add your custom lualine config here]] - } - end, - }, - - -- use mini.starter instead of alpha - { import = "lazyvim.plugins.extras.ui.mini-starter" }, - - -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc - { import = "lazyvim.plugins.extras.lang.json" }, - - -- add any tools you want to have installed below - { - "williamboman/mason.nvim", - opts = { - ensure_installed = { - "stylua", - "shellcheck", - "shfmt", - "flake8", - }, - }, - }, - - -- Use for completion and snippets (supertab) - -- first: disable default and behavior in LuaSnip - { - "L3MON4D3/LuaSnip", - keys = function() - return {} - end, - }, - -- then: setup supertab in cmp - { - "hrsh7th/nvim-cmp", - dependencies = { - "hrsh7th/cmp-emoji", - }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local has_words_before = function() - unpack = unpack or table.unpack - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil - end - - local luasnip = require("luasnip") - local cmp = require("cmp") - - opts.mapping = vim.tbl_extend("force", opts.mapping, { - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() - -- this way you will only jump inside the snippet region - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { "i", "s" }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - }) - end, - }, -} From 92cab57ee700d9cf4718db30afbd723486eb768d Mon Sep 17 00:00:00 2001 From: Tolik Date: Mon, 3 Jul 2023 12:56:21 +1000 Subject: [PATCH 3/3] Trying to debug with rspec --- Brewfile | 1 + Brewfile.lock.json | 51 ++++++++++++++++ nvim/lazy-lock.json | 19 ++++-- nvim/lua/config/lazy.lua | 1 + nvim/lua/plugins/default.lua | 112 ++++++++++++++++++++++++++++++++++- 5 files changed, 177 insertions(+), 7 deletions(-) diff --git a/Brewfile b/Brewfile index d5b3f3e..5936ab9 100644 --- a/Brewfile +++ b/Brewfile @@ -14,6 +14,7 @@ brew 'git' brew 'gpg' brew 'htop' brew 'jq' +brew 'lazygit' brew 'openssl' brew 'readline' brew 'ripgrep' diff --git a/Brewfile.lock.json b/Brewfile.lock.json index 281a463..6941d28 100644 --- a/Brewfile.lock.json +++ b/Brewfile.lock.json @@ -15,6 +15,9 @@ }, "homebrew/cask-fonts": { "revision": "7e11d66a90a12fc547f7373b0350492a007afa60" + }, + "albertyw/albertyw": { + "revision": "8fd57ac7e9c19872c95e98e3d2767d840fda70e8" } }, "brew": { @@ -633,6 +636,54 @@ } } } + }, + "git-browse": { + "version": "2.13.6", + "bottle": false + }, + "lazygit": { + "version": "0.38.2", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/lazygit/blobs/sha256:40dafb9962149161d30f6bbcd8dbdc4e4e893354416c0711e978dbc636011963", + "sha256": "40dafb9962149161d30f6bbcd8dbdc4e4e893354416c0711e978dbc636011963" + }, + "arm64_monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/lazygit/blobs/sha256:40dafb9962149161d30f6bbcd8dbdc4e4e893354416c0711e978dbc636011963", + "sha256": "40dafb9962149161d30f6bbcd8dbdc4e4e893354416c0711e978dbc636011963" + }, + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/lazygit/blobs/sha256:40dafb9962149161d30f6bbcd8dbdc4e4e893354416c0711e978dbc636011963", + "sha256": "40dafb9962149161d30f6bbcd8dbdc4e4e893354416c0711e978dbc636011963" + }, + "ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/lazygit/blobs/sha256:2cd6cea246579a68682f8c9e735024547589283f7a00e8247c222f3970282874", + "sha256": "2cd6cea246579a68682f8c9e735024547589283f7a00e8247c222f3970282874" + }, + "monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/lazygit/blobs/sha256:2cd6cea246579a68682f8c9e735024547589283f7a00e8247c222f3970282874", + "sha256": "2cd6cea246579a68682f8c9e735024547589283f7a00e8247c222f3970282874" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/lazygit/blobs/sha256:2cd6cea246579a68682f8c9e735024547589283f7a00e8247c222f3970282874", + "sha256": "2cd6cea246579a68682f8c9e735024547589283f7a00e8247c222f3970282874" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/lazygit/blobs/sha256:4ce9273c0493b10bd1839ee45cf2ab646043f5dde577472bcdb967c3ef5e3175", + "sha256": "4ce9273c0493b10bd1839ee45cf2ab646043f5dde577472bcdb967c3ef5e3175" + } + } + } } }, "cask": { diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 74a3c50..d44e932 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,20 +1,24 @@ { - "LazyVim": { "branch": "main", "commit": "ea21cad7ed5d7c699b013fb3d66f4b6650d2efdd" }, + "LazyVim": { "branch": "main", "commit": "bbaf47028f7111cc24f995d3619091c9aab85741" }, "LuaSnip": { "branch": "master", "commit": "105b5f7f72c13e682a3aa5d29eac2408ae513b22" }, "SchemaStore.nvim": { "branch": "main", "commit": "0ba3914a03a4689441170d6b6796500a09b5c189" }, "alpha-nvim": { "branch": "main", "commit": "9e33db324b8bb7a147bce9ea5496686ee859461d" }, + "bufferline.nvim": { "branch": "main", "commit": "2f391fde91b9c3876eee359ee24cc352050e5e48" }, "catppuccin": { "branch": "main", "commit": "12894370fa3c9e2200f3724c4184354d6b79733a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dressing.nvim": { "branch": "master", "commit": "e6eff7a5a950a853c3903d906dbcea03f778db5f" }, - "friendly-snippets": { "branch": "main", "commit": "ad7cef5d538b023ee3af0fe3170cadb096171b1f" }, + "flit.nvim": { "branch": "main", "commit": "5c9a78b97f7f4301473ea5e37501b5b1d4da167b" }, + "friendly-snippets": { "branch": "main", "commit": "c85153a188b260b908bc35ffedff64810a930b64" }, "gitsigns.nvim": { "branch": "main", "commit": "a36bc3360d584d39b4fb076d855c4180842d4444" }, "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, "lazy.nvim": { "branch": "main", "commit": "0d61488b89a570415177f75a36ef93616aac6c77" }, + "leap.nvim": { "branch": "main", "commit": "aadf42e0ab97b38715e6233f253cd571dd3bb96c" }, + "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "4f1c72767bec31397d59554f84096909b2887195" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "e4d56b400e9757b1dc77d620fd3069396e92d5fc" }, "mason.nvim": { "branch": "main", "commit": "b68d3be4b664671002221d43c82e74a0f1006b26" }, "mini.ai": { "branch": "main", "commit": "5218ea75e635df78a807bc9d5a7162594fb76d02" }, "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, @@ -31,18 +35,21 @@ "nui.nvim": { "branch": "main", "commit": "d146966a423e60699b084eeb28489fe3b6427599" }, "null-ls.nvim": { "branch": "main", "commit": "aac27a1fa550de3d0b2c651168167cc0d5366a9a" }, "nvim-cmp": { "branch": "main", "commit": "2743dd989e9b932e1b4813a4927d7b84272a14e2" }, + "nvim-dap": { "branch": "master", "commit": "bb1ddce6cd951ef3c1319e4fd8596131113163c3" }, "nvim-dap-ruby": { "branch": "main", "commit": "0a18182c6e5ee62b690b0c6ace155e4bbc4cd37f" }, + "nvim-dap-ui": { "branch": "master", "commit": "c020f660b02772f9f3d11f599fefad3268628a9e" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "57f1dbd0458dd84a286b27768c142e1567f3ce3b" }, "nvim-lspconfig": { "branch": "master", "commit": "0011c435282f043a018e23393cae06ed926c3f4a" }, "nvim-navic": { "branch": "master", "commit": "32cff45f1c84bec5e2a7bf15c0f3c6739b64c85d" }, + "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-spectre": { "branch": "master", "commit": "dc3f0bd41e09148924ef04a4746cb708539d08db" }, - "nvim-treesitter": { "branch": "master", "commit": "af25e8b7e0894dd7dc1461f0604d1005041154b5" }, + "nvim-treesitter": { "branch": "master", "commit": "254f3da6832252d579962ca6dcafae9c164de4ed" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, "nvim-web-devicons": { "branch": "master", "commit": "9ab9b0b894b2388a9dbcdee5f00ce72e25d85bf9" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "plenary.nvim": { "branch": "master", "commit": "102c02903c74b93c705406bf362049383abc87c8" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "b14de80d1cdf66f988f6550ca8577c43bb3797cd" }, + "telescope.nvim": { "branch": "master", "commit": "0e0600908d1ad5ac4992fa0ab578e23e9d9d6f37" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, "tokyonight.nvim": { "branch": "main", "commit": "d785293494c59ce0940c00b8b044fc672d2902b1" }, "trouble.nvim": { "branch": "main", "commit": "d99e2abd10808ef91738ce98a5c767e6a51df449" }, diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua index ca937ee..b9da918 100644 --- a/nvim/lua/config/lazy.lua +++ b/nvim/lua/config/lazy.lua @@ -12,6 +12,7 @@ require("lazy").setup({ { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import any extras modules here { import = "lazyvim.plugins.extras.test.core" }, + { import = "lazyvim.plugins.extras.dap.core" }, { import = "lazyvim.plugins.extras.lang.ruby" }, { import = "lazyvim.plugins.extras.lang.typescript" }, { import = "lazyvim.plugins.extras.lang.json" }, diff --git a/nvim/lua/plugins/default.lua b/nvim/lua/plugins/default.lua index c337a2c..7281ab1 100644 --- a/nvim/lua/plugins/default.lua +++ b/nvim/lua/plugins/default.lua @@ -8,16 +8,72 @@ return { { "akinsho/bufferline.nvim", enabled = false }, { "rcarriga/nvim-notify", enabled = false }, - { "nvim-lualine/lualine.nvim", enabled = false }, { "ggandor/flit.nvim", enabled = false }, { "ggandor/leap.nvim", enabled = false }, { "lewis6991/gitsigns.nvim", enabled = false }, + { "TimUntersberger/neogit" }, + { + "dinhhuy258/git.nvim", + opts = { + default_mappings = true, + }, + }, + { "folke/which-key.nvim", opts = { defaults = { ["t"] = { name = "+test" }, + ["d"] = { name = "+debug" }, + ["da"] = { name = "+adapters" }, + }, + }, + }, + + { + "akinsho/toggleterm.nvim", + version = "*", + opts = { + direction = "vertical", + close_on_exit = false, + open_mapping = [[]], + shade_terminals = false, + }, + }, + + { + "stevearc/overseer.nvim", + dependencies = { + "akinsho/toggleterm.nvim", + }, + opts = { + strategy = { + "toggleterm", + -- load your default shell before starting the task + use_shell = false, + -- overwrite the default toggleterm "direction" parameter + direction = nil, + -- overwrite the default toggleterm "highlights" parameter + highlights = nil, + -- overwrite the default toggleterm "auto_scroll" parameter + auto_scroll = nil, + -- have the toggleterm window close and delete the terminal buffer + -- automatically after the task exits + close_on_exit = false, + -- have the toggleterm window close without deleting the terminal buffer + -- automatically after the task exits + -- can be "never, "success", or "always". "success" will close the window + -- only if the exit code is 0. + quit_on_exit = "never", + -- open the toggleterm window when a task starts + open_on_start = true, + -- mirrors the toggleterm "hidden" parameter, and keeps the task from + -- being rendered in the toggleable window + hidden = false, + -- command to run when the terminal is created. Combine with `use_shell` + -- to run a terminal command before starting the task + on_create = nil, }, }, }, @@ -27,8 +83,12 @@ return { "nvim-neotest/neotest", dependencies = { "olimorris/neotest-rspec", + "stevearc/overseer.nvim", }, opts = { + consumers = { + overseer = require("neotest.consumers.overseer"), + }, adapters = { ["neotest-rspec"] = { rspec_cmd = function() @@ -43,6 +103,23 @@ return { }, }, + { + "mfussenegger/nvim-dap", + optional = true, + dependencies = { + "suketa/nvim-dap-ruby", + config = function() + require("dap-ruby").setup() + end, + }, + }, + { + "suketa/nvim-dap-ruby", + config = function() + require("dap-ruby").setup() + end, + }, + { "folke/tokyonight.nvim", opts = { @@ -260,4 +337,37 @@ return { }) end, }, + + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = { + options = { + component_separators = "", + section_separators = "", + theme = { + -- We are going to use lualine_c an lualine_x as left and + -- right section. Both are highlighted by c theme . So we + -- are just setting default looks o statusline + normal = { c = { fg = "", bg = "" } }, + inactive = { c = { fg = "", bg = "" } }, + }, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { "overseer" }, + lualine_c = { + { "filename", path = 1, symbols = { modified = "  ", readonly = "", unnamed = "" } }, + }, + lualine_x = { "branch" }, + lualine_y = { + { "progress", separator = " ", padding = { left = 1, right = 1 } }, + }, + lualine_z = { + { "location", padding = { left = 1, right = 0 } }, + }, + }, + extensions = {}, + }, + }, }