diff --git a/install.zsh b/install.zsh index 3dd5cd6..885f0ad 100755 --- a/install.zsh +++ b/install.zsh @@ -9,6 +9,8 @@ fi echo "Installing dependencies from Homebrew" brew install -q $(< ./dependencies/homebrew.txt) +brew install -q neovim --HEAD + echo "Installing rbenv plugins" pushd ruby/.rbenv/plugins git -C rbenv-default-gems pull || git clone git@github.com:rbenv/rbenv-default-gems.git rbenv-default-gems diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index f2a9eaa..1bd5f04 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -1,28 +1,26 @@ { - "cloak.nvim": { "branch": "main", "commit": "462e84e1659d984196d09f7d16690b19b9aee804" }, + "cloak.nvim": { "branch": "main", "commit": "6e5bcd50bebc5cdb7cd3a00eb3d97ab7c4cc3b94" }, "copilot.vim": { "branch": "release", "commit": "9484e35cf222e9360e05450622a884f95c662c4c" }, "flexoki": { "branch": "main", "commit": "975654bce67514114db89373539621cff42befb5" }, - "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, "git-blame.nvim": { "branch": "master", "commit": "a0282d05adbee80aaf4e2ff35b81b52940b67bed" }, - "lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" }, + "lazy.nvim": { "branch": "main", "commit": "31ddbea7c10b6920c9077b66c97951ca8682d5c8" }, "lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "2ba17cecfde8b8c7c7c287909a1e4de895223df6" }, - "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, - "nvim": { "branch": "main", "commit": "56fb98218d22d5c326387bf9e4076227e7372e6b" }, - "nvim-dap": { "branch": "master", "commit": "c1695e500c7d552a0a19953a9aefcc89178fb1af" }, + "nvim": { "branch": "main", "commit": "aebe43db9cb26e1c70fc5b2fd4158169c405e720" }, + "nvim-dap": { "branch": "master", "commit": "405df1dcc2e395ab5173a9c3d00e03942c023074" }, "nvim-dap-ruby": { "branch": "main", "commit": "a2248b7b31f6f096b9e847e769afd00060e0aae4" }, "nvim-dap-ui": { "branch": "master", "commit": "edfa93f60b189e5952c016eee262d0685d838450" }, - "nvim-lspconfig": { "branch": "master", "commit": "d67715d3b746a19e951b6b0a99663fa909bb9e64" }, - "nvim-nio": { "branch": "master", "commit": "7054695117581bdb0183b8d27d8d82b4a2ac8958" }, + "nvim-lspconfig": { "branch": "master", "commit": "96e5711040df23583591391ce49e556b8cd248d8" }, + "nvim-nio": { "branch": "master", "commit": "5800f585def265d52f1d8848133217c800bcb25d" }, "nvim-surround": { "branch": "main", "commit": "84a26afce16cffa7e3322cfa80a42cddf60616eb" }, "nvim-tmux-navigation": { "branch": "main", "commit": "4898c98702954439233fdaf764c39636681e2861" }, - "nvim-treesitter": { "branch": "master", "commit": "722617e6726c1508adadf83d531f54987c703be0" }, - "nvim-web-devicons": { "branch": "master", "commit": "cb0c967c9723a76ccb1be0cc3a9a10e577d2f6ec" }, - "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, + "nvim-treesitter": { "branch": "master", "commit": "1b050206e490a4146cdf25c7b38969c1711b5620" }, + "nvim-web-devicons": { "branch": "master", "commit": "3ee60deaa539360518eaab93a6c701fe9f4d82ef" }, + "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, "rspec.nvim": { "branch": "main", "commit": "304682100b152071c2186994690c9646a5d46e05" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "221778e93bfaa58bce4be4e055ed2edecc26f799" }, - "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, + "telescope.nvim": { "branch": "master", "commit": "4626aaa2bcfdacf55fd6d44b430e2df81b2403ff" }, + "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, "undotree": { "branch": "master", "commit": "aa93a7e5890dbbebbc064cd22260721a6db1a196" }, + "vim-doge": { "branch": "master", "commit": "a96aef58c04e30caf0ce6e98da2e43694624df18" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" } } \ No newline at end of file diff --git a/nvim/.config/nvim/lua/yock/plugins/lsp.lua b/nvim/.config/nvim/lua/yock/plugins/lsp.lua index d831275..5e4c72a 100644 --- a/nvim/.config/nvim/lua/yock/plugins/lsp.lua +++ b/nvim/.config/nvim/lua/yock/plugins/lsp.lua @@ -1,57 +1,23 @@ return { 'neovim/nvim-lspconfig', - dependencies = { - { 'williamboman/mason.nvim' }, - { 'williamboman/mason-lspconfig.nvim' }, - { 'rafamadriz/friendly-snippets' }, - }, config = function() - require('mason').setup({}) - require('mason-lspconfig').setup({ - automatic_install = true, - ensure_installed = { - 'solargraph', - 'ruby_ls', - 'rubocop', - 'lua_ls', - 'angularls', - 'tsserver', - }, - handlers = { - solargraph = function() - require('lspconfig').solargraph.setup({ - cmd = { 'solargraph', 'stdio' }, - filetypes = { 'ruby' }, - root_dir = require('lspconfig.util').root_pattern('.git', '.solargraph.yml'), - }) - end, - tsserver = function() - require('lspconfig').tsserver.setup({}) - end, - rubocop = function() - require('lspconfig').rubocop.setup({}) - end, - ruby_ls = function() - require('lspconfig').ruby_ls.setup({}) - end, - angularls = function() - require('lspconfig').angularls.setup({}) - end, - lua_ls = function() - require('lspconfig').lua_ls.setup({ - settings = { - Lua = { - diagnostics = { - globals = { - 'vim', - 'require', - } - } - } + local lspconfig = require('lspconfig') + + lspconfig.tsserver.setup({}) + --lspconfig.rubocop.setup({}) + lspconfig.ruby_ls.setup({}) + lspconfig.angularls.setup({}) + lspconfig.lua_ls.setup({ + settings = { + Lua = { + diagnostics = { + globals = { + 'vim', + 'require', } - }) - end, - }, + } + } + } }) vim.api.nvim_create_autocmd('LspAttach', { diff --git a/nvim/.config/nvim/lua/yock/plugins/rspec.lua b/nvim/.config/nvim/lua/yock/plugins/rspec.lua index d86fee5..5320399 100644 --- a/nvim/.config/nvim/lua/yock/plugins/rspec.lua +++ b/nvim/.config/nvim/lua/yock/plugins/rspec.lua @@ -12,5 +12,12 @@ return { last_failed_result_path = vim.fn.stdpath('data') .. '/rspec_last_failed_result', jump_command = 'edit', ignored_dirs_on_jump = {}, - } + }, + keys = { + { 'rn', 'RSpecNearest', desc = 'Run nearest spec' }, + { 'rf', 'RSpecCurrentFile', desc = 'Run spec file' }, + { 'rr', 'RSpecRerun', desc = 'Run last spec' }, + { 'rF', 'RSpecOnlyFailures', desc = 'Run previously failed specs' }, + { 'rR', 'RSpecShowLastResult', desc = 'Show last result' }, + }, } diff --git a/nvim/.config/nvim/lua/yock/plugins/vim-doge.lua b/nvim/.config/nvim/lua/yock/plugins/vim-doge.lua new file mode 100644 index 0000000..c410872 --- /dev/null +++ b/nvim/.config/nvim/lua/yock/plugins/vim-doge.lua @@ -0,0 +1,10 @@ +return { + 'kkoomen/vim-doge', + lazy = false, + build = function() + vim.api.nvim_command('call doge#install()') + end, + keys = { + { 'dg', '(doge-generate)', desc = 'Generate docstring' }, + }, +} diff --git a/nvim/.config/nvim/lua/yock/set.lua b/nvim/.config/nvim/lua/yock/set.lua index c6120e0..11d235a 100644 --- a/nvim/.config/nvim/lua/yock/set.lua +++ b/nvim/.config/nvim/lua/yock/set.lua @@ -24,3 +24,15 @@ vim.opt.signcolumn = 'yes' vim.opt.colorcolumn = '120' vim.g.mapleader = '\\' + +vim.api.nvim_command('filetype plugin on') + +vim.api.nvim_create_autocmd( + { 'BufNewFile', 'BufRead' }, + { + pattern = 'Guardfile', + callback = function() + vim.bo.filetype = 'ruby' + end, + } +)