Move vim templates into vimrc
This commit is contained in:
		
							parent
							
								
									6f266e9f1c
								
							
						
					
					
						commit
						111b504e25
					
				|  | @ -11,6 +11,5 @@ if [ -d $src ]; then | |||
|     [ -d "$src/spell" ]     && echo "Syncing user dictionary" && cp -r "$src/spell"     $dest | ||||
|     [ -d "$src/colors" ]    && echo "Syncing user colors"     && cp -r "$src/colors"    $dest | ||||
|     [ -d "$src/after" ]     && echo "Syncing after directory" && cp -r "$src/after"     $dest | ||||
|     [ -d "$src/templates" ] && echo "Syncing templates"       && cp -r "$src/templates" $dest | ||||
|     [ -d "$src/ftdetect" ]  && echo "Syncing ftdetect"        && cp -r "$src/ftdetect"  $dest | ||||
| fi | ||||
|  |  | |||
|  | @ -11,6 +11,5 @@ if [ -d $src ]; then | |||
|     [ -d "$src/spell" ]     && echo "Syncing user dictionary" && cp -r "$src/spell"     $dest | ||||
|     [ -d "$src/colors" ]    && echo "Syncing user colors"     && cp -r "$src/colors"    $dest | ||||
|     [ -d "$src/after" ]     && echo "Syncing after directory" && cp -r "$src/after"     $dest | ||||
|     [ -d "$src/templates" ] && echo "Syncing templates"       && cp -r "$src/templates" $dest | ||||
|     [ -d "$src/ftdetect" ]  && echo "Syncing ftdetect"        && cp -r "$src/ftdetect"  $dest | ||||
| fi | ||||
|  |  | |||
|  | @ -1,31 +0,0 @@ | |||
| /*================================================================================================== | ||||
|   File: | ||||
|   Creation Date: | ||||
|   Creator: Michael Campagnaro | ||||
|   Notice: (C) Copyright $year by Jelly Pixel, Inc. All Rights Reserved. | ||||
|   ================================================================================================*/ | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // # Defines | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // # Globals | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // # Structs | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // # Macros | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // # Private API | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // # Public API | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
|  | @ -1,14 +0,0 @@ | |||
| --------------------------------------------------------- | ||||
| Michael Campagnaro's plan for <month> <day>, 2020 | ||||
| --------------------------------------------------------- | ||||
| 
 | ||||
| ############## | ||||
| DO | ||||
| ############## | ||||
| 
 | ||||
| + <task> | ||||
| 
 | ||||
| ############## | ||||
| EXTRA | ||||
| ############## | ||||
| 
 | ||||
|  | @ -1,49 +0,0 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| if which tput >/dev/null 2>&1; then | ||||
|   ncolors=$(tput colors) | ||||
| fi | ||||
| if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then | ||||
|     RED="$(tput setaf 1)" | ||||
|     GREEN="$(tput setaf 2)" | ||||
|     YELLOW="$(tput setaf 3)" | ||||
|     BLUE="$(tput setaf 4)" | ||||
|     MAGENTA="$(tput setaf 5)" | ||||
|     CYAN="$(tput setaf 6)" | ||||
|     BOLD="$(tput bold)" | ||||
|     DIM="\e[2m" | ||||
|     NORMAL="$(tput sgr0)" | ||||
| else | ||||
|     RED="" | ||||
|     GREEN="" | ||||
|     YELLOW="" | ||||
|     BLUE="" | ||||
|     MAGENTA="" | ||||
|     CYAN="" | ||||
|     BOLD="" | ||||
|     NORMAL="" | ||||
| fi | ||||
| 
 | ||||
| error() { | ||||
|     printf "${BOLD}${RED}$1${NORMAL}\n" | ||||
| } | ||||
| 
 | ||||
| abort() { | ||||
|     error "\nAborting..." | ||||
|     exit 1 | ||||
| } | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
| cwd=$PWD | ||||
| 
 | ||||
| uname_s="$(uname -s)" | ||||
| case "${uname_s}" in | ||||
|     Linux*)   machine=Linux;; | ||||
|     Darwin*)  machine=MacOS;; | ||||
|     CYGWIN*)  machine=Cygwin;; | ||||
|     MINGW*)   machine=MinGw;; | ||||
|     *)        machine="UNKNOWN:${uname_s}" | ||||
| esac | ||||
| 
 | ||||
| printf "${YELLOW}Platform: $machine${NORMAL}\n" | ||||
							
								
								
									
										135
									
								
								vimrc
									
									
									
									
									
								
							
							
						
						
									
										135
									
								
								vimrc
									
									
									
									
									
								
							|  | @ -334,6 +334,114 @@ imap <right> <nop> | |||
| " CUSTOM AUTOCMDS | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||||
| 
 | ||||
| " C/C++ template. | ||||
| function! s:CFileTemplate() | ||||
|     let s:env = { | ||||
|         \ 'filename': expand('%:t'), | ||||
|         \ 'creation_date': strftime('%Y-%m-%d'), | ||||
|         \ 'year': strftime('%Y'), | ||||
|         \ 'copyright_owner': 'Jelly Pixel, Inc. All Rights Reserved.' | ||||
|         \} | ||||
| 
 | ||||
|      let l:template =<< trim EOS | ||||
|         /*================================================================================================== | ||||
|         File: ${filename} | ||||
|         Creation Date: ${creation_date} | ||||
|         Creator: Michael Campagnaro | ||||
|         Notice!: (C) Copyright ${year} by ${copyright_owner} | ||||
|         ================================================================================================*/ | ||||
| 
 | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|         // # Defines | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|         // # Globals | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|         // # Structs | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|         // # Macros | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|         // # Private API | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|         // # Public API | ||||
|         //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
| EOS | ||||
|     return map(l:template, { _, line -> substitute(line, '${\(.\{-}\)}', '\=get(s:env, submatch(1), submatch(1))', 'g') } ) | ||||
| endfunction | ||||
| 
 | ||||
| function! s:InsertCHeaderGates() | ||||
|     let l:gatename = substitute(toupper(expand("%:t")), "\\.", "_", "g") | ||||
|     call append(0, '#ifndef '. l:gatename) | ||||
|     call append(line('$'), '#define '. l:gatename) | ||||
|     call append(line('$'), '#endif') | ||||
| endfunction | ||||
| 
 | ||||
| " sh template | ||||
| function! s:ShellScriptTemplate() | ||||
|      let l:template =<< trim EOS | ||||
|         #!/usr/bin/env bash | ||||
| 
 | ||||
|         if which tput >/dev/null 2>&1; then | ||||
|           ncolors=$(tput colors) | ||||
|         fi | ||||
|         if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then | ||||
|             RED="$(tput setaf 1)" | ||||
|             GREEN="$(tput setaf 2)" | ||||
|             YELLOW="$(tput setaf 3)" | ||||
|             BLUE="$(tput setaf 4)" | ||||
|             MAGENTA="$(tput setaf 5)" | ||||
|             CYAN="$(tput setaf 6)" | ||||
|             BOLD="$(tput bold)" | ||||
|             DIM="\e[2m" | ||||
|             NORMAL="$(tput sgr0)" | ||||
|         else | ||||
|             RED="" | ||||
|             GREEN="" | ||||
|             YELLOW="" | ||||
|             BLUE="" | ||||
|             MAGENTA="" | ||||
|             CYAN="" | ||||
|             BOLD="" | ||||
|             NORMAL="" | ||||
|         fi | ||||
| 
 | ||||
|         error() { | ||||
|             printf "${BOLD}${RED}$1${NORMAL}\n" | ||||
|         } | ||||
| 
 | ||||
|         abort() { | ||||
|             error "\nAborting..." | ||||
|             exit 1 | ||||
|         } | ||||
| 
 | ||||
|         set -e | ||||
| 
 | ||||
|         cwd=$PWD | ||||
| 
 | ||||
|         uname_s="$(uname -s)" | ||||
|         case "${uname_s}" in | ||||
|             Linux*)   machine=Linux;; | ||||
|             Darwin*)  machine=MacOS;; | ||||
|             CYGWIN*)  machine=Cygwin;; | ||||
|             MINGW*)   machine=MinGw;; | ||||
|             *)        machine="UNKNOWN:${uname_s}" | ||||
|         esac | ||||
| 
 | ||||
|         printf "${YELLOW}Platform: $machine${NORMAL}\n" | ||||
| EOS | ||||
|     return l:template | ||||
| endfunction | ||||
| 
 | ||||
| augroup campoCmds | ||||
|     " Clear all autocmds in the group. | ||||
|     autocmd! | ||||
|  | @ -352,7 +460,7 @@ augroup campoCmds | |||
|     autocmd FileType html,eruby if g:html_indent_tags !~ '\\|p\>' | let g:html_indent_tags .= '\|p\|li\|dt\|dd' | endif | ||||
| 
 | ||||
|     " Properly indent schemes (scheme, racket, etc). | ||||
|     autocmd bufread,bufnewfile *.{lisp,scm,rkt} setlocal equalprg=scmindent.rkt | ||||
|     autocmd BufRead,BufNewFile *.{lisp,scm,rkt} setlocal equalprg=scmindent.rkt | ||||
| 
 | ||||
|     " Fasm indent; uses the fedorenchik/fasm.vim plugin. | ||||
|     autocmd BufReadPre *.asm let g:asmsyntax = "fasm" | ||||
|  | @ -375,7 +483,7 @@ augroup campoCmds | |||
| 
 | ||||
|     " Generate ctags on save. | ||||
|     " Also Include local variables for C-like languages. | ||||
|     autocmd BufWritePost *.cs,*.js,*.py,*.c,*.cpp,*.h,*.asm silent! :call <SID>RunCtags() | ||||
|     autocmd BufWritePost *.cs,*.js,*.py,*.c,*.cpp,*.h,*.asm silent! call s:RunCtags() | ||||
| 
 | ||||
|     " Remove trailing whitespace when saving any file. | ||||
|     function! s:StripTrailingWhitespaces() | ||||
|  | @ -396,31 +504,18 @@ augroup campoCmds | |||
|         %s/\s\+$//e | ||||
|         call cursor(l, c) | ||||
|     endfun | ||||
|     autocmd BufWritePre * :call <SID>StripTrailingWhitespaces() | ||||
|     autocmd BufWritePre * call s:StripTrailingWhitespaces() | ||||
| 
 | ||||
|     "//////////////////////////////////////////////////////////////// | ||||
|     " FILE TEMPLATES | ||||
|     "//////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
|     " Shell script template. | ||||
|     autocmd BufNewFile *.sh 0r ~/.vim/templates/skeleton.sh | ||||
|     autocmd BufNewFile *.plan 0r ~/.vim/templates/skeleton.plan | ||||
|     autocmd BufNewFile *.sh call append(0, s:ShellScriptTemplate()) | ||||
| 
 | ||||
|     " C/C++ template. | ||||
|     autocmd bufnewfile *.{c,cc,cpp,h,hpp} 0r ~/.vim/templates/c_header_notice | ||||
|     autocmd bufnewfile *.{c,cc,cpp,h,hpp} exe "2," . 6 . "g/File:.*/s//File: " .expand("%") | ||||
|     autocmd bufnewfile *.{c,cc,cpp,h,hpp} exe "2," . 6 . "g/Creation Date:.*/s//Creation Date: " .strftime("%Y-%m-%d") | ||||
|     autocmd bufnewfile *.{c,cc,cpp,h,hpp} exe "2," . 6 . "g/$year/s//" .strftime("%Y") | ||||
|     function! s:InsertHeaderGates() | ||||
|         let gatename = substitute(toupper(expand("%:t")), "\\.", "_", "g") | ||||
|         execute "normal! ggO#ifndef " . gatename | ||||
|         normal! Go | ||||
|         normal! Go | ||||
|         execute "normal! Go#define " . gatename . " " | ||||
|         execute "normal! o#endif" | ||||
|         normal! kkk | ||||
|     endfunction | ||||
|     autocmd bufnewfile *.{h,hpp} call <SID>InsertHeaderGates() | ||||
|     " C/C++ file. | ||||
|     autocmd BufNewFile *.{c,cc,cpp,h,hpp} call append(0, s:CFileTemplate()) | ||||
|     autocmd BufNewFile *.{h,hpp} call s:InsertCHeaderGates() | ||||
| augroup END | ||||
| 
 | ||||
| """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user