" hello front end masters set path+=** " Nice menu when typing `:find *.py` set wildmode=longest,list,full set wildmenu " Ignore files set wildignore+=*.pyc set wildignore+=*_build/* set wildignore+=**/coverage/* set wildignore+=**/node_modules/* set wildignore+=**/android/* set wildignore+=**/ios/* set wildignore+=**/.git/* local fn = vim.fn local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) end return require('packer').startup(function(use) -- My plugins here -- use 'foo1/bar1.nvim' -- use 'foo2/bar2.nvim' -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if packer_bootstrap then require('packer').sync() end end) call plug#begin('~/.vim/plugged') " Yes, I am a sneaky snek now Plug 'ambv/black' " Plebvim lsp Plugins Plug 'neovim/nvim-lspconfig' Plug 'hrsh7th/cmp-nvim-lsp' Plug 'hrsh7th/cmp-buffer' Plug 'hrsh7th/nvim-cmp' Plug 'tzachar/cmp-tabnine', { 'do': './install.sh' } Plug 'onsails/lspkind-nvim' Plug 'github/copilot.vim' Plug 'nvim-lua/lsp_extensions.nvim' " Plug 'nvim-lua/completion-nvim' Plug 'glepnir/lspsaga.nvim' Plug 'simrat39/symbols-outline.nvim' " Plug 'tjdevries/nlua.nvim' " Plug 'tjdevries/lsp_extensions.nvim' " Neovim Tree shitter Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} Plug 'nvim-treesitter/playground' " Debugger Plugins Plug 'mfussenegger/nvim-dap' Plug 'Pocco81/DAPInstall.nvim' Plug 'szw/vim-maximizer' " Snippets Plug 'L3MON4D3/LuaSnip' Plug 'rafamadriz/friendly-snippets' Plug 'rust-lang/rust.vim' Plug 'darrikonn/vim-gofmt' Plug 'tpope/vim-fugitive' Plug 'tpope/vim-rhubarb' Plug 'junegunn/gv.vim' Plug 'vim-utils/vim-man' Plug 'mbbill/undotree' Plug 'tpope/vim-dispatch' Plug 'theprimeagen/vim-be-good' Plug 'gruvbox-community/gruvbox' Plug 'luisiacc/gruvbox-baby' Plug 'tpope/vim-projectionist' Plug 'tomlion/vim-solidity' " telescope requirements... Plug 'nvim-lua/popup.nvim' Plug 'nvim-lua/plenary.nvim' Plug 'nvim-telescope/telescope.nvim' Plug 'nvim-telescope/telescope-fzy-native.nvim' Plug 'vim-conf-live/vimconflive2021-colorscheme' Plug 'flazz/vim-colorschemes' Plug 'chriskempson/base16-vim' " HARPOON!! Plug 'mhinz/vim-rfc' " prettier Plug 'sbdchd/neoformat' " should I try another status bar??? " Plug 'glepnir/galaxyline.nvim' , {'branch': 'main'} " Plug 'hoob3rt/lualine.nvim' call plug#end() " let g:vimspector_install_gadgets = [ 'debugpy', 'vscode-cpptools', 'CodeLLDB' ] lua require("theprimeagen") lua require'nvim-treesitter.configs'.setup { highlight = { enable = true }, incremental_selection = { enable = true }, textobjects = { enable = true }} if executable('rg') let g:rg_derive_root='true' endif let loaded_matchparen = 1 let mapleader = " " nnoremap Q nnoremap :silent !tmux neww tmux-sessionizer nnoremap u :UndotreeShow nnoremap lua vim.lsp.buf.definition() nnoremap K lua vim.lsp.buf.hover() nnoremap gD lua vim.lsp.buf.implementation() nnoremap lua vim.lsp.buf.signature_help() nnoremap 1gD lua vim.lsp.buf.type_definition() nnoremap gr lua vim.lsp.buf.references() nnoremap g0 lua vim.lsp.buf.document_symbol() nnoremap gW lua vim.lsp.buf.workspace_symbol() nnoremap gd lua vim.lsp.buf.definition() nnoremap ga lua vim.lsp.buf.code_action() " have a fixed column for the diagnostics to appear in " this removes the jitter when warnings/errors flow in set signcolumn=yes " Set updatetime for CursorHold " 300ms of no cursor movement to trigger CursorHold set updatetime=300 " Show diagnostic popup on cursor hover autocmd CursorHold * lua vim.diagnostic.open_float(nil, { focusable = false }) " Goto previous/next diagnostic warning/error nnoremap g[ lua vim.diagnostic.goto_prev() nnoremap g] lua vim.diagnostic.goto_next() inoremap nmap nn :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' \ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" \ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">" augroup highlight_yank autocmd! autocmd TextYankPost * silent! lua require'vim.highlight'.on_yank({timeout = 40}) augroup END augroup THE_PRIMEAGEN autocmd! autocmd BufWritePre *.lua Neoformat autocmd BufWritePre * %s/\s\+$//e autocmd BufEnter,BufWinEnter,TabEnter *.rs :lua require'lsp_extensions'.inlay_hints{} augroup END augroup fmt autocmd! autocmd BufWritePre * undojoin | Neoformat augroup END