From 6d7a38349135bec2678b1a5270847123d7ac4e6b Mon Sep 17 00:00:00 2001 From: Jacob Bohanon Date: Thu, 4 May 2023 20:11:25 -0400 Subject: [PATCH 1/2] begin lua migration --- nvim/init.lua | 7 ++ nvim/lua/lsp.lua | 0 nvim/lua/plugins/init.lua | 61 +++++++++++++ nvim/lua/plugins/treesitter.lua | 4 + nvim/lua/remaps.lua | 0 nvim/lua/sets.lua | 27 ++++++ nvim/lua/theme.lua | 12 +++ nvim/{init.vim => not_init.vim} | 148 +++++++++++++++++--------------- nvim/nvim | 1 - 9 files changed, 191 insertions(+), 69 deletions(-) create mode 100644 nvim/init.lua create mode 100644 nvim/lua/lsp.lua create mode 100644 nvim/lua/plugins/init.lua create mode 100644 nvim/lua/plugins/treesitter.lua create mode 100644 nvim/lua/remaps.lua create mode 100644 nvim/lua/sets.lua create mode 100644 nvim/lua/theme.lua rename nvim/{init.vim => not_init.vim} (73%) delete mode 120000 nvim/nvim diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..3367bd4 --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1,7 @@ +require("sets") +require("plugins") +require("remaps") +require("lsp") +require("theme") + +vim.cmd("source ~/.config/nvim/not_init.vim") diff --git a/nvim/lua/lsp.lua b/nvim/lua/lsp.lua new file mode 100644 index 0000000..e69de29 diff --git a/nvim/lua/plugins/init.lua b/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..f9686a9 --- /dev/null +++ b/nvim/lua/plugins/init.lua @@ -0,0 +1,61 @@ +local Plug = vim.fn['plug#'] + +vim.call('plug#begin', '~/.vim/plugged') + +Plug 'voldikss/vim-floaterm' +Plug 'mbbill/undotree' +Plug 'wellle/context.vim' + +Plug 'tpope/vim-fugitive' +Plug 'tpope/vim-commentary' +Plug 'tpope/vim-surround' + +Plug 'f-person/git-blame.nvim' + +Plug 'gruvbox-community/gruvbox' + +Plug 'nvim-lua/plenary.nvim' +Plug 'ThePrimeagen/harpoon' + +Plug 'BurntSushi/ripgrep' + +Plug 'sharkdp/fd' + +Plug 'nvim-treesitter/nvim-treesitter' + +Plug('nvim-telescope/telescope-fzf-native.nvim', { ['do'] = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }) + +Plug 'nvim-telescope/telescope.nvim' + +Plug 'airblade/vim-gitgutter' + +Plug 'liuchengxu/vista.vim' + +-- Completion +Plug 'neovim/nvim-lspconfig' +Plug 'hrsh7th/cmp-nvim-lsp' +Plug 'hrsh7th/cmp-buffer' +Plug 'hrsh7th/cmp-path' +Plug 'hrsh7th/cmp-cmdline' +Plug 'hrsh7th/nvim-cmp' + +-- For vsnip users. +Plug 'hrsh7th/cmp-vsnip' +Plug 'hrsh7th/vim-vsnip' + +-- Go plugins +Plug 'fatih/vim-go' +Plug 'Shougo/neocomplete.vim' + +Plug 'majutsushi/tagbar' + +Plug 'vim-airline/vim-airline' +Plug 'vim-airline/vim-airline-themes' +Plug 'kyazdani42/nvim-web-devicons' +Plug 'kyazdani42/nvim-tree.lua' +Plug('ellisonleao/glow.nvim', { branch = 'main' }) +Plug 'tpope/vim-dispatch' + +vim.call('plug#end') + +require("plugins/treesitter") diff --git a/nvim/lua/plugins/treesitter.lua b/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..9afe552 --- /dev/null +++ b/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,4 @@ +require("nvim-tree").setup() +vim.api.nvim_set_option('foldmethod', 'expr') +vim.api.nvim_set_option('foldexpr', 'nvim_treesitter#foldexpr()') +vim.api.nvim_set_option('foldenable', false) diff --git a/nvim/lua/remaps.lua b/nvim/lua/remaps.lua new file mode 100644 index 0000000..e69de29 diff --git a/nvim/lua/sets.lua b/nvim/lua/sets.lua new file mode 100644 index 0000000..1af2fb4 --- /dev/null +++ b/nvim/lua/sets.lua @@ -0,0 +1,27 @@ +vim.api.nvim_set_option('number', true) +vim.api.nvim_set_option('relativenumber', true) +vim.api.nvim_win_set_option(0, 'wrap', false) + +vim.api.nvim_set_option('tabstop', 4) +vim.api.nvim_set_option('softtabstop', 4) +vim.api.nvim_set_option('shiftwidth', 4) +vim.api.nvim_set_option('expandtab', true) +vim.api.nvim_set_option('smartindent', true) +vim.api.nvim_set_option('termguicolors', true) +vim.api.nvim_set_option('scrolloff', 8) +vim.api.nvim_set_option('colorcolumn', "80,120") +vim.api.nvim_set_option('signcolumn', 'yes') +vim.api.nvim_set_option('cmdheight', 2) +vim.api.nvim_set_option('title', false) + +vim.api.nvim_set_option('hlsearch', false) +vim.api.nvim_set_option('incsearch', true) +vim.api.nvim_set_option('hidden', true) +vim.api.nvim_set_option('errorbells', false) +vim.api.nvim_set_option('updatetime', 50) + +vim.api.nvim_set_option('swapfile', false) +vim.api.nvim_set_option('backup', false) +vim.api.nvim_set_option('undofile', true) +vim.api.nvim_set_option('undodir', '~/.vim/undodir') + diff --git a/nvim/lua/theme.lua b/nvim/lua/theme.lua new file mode 100644 index 0000000..e9c7d34 --- /dev/null +++ b/nvim/lua/theme.lua @@ -0,0 +1,12 @@ +local themegroup = vim.api.nvim_create_augroup('themegroup', { clear = true }) + +vim.api.nvim_create_autocmd('ColorScheme', { + pattern = "*", + group = themegroup, + command = "hi Normal guibg=none ctermbg=none", +}) +vim.api.nvim_create_autocmd('ColorScheme', { + pattern = "*", + group = themegroup, + command = "hi NonText guibg=none ctermbg=none", +}) diff --git a/nvim/init.vim b/nvim/not_init.vim similarity index 73% rename from nvim/init.vim rename to nvim/not_init.vim index 608bace..5586aeb 100644 --- a/nvim/init.vim +++ b/nvim/not_init.vim @@ -1,97 +1,105 @@ imap jj -set number -set relativenumber -set tabstop=4 softtabstop=4 -set shiftwidth=4 -set expandtab -set smartindent -set nohlsearch -set hidden -set noerrorbells -set nowrap -set noswapfile -set nobackup -set undodir=~/.vim/undodir -set undofile -set incsearch -set termguicolors -set scrolloff=8 -set colorcolumn=80,120 -set signcolumn=yes -set cmdheight=2 -set notitle -set updatetime=50 -au ColorScheme * hi Normal guibg=none ctermbg=none -au ColorScheme * hi NonText guibg=none ctermbg=none +" set number +" set relativenumber +" set tabstop=4 softtabstop=4 +" set shiftwidth=4 +" set expandtab +" set smartindent +" set nohlsearch +" set hidden +" set noerrorbells +" set nowrap +" set noswapfile +" set nobackup +" set undodir=~/.vim/undodir +" set undofile +" set incsearch +" set termguicolors +" set scrolloff=8 +" set colorcolumn=80,120 +" set signcolumn=yes +" set cmdheight=2 +" set notitle +" set updatetime=50 +" au ColorScheme * hi Normal guibg=none ctermbg=none +" au ColorScheme * hi NonText guibg=none ctermbg=none -call plug#begin('~/.vim/plugged') +" call plug#begin('~/.vim/plugged') -Plug 'voldikss/vim-floaterm' -Plug 'mbbill/undotree' -Plug 'wellle/context.vim' +" Plug 'voldikss/vim-floaterm' +" Plug 'mbbill/undotree' +" Plug 'wellle/context.vim' -Plug 'tpope/vim-fugitive' -Plug 'tpope/vim-commentary' -Plug 'tpope/vim-surround' +" Plug 'tpope/vim-fugitive' +" Plug 'tpope/vim-commentary' +" Plug 'tpope/vim-surround' -Plug 'f-person/git-blame.nvim' +" Plug 'f-person/git-blame.nvim' -Plug 'gruvbox-community/gruvbox' +" Plug 'gruvbox-community/gruvbox' -Plug 'nvim-lua/plenary.nvim' -Plug 'ThePrimeagen/harpoon' +" Plug 'nvim-lua/plenary.nvim' +" Plug 'ThePrimeagen/harpoon' -Plug 'BurntSushi/ripgrep' +" Plug 'BurntSushi/ripgrep' -Plug 'sharkdp/fd' +" Plug 'sharkdp/fd' -Plug 'nvim-treesitter/nvim-treesitter' +" Plug 'nvim-treesitter/nvim-treesitter' -Plug 'nvim-telescope/telescope-fzf-native.nvim', { 'do': 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } +" Plug 'nvim-telescope/telescope-fzf-native.nvim', { 'do': 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } -Plug 'nvim-telescope/telescope.nvim' +" Plug 'nvim-telescope/telescope.nvim' -Plug 'airblade/vim-gitgutter' +" Plug 'airblade/vim-gitgutter' -Plug 'liuchengxu/vista.vim' +" Plug 'liuchengxu/vista.vim' -" Completion -Plug 'neovim/nvim-lspconfig' -Plug 'hrsh7th/cmp-nvim-lsp' -Plug 'hrsh7th/cmp-buffer' -Plug 'hrsh7th/cmp-path' -Plug 'hrsh7th/cmp-cmdline' -Plug 'hrsh7th/nvim-cmp' +" " Completion +" Plug 'neovim/nvim-lspconfig' +" Plug 'hrsh7th/cmp-nvim-lsp' +" Plug 'hrsh7th/cmp-buffer' +" Plug 'hrsh7th/cmp-path' +" Plug 'hrsh7th/cmp-cmdline' +" Plug 'hrsh7th/nvim-cmp' -" For vsnip users. -Plug 'hrsh7th/cmp-vsnip' -Plug 'hrsh7th/vim-vsnip' +" " For vsnip users. +" Plug 'hrsh7th/cmp-vsnip' +" Plug 'hrsh7th/vim-vsnip' -" Go plugins -Plug 'fatih/vim-go' -Plug 'Shougo/neocomplete.vim' +" " Go plugins +" Plug 'fatih/vim-go' +" Plug 'Shougo/neocomplete.vim' -Plug 'majutsushi/tagbar' +" Plug 'majutsushi/tagbar' -Plug 'vim-airline/vim-airline' -Plug 'vim-airline/vim-airline-themes' -Plug 'kyazdani42/nvim-web-devicons' -Plug 'kyazdani42/nvim-tree.lua' -Plug 'ellisonleao/glow.nvim', {'branch': 'main'} -Plug 'tpope/vim-dispatch' -call plug#end() +" Plug 'vim-airline/vim-airline' +" Plug 'vim-airline/vim-airline-themes' +" Plug 'kyazdani42/nvim-web-devicons' +" Plug 'kyazdani42/nvim-tree.lua' +" Plug 'ellisonleao/glow.nvim', {'branch': 'main'} +" Plug 'tpope/vim-dispatch' +" call plug#end() let $GINKGO_EDITOR_INTEGRATION = "true" -lua require('nvim-tree').setup() +" lua require('nvim-tree').setup() + +" set foldmethod=expr +" set foldexpr=nvim_treesitter#foldexpr() +" set nofoldenable " Disable folding at startup. +" nnoremap zz za +" nnoremap ZZ zA " Find files using Telescope command-line sugar. let mapleader = " " nnoremap ff lua require('telescope.builtin').find_files({hidden = true, file_ignore_patterns = {"^.git"}}) nnoremap fg lua require('telescope.builtin').live_grep() nnoremap fb lua require('telescope.builtin').buffers() +nnoremap ft lua require('telescope.builtin').grep_string() nnoremap fh lua require('harpoon.ui').toggle_quick_menu() +nnoremap tr lua require('telescope.builtin').treesitter() nnoremap err oif err != nil {return nil, err}kkI nnoremap :GoReferrers @@ -178,6 +186,7 @@ lua << EOF -- See `:help vim.diagnostic.*` for documentation on any of the below functions local opts = { noremap=true, silent=true } vim.keymap.set('n', 'd', vim.diagnostic.open_float, opts) +vim.keymap.set('n', 'dd', require'telescope.builtin'.diagnostics, opts) vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) vim.keymap.set('n', 'dl', vim.diagnostic.setloclist, opts) @@ -191,15 +200,18 @@ local on_attach = function(client, bufnr) -- Mappings. -- See `:help vim.lsp.*` for documentation on any of the below functions local bufopts = { noremap=true, silent=true, buffer=bufnr } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) + --vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) + vim.keymap.set('n', 'gD', require'telescope.builtin'.lsp_type_definitions, bufopts) + --vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) + vim.keymap.set('n', 'gd', require'telescope.builtin'.lsp_definitions, bufopts) vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) - vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) + vim.keymap.set('n', 'gi', require'telescope.builtin'.lsp_implementations, bufopts) vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) - vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) + --vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) + vim.keymap.set('n', 'gr', require'telescope.builtin'.lsp_references, bufopts) vim.keymap.set('n', 'f', vim.lsp.buf.format, bufopts) end local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities()) diff --git a/nvim/nvim b/nvim/nvim deleted file mode 120000 index 8b5a7d9..0000000 --- a/nvim/nvim +++ /dev/null @@ -1 +0,0 @@ -/home/jacob/.dotfiles/nvim \ No newline at end of file From d77d0f2e358a562af3487e2a0ada2c5e4803f3ae Mon Sep 17 00:00:00 2001 From: Jacob Bohanon Date: Tue, 16 May 2023 15:31:46 -0400 Subject: [PATCH 2/2] modify lua init --- nvim/init.lua | 4 +- nvim/lua/keymaps.lua | 41 ++ nvim/lua/lsp.lua | 63 ++++ nvim/lua/{remaps.lua => plugins/floaterm.lua} | 0 nvim/lua/plugins/harpoon.lua | 29 ++ nvim/lua/plugins/init.lua | 4 + nvim/lua/plugins/nvim-cmp.lua | 73 ++++ nvim/lua/plugins/telescope.lua | 21 ++ nvim/lua/sets.lua | 6 +- nvim/not_init.vim | 350 +++++++++--------- zsh/config.d/gcloud.zsh | 3 + 11 files changed, 411 insertions(+), 183 deletions(-) create mode 100644 nvim/lua/keymaps.lua rename nvim/lua/{remaps.lua => plugins/floaterm.lua} (100%) create mode 100644 nvim/lua/plugins/harpoon.lua create mode 100644 nvim/lua/plugins/nvim-cmp.lua create mode 100644 nvim/lua/plugins/telescope.lua diff --git a/nvim/init.lua b/nvim/init.lua index 3367bd4..6edef01 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1,6 +1,8 @@ +vim.g.mapleader = " " + require("sets") require("plugins") -require("remaps") +require("keymaps") require("lsp") require("theme") diff --git a/nvim/lua/keymaps.lua b/nvim/lua/keymaps.lua new file mode 100644 index 0000000..f9a95e3 --- /dev/null +++ b/nvim/lua/keymaps.lua @@ -0,0 +1,41 @@ +local map = vim.api.nvim_set_keymap + +local noremap = function(ctx, keys, cmd, opts) + opts = opts or {} + opts['noremap'] = true + opts['silent'] = true + map(ctx, keys, cmd, opts) +end + +local nnoremap = function(keys, cmd) + noremap('n', keys, cmd, nil) +end +local tnoremap = function(keys, cmd) + noremap('t', keys, cmd, nil) +end +local vnoremap = function(keys, cmd) + noremap('v', keys, cmd, nil) +end + +-- For plugin-specific keymaps, see that plugin's file in lua/plugins/ + +map('i', 'jj', '', {}) + +nnoremap('q', ':bp|bd #') +nnoremap('w', ':w') +nnoremap('n', ':bn') +nnoremap('b', ':bp') + +nnoremap('', '') +nnoremap('', '') +nnoremap('', '') +nnoremap('', '') + +tnoremap('', '') +tnoremap('', '') +tnoremap('', '') +tnoremap('', '') +tnoremap('', '') + +vnoremap('J', ':m \'>+1gv=gv') +vnoremap('K', ':m \'<-2gv=gv') diff --git a/nvim/lua/lsp.lua b/nvim/lua/lsp.lua index e69de29..df6833b 100644 --- a/nvim/lua/lsp.lua +++ b/nvim/lua/lsp.lua @@ -0,0 +1,63 @@ +-- Mappings. +-- See `:help vim.diagnostic.*` for documentation on any of the below functions +local opts = { noremap=true, silent=true } +vim.keymap.set('n', 'd', vim.diagnostic.open_float, opts) +vim.keymap.set('n', 'dd', require'telescope.builtin'.diagnostics, opts) +vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) +vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) +vim.keymap.set('n', 'dl', vim.diagnostic.setloclist, opts) + +-- Use an on_attach function to only map the following keys +-- after the language server attaches to the current buffer +local on_attach = function(client, bufnr) + -- Enable completion triggered by + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Mappings. + -- See `:help vim.lsp.*` for documentation on any of the below functions + local bufopts = { noremap=true, silent=true, buffer=bufnr } + --vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) + vim.keymap.set('n', 'gD', require'telescope.builtin'.lsp_type_definitions, bufopts) + --vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) + vim.keymap.set('n', 'gd', require'telescope.builtin'.lsp_definitions, bufopts) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) + vim.keymap.set('n', 'gi', require'telescope.builtin'.lsp_implementations, bufopts) + vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) + vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) + vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) + --vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) + vim.keymap.set('n', 'gr', require'telescope.builtin'.lsp_references, bufopts) + vim.keymap.set('n', 'f', vim.lsp.buf.format, bufopts) +end +local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities()) +require('lspconfig')['gopls'].setup{ + settings = { + gopls = { + templateExtensions = {'gotmpl', 'gohtml'}, + } + }, + filetypes = { "go", "gomod", "gowork", "gotmpl", "gohtml", "gohtmltmpl" }, + on_attach = on_attach, + capabilities = capabilities, +} +require('lspconfig')['pyright'].setup{ + on_attach = on_attach, + capabilities = capabilities, +} +require('lspconfig')['tsserver'].setup{ + on_attach = on_attach, + capabilities = capabilities, +} +require('lspconfig')['clangd'].setup{ + on_attach = on_attach, + capabilities = capabilities, +} +require('lspconfig')['rust_analyzer'].setup{ + on_attach = on_attach, + capabilities = capabilities, +} +require('lspconfig')['bashls'].setup{ + on_attach = on_attach, + capabilities = capabilities, +} diff --git a/nvim/lua/remaps.lua b/nvim/lua/plugins/floaterm.lua similarity index 100% rename from nvim/lua/remaps.lua rename to nvim/lua/plugins/floaterm.lua diff --git a/nvim/lua/plugins/harpoon.lua b/nvim/lua/plugins/harpoon.lua new file mode 100644 index 0000000..f601683 --- /dev/null +++ b/nvim/lua/plugins/harpoon.lua @@ -0,0 +1,29 @@ +local map = vim.api.nvim_set_keymap + +local harp = require('harpoon.ui') + +local harpmap = function(cmd, cb) + map('n', cmd, '', { + noremap = true, + silent = true, + callback = cb, + }) +end + +local nav_file = function(n) + return function() + harp.nav_file(n) + end +end + +harpmap('ee', require('harpoon.mark').add_file) +harpmap('fh', harp.toggle_quick_menu) +harpmap('1', nav_file(1)) +harpmap('2', nav_file(2)) +harpmap('3', nav_file(3)) +harpmap('4', nav_file(4)) +harpmap('5', nav_file(5)) +harpmap('6', nav_file(6)) +harpmap('7', nav_file(7)) +harpmap('8', nav_file(8)) +harpmap('9', nav_file(9)) diff --git a/nvim/lua/plugins/init.lua b/nvim/lua/plugins/init.lua index f9686a9..5c70f1e 100644 --- a/nvim/lua/plugins/init.lua +++ b/nvim/lua/plugins/init.lua @@ -58,4 +58,8 @@ Plug 'tpope/vim-dispatch' vim.call('plug#end') +require("plugins/floaterm") +require("plugins/harpoon") +require("plugins/telescope") require("plugins/treesitter") +require("plugins/nvim-cmp") diff --git a/nvim/lua/plugins/nvim-cmp.lua b/nvim/lua/plugins/nvim-cmp.lua new file mode 100644 index 0000000..19f22c2 --- /dev/null +++ b/nvim/lua/plugins/nvim-cmp.lua @@ -0,0 +1,73 @@ +local cmp = require('cmp') + +cmp.setup({ + snippet = { + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + 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" }), + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'vsnip' }, + }, { + { name = 'buffer' }, + }) +}) + +-- Set configuration for specific filetype. +cmp.setup.filetype('gitcommit', { + sources = cmp.config.sources({ + { name = 'cmp_git' }, + }, { + { name = 'buffer' }, + }) +}) + +-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline('/', { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = 'buffer' } + } +}) + +-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline(':', { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = 'path' } + }, { + { name = 'cmdline' } + }) +}) diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..0ab4ada --- /dev/null +++ b/nvim/lua/plugins/telescope.lua @@ -0,0 +1,21 @@ +local map = vim.api.nvim_set_keymap + +local tele = require('telescope.builtin') + +local telemap = function(cmd, cb) + map('n', cmd, '', { + noremap = true, + silent = true, + callback = cb, + }) +end + +telemap('ff', function() tele.find_files({ hidden = true, file_ignore_patterns = {'^.git'} }) end) + +telemap('fg', tele.live_grep) + +telemap('fb', tele.buffers) + +telemap('ft', tele.grep_string) + +telemap('tr', tele.treesitter) diff --git a/nvim/lua/sets.lua b/nvim/lua/sets.lua index 1af2fb4..f3cba80 100644 --- a/nvim/lua/sets.lua +++ b/nvim/lua/sets.lua @@ -1,5 +1,5 @@ -vim.api.nvim_set_option('number', true) -vim.api.nvim_set_option('relativenumber', true) +vim.api.nvim_win_set_option(0, 'number', true) +vim.api.nvim_win_set_option(0, 'relativenumber', true) vim.api.nvim_win_set_option(0, 'wrap', false) vim.api.nvim_set_option('tabstop', 4) @@ -23,5 +23,5 @@ vim.api.nvim_set_option('updatetime', 50) vim.api.nvim_set_option('swapfile', false) vim.api.nvim_set_option('backup', false) vim.api.nvim_set_option('undofile', true) -vim.api.nvim_set_option('undodir', '~/.vim/undodir') +vim.api.nvim_set_option('undodir', vim.fn.expand('~')..'/.vim/undodir') diff --git a/nvim/not_init.vim b/nvim/not_init.vim index 5586aeb..dc3699c 100644 --- a/nvim/not_init.vim +++ b/nvim/not_init.vim @@ -1,4 +1,4 @@ -imap jj +" imap jj " set number " set relativenumber @@ -93,46 +93,45 @@ let $GINKGO_EDITOR_INTEGRATION = "true" " nnoremap ZZ zA " Find files using Telescope command-line sugar. -let mapleader = " " -nnoremap ff lua require('telescope.builtin').find_files({hidden = true, file_ignore_patterns = {"^.git"}}) -nnoremap fg lua require('telescope.builtin').live_grep() -nnoremap fb lua require('telescope.builtin').buffers() -nnoremap ft lua require('telescope.builtin').grep_string() -nnoremap fh lua require('harpoon.ui').toggle_quick_menu() -nnoremap tr lua require('telescope.builtin').treesitter() +" let mapleader = \" \" +" nnoremap ff lua require('telescope.builtin').find_files({hidden = true, file_ignore_patterns = {"^.git"}}) +" nnoremap fg lua require('telescope.builtin').live_grep() +" nnoremap fb lua require('telescope.builtin').buffers() +" nnoremap ft lua require('telescope.builtin').grep_string() +" nnoremap fh lua require('harpoon.ui').toggle_quick_menu() +" nnoremap tr lua require('telescope.builtin').treesitter() nnoremap err oif err != nil {return nil, err}kkI -nnoremap :GoReferrers -nnoremap q :bp\|bd # -nnoremap w :w -nnoremap n :bn -nnoremap b :bp -nnoremap 1 lua require("harpoon.ui").nav_file(1) -nnoremap 2 lua require("harpoon.ui").nav_file(2) -nnoremap 3 lua require("harpoon.ui").nav_file(3) -nnoremap 4 lua require("harpoon.ui").nav_file(4) -nnoremap 5 lua require("harpoon.ui").nav_file(5) -nnoremap 6 lua require("harpoon.ui").nav_file(6) -nnoremap 7 lua require("harpoon.ui").nav_file(7) -nnoremap 8 lua require("harpoon.ui").nav_file(8) -nnoremap 9 lua require("harpoon.ui").nav_file(9) -nnoremap -nnoremap -nnoremap -nnoremap -tnoremap -tnoremap -tnoremap -tnoremap -tnoremap +" nnoremap q :bp\|bd # +" nnoremap w :w +" nnoremap n :bn +" nnoremap b :bp +" nnoremap 1 lua require("harpoon.ui").nav_file(1) +" nnoremap 2 lua require("harpoon.ui").nav_file(2) +" nnoremap 3 lua require("harpoon.ui").nav_file(3) +" nnoremap 4 lua require("harpoon.ui").nav_file(4) +" nnoremap 5 lua require("harpoon.ui").nav_file(5) +" nnoremap 6 lua require("harpoon.ui").nav_file(6) +" nnoremap 7 lua require("harpoon.ui").nav_file(7) +" nnoremap 8 lua require("harpoon.ui").nav_file(8) +" nnoremap 9 lua require("harpoon.ui").nav_file(9) +" nnoremap +" nnoremap +" nnoremap +" nnoremap +" tnoremap +" tnoremap +" tnoremap +" tnoremap +" tnoremap nnoremap ee :NvimTreeFindFileToggle -nnoremap h lua require("harpoon.mark").add_file() +" nnoremap h lua require("harpoon.mark").add_file() nnoremap / :Commentary vnoremap / :Commentary -vnoremap J :m '>+1gv=gv -vnoremap K :m '<-2gv=gv +" vnoremap J :m '>+1gv=gv +" vnoremap K :m '<-2gv=gv let g:floaterm_wintype='split' let g:floaterm_height=0.2 @@ -146,8 +145,9 @@ nnoremap :FloatermToggle tnoremap :FloatermToggle let mapleader = '\' -nnoremap :so ~/.config/nvim/init.vim -nnoremap :e ~/.config/nvim/init.vim +nnoremap :so ~/.config/nvim/init.lua +nnoremap :e ~/.config/nvim/init.lua +let mapleader = ' ' augroup jbohanon autocmd! @@ -179,154 +179,146 @@ let g:airline#extensions#tabline#enabled = 1 let g:airline_powerline_fonts = 1 " Completion config -set completeopt=menu,menuone,noselect +set completeopt=menu,menuone,noselect,noinsert,preview -lua << EOF --- Mappings. --- See `:help vim.diagnostic.*` for documentation on any of the below functions -local opts = { noremap=true, silent=true } -vim.keymap.set('n', 'd', vim.diagnostic.open_float, opts) -vim.keymap.set('n', 'dd', require'telescope.builtin'.diagnostics, opts) -vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) -vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) -vim.keymap.set('n', 'dl', vim.diagnostic.setloclist, opts) +" lua << EOF +" -- Mappings. +" -- See `:help vim.diagnostic.*` for documentation on any of the below functions +" local opts = { noremap=true, silent=true } +" vim.keymap.set('n', 'd', vim.diagnostic.open_float, opts) +" vim.keymap.set('n', 'dd', require'telescope.builtin'.diagnostics, opts) +" vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) +" vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) +" vim.keymap.set('n', 'dl', vim.diagnostic.setloclist, opts) --- Use an on_attach function to only map the following keys --- after the language server attaches to the current buffer -local on_attach = function(client, bufnr) - -- Enable completion triggered by - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') +" -- Use an on_attach function to only map the following keys +" -- after the language server attaches to the current buffer +" local on_attach = function(client, bufnr) +" -- Enable completion triggered by +" vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - -- Mappings. - -- See `:help vim.lsp.*` for documentation on any of the below functions - local bufopts = { noremap=true, silent=true, buffer=bufnr } - --vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) - vim.keymap.set('n', 'gD', require'telescope.builtin'.lsp_type_definitions, bufopts) - --vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) - vim.keymap.set('n', 'gd', require'telescope.builtin'.lsp_definitions, bufopts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) - vim.keymap.set('n', 'gi', require'telescope.builtin'.lsp_implementations, bufopts) - vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) - vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) - --vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) - vim.keymap.set('n', 'gr', require'telescope.builtin'.lsp_references, bufopts) - vim.keymap.set('n', 'f', vim.lsp.buf.format, bufopts) -end -local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities()) -require('lspconfig')['gopls'].setup{ - settings = { - gopls = { - templateExtensions = {'gotmpl', 'gohtml'}, - } - }, - filetypes = { "go", "gomod", "gowork", "gotmpl", "gohtml", "gohtmltmpl" }, - on_attach = on_attach, - capabilities = capabilities, -} -require('lspconfig')['pyright'].setup{ - on_attach = on_attach, - capabilities = capabilities, -} -require('lspconfig')['tsserver'].setup{ - on_attach = on_attach, - capabilities = capabilities, -} -require('lspconfig')['clangd'].setup{ - on_attach = on_attach, - capabilities = capabilities, -} -require('lspconfig')['rust_analyzer'].setup{ - on_attach = on_attach, - capabilities = capabilities, -} -require('lspconfig')['bashls'].setup{ - on_attach = on_attach, - capabilities = capabilities, -} -EOF +" -- Mappings. +" -- See `:help vim.lsp.*` for documentation on any of the below functions +" local bufopts = { noremap=true, silent=true, buffer=bufnr } +" --vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) +" vim.keymap.set('n', 'gD', require'telescope.builtin'.lsp_type_definitions, bufopts) +" --vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) +" vim.keymap.set('n', 'gd', require'telescope.builtin'.lsp_definitions, bufopts) +" vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) +" vim.keymap.set('n', 'gi', require'telescope.builtin'.lsp_implementations, bufopts) +" vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) +" vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) +" vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) +" vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) +" --vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) +" vim.keymap.set('n', 'gr', require'telescope.builtin'.lsp_references, bufopts) +" vim.keymap.set('n', 'f', vim.lsp.buf.format, bufopts) +" end +" local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities()) +" require('lspconfig')['gopls'].setup{ +" settings = { +" gopls = { +" templateExtensions = {'gotmpl', 'gohtml'}, +" } +" }, +" filetypes = { "go", "gomod", "gowork", "gotmpl", "gohtml", "gohtmltmpl" }, +" on_attach = on_attach, +" capabilities = capabilities, +" } +" require('lspconfig')['pyright'].setup{ +" on_attach = on_attach, +" capabilities = capabilities, +" } +" require('lspconfig')['tsserver'].setup{ +" on_attach = on_attach, +" capabilities = capabilities, +" } +" require('lspconfig')['clangd'].setup{ +" on_attach = on_attach, +" capabilities = capabilities, +" } +" require('lspconfig')['rust_analyzer'].setup{ +" on_attach = on_attach, +" capabilities = capabilities, +" } +" require('lspconfig')['bashls'].setup{ +" on_attach = on_attach, +" capabilities = capabilities, +" } +" EOF -lua <"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - 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" }), - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - }), - sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - { name = 'vsnip' }, - }, { - { name = 'buffer' }, - }) - }) +" cmp.setup({ +" snippet = { +" expand = function(args) +" vim.fn["vsnip#anonymous"](args.body) +" end, +" }, +" window = { +" completion = cmp.config.window.bordered(), +" documentation = cmp.config.window.bordered(), +" }, +" mapping = cmp.mapping.preset.insert({ +" [""] = cmp.mapping(function(fallback) +" if cmp.visible() then +" cmp.select_next_item() +" 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" }), +" [''] = cmp.mapping.scroll_docs(-4), +" [''] = cmp.mapping.scroll_docs(4), +" [''] = cmp.mapping.complete(), +" [''] = cmp.mapping.abort(), +" [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. +" }), +" sources = cmp.config.sources({ +" { name = 'nvim_lsp' }, +" { name = 'vsnip' }, +" }, { +" { name = 'buffer' }, +" }) +" }) - -- Set configuration for specific filetype. - cmp.setup.filetype('gitcommit', { - sources = cmp.config.sources({ - { name = 'cmp_git' }, - }, { - { name = 'buffer' }, - }) - }) +" -- Set configuration for specific filetype. +" cmp.setup.filetype('gitcommit', { +" sources = cmp.config.sources({ +" { name = 'cmp_git' }, +" }, { +" { name = 'buffer' }, +" }) +" }) - -- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline('/', { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = 'buffer' } - } - }) +" -- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). +" cmp.setup.cmdline('/', { +" mapping = cmp.mapping.preset.cmdline(), +" sources = { +" { name = 'buffer' } +" } +" }) - -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline(':', { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = 'path' } - }, { - { name = 'cmdline' } - }) - }) -EOF - -lua << EOF -vim.filetype.add({ - extension = { - gohtml = "gohtmltmpl" - } -}) -EOF +" -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). +" cmp.setup.cmdline(':', { +" mapping = cmp.mapping.preset.cmdline(), +" sources = cmp.config.sources({ +" { name = 'path' } +" }, { +" { name = 'cmdline' } +" }) +" }) +" EOF diff --git a/zsh/config.d/gcloud.zsh b/zsh/config.d/gcloud.zsh index 603c1b8..0c506d2 100644 --- a/zsh/config.d/gcloud.zsh +++ b/zsh/config.d/gcloud.zsh @@ -8,3 +8,6 @@ alias startenvoydev="gcloud compute instances start bohanon-envoy-dev --zone us- alias stopenvoydev="gcloud compute instances stop bohanon-envoy-dev --zone us-central1-c --project solo-test-236622" alias sshenvoydev="gcloud beta compute ssh --zone us-central1-c bohanon-envoy-dev --project solo-test-236622" +alias startoldenvoydev="gcloud compute instances start bohanon-envoy-dev-old --zone us-central1-a --project solo-test-236622 && gcloud compute config-ssh --force-key-file-overwrite --project solo-test-236622" +alias stopoldenvoydev="gcloud compute instances stop bohanon-envoy-dev-old --zone us-central1-a --project solo-test-236622" +alias ssholdenvoydev="gcloud beta compute ssh --zone us-central1-a bohanon-envoy-dev-old --project solo-test-236622"