Updated dotfiles, but not complete and still need installation script updates.
This commit is contained in:
		
							parent
							
								
									a1feaeb14e
								
							
						
					
					
						commit
						e7a6bacc19
					
				
					 11 changed files with 139 additions and 30 deletions
				
			
		
							
								
								
									
										11
									
								
								neovim/after/plugin/nvim-lint.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								neovim/after/plugin/nvim-lint.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | lua << EOF | ||||||
|  | require('lint').linters_by_ft = { | ||||||
|  |   markdown = {'vale',}, | ||||||
|  |   html = {'tidy',}, | ||||||
|  |   vim = {'vint',}, | ||||||
|  |   yaml = {'yamllint'}, | ||||||
|  | } | ||||||
|  | EOF | ||||||
|  | 
 | ||||||
|  | " Run linting after buffer write | ||||||
|  | au BufWritePost <buffer> lua require('lint').try_lint() | ||||||
							
								
								
									
										5
									
								
								neovim/after/plugin/nvim-web-devicons.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								neovim/after/plugin/nvim-web-devicons.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | lua << EOF | ||||||
|  | require'nvim-web-devicons'.setup { | ||||||
|  |     default = true; | ||||||
|  | } | ||||||
|  | EOF | ||||||
							
								
								
									
										14
									
								
								neovim/after/plugin/telescope.nvim.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								neovim/after/plugin/telescope.nvim.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | ||||||
|  | lua << EOF | ||||||
|  | local actions = require("telescope.actions") | ||||||
|  | local trouble = require("trouble.providers.telescope") | ||||||
|  | require('telescope').setup {  | ||||||
|  |     defaults = { | ||||||
|  |         mappings = { | ||||||
|  |             i = { ["<c-t>"] = trouble.open_with_trouble }, | ||||||
|  |             n = { ["<c-t>"] = trouble.open_with_trouble }, | ||||||
|  |         }, | ||||||
|  |     }, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | require('telescope').load_extension('fzf') | ||||||
|  | EOF | ||||||
							
								
								
									
										5
									
								
								neovim/after/plugin/trouble.nvim.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								neovim/after/plugin/trouble.nvim.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | lua << EOF | ||||||
|  | require("trouble").setup { | ||||||
|  |     -- empty = default settings | ||||||
|  | } | ||||||
|  | EOF | ||||||
							
								
								
									
										2
									
								
								neovim/after/plugin/vim-gitgutter.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								neovim/after/plugin/vim-gitgutter.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | " Let other signs (e.g. linter errors) take precedence over gitgutter | ||||||
|  | let g:gitgutter_sign_allow_clobber = 0 | ||||||
							
								
								
									
										3
									
								
								neovim/after/plugin/vimtex.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								neovim/after/plugin/vimtex.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | " If the format cannot be determined, use this. | ||||||
|  | let g:tex_flavor = "latex" | ||||||
|  | let g:vimtex_view_method = 'zathura' | ||||||
|  | @ -4,28 +4,46 @@ call plug#begin('~/.local/share/nvim/plugged') | ||||||
| " Key usability plugins | " Key usability plugins | ||||||
| " ============================================================================= | " ============================================================================= | ||||||
| 
 | 
 | ||||||
| " FZF Fuzzy Search | " FZF Native for Telescope | ||||||
| Plug 'junegunn/fzf', { 'dir': '~/.fzf' } | Plug 'nvim-telescope/telescope-fzf-native.nvim', { 'do': 'make' } | ||||||
| Plug 'junegunn/fzf.vim' |  | ||||||
| 
 | 
 | ||||||
| " Floating terminal support for Neovim | " Floating terminal support for Neovim | ||||||
| Plug 'voldikss/vim-floaterm' | Plug 'voldikss/vim-floaterm' | ||||||
| 
 | 
 | ||||||
| " Neovim LSP |  | ||||||
| Plug 'neovim/nvim-lspconfig' |  | ||||||
| 
 |  | ||||||
| " Treesitter |  | ||||||
| Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} |  | ||||||
| 
 |  | ||||||
| " Plenary - lua components used by other plugins | " Plenary - lua components used by other plugins | ||||||
| Plug 'nvim-lua/plenary.nvim' | Plug 'nvim-lua/plenary.nvim' | ||||||
| 
 | 
 | ||||||
|  | " Neovim LSP | ||||||
|  | Plug 'neovim/nvim-lspconfig' | ||||||
|  | 
 | ||||||
| " Completion | " Completion | ||||||
| Plug 'hrsh7th/cmp-nvim-lsp' " Builtin LSP as a completion source | Plug 'hrsh7th/cmp-nvim-lsp' " Builtin LSP as a completion source | ||||||
| Plug 'hrsh7th/cmp-path'     " Support for path as a completion source | Plug 'hrsh7th/cmp-path'     " Support for path as a completion source | ||||||
| Plug 'hrsh7th/cmp-buffer'   " Support for loaded buffers as completion source | Plug 'hrsh7th/cmp-buffer'   " Support for loaded buffers as completion source | ||||||
| Plug 'hrsh7th/nvim-cmp'     " Primary plugin | Plug 'hrsh7th/nvim-cmp'     " Primary plugin | ||||||
| 
 | 
 | ||||||
|  | " Treesitter | ||||||
|  | Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} | ||||||
|  | 
 | ||||||
|  | " telescope.nvim | ||||||
|  | " Gaze deeply into unknown regions using the power of the moon. | ||||||
|  | Plug 'nvim-telescope/telescope.nvim' | ||||||
|  | 
 | ||||||
|  | " trouble.nvim | ||||||
|  | " A pretty list for showing diagnostics, references, telescope results, quickfix  | ||||||
|  | " and location lists to help you solve all the trouble your code is causing. | ||||||
|  | Plug 'folke/trouble.nvim' | ||||||
|  | 
 | ||||||
|  | " nvim-lint (compatible with Neovim LSP) | ||||||
|  | " nvim-lint is meant to fill the gaps for languages where either no language  | ||||||
|  | " server exists, or where standalone linters provide better results than the  | ||||||
|  | " available language server do. | ||||||
|  | Plug 'mfussenegger/nvim-lint' | ||||||
|  | 
 | ||||||
|  | " vim-gitgutter | ||||||
|  | " A Vim plugin which shows a git diff in the sign column. | ||||||
|  | Plug 'airblade/vim-gitgutter' | ||||||
|  | 
 | ||||||
| " ============================================================================= | " ============================================================================= | ||||||
| " Languages and project type support. | " Languages and project type support. | ||||||
| " ============================================================================= | " ============================================================================= | ||||||
|  | @ -46,6 +64,9 @@ Plug 'ziglang/zig.vim', { 'for': ['zig'] } | ||||||
| " Note: Metals should not be configured with the other LSP items. | " Note: Metals should not be configured with the other LSP items. | ||||||
| Plug 'scalameta/nvim-metals', { 'for': ['scala', 'sbt'] } | Plug 'scalameta/nvim-metals', { 'for': ['scala', 'sbt'] } | ||||||
| 
 | 
 | ||||||
|  | " LaTeX Support | ||||||
|  | Plug 'lervag/vimtex', { 'for': ['tex'] } | ||||||
|  | 
 | ||||||
| " ============================================================================= | " ============================================================================= | ||||||
| " Visual enhancements | " Visual enhancements | ||||||
| " ============================================================================= | " ============================================================================= | ||||||
|  | @ -53,14 +74,22 @@ Plug 'scalameta/nvim-metals', { 'for': ['scala', 'sbt'] } | ||||||
| Plug 'sainnhe/gruvbox-material' | Plug 'sainnhe/gruvbox-material' | ||||||
| " Plug 'rebelot/kanagawa.nvim' | " Plug 'rebelot/kanagawa.nvim' | ||||||
| 
 | 
 | ||||||
|  | Plug 'kyazdani42/nvim-web-devicons' | ||||||
|  | Plug 'folke/lsp-colors.nvim' | ||||||
|  | 
 | ||||||
| call plug#end() | call plug#end() | ||||||
| 
 | 
 | ||||||
| " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||||
| 
 | 
 | ||||||
| filetype plugin indent on | filetype plugin indent on | ||||||
| syntax on | 
 | ||||||
| let mapleader="," | " Only allow syntax to be set once. | ||||||
| let maplocalleader="," | if !exists('g:syntax_on') | ||||||
|  |     syntax enable | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | let mapleader=',' | ||||||
|  | let maplocalleader=',' | ||||||
| 
 | 
 | ||||||
| " === Color Scheme === {{ | " === Color Scheme === {{ | ||||||
| set termguicolors | set termguicolors | ||||||
|  | @ -80,7 +109,6 @@ set undodir=~/.config/nvim/undo | ||||||
| 
 | 
 | ||||||
| " === Assorted Core Settings === {{ | " === Assorted Core Settings === {{ | ||||||
| set noswapfile | set noswapfile | ||||||
| set nocompatible |  | ||||||
| set modelines=0 | set modelines=0 | ||||||
| set hidden            " Hide buffers | set hidden            " Hide buffers | ||||||
| set encoding=utf-8    " Always use UTF-8 explicitly | set encoding=utf-8    " Always use UTF-8 explicitly | ||||||
|  | @ -100,6 +128,8 @@ set colorcolumn=80    " Right margin display | ||||||
| set shortmess-=F      " Ensure audocmd works for filetype | set shortmess-=F      " Ensure audocmd works for filetype | ||||||
| set shortmess+=c      " Avoid showing extra message when using completion | set shortmess+=c      " Avoid showing extra message when using completion | ||||||
| set spelllang=en_us | set spelllang=en_us | ||||||
|  | set signcolumn=yes | ||||||
|  | set updatetime=200 | ||||||
| " }} | " }} | ||||||
| 
 | 
 | ||||||
| " === Basic Completion Settings === {{ | " === Basic Completion Settings === {{ | ||||||
|  | @ -135,10 +165,6 @@ set wildignore+=*/.metals/*,*/.bloop/*,*/.bsp/* | ||||||
| set wildignore+=*/node_modules/* | set wildignore+=*/node_modules/* | ||||||
| " }} | " }} | ||||||
| 
 | 
 | ||||||
| " === FZF Configuration === {{ |  | ||||||
| let $FZF_DEFAULT_COMMAND='rg --files --no-messages "" .' |  | ||||||
| " }} |  | ||||||
| 
 |  | ||||||
| " === Key Mappings === {{ | " === Key Mappings === {{ | ||||||
| 
 | 
 | ||||||
| " Use Tab and Shift+Tab to navigate popup menus | " Use Tab and Shift+Tab to navigate popup menus | ||||||
|  | @ -166,8 +192,23 @@ nmap ; :Buffers<CR> | ||||||
| " Press Ctrl+P to show a list of files (+ fuzzy search) | " Press Ctrl+P to show a list of files (+ fuzzy search) | ||||||
| nmap <C-p> :Files<CR> | nmap <C-p> :Files<CR> | ||||||
| 
 | 
 | ||||||
| " Press <leader> + f to use ripgrep for search | " Telescope Bindings (e.g. file and buffer search) | ||||||
| nmap <leader>f :Rg<space> | nnoremap <C-p> <cmd>Telescope find_files<cr> | ||||||
|  | nnoremap ; <cmd>Telescope buffers<cr> | ||||||
|  | nnoremap <leader>fg <cmd>Telescope live_grep<cr> | ||||||
|  | nnoremap <leader>fh <cmd>Telescope help_tags<cr> | ||||||
|  | 
 | ||||||
|  | " Trouble bindings | ||||||
|  | nnoremap <leader>xx <cmd>TroubleToggle<cr> | ||||||
|  | nnoremap <leader>xw <cmd>TroubleToggle workspace_diagnostics<cr> | ||||||
|  | nnoremap <leader>xd <cmd>TroubleToggle document_diagnostics<cr> | ||||||
|  | nnoremap <leader>xq <cmd>TroubleToggle quickfix<cr> | ||||||
|  | nnoremap <leader>xl <cmd>TroubleToggle loclist<cr> | ||||||
|  | nnoremap gR <cmd>TroubleToggle lsp_references<cr> | ||||||
|  | 
 | ||||||
|  | " gitgutter bindings | ||||||
|  | nmap ]h <Plug>(GitGutterNextHunk) | ||||||
|  | nmap [h <Plug>(GitGutterPrevHunk) | ||||||
| 
 | 
 | ||||||
| " LSP key bindings | " LSP key bindings | ||||||
| nnoremap <silent> K           <cmd>lua vim.lsp.buf.hover()<CR> | nnoremap <silent> K           <cmd>lua vim.lsp.buf.hover()<CR> | ||||||
|  | @ -191,13 +232,6 @@ map <C-h> <C-w>h | ||||||
| map <C-l> <C-w>l | map <C-l> <C-w>l | ||||||
| " }} | " }} | ||||||
| 
 | 
 | ||||||
| " === JSON Support === {{ |  | ||||||
| 
 |  | ||||||
| " Properly handle comments in JSON. |  | ||||||
| autocmd FileType json syntax match Comment +\/\/.\+$+ |  | ||||||
| 
 |  | ||||||
| " }} |  | ||||||
| 
 |  | ||||||
| " === netrw === {{ | " === netrw === {{ | ||||||
| let g:netrw_banner = 0 | let g:netrw_banner = 0 | ||||||
| let g:netrw_liststyle = 3 | let g:netrw_liststyle = 3 | ||||||
|  | @ -260,6 +294,7 @@ end | ||||||
| local capabilities = vim.lsp.protocol.make_client_capabilities() | local capabilities = vim.lsp.protocol.make_client_capabilities() | ||||||
| capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) | capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) | ||||||
| 
 | 
 | ||||||
|  | -- zls = zig language server | ||||||
| lsp.zls.setup { | lsp.zls.setup { | ||||||
|   on_attach = on_attach, |   on_attach = on_attach, | ||||||
|   flags = { |   flags = { | ||||||
|  | @ -268,6 +303,9 @@ lsp.zls.setup { | ||||||
|   capabilities = capabilities |   capabilities = capabilities | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | -- texlab = latex language server  | ||||||
|  | lsp.texlab.setup{} | ||||||
|  | 
 | ||||||
| -- Note that metals is totally separate. | -- Note that metals is totally separate. | ||||||
| -- It's also absurdly slow on a Raspberry Pi, it's only viable for somewhat | -- It's also absurdly slow on a Raspberry Pi, it's only viable for somewhat | ||||||
| -- powerful machines (as is Scala dev in general). | -- powerful machines (as is Scala dev in general). | ||||||
|  |  | ||||||
							
								
								
									
										6
									
								
								neovim/json.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								neovim/json.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | " === JSON Support === {{ | ||||||
|  | 
 | ||||||
|  | " Properly handle comments in JSON. | ||||||
|  | autocmd FileType json syntax match Comment +\/\/.\+$+ | ||||||
|  | 
 | ||||||
|  | " }} | ||||||
							
								
								
									
										9
									
								
								neovim/tex.vim
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								neovim/tex.vim
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | ||||||
|  | " === Tex / LaTeX Support === {{ | ||||||
|  | 
 | ||||||
|  | " Default tex flavor to use if not detected. | ||||||
|  | let g:tex_flavor = "latex" | ||||||
|  | 
 | ||||||
|  | " Zathura is a minimal PDF viewer with Vim bindings. | ||||||
|  | let g:vimtex_view_method = 'zathura' | ||||||
|  | 
 | ||||||
|  | " }} | ||||||
							
								
								
									
										16
									
								
								shell/bashrc
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								shell/bashrc
									
										
									
									
									
								
							|  | @ -48,6 +48,11 @@ else | ||||||
|     fi |     fi | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
|  | # ============================================================================= | ||||||
|  | # Common Environment Configuration | ||||||
|  | # ============================================================================= | ||||||
|  | export EDITOR=vim | ||||||
|  | 
 | ||||||
| # ============================================================================= | # ============================================================================= | ||||||
| # PATH | # PATH | ||||||
| # ============================================================================= | # ============================================================================= | ||||||
|  | @ -55,6 +60,10 @@ if [ -d "$HOME/bin" ]; then | ||||||
|     export PATH="$HOME/bin:$PATH" |     export PATH="$HOME/bin:$PATH" | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
|  | if [ -d "$HOME/.local/bin" ]; then | ||||||
|  |     export PATH="$HOME/.local/bin:$PATH" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| if [ -f "$HOME/.cargo/env" ]; then | if [ -f "$HOME/.cargo/env" ]; then | ||||||
|     source "$HOME/.cargo/env" |     source "$HOME/.cargo/env" | ||||||
| fi | fi | ||||||
|  | @ -120,3 +129,10 @@ else | ||||||
|         echo "[warn] Neovim is not setup! Using the system vim" >> $log_file |         echo "[warn] Neovim is not setup! Using the system vim" >> $log_file | ||||||
|     fi |     fi | ||||||
| fi | fi | ||||||
|  | 
 | ||||||
|  | # ============================================================================= | ||||||
|  | # Scala/SBT Setup | ||||||
|  | # ============================================================================= | ||||||
|  | if command -v sbt > /dev/null 2>&1; then | ||||||
|  |     export SBT_OPTS="-XX:+UseG1GC -Xmx2048m" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| *.font: xft:Iosevka Term:style=Regular:size=13 | *.font: xft:Iosevka Nerd Font Mono:style=Regular:size=13 | ||||||
| *.boldFont: xft:Iosevka Term:style=Bold:size=13 | *.boldFont: xft:Iosevka Nerd Font Mono:style=Bold:size=13 | ||||||
| *.italicFont: xft:Iosevka Term:style=Italic:size=13 | *.italicFont: xft:Iosevka Nerd Font Mono:style=Italic:size=13 | ||||||
| *.boldItalicFont: xft:Iosevka Term:style=Bold Italic:size=13 | *.boldItalicFont: xft:Iosevka Nerd Font Mono:style=Bold Italic:size=13 | ||||||
| 
 | 
 | ||||||
| ! Colors | ! Colors | ||||||
| ! hard contrast: *background: #1d2021 | ! hard contrast: *background: #1d2021 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 pgfm
						pgfm