rewrite nvim for flakes
This commit is contained in:
		
							parent
							
								
									6eaa8a0ce1
								
							
						
					
					
						commit
						318f2b68c1
					
				|  | @ -1,6 +1,3 @@ | |||
| # When I'm stuck in the terminal or don't have access to Emacs, (neo)vim is my | ||||
| # go-to. I am a vimmer at heart, after all. | ||||
| 
 | ||||
| { config, options, lib, pkgs, ... }: | ||||
| 
 | ||||
| with lib; | ||||
|  | @ -17,12 +14,267 @@ in { | |||
|       unstable.neovim | ||||
|     ]; | ||||
| 
 | ||||
|     # This is for non-neovim, so it loads my nvim config | ||||
|     # env.VIMINIT = "let \\$MYVIMRC='\\$XDG_CONFIG_HOME/nvim/init.vim' | source \\$MYVIMRC"; | ||||
|     # = TODO something like this n00b. | ||||
|     # builtins.concatStringsSep "\n" [ | ||||
|     #   (lib.strings.fileContents ./base.vim) | ||||
|     #   (lib.strings.fileContents ./plugins.vim) | ||||
|     #   (lib.strings.fileContents ./lsp.vim) | ||||
| 
 | ||||
|     #   # this allows you to add lua config files | ||||
|     #   '' | ||||
|     #     lua << EOF | ||||
|     #     ${lib.strings.fileContents ./config.lua} | ||||
|     #     ${lib.strings.fileContents ./lsp.lua} | ||||
|     #     EOF | ||||
|     #   '' | ||||
|     # ]; | ||||
| 
 | ||||
|     extraConfig = '' | ||||
|       set tabstop=2 | ||||
|       set showmatch | ||||
|       set shiftwidth=2 | ||||
|       set noexpandtab | ||||
|       set autoindent | ||||
|        | ||||
|       set foldmethod=indent   " fold based on indent | ||||
|       set number | ||||
|       set nocompatible | ||||
|       set relativenumber | ||||
|       set showtabline=2 | ||||
|       set autowriteall | ||||
|       		syntax on | ||||
|       set list lcs=tab:\|\  | ||||
|       filetype plugin on | ||||
|        | ||||
|       set termguicolors | ||||
|       let ayucolor="dark" | ||||
|       colorscheme ayu | ||||
|        | ||||
|       " window | ||||
|       nmap <leader>wh  :topleft  vnew<CR> | ||||
|       nmap <leader>wl :botright vnew<CR> | ||||
|       nmap <leader>wk    :topleft  new<CR> | ||||
|       nmap <leader>wj  :botright new<CR> | ||||
|        | ||||
|       let mapleader = "\<Space>" | ||||
|        | ||||
|       " lightline colorscheme | ||||
|       let g:lightline = { | ||||
|       			\ 'colorscheme': 'seoul256', | ||||
|       			\ } | ||||
|        | ||||
|       " moving splits with vim movements. | ||||
|       :tnoremap <A-h> <C-\><C-N><C-w>h | ||||
|       :tnoremap <A-j> <C-\><C-N><C-w>j | ||||
|       :tnoremap <A-k> <C-\><C-N><C-w>k | ||||
|       :tnoremap <A-l> <C-\><C-N><C-w>l | ||||
|       :inoremap <A-h> <C-\><C-N><C-w>h | ||||
|       :inoremap <A-j> <C-\><C-N><C-w>j | ||||
|       :inoremap <A-k> <C-\><C-N><C-w>k | ||||
|       :inoremap <A-l> <C-\><C-N><C-w>l | ||||
|       :nnoremap <A-h> <leader>h | ||||
|       :nnoremap <A-j> <leader>j | ||||
|       :nnoremap <A-k> <leader>k | ||||
|       :nnoremap <A-l> <leader>l | ||||
|       :nnoremap <F5> "=strftime("%Y-%m-%d %H:%M:") | ||||
|       :inoremap <F5> <C-R>=strftime("%Y-%m-%d %H:%M:") | ||||
|        | ||||
|       " exit normal mode in terminal | ||||
|       :tnoremap <C-n> <C-\><C-n> | ||||
|        | ||||
|       let g:syntastic_always_populate_loc_list = 1 | ||||
|       let g:syntastic_auto_loc_list = 1 | ||||
|       let g:syntastic_check_on_open = 1 | ||||
|       let g:syntastic_check_on_wq = 0 | ||||
|        | ||||
|       let g:rainbow_active = 0 | ||||
|       autocmd BufReadPost,BufNewFile c,py,nix RainbowParenthesesToggleAll | ||||
|        | ||||
|       " keyboard commands | ||||
|       map <leader>t :NERDTreeToggle<CR> | ||||
|       map <leader>s :w<CR> | ||||
|       map <leader>q :wq<CR> | ||||
|       map <leader>r :RainbowParenthesesToggleAll<CR> | ||||
|       map <leader>zs :ZettelSearch<CR> | ||||
|       map <leader>zo :ZettelOpen<CR> | ||||
|       map <leader>zn :ZettelNew<CR> | ||||
|        | ||||
|        | ||||
|       " NERDTree  | ||||
|       " open on directory | ||||
|       autocmd StdinReadPre * let s:std_in=1 | ||||
|        | ||||
|       " coc | ||||
|       " | ||||
|       " if hidden is not set, TextEdit might fail. | ||||
|       set hidden | ||||
|        | ||||
|       " Some servers have issues with backup files, see #649 | ||||
|       set nobackup | ||||
|       set nowritebackup | ||||
|        | ||||
|       " Better display for messages | ||||
|       set cmdheight=2 | ||||
|        | ||||
|       " You will have bad experience for diagnostic messages when it's default 4000. | ||||
|       set updatetime=300 | ||||
|        | ||||
|       " don't give |ins-completion-menu| messages. | ||||
|       set shortmess+=c | ||||
|        | ||||
|       " always show signcolumns | ||||
|       set signcolumn=yes | ||||
|        | ||||
|       " Use tab for trigger completion with characters ahead and navigate. | ||||
|       " Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. | ||||
|       inoremap <silent><expr> <TAB> | ||||
|       			\ pumvisible() ? "\<C-n>" : | ||||
|       			\ <SID>check_back_space() ? "\<TAB>" : | ||||
|       			\ coc#refresh() | ||||
|       inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" | ||||
|        | ||||
|       function! s:check_back_space() abort | ||||
|       	let col = col('.') - 1 | ||||
|       	return !col || getline('.')[col - 1]  =~# '\s' | ||||
|       endfunction | ||||
|        | ||||
|       " Use <c-space> to trigger completion. | ||||
|       inoremap <silent><expr> <c-space> coc#refresh() | ||||
|        | ||||
|       " Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position. | ||||
|       " Coc only does snippet and additional edit on confirm. | ||||
|       inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" | ||||
|       " Or use `complete_info` if your vim support it, like: | ||||
|       " inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>" | ||||
|        | ||||
|       " Use `[g` and `]g` to navigate diagnostics | ||||
|       nmap <silent> [g <Plug>(coc-diagnostic-prev) | ||||
|       nmap <silent> ]g <Plug>(coc-diagnostic-next) | ||||
|        | ||||
|       " Remap keys for gotos | ||||
|       nmap <silent> gd <Plug>(coc-definition) | ||||
|       nmap <silent> gy <Plug>(coc-type-definition) | ||||
|       nmap <silent> gi <Plug>(coc-implementation) | ||||
|       nmap <silent> gr <Plug>(coc-references) | ||||
|        | ||||
|       " Use K to show documentation in preview window | ||||
|       nnoremap <silent> K :call <SID>show_documentation()<CR> | ||||
|        | ||||
|       function! s:show_documentation() | ||||
|       	if (index(['vim','help'], &filetype) >= 0) | ||||
|       		execute 'h '.expand('<cword>') | ||||
|       	else | ||||
|       		call CocAction('doHover') | ||||
|       	endif | ||||
|       endfunction | ||||
|        | ||||
|       " Highlight symbol under cursor on CursorHold | ||||
|       autocmd CursorHold * silent call CocActionAsync('highlight') | ||||
|        | ||||
|       " Remap for rename current word | ||||
|       nmap <leader>rn <Plug>(coc-rename) | ||||
|        | ||||
|       " Remap for format selected region | ||||
|       xmap <leader>f  <Plug>(coc-format-selected) | ||||
|       nmap <leader>f  <Plug>(coc-format-selected) | ||||
|        | ||||
|       augroup mygroup | ||||
|       	autocmd! | ||||
|       	" Setup formatexpr specified filetype(s). | ||||
|       	autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') | ||||
|       	" Update signature help on jump placeholder | ||||
|       	autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') | ||||
|       augroup end | ||||
|        | ||||
|       " Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph | ||||
|       xmap <leader>a  <Plug>(coc-codeaction-selected) | ||||
|       nmap <leader>a  <Plug>(coc-codeaction-selected) | ||||
|        | ||||
|       " Remap for do codeAction of current line | ||||
|       nmap <leader>ac  <Plug>(coc-codeaction) | ||||
|       " Fix autofix problem of current line | ||||
|       nmap <leader>qf  <Plug>(coc-fix-current) | ||||
|        | ||||
|       " Create mappings for function text object, requires document symbols feature of languageserver. | ||||
|       xmap if <Plug>(coc-funcobj-i) | ||||
|       xmap af <Plug>(coc-funcobj-a) | ||||
|       omap if <Plug>(coc-funcobj-i) | ||||
|       omap af <Plug>(coc-funcobj-a) | ||||
|        | ||||
|       " Use <C-d> for select selections ranges, needs server support, like: coc-tsserver, coc-python | ||||
|       nmap <silent> <C-d> <Plug>(coc-range-select) | ||||
|       xmap <silent> <C-d> <Plug>(coc-range-select) | ||||
|        | ||||
|       " Use `:Format` to format current buffer | ||||
|       command! -nargs=0 Format :call CocAction('format') | ||||
|        | ||||
|       " Use `:Fold` to fold current buffer | ||||
|       command! -nargs=? Fold :call     CocAction('fold', <f-args>) | ||||
|        | ||||
|       " use `:OR` for organize import of current buffer | ||||
|       command! -nargs=0 OR   :call     CocAction('runCommand', 'editor.action.organizeImport') | ||||
|        | ||||
|       " Add status line support, for integration with other plugin, checkout `:h coc-status` | ||||
|       " set statusline^=%{coc#status()}%{get(b:,'coc_current_function',"")} | ||||
|        | ||||
|       " Using CocList | ||||
|       " Show all diagnostics | ||||
|       nnoremap <silent> <space>a  :<C-u>CocList diagnostics<cr> | ||||
|       " Manage extensions | ||||
|       nnoremap <silent> <space>e  :<C-u>CocList extensions<cr> | ||||
|       " Show commands | ||||
|       nnoremap <silent> <space>c  :<C-u>CocList commands<cr> | ||||
|       " Find symbol of current document | ||||
|       nnoremap <silent> <space>o  :<C-u>CocList outline<cr> | ||||
|       " Search workspace symbols | ||||
|       nnoremap <silent> <space>s  :<C-u>CocList -I symbols<cr> | ||||
|       " Do default action for next item. | ||||
|       nnoremap <silent> <space>j  :<C-u>CocNext<CR> | ||||
|       " Do default action for previous item. | ||||
|       nnoremap <silent> <space>k  :<C-u>CocPrev<CR> | ||||
|       " Resume latest coc list | ||||
|       nnoremap <silent> <space>p  :<C-u>CocListResume<CR> | ||||
|        | ||||
|       au BufNewFile,BufRead *.frag,*.vert,*.fp,*.vp,*.glsl setf glsl | ||||
|     ''; | ||||
| 
 | ||||
|     extraPackages = with pkgs; [ | ||||
|       vim-nix | ||||
|       fzf-vim | ||||
|       vim-elixir | ||||
|       emmet-vim | ||||
|       nerdtree | ||||
|       goyo-vim | ||||
|       vim-sneak | ||||
|       lightline-vim | ||||
|       csv-vim | ||||
|       vimwiki | ||||
|       coc-nvim | ||||
|       coc-json | ||||
|       coc-python | ||||
|       coc-pairs | ||||
|       coc-emmet | ||||
|       emmet-vim | ||||
|       LanguageClient-neovim | ||||
|       ayu-vim | ||||
|       rainbow_parentheses-vim | ||||
|       vim-surround | ||||
|       vim-fugitive | ||||
|       #iron-nvim | ||||
|       #nvim-colorizer | ||||
|       vim-devicons | ||||
|       # testing | ||||
|       #vim-processing | ||||
|       #vim-tidal | ||||
|       taskwiki | ||||
|       vim-zettel | ||||
|     ]; | ||||
| 
 | ||||
|     environment.shellAliases = { | ||||
|       vim = "nvim"; | ||||
|       v   = "nvim"; | ||||
|       k   = "vim -c :VimwikiIndex"; | ||||
|       kz  = "vim -c :VimwikiIndex -c :ZettelNew"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										261
									
								
								modules/nvim.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										261
									
								
								modules/nvim.nix
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,261 @@ | |||
| { pkgs, ... }: | ||||
| 
 | ||||
| 
 | ||||
| 	#nvim | ||||
|   {  | ||||
|     environment.variables.EDITOR = "nvim"; | ||||
|     environment.shellAliases = { | ||||
|       k = "vim -c :VimwikiIndex"; | ||||
|       kz = "vim -c :VimwikiIndex -c :ZettelNew"; | ||||
|     }; | ||||
|     environment.systemPackages = with pkgs; [  | ||||
|       nodejs | ||||
|   ( neovim.override { | ||||
|   vimAlias = true; | ||||
|   configure = { | ||||
| 		packages.myPlugins = with pkgs.vimPlugins; { | ||||
| 			start = [  | ||||
| 				vim-nix | ||||
| 				fzf-vim | ||||
| 				vim-elixir | ||||
| 				emmet-vim | ||||
| 				nerdtree | ||||
| 				goyo-vim | ||||
| 				vim-sneak | ||||
| 				lightline-vim | ||||
| 				csv-vim | ||||
|   				vimwiki | ||||
|   				coc-nvim | ||||
|   				coc-json | ||||
|   				coc-python | ||||
|   				coc-pairs | ||||
|   				coc-emmet | ||||
|   				emmet-vim | ||||
|   				LanguageClient-neovim | ||||
|   				ayu-vim | ||||
|   				rainbow_parentheses-vim | ||||
|   				vim-surround | ||||
|   				vim-fugitive | ||||
|   				#iron-nvim | ||||
|   				#nvim-colorizer | ||||
|   				vim-devicons | ||||
|   				# testing | ||||
|   				#vim-processing | ||||
|   				#vim-tidal | ||||
|   				taskwiki | ||||
|   				vim-zettel | ||||
|   				#vimwiki-sync | ||||
| 			]; | ||||
| 		}; | ||||
|     customRC = '' | ||||
| 	set tabstop=2 | ||||
| 	set showmatch | ||||
| 	set shiftwidth=2 | ||||
| 	set noexpandtab | ||||
| 	set autoindent | ||||
| 
 | ||||
| 	set foldmethod=indent   " fold based on indent | ||||
| 	set number | ||||
| 	set nocompatible | ||||
| 	set relativenumber | ||||
| 	set showtabline=2 | ||||
| 	set autowriteall | ||||
| 			syntax on | ||||
| 	set list lcs=tab:\|\  | ||||
| 	filetype plugin on | ||||
| 
 | ||||
| 	set termguicolors | ||||
| 	let ayucolor="dark" | ||||
| 	colorscheme ayu | ||||
| 
 | ||||
| 	" window | ||||
| 	nmap <leader>wh  :topleft  vnew<CR> | ||||
| 	nmap <leader>wl :botright vnew<CR> | ||||
| 	nmap <leader>wk    :topleft  new<CR> | ||||
| 	nmap <leader>wj  :botright new<CR> | ||||
| 
 | ||||
| 			let mapleader = "\<Space>" | ||||
| 
 | ||||
| 			" lightline colorscheme | ||||
| 			let g:lightline = { | ||||
| 						\ 'colorscheme': 'seoul256', | ||||
| 						\ } | ||||
| 
 | ||||
| 			" moving splits with vim movements. | ||||
| 			:tnoremap <A-h> <C-\><C-N><C-w>h | ||||
| 			:tnoremap <A-j> <C-\><C-N><C-w>j | ||||
| 			:tnoremap <A-k> <C-\><C-N><C-w>k | ||||
| 			:tnoremap <A-l> <C-\><C-N><C-w>l | ||||
| 			:inoremap <A-h> <C-\><C-N><C-w>h | ||||
| 			:inoremap <A-j> <C-\><C-N><C-w>j | ||||
| 			:inoremap <A-k> <C-\><C-N><C-w>k | ||||
| 			:inoremap <A-l> <C-\><C-N><C-w>l | ||||
| 			:nnoremap <A-h> <leader>h | ||||
| 			:nnoremap <A-j> <leader>j | ||||
| 			:nnoremap <A-k> <leader>k | ||||
| 			:nnoremap <A-l> <leader>l | ||||
| 			:nnoremap <F5> "=strftime("%Y-%m-%d %H:%M:") | ||||
| 			:inoremap <F5> <C-R>=strftime("%Y-%m-%d %H:%M:") | ||||
| 
 | ||||
|       " exit normal mode in terminal | ||||
|       :tnoremap <C-n> <C-\><C-n> | ||||
| 
 | ||||
| 			let g:syntastic_always_populate_loc_list = 1 | ||||
| 			let g:syntastic_auto_loc_list = 1 | ||||
| 			let g:syntastic_check_on_open = 1 | ||||
| 			let g:syntastic_check_on_wq = 0 | ||||
| 
 | ||||
|       let g:rainbow_active = 0 | ||||
|       autocmd BufReadPost,BufNewFile c,py,nix RainbowParenthesesToggleAll | ||||
| 
 | ||||
| 			" keyboard commands | ||||
| 			map <leader>t :NERDTreeToggle<CR> | ||||
| 			map <leader>s :w<CR> | ||||
| 			map <leader>q :wq<CR> | ||||
|       map <leader>r :RainbowParenthesesToggleAll<CR> | ||||
|       map <leader>zs :ZettelSearch<CR> | ||||
|       map <leader>zo :ZettelOpen<CR> | ||||
|       map <leader>zn :ZettelNew<CR> | ||||
| 
 | ||||
| 
 | ||||
| 			" NERDTree  | ||||
| 			" open on directory | ||||
| 			autocmd StdinReadPre * let s:std_in=1 | ||||
| 
 | ||||
| 			" coc | ||||
| 			" | ||||
| 			" if hidden is not set, TextEdit might fail. | ||||
| 			set hidden | ||||
| 
 | ||||
| 			" Some servers have issues with backup files, see #649 | ||||
| 			set nobackup | ||||
| 			set nowritebackup | ||||
| 
 | ||||
| 			" Better display for messages | ||||
| 			set cmdheight=2 | ||||
| 
 | ||||
| 			" You will have bad experience for diagnostic messages when it's default 4000. | ||||
| 			set updatetime=300 | ||||
| 
 | ||||
| 			" don't give |ins-completion-menu| messages. | ||||
| 			set shortmess+=c | ||||
| 
 | ||||
| 			" always show signcolumns | ||||
| 			set signcolumn=yes | ||||
| 
 | ||||
| 			" Use tab for trigger completion with characters ahead and navigate. | ||||
| 			" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. | ||||
| 			inoremap <silent><expr> <TAB> | ||||
| 						\ pumvisible() ? "\<C-n>" : | ||||
| 						\ <SID>check_back_space() ? "\<TAB>" : | ||||
| 						\ coc#refresh() | ||||
| 			inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" | ||||
| 
 | ||||
| 			function! s:check_back_space() abort | ||||
| 				let col = col('.') - 1 | ||||
| 				return !col || getline('.')[col - 1]  =~# '\s' | ||||
| 			endfunction | ||||
| 
 | ||||
| 			" Use <c-space> to trigger completion. | ||||
| 			inoremap <silent><expr> <c-space> coc#refresh() | ||||
| 
 | ||||
| 			" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position. | ||||
| 			" Coc only does snippet and additional edit on confirm. | ||||
| 			inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" | ||||
| 			" Or use `complete_info` if your vim support it, like: | ||||
| 			" inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>" | ||||
| 
 | ||||
| 			" Use `[g` and `]g` to navigate diagnostics | ||||
| 			nmap <silent> [g <Plug>(coc-diagnostic-prev) | ||||
| 			nmap <silent> ]g <Plug>(coc-diagnostic-next) | ||||
| 
 | ||||
| 			" Remap keys for gotos | ||||
| 			nmap <silent> gd <Plug>(coc-definition) | ||||
| 			nmap <silent> gy <Plug>(coc-type-definition) | ||||
| 			nmap <silent> gi <Plug>(coc-implementation) | ||||
| 			nmap <silent> gr <Plug>(coc-references) | ||||
| 
 | ||||
| 			" Use K to show documentation in preview window | ||||
| 			nnoremap <silent> K :call <SID>show_documentation()<CR> | ||||
| 
 | ||||
| 			function! s:show_documentation() | ||||
| 				if (index(['vim','help'], &filetype) >= 0) | ||||
| 					execute 'h '.expand('<cword>') | ||||
| 				else | ||||
| 					call CocAction('doHover') | ||||
| 				endif | ||||
| 			endfunction | ||||
| 
 | ||||
| 			" Highlight symbol under cursor on CursorHold | ||||
| 			autocmd CursorHold * silent call CocActionAsync('highlight') | ||||
| 
 | ||||
| 			" Remap for rename current word | ||||
| 			nmap <leader>rn <Plug>(coc-rename) | ||||
| 
 | ||||
| 			" Remap for format selected region | ||||
| 			xmap <leader>f  <Plug>(coc-format-selected) | ||||
| 			nmap <leader>f  <Plug>(coc-format-selected) | ||||
| 
 | ||||
| 			augroup mygroup | ||||
| 				autocmd! | ||||
| 				" Setup formatexpr specified filetype(s). | ||||
| 				autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') | ||||
| 				" Update signature help on jump placeholder | ||||
| 				autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') | ||||
| 			augroup end | ||||
| 
 | ||||
| 			" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph | ||||
| 			xmap <leader>a  <Plug>(coc-codeaction-selected) | ||||
| 			nmap <leader>a  <Plug>(coc-codeaction-selected) | ||||
| 
 | ||||
| 			" Remap for do codeAction of current line | ||||
| 			nmap <leader>ac  <Plug>(coc-codeaction) | ||||
| 			" Fix autofix problem of current line | ||||
| 			nmap <leader>qf  <Plug>(coc-fix-current) | ||||
| 
 | ||||
| 			" Create mappings for function text object, requires document symbols feature of languageserver. | ||||
| 			xmap if <Plug>(coc-funcobj-i) | ||||
| 			xmap af <Plug>(coc-funcobj-a) | ||||
| 			omap if <Plug>(coc-funcobj-i) | ||||
| 			omap af <Plug>(coc-funcobj-a) | ||||
| 
 | ||||
| 			" Use <C-d> for select selections ranges, needs server support, like: coc-tsserver, coc-python | ||||
| 			nmap <silent> <C-d> <Plug>(coc-range-select) | ||||
| 			xmap <silent> <C-d> <Plug>(coc-range-select) | ||||
| 
 | ||||
| 			" Use `:Format` to format current buffer | ||||
| 			command! -nargs=0 Format :call CocAction('format') | ||||
| 
 | ||||
| 			" Use `:Fold` to fold current buffer | ||||
| 			command! -nargs=? Fold :call     CocAction('fold', <f-args>) | ||||
| 
 | ||||
| 			" use `:OR` for organize import of current buffer | ||||
| 			command! -nargs=0 OR   :call     CocAction('runCommand', 'editor.action.organizeImport') | ||||
| 
 | ||||
| 			" Add status line support, for integration with other plugin, checkout `:h coc-status` | ||||
| 			" set statusline^=%{coc#status()}%{get(b:,'coc_current_function',"")} | ||||
| 
 | ||||
| 			" Using CocList | ||||
| 			" Show all diagnostics | ||||
| 			nnoremap <silent> <space>a  :<C-u>CocList diagnostics<cr> | ||||
| 			" Manage extensions | ||||
| 			nnoremap <silent> <space>e  :<C-u>CocList extensions<cr> | ||||
| 			" Show commands | ||||
| 			nnoremap <silent> <space>c  :<C-u>CocList commands<cr> | ||||
| 			" Find symbol of current document | ||||
| 			nnoremap <silent> <space>o  :<C-u>CocList outline<cr> | ||||
| 			" Search workspace symbols | ||||
| 			nnoremap <silent> <space>s  :<C-u>CocList -I symbols<cr> | ||||
| 			" Do default action for next item. | ||||
| 			nnoremap <silent> <space>j  :<C-u>CocNext<CR> | ||||
| 			" Do default action for previous item. | ||||
| 			nnoremap <silent> <space>k  :<C-u>CocPrev<CR> | ||||
| 			" Resume latest coc list | ||||
| 			nnoremap <silent> <space>p  :<C-u>CocListResume<CR> | ||||
| 
 | ||||
| 			au BufNewFile,BufRead *.frag,*.vert,*.fp,*.vp,*.glsl setf glsl | ||||
| 				''; | ||||
| 			}; | ||||
| 		} | ||||
| 	)]; | ||||
| } | ||||
		Loading…
	
		Reference in a new issue