From 6d7a38349135bec2678b1a5270847123d7ac4e6b Mon Sep 17 00:00:00 2001 From: Jacob Bohanon Date: Thu, 4 May 2023 20:11:25 -0400 Subject: [PATCH] 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