Updates config to support ctags
This commit is contained in:
parent
251c7d72b9
commit
ccd11f7197
3 changed files with 132 additions and 1 deletions
89
configs/.ctags
Normal file
89
configs/.ctags
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
--recurse=yes
|
||||||
|
--exclude=.git
|
||||||
|
--exclude=vendor/
|
||||||
|
--exclude=node_modules
|
||||||
|
--exclude=db
|
||||||
|
--exclude=log
|
||||||
|
--exclude=tmp
|
||||||
|
|
||||||
|
|
||||||
|
--regex-ruby=/.*alias(_method)?[[:space:]]+:([[:alnum:]_=!?]+),?[[:space:]]+:([[:alnum:]_=!]+)/\2/f,function/
|
||||||
|
--regex-ruby=/(^|[:;])[ \t]*([A-Z][[:alnum:]_]+) *=/\2/c,class,constant/
|
||||||
|
--regex-ruby=/(^|;)[ \t]*(has_many|belongs_to|has_one|has_and_belongs_to_many)\(? *:([[:alnum:]_]+)/\3/f,function,association/
|
||||||
|
--regex-ruby=/(^|;)[ \t]*(named_)?scope\(? *:([[:alnum:]_]+)/\3/f,function,named_scope/
|
||||||
|
--regex-ruby=/(^|;)[ \t]*expose\(? *:([[:alnum:]_]+)/\2/f,function,exposure/
|
||||||
|
--regex-ruby=/(^|;)[ \t]*event\(? *:([[:alnum:]_]+)/\2/f,function,aasm_event/
|
||||||
|
--regex-ruby=/(^|;)[ \t]*event\(? *:([[:alnum:]_]+)/\2!/f,function,aasm_event/
|
||||||
|
--regex-ruby=/(^|;)[ \t]*event\(? *:([[:alnum:]_]+)/\2?/f,function,aasm_event/
|
||||||
|
|
||||||
|
--langmap=Ruby:+(Rakefile)
|
||||||
|
|
||||||
|
--langdef=js
|
||||||
|
--langmap=js:.js
|
||||||
|
--langmap=js:+.jsx
|
||||||
|
|
||||||
|
--regex-js=/[ \t.]([A-Z][A-Z0-9._$]+)[ \t]*[=:][ \t]*([0-9"'\[\{]|null)/\1/n,constant/
|
||||||
|
|
||||||
|
--regex-js=/\.([A-Za-z0-9._$]+)[ \t]*=[ \t]*\{/\1/o,object/
|
||||||
|
--regex-js=/['"]*([A-Za-z0-9_$]+)['"]*[ \t]*:[ \t]*\{/\1/o,object/
|
||||||
|
--regex-js=/([A-Za-z0-9._$]+)\[["']([A-Za-z0-9_$]+)["']\][ \t]*=[ \t]*\{/\1\.\2/o,object/
|
||||||
|
|
||||||
|
--regex-js=/([A-Za-z0-9._$]+)[ \t]*=[ \t]*\(function\(\)/\1/c,class/
|
||||||
|
--regex-js=/['"]*([A-Za-z0-9_$]+)['"]*:[ \t]*\(function\(\)/\1/c,class/
|
||||||
|
--regex-js=/class[ \t]+([A-Za-z0-9._$]+)[ \t]*/\1/c,class/
|
||||||
|
--regex-js=/([A-Za-z$][A-Za-z0-9_$()]+)[ \t]*=[ \t]*[Rr]eact.createClass[ \t]*\(/\1/c,class/
|
||||||
|
--regex-js=/([A-Z][A-Za-z0-9_$]+)[ \t]*=[ \t]*[A-Za-z0-9_$]*[ \t]*[{(]/\1/c,class/
|
||||||
|
--regex-js=/([A-Z][A-Za-z0-9_$]+)[ \t]*:[ \t]*[A-Za-z0-9_$]*[ \t]*[{(]/\1/c,class/
|
||||||
|
|
||||||
|
--regex-js=/([A-Za-z$][A-Za-z0-9_$]+)[ \t]*=[ \t]*function[ \t]*\(/\1/f,function/
|
||||||
|
|
||||||
|
--regex-js=/(function)*[ \t]*([A-Za-z$_][A-Za-z0-9_$]+)[ \t]*\([^)]*\)[ \t]*\{/\2/f,function/
|
||||||
|
--regex-js=/['"]*([A-Za-z$][A-Za-z0-9_$]+)['"]*:[ \t]*function[ \t]*\(/\1/m,method/
|
||||||
|
--regex-js=/([A-Za-z0-9_$]+)\[["']([A-Za-z0-9_$]+)["']\][ \t]*=[ \t]*function[ \t]*\(/\2/m,method/
|
||||||
|
|
||||||
|
|
||||||
|
--langdef=haskell
|
||||||
|
--langmap=haskell:.hs
|
||||||
|
--regex-haskell=/^module[ \t]*([A-Z][a-zA-Z0-9'_.]*)/\1/m,module/
|
||||||
|
--regex-haskell=/^(new)?type[ \t]*([A-Z][a-zA-Z0-9'_]*)./\2/t,type/
|
||||||
|
--regex-haskell=/^class[ \t]*([A-Z][a-zA-Z0-9'_]*)/\1/c,class/
|
||||||
|
--regex-haskell=/^data[ \t]*([A-Z][a-zA-Z0-9'_]*)/\1/d,data/
|
||||||
|
--regex-haskell=/^([a-z_][a-zA-Z0-9'_]*).*=/\1/v,function/
|
||||||
|
|
||||||
|
--langmap=C++:+.mm
|
||||||
|
|
||||||
|
--langdef=golang
|
||||||
|
--langmap=golang:.go
|
||||||
|
--regex-golang=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/d,func/
|
||||||
|
--regex-golang=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,var/
|
||||||
|
--regex-golang=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,type/
|
||||||
|
|
||||||
|
--langdef=Rust
|
||||||
|
--langmap=Rust:.rs
|
||||||
|
--regex-Rust=/^[ \t]*(#\[[^\]]\][ \t]*)*(pub[ \t]+)?(extern[ \t]+)?("[^"]+"[ \t]+)?(unsafe[ \t]+)?fn[ \t]+([a-zA-Z0-9_]+)/\6/f,functions,function definitions/
|
||||||
|
--regex-Rust=/^[ \t]*(pub[ \t]+)?type[ \t]+([a-zA-Z0-9_]+)/\2/T,types,type definitions/
|
||||||
|
--regex-Rust=/^[ \t]*(pub[ \t]+)?enum[ \t]+([a-zA-Z0-9_]+)/\2/g,enum,enumeration names/
|
||||||
|
--regex-Rust=/^[ \t]*(pub[ \t]+)?struct[ \t]+([a-zA-Z0-9_]+)/\2/s,structure names/
|
||||||
|
--regex-Rust=/^[ \t]*(pub[ \t]+)?mod[ \t]+([a-zA-Z0-9_]+)/\2/m,modules,module names/
|
||||||
|
--regex-Rust=/^[ \t]*(pub[ \t]+)?static[ \t]+([a-zA-Z0-9_]+)/\2/c,consts,static constants/
|
||||||
|
--regex-Rust=/^[ \t]*(pub[ \t]+)?trait[ \t]+([a-zA-Z0-9_]+)/\2/t,traits,traits/
|
||||||
|
--regex-Rust=/^[ \t]*(pub[ \t]+)?impl([ \t\n]*<[^>]*>)?[ \t]+(([a-zA-Z0-9_:]+)[ \t]*(<[^>]*>)?[ \t]+(for)[ \t]+)?([a-zA-Z0-9_]+)/\4 \6 \7/i,impls,trait implementations/
|
||||||
|
--regex-Rust=/^[ \t]*macro_rules![ \t]+([a-zA-Z0-9_]+)/\1/d,macros,macro definitions/
|
||||||
|
|
||||||
|
--langdef=typescript
|
||||||
|
--langmap=typescript:.ts
|
||||||
|
--regex-typescript=/^[ \t]*(export)?[ \t]*class[ \t]+([a-zA-Z0-9_]+)/\2/c,classes/
|
||||||
|
--regex-typescript=/^[ \t]*(export)?[ \t]*module[ \t]+([a-zA-Z0-9_]+)/\2/n,modules/
|
||||||
|
--regex-typescript=/^[ \t]*(export)?[ \t]*function[ \t]+([a-zA-Z0-9_]+)/\2/f,functions/
|
||||||
|
--regex-typescript=/^[ \t]*export[ \t]+var[ \t]+([a-zA-Z0-9_]+)/\1/v,variables/
|
||||||
|
--regex-typescript=/^[ \t]*var[ \t]+([a-zA-Z0-9_]+)[ \t]*=[ \t]*function[ \t]*\(\)/\1/v,varlambdas/
|
||||||
|
--regex-typescript=/^[ \t]*(export)?[ \t]*(public|private)[ \t]+(static)?[ \t]*([a-zA-Z0-9_]+)/\4/m,members/
|
||||||
|
--regex-typescript=/^[ \t]*(export)?[ \t]*interface[ \t]+([a-zA-Z0-9_]+)/\2/i,interfaces/
|
||||||
|
--regex-typescript=/^[ \t]*(export)?[ \t]*enum[ \t]+([a-zA-Z0-9_]+)/\2/e,enums/
|
||||||
|
--regex-typescript=/^[ \t]*import[ \t]+([a-zA-Z0-9_]+)/\1/I,imports/
|
||||||
|
|
||||||
|
--langdef=elm
|
||||||
|
--langmap=elm:.elm
|
||||||
|
--regex-elm=/^module[ \t]*([A-Z][a-zA-Z0-9'_.]*)/\1/m,module/
|
||||||
|
--regex-elm=/^type[ \t]*([A-Z][a-zA-Z0-9'_]*)./\1/t,type/
|
||||||
|
--regex-elm=/^([a-z_][a-zA-Z0-9'_]*).*=/\1/v,function/
|
|
@ -20,7 +20,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# backup .tmux.conf
|
# .tmux.conf
|
||||||
if [ -f "$HOME"/.tmux.conf ] && [ ! -L "$HOME"/.tmux.conf ]; then
|
if [ -f "$HOME"/.tmux.conf ] && [ ! -L "$HOME"/.tmux.conf ]; then
|
||||||
echo -n "Backing up .tmux.conf ... " && \
|
echo -n "Backing up .tmux.conf ... " && \
|
||||||
mv "$HOME"/.tmux.conf "$HOME"/.tmux.conf.bak && \
|
mv "$HOME"/.tmux.conf "$HOME"/.tmux.conf.bak && \
|
||||||
|
@ -37,3 +37,22 @@ else
|
||||||
echo "Done."
|
echo "Done."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# .ctags
|
||||||
|
if [ -f "$HOME"/.ctags ] && [ ! -L "$HOME"/.ctags ]; then
|
||||||
|
# backup .ctags
|
||||||
|
echo -n "Backing up .ctags ... " && \
|
||||||
|
mv "$HOME"/.ctags "$HOME"/.ctags.bak && \
|
||||||
|
echo "Done."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -L "$HOME"/.ctags ]; then
|
||||||
|
# TODO: make sure that .ctags is symlinked to the correct location.
|
||||||
|
echo ".ctags is already symlinked."
|
||||||
|
else
|
||||||
|
# create symlink to pc_settings .ctags
|
||||||
|
echo -n "Symlinking to pc_settings/configs/.ctags ... " && \
|
||||||
|
ln -s "$HOME"/pc_settings/configs/.ctags "$HOME"/.ctags && \
|
||||||
|
echo "Done."
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,14 @@ let g:airline_powerline_fonts = 1
|
||||||
set noswapfile
|
set noswapfile
|
||||||
|
|
||||||
|
|
||||||
|
" Allow visual tab completion in command mode
|
||||||
|
set wildmenu
|
||||||
|
|
||||||
|
|
||||||
|
" Show Vim commands as they're being input.
|
||||||
|
set showcmd
|
||||||
|
|
||||||
|
|
||||||
" Changes <leader> to <space> character.
|
" Changes <leader> to <space> character.
|
||||||
let mapleader = " "
|
let mapleader = " "
|
||||||
|
|
||||||
|
@ -81,6 +89,10 @@ set hlsearch
|
||||||
nnoremap <leader>/ :set hlsearch!<CR>
|
nnoremap <leader>/ :set hlsearch!<CR>
|
||||||
|
|
||||||
|
|
||||||
|
" Use custom-made snippets.
|
||||||
|
nnoremap ,jsfn :-1read $HOME/.vim/function_skeleton.js<CR>o
|
||||||
|
|
||||||
|
|
||||||
" backspace settings
|
" backspace settings
|
||||||
set backspace=2
|
set backspace=2
|
||||||
set backspace=indent,eol,start
|
set backspace=indent,eol,start
|
||||||
|
@ -305,6 +317,7 @@ nnoremap <leader>w :set wrap!<CR>
|
||||||
" Resize split to 10,20,...,100 chars
|
" Resize split to 10,20,...,100 chars
|
||||||
" Uncomment the next lines for support at those sizes.
|
" Uncomment the next lines for support at those sizes.
|
||||||
" These bindings interfere with the highlight groups, however.
|
" These bindings interfere with the highlight groups, however.
|
||||||
|
" Increases the width of a vertical split.
|
||||||
" nnoremap <leader>1 :vertical resize 10<CR>
|
" nnoremap <leader>1 :vertical resize 10<CR>
|
||||||
" nnoremap <leader>2 :vertical resize 20<CR>
|
" nnoremap <leader>2 :vertical resize 20<CR>
|
||||||
nnoremap <leader>3 :vertical resize 30<CR>
|
nnoremap <leader>3 :vertical resize 30<CR>
|
||||||
|
@ -316,6 +329,16 @@ nnoremap <leader>8 :vertical resize 80<CR>
|
||||||
nnoremap <leader>9 :vertical resize 90<CR>
|
nnoremap <leader>9 :vertical resize 90<CR>
|
||||||
nnoremap <leader>0 :vertical resize 100<CR>
|
nnoremap <leader>0 :vertical resize 100<CR>
|
||||||
|
|
||||||
|
" Increases the height of a horizontal split.
|
||||||
|
nnoremap <leader>v1 :resize 5<CR>
|
||||||
|
nnoremap <leader>v2 :resize 10<CR>
|
||||||
|
nnoremap <leader>v3 :resize 15<CR>
|
||||||
|
nnoremap <leader>v4 :resize 20<CR>
|
||||||
|
nnoremap <leader>v5 :resize 25<CR>
|
||||||
|
nnoremap <leader>v6 :resize 30<CR>
|
||||||
|
nnoremap <leader>v7 :resize 35<CR>
|
||||||
|
nnoremap <leader>v8 :resize 40<CR>
|
||||||
|
|
||||||
|
|
||||||
" View Directory tree with ctrl + \
|
" View Directory tree with ctrl + \
|
||||||
nnoremap <C-\> :NERDTreeToggle<CR>
|
nnoremap <C-\> :NERDTreeToggle<CR>
|
||||||
|
|
Loading…
Reference in a new issue