2012-10-26 02:30:01
This commit is contained in:
commit
28b93a3d65
250 changed files with 271096 additions and 0 deletions
31
dot.conkyrc
Normal file
31
dot.conkyrc
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
use_xft yes
|
||||||
|
xftfont 123:size=8
|
||||||
|
xftalpha 0.1
|
||||||
|
update_interval 2
|
||||||
|
total_run_times 0
|
||||||
|
own_window no
|
||||||
|
double_buffer yes
|
||||||
|
maximum_width 600
|
||||||
|
draw_shades no
|
||||||
|
draw_outline no
|
||||||
|
draw_borders no
|
||||||
|
draw_graph_borders no
|
||||||
|
default_color white
|
||||||
|
color1 FFA300
|
||||||
|
default_shade_color red
|
||||||
|
default_outline_color green
|
||||||
|
alignment bottom_right
|
||||||
|
gap_x 0
|
||||||
|
gap_y 100
|
||||||
|
no_buffers yes
|
||||||
|
uppercase no
|
||||||
|
cpu_avg_samples 2
|
||||||
|
net_avg_samples 1
|
||||||
|
override_utf8_locale yes
|
||||||
|
use_spacer right
|
||||||
|
|
||||||
|
|
||||||
|
TEXT
|
||||||
|
${voffset 20}${color EAEAEA}${font Philosopher:pixelsize=120}${time %H:%M}${font}${voffset -77}${offset 10}${color1}${font Philosopher:pixelsize=42}${time %d} ${voffset -15}${color EAEAEA}${font Philosopher:pixelsize=22}${time %B} ${time %Y}${font}${voffset 27}${font Philosopher:pixelsize=58}${offset -173}${time %A}${font}
|
||||||
|
${voffset 3}${offset 10}${font Ubuntu:pixelsize=13}${color1}ROOT $color${fs_used_perc /}%${offset 12}${color1}HOME $color${fs_used_perc /home}%${offset 12}${color1}RAM $color$memperc%${offset 12}${color1}LOAD $color${loadavg 1}${offset 12}${color1}BAT $color${smapi_bat_perc 0}% ${smapi bat 0 state} ${offset 12}${color1}TMP $color${acpitemp}°C
|
||||||
|
${voffset 3}${offset 10}${mpd_smart}
|
95
dot.screenrc
Normal file
95
dot.screenrc
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
#
|
||||||
|
# Example of a user's .screenrc file
|
||||||
|
#
|
||||||
|
|
||||||
|
# This is how one can set a reattach password:
|
||||||
|
# password ODSJQf.4IJN7E # "1234"
|
||||||
|
|
||||||
|
# no annoying audible bell, please
|
||||||
|
vbell on
|
||||||
|
|
||||||
|
# detach on hangup
|
||||||
|
autodetach on
|
||||||
|
|
||||||
|
# don't display the copyright page
|
||||||
|
startup_message off
|
||||||
|
|
||||||
|
# emulate .logout message
|
||||||
|
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
|
||||||
|
|
||||||
|
# advertise hardstatus support to $TERMCAP
|
||||||
|
termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
|
||||||
|
|
||||||
|
# make the shell in every window a login shell
|
||||||
|
#shell -$SHELL
|
||||||
|
|
||||||
|
# autoaka testing
|
||||||
|
# shellaka '> |tcsh'
|
||||||
|
# shellaka '$ |sh'
|
||||||
|
|
||||||
|
# set every new windows hardstatus line to somenthing descriptive
|
||||||
|
# defhstatus "screen: ^En (^Et)"
|
||||||
|
|
||||||
|
defscrollback 1000
|
||||||
|
|
||||||
|
# don't kill window after the process died
|
||||||
|
# zombie "^["
|
||||||
|
|
||||||
|
# enable support for the "alternate screen" capability in all windows
|
||||||
|
# altscreen on
|
||||||
|
|
||||||
|
#utf rulezz
|
||||||
|
defutf8 on
|
||||||
|
utf8 on
|
||||||
|
|
||||||
|
term screen-256color
|
||||||
|
#termcap *rxvt* :am:bw:eo:hs:km:mi:ms:xn:xo::co#256:it#8:li#24:lm#0::AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@::K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD::RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L::as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J::cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P::dl=\E[M:do=^J:ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G::ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h::is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l::k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~::k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~::kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:ke=\E>::kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m::md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7::se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I::te=\E[r\E[?1049l:ti=\E[?1049h:ts=\E]2;:ue=\E[24m::up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l::vs=\E[?25h:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
################
|
||||||
|
#
|
||||||
|
# keybindings
|
||||||
|
#
|
||||||
|
|
||||||
|
#remove some stupid / dangerous key bindings
|
||||||
|
bind k
|
||||||
|
bind ^k
|
||||||
|
bind .
|
||||||
|
bind ^\
|
||||||
|
bind \\
|
||||||
|
bind ^h
|
||||||
|
bind h
|
||||||
|
#make them better
|
||||||
|
bind 'K' kill
|
||||||
|
bind 'I' login on
|
||||||
|
bind 'O' login off
|
||||||
|
bind '}' history
|
||||||
|
|
||||||
|
# Yet another hack:
|
||||||
|
# Prepend/append register [/] to the paste if ^a^] is pressed.
|
||||||
|
# This lets me have autoindent mode in vi.
|
||||||
|
register [ "\033:se noai\015a"
|
||||||
|
register ] "\033:se ai\015a"
|
||||||
|
bind ^] paste [.]
|
||||||
|
|
||||||
|
################
|
||||||
|
#
|
||||||
|
# default windows
|
||||||
|
#
|
||||||
|
|
||||||
|
#screen -t local 0
|
||||||
|
|
||||||
|
# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
|
||||||
|
# hardstatus alwaysignore
|
||||||
|
#hardstatus alwayslastline "%Lw"
|
||||||
|
caption always "%{=b kw} %=(( %?%-Lw%?%{kg})%n %t(%{kw}%?%+Lw%? ))%= "
|
||||||
|
|
||||||
|
# bind = resize =
|
||||||
|
# bind + resize +1
|
||||||
|
# bind - resize -1
|
||||||
|
# bind _ resize max
|
||||||
|
#
|
||||||
|
defnonblock 1
|
||||||
|
# blankerprg rain -d 100
|
||||||
|
# idle 30 blanker
|
4
dot.vim/.VimballRecord
Normal file
4
dot.vim/.VimballRecord
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
twitvim-0.4.1.vba: call delete('/home/psy/.vim/plugin/twitvim.vim')|call delete('/home/psy/.vim/doc/twitvim.txt')
|
||||||
|
conque_term_1.0.vba: call delete('/home/psy/.vim/autoload/conque_term.vim')|call delete('/home/psy/.vim/doc/conque_term.txt')|call delete('/home/psy/.vim/plugin/conque_term.vim')|call delete('/home/psy/.vim/syntax/conque_term.vim')
|
||||||
|
RltvNmbr.vba: call delete('/home/psy/.vim/plugin/RltvNmbr.vim')|call delete('/home/psy/.vim/plugin/RltvNmbrPlugin.vim')|call delete('/home/psy/.vim/doc/RltvNmbr.txt')|call delete('/home/psy/.vim/autoload/RltvNmbr.vim')
|
||||||
|
csv-0.24.vmb: call delete('/home/nk/.vim/ftplugin/csv.vim')|call delete('/home/nk/.vim/doc/ft-csv.txt')|call delete('/home/nk/.vim/syntax/csv.vim')|call delete('/home/nk/.vim/ftdetect/csv.vim')|call delete('/home/nk/.vim/plugin/csv.vim')
|
8
dot.vim/.netrwhist
Normal file
8
dot.vim/.netrwhist
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
let g:netrw_dirhistmax =10
|
||||||
|
let g:netrw_dirhist_cnt =6
|
||||||
|
let g:netrw_dirhist_1='/home/nk/.gem/ruby/1.9.1/gems/liquid-2.3.0/lib'
|
||||||
|
let g:netrw_dirhist_2='/home/nk/.gem/ruby/1.9.1/gems/liquid-2.3.0/lib/extras'
|
||||||
|
let g:netrw_dirhist_3='/home/nk/.gem/ruby/1.9.1/gems/liquid-2.3.0/lib'
|
||||||
|
let g:netrw_dirhist_4='/home/nk/devel/projects/SWS-Log'
|
||||||
|
let g:netrw_dirhist_5='/home/nk/devel/homepage/portfolio'
|
||||||
|
let g:netrw_dirhist_6='/home/nk/devel/homepage/portfolio/_layouts'
|
35
dot.vim/after/plugin/snipMate.vim
Normal file
35
dot.vim/after/plugin/snipMate.vim
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
" These are the mappings for snipMate.vim. Putting it here ensures that it
|
||||||
|
" will be mapped after other plugins such as supertab.vim.
|
||||||
|
if !exists('loaded_snips') || exists('s:did_snips_mappings')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let s:did_snips_mappings = 1
|
||||||
|
|
||||||
|
ino <silent> <tab> <c-r>=TriggerSnippet()<cr>
|
||||||
|
snor <silent> <tab> <esc>i<right><c-r>=TriggerSnippet()<cr>
|
||||||
|
ino <silent> <s-tab> <c-r>=BackwardsSnippet()<cr>
|
||||||
|
snor <silent> <s-tab> <esc>i<right><c-r>=BackwardsSnippet()<cr>
|
||||||
|
ino <silent> <c-r><tab> <c-r>=ShowAvailableSnips()<cr>
|
||||||
|
|
||||||
|
" The default mappings for these are annoying & sometimes break snipMate.
|
||||||
|
" You can change them back if you want, I've put them here for convenience.
|
||||||
|
snor <bs> b<bs>
|
||||||
|
snor <right> <esc>a
|
||||||
|
snor <left> <esc>bi
|
||||||
|
snor ' b<bs>'
|
||||||
|
snor ` b<bs>`
|
||||||
|
snor % b<bs>%
|
||||||
|
snor U b<bs>U
|
||||||
|
snor ^ b<bs>^
|
||||||
|
snor \ b<bs>\
|
||||||
|
snor <c-x> b<bs><c-x>
|
||||||
|
|
||||||
|
" By default load snippets in snippets_dir
|
||||||
|
if empty(snippets_dir)
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
call GetSnippets(snippets_dir, '_') " Get global snippets
|
||||||
|
|
||||||
|
au FileType * if &ft != 'help' | call GetSnippets(snippets_dir, &ft) | endif
|
||||||
|
" vim:noet:sw=4:ts=4:ft=vim
|
263
dot.vim/autoload/RltvNmbr.vim
Normal file
263
dot.vim/autoload/RltvNmbr.vim
Normal file
|
@ -0,0 +1,263 @@
|
||||||
|
" RltvNmbr.vim
|
||||||
|
" Author: Charles E. Campbell, Jr.
|
||||||
|
" Date: Nov 21, 2008
|
||||||
|
" Version: 3
|
||||||
|
" GetLatestVimScripts: 2351 1 :AutoInstall: RltvNmbr.vim
|
||||||
|
" Phillippians 1:27 : Only let your manner of life be worthy of the gospel of
|
||||||
|
" Christ, that, whether I come and see you or am absent, I may hear of
|
||||||
|
" your state, that you stand firm in one spirit, with one soul striving
|
||||||
|
" for the faith of the gospel
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Load Once: {{{1
|
||||||
|
if &cp || exists("g:loaded_RltvNmbr")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_RltvNmbr = "v3"
|
||||||
|
if v:version < 700
|
||||||
|
echohl WarningMsg
|
||||||
|
echo "***warning*** this version of RltvNmbr needs vim 7.0"
|
||||||
|
echohl Normal
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
if !has("signs")
|
||||||
|
echoerr 'Sorry, your vim is missing +signs; use "configure --with-features=huge" , recompile, and install'
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
if !has("syntax")
|
||||||
|
echoerr 'Sorry, your vim is missing +syntax; use "configure --with-features=huge" , recompile, and install'
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let s:keepcpo= &cpo
|
||||||
|
set cpo&vim
|
||||||
|
"DechoTabOn
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Parameters: {{{1
|
||||||
|
let s:RLTVNMBR= 2683
|
||||||
|
if !exists("g:DrChipTopLvlMenu")
|
||||||
|
let g:DrChipTopLvlMenu= "DrChip."
|
||||||
|
endif
|
||||||
|
|
||||||
|
" =====================================================================
|
||||||
|
" Functions: {{{1
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" RltvNmbr: {{{2
|
||||||
|
fun! s:RltvNmbr(mode,...)
|
||||||
|
" call Dfunc("s:RltvNmbr(mode=".a:mode.((a:0 > 0)? " ".a:1.")" : ")"))
|
||||||
|
|
||||||
|
if a:mode == 1
|
||||||
|
" initial placement of signs
|
||||||
|
" call Decho("mode ".a:mode.": initial sign placement")
|
||||||
|
let wt = line("w0")
|
||||||
|
let wc = line(".")
|
||||||
|
let wb = line("w$")
|
||||||
|
" call Decho("initial placement of signs: wt=".wt." wc=".wc." wb=".wb)
|
||||||
|
let w = wt
|
||||||
|
let s:rltvnmbr_topline_{bufnr("%")} = wt
|
||||||
|
let s:rltvnmbr_curline_{bufnr("%")} = wc
|
||||||
|
let s:rltvnmbr_botline_{bufnr("%")} = wb
|
||||||
|
while w <= wb
|
||||||
|
if w == wc
|
||||||
|
let w= w + 1
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
let wmwc = w - wc
|
||||||
|
if foldclosed(w) != -1
|
||||||
|
" call Decho("skipping w=".w." wmwc=".wmwc." foldclosed=".foldclosed(w))
|
||||||
|
let w= foldclosedend(w)+1
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if wmwc <= -100
|
||||||
|
let w= wc - 99
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if wmwc >= 100
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
if wmwc < 0
|
||||||
|
let name = "RLTVN_M".(-wmwc)
|
||||||
|
exe "sign place ".(s:RLTVNMBR + wmwc)." line=".w." name=".name." buffer=".bufnr("%")
|
||||||
|
else
|
||||||
|
let name = "RLTVN_P".wmwc
|
||||||
|
exe "sign place ".(s:RLTVNMBR + wmwc)." line=".w." name=".name." buffer=".bufnr("%")
|
||||||
|
endif
|
||||||
|
let w= w + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
elseif a:mode == 2
|
||||||
|
" call Decho("mode ".a:mode.": consider removing and placing signs")
|
||||||
|
if exists("s:rltvnmbr_curline_{bufnr('%')}")
|
||||||
|
" remove and place signs
|
||||||
|
if line(".") != s:rltvnmbr_curline_{bufnr("%")} || line("w0") != s:rltvnmbr_topline_{bufnr("%")} || line("w$") != s:rltvnmbr_botline_{bufnr("%")}
|
||||||
|
" call Decho("do remove&place signs : (".line(".").",".line("w0").") =?= (".s:rltvnmbr_curline_{bufnr("%")}.",".s:rltvnmbr_topline_{bufnr("%")}.")")
|
||||||
|
exe "sign place ".s:RLTVNMBR." line=".s:rltvnmbr_curline_{bufnr("%")}." name=RLTVCURID buffer=".bufnr("%")
|
||||||
|
let lzkeep= &lz
|
||||||
|
set lz
|
||||||
|
call s:RltvNmbr(3) " remove signs
|
||||||
|
call s:RltvNmbr(1) " place signs
|
||||||
|
exe "sign unplace ".s:RLTVNMBR." buffer=".bufnr("%")
|
||||||
|
let &lz= lzkeep
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
elseif a:mode == 3
|
||||||
|
" removal of signs
|
||||||
|
" call Decho("mode ".a:mode.": removal of signs")
|
||||||
|
let wt = s:rltvnmbr_topline_{bufnr("%")}
|
||||||
|
let wc = s:rltvnmbr_curline_{bufnr("%")}
|
||||||
|
let wb = s:rltvnmbr_botline_{bufnr("%")}
|
||||||
|
" call Decho("using s:wt=".wt." s:wc=".wc." s:wb=".wb)
|
||||||
|
let w = wt
|
||||||
|
while w <= wb
|
||||||
|
if w == wc
|
||||||
|
let w= w + 1
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
let wmwc = w - wc
|
||||||
|
if foldclosed(w) != -1
|
||||||
|
" call Decho("skipping w=".w." wmwc=".wmwc." foldclosed=".foldclosed(w))
|
||||||
|
let w= foldclosedend(w)+1
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if wmwc <= -100
|
||||||
|
let w= wc - 99
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if wmwc >= 100
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
if wmwc < 0
|
||||||
|
let name= "RLTVN_M".(-wmwc)
|
||||||
|
else
|
||||||
|
let name= "RLTVN_P".wmwc
|
||||||
|
endif
|
||||||
|
exe "sign unplace ".(s:RLTVNMBR + wmwc)." buffer=".bufnr("%")
|
||||||
|
let w= w + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
else
|
||||||
|
echoerr "mode=".a:mode." unsupported"
|
||||||
|
endif
|
||||||
|
|
||||||
|
" call Dret("s:RltvNmbr")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" RltvNmbr#RltvNmbrCtrl: {{{2
|
||||||
|
fun! RltvNmbr#RltvNmbrCtrl(start)
|
||||||
|
" call Dfunc("RltvNmbr#RltvNmbrCtrl(start=".a:start.")")
|
||||||
|
|
||||||
|
if a:start && !exists("s:rltvnmbr_{bufnr('%')}")
|
||||||
|
let s:rltvnmbr_{bufnr("%")}= 1
|
||||||
|
let b:rltvnmbrmode = 1
|
||||||
|
|
||||||
|
if !exists("s:rltvnmbr_signs")
|
||||||
|
let s:rltvnmbr_signs= 1
|
||||||
|
hi default HL_RltvNmbr_Minus gui=none,italic ctermfg=red ctermbg=black guifg=red guibg=black
|
||||||
|
hi default HL_RltvNmbr_Positive gui=none,italic ctermfg=green ctermbg=black guifg=green guibg=black
|
||||||
|
silent call s:AvoidOtherSigns()
|
||||||
|
let L= 1
|
||||||
|
while L <= 99
|
||||||
|
exe "sign define RLTVN_M".L.' text='.string(L).' texthl=HL_RltvNmbr_Minus'
|
||||||
|
exe "sign define RLTVN_P".L.' text='.string(L).' texthl=HL_RltvNmbr_Positive'
|
||||||
|
let L= L+1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
sign define RLTVCURID text=-- texthl=Ignore
|
||||||
|
|
||||||
|
exe "menu ".g:DrChipTopLvlMenu."RltvNmbr.Stop<tab>:RltvNmbr! :RltvNmbr!<cr>"
|
||||||
|
exe 'silent! unmenu '.g:DrChipTopLvlMenu.'RltvNmbr.Start'
|
||||||
|
call s:RltvNmbr(1)
|
||||||
|
augroup RltvNmbrAutoCmd
|
||||||
|
au!
|
||||||
|
au CursorHold * call <SID>RltvNmbr(2,"cursorhold")
|
||||||
|
au CursorMoved * call <SID>RltvNmbr(2,"cursormoved")
|
||||||
|
au FileChangedShellPost * call <SID>RltvNmbr(2,"filechangedshellpost")
|
||||||
|
au FocusGained * call <SID>RltvNmbr(2,"focusgained")
|
||||||
|
au FocusLost * call <SID>RltvNmbr(2,"focuslost")
|
||||||
|
au ShellCmdPost * call <SID>RltvNmbr(2,"shellcmdpost")
|
||||||
|
au ShellFilterPost * call <SID>RltvNmbr(2,"shellfilterpost")
|
||||||
|
au TabEnter * call <SID>RltvNmbr(2,"tabenter")
|
||||||
|
au VimResized * call <SID>RltvNmbr(2,"vimresized")
|
||||||
|
au WinEnter * call <SID>RltvNmbr(2,"winenter")
|
||||||
|
au ColorScheme * call <SID>ColorschemeLoaded()
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
elseif !a:start && exists("s:rltvnmbr_{bufnr('%')}")
|
||||||
|
let b:rltvnmbrmode = 0
|
||||||
|
unlet s:rltvnmbr_{bufnr("%")}
|
||||||
|
augroup RltvNmbrAutoCmd
|
||||||
|
au!
|
||||||
|
augroup END
|
||||||
|
augroup! RltvNmbrAutoCmd
|
||||||
|
call s:RltvNmbr(3)
|
||||||
|
exe "sign unplace ".s:RLTVNMBR." buffer=".bufnr("%")
|
||||||
|
exe "menu ".g:DrChipTopLvlMenu."RltvNmbr.Start<tab>:RltvNmbr :RltvNmbr<cr>"
|
||||||
|
exe 'silent! unmenu '.g:DrChipTopLvlMenu.'RltvNmbr.Stop'
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "RltvNmbr is already ".((a:start)? "enabled" : "off")
|
||||||
|
endif
|
||||||
|
" call Dret("RltvNmbr#RltvNmbrCtrl")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" RltvNmbr#RltvNmbrToggle: supports the :RN command for quick relative-number-mode toggling {{{2
|
||||||
|
" If the :RN command is already available, then it will not be overridden.
|
||||||
|
fun! RltvNmbr#RltvNmbrToggle()
|
||||||
|
" call Dfunc("RltvNmbr#RltvNmbrToggle()")
|
||||||
|
|
||||||
|
if !exists("b:rltvnmbrmode")
|
||||||
|
let b:rltvnmbrmode= 0
|
||||||
|
endif
|
||||||
|
if b:rltvnmbrmode == 0
|
||||||
|
RltvNmbr
|
||||||
|
else
|
||||||
|
RltvNmbr!
|
||||||
|
endif
|
||||||
|
|
||||||
|
" call Dret("RltvNmbr#RltvNmbrToggle")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" s:ColorschemeLoaded: {{{2
|
||||||
|
fun! s:ColorschemeLoaded()
|
||||||
|
" call Dfunc("s:ColorschemeLoaded()")
|
||||||
|
hi HL_RltvNmbr_Minus ctermfg=red ctermbg=black guifg=red guibg=black
|
||||||
|
hi HL_RltvNmbr_Positive ctermfg=green ctermbg=black guifg=green guibg=black
|
||||||
|
" call Dret("s:ColorschemeLoaded")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" s:AvoidOtherSigns: {{{2
|
||||||
|
fun! s:AvoidOtherSigns()
|
||||||
|
" call Dfunc("s:AvoidOtherSigns()")
|
||||||
|
if !exists("s:othersigns")
|
||||||
|
" only do this one time
|
||||||
|
redir => s:othersigns
|
||||||
|
sign place
|
||||||
|
redir END
|
||||||
|
" determine the max id being used and use one more than that as the beginning of RltvNmbr ids
|
||||||
|
let signlist= split(s:othersigns,'\n')
|
||||||
|
let idlist = map(signlist,"substitute(v:val,'^.\\{-}\\<id=\\(\\d\\+\\)\\s.*$','\\1','')")
|
||||||
|
if len(idlist) > 2
|
||||||
|
let idlist = remove(idlist,2,-1)
|
||||||
|
let idlist = map(idlist,"str2nr(v:val)")
|
||||||
|
let idmax = max(idlist)
|
||||||
|
if idmax > s:RLTVNMBR
|
||||||
|
let s:RLTVNMBR = idmax + 1
|
||||||
|
" call Decho("s:RLTVNMBR=".s:RLTVNMBR)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
unlet s:othersigns
|
||||||
|
let s:othersigns= 1
|
||||||
|
endif
|
||||||
|
" call Dret("s:AvoidOtherSigns : s:RLTVNMBR=".s:RLTVNMBR)
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Restore: {{{1
|
||||||
|
let &cpo= s:keepcpo
|
||||||
|
unlet s:keepcpo
|
||||||
|
" vim: ts=4 fdm=marker
|
1378
dot.vim/autoload/conque_term.vim
Normal file
1378
dot.vim/autoload/conque_term.vim
Normal file
File diff suppressed because it is too large
Load diff
139
dot.vim/autoload/pathogen.vim
Normal file
139
dot.vim/autoload/pathogen.vim
Normal file
|
@ -0,0 +1,139 @@
|
||||||
|
" pathogen.vim - path option manipulation
|
||||||
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
|
" Version: 1.2
|
||||||
|
|
||||||
|
" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
|
||||||
|
"
|
||||||
|
" API is documented below.
|
||||||
|
|
||||||
|
if exists("g:loaded_pathogen") || &cp
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_pathogen = 1
|
||||||
|
|
||||||
|
" Split a path into a list.
|
||||||
|
function! pathogen#split(path) abort " {{{1
|
||||||
|
if type(a:path) == type([]) | return a:path | endif
|
||||||
|
let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
|
||||||
|
return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
|
||||||
|
endfunction " }}}1
|
||||||
|
|
||||||
|
" Convert a list to a path.
|
||||||
|
function! pathogen#join(...) abort " {{{1
|
||||||
|
if type(a:1) == type(1) && a:1
|
||||||
|
let i = 1
|
||||||
|
let space = ' '
|
||||||
|
else
|
||||||
|
let i = 0
|
||||||
|
let space = ''
|
||||||
|
endif
|
||||||
|
let path = ""
|
||||||
|
while i < a:0
|
||||||
|
if type(a:000[i]) == type([])
|
||||||
|
let list = a:000[i]
|
||||||
|
let j = 0
|
||||||
|
while j < len(list)
|
||||||
|
let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
|
||||||
|
let path .= ',' . escaped
|
||||||
|
let j += 1
|
||||||
|
endwhile
|
||||||
|
else
|
||||||
|
let path .= "," . a:000[i]
|
||||||
|
endif
|
||||||
|
let i += 1
|
||||||
|
endwhile
|
||||||
|
return substitute(path,'^,','','')
|
||||||
|
endfunction " }}}1
|
||||||
|
|
||||||
|
" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
|
||||||
|
function! pathogen#legacyjoin(...) abort " {{{1
|
||||||
|
return call('pathogen#join',[1] + a:000)
|
||||||
|
endfunction " }}}1
|
||||||
|
|
||||||
|
" Remove duplicates from a list.
|
||||||
|
function! pathogen#uniq(list) abort " {{{1
|
||||||
|
let i = 0
|
||||||
|
let seen = {}
|
||||||
|
while i < len(a:list)
|
||||||
|
if has_key(seen,a:list[i])
|
||||||
|
call remove(a:list,i)
|
||||||
|
else
|
||||||
|
let seen[a:list[i]] = 1
|
||||||
|
let i += 1
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
return a:list
|
||||||
|
endfunction " }}}1
|
||||||
|
|
||||||
|
" Returns a hash indicating which filetype features are enabled.
|
||||||
|
function! pathogen#filetype() abort " {{{1
|
||||||
|
redir => output
|
||||||
|
silent filetype
|
||||||
|
redir END
|
||||||
|
let result = {}
|
||||||
|
let result.detection = match(output,'detection:ON') >= 0
|
||||||
|
let result.indent = match(output,'indent:ON') >= 0
|
||||||
|
let result.plugin = match(output,'plugin:ON') >= 0
|
||||||
|
return result
|
||||||
|
endfunction " }}}1
|
||||||
|
|
||||||
|
" \ on Windows unless shellslash is set, / everywhere else.
|
||||||
|
function! pathogen#separator() abort " {{{1
|
||||||
|
return !exists("+shellslash") || &shellslash ? '/' : '\'
|
||||||
|
endfunction " }}}1
|
||||||
|
|
||||||
|
" Convenience wrapper around glob() which returns a list.
|
||||||
|
function! pathogen#glob(pattern) abort " {{{1
|
||||||
|
let files = split(glob(a:pattern),"\n")
|
||||||
|
return map(files,'substitute(v:val,"[".pathogen#separator()."/]$","","")')
|
||||||
|
endfunction "}}}1
|
||||||
|
|
||||||
|
" Like pathogen#glob(), only limit the results to directories.
|
||||||
|
function! pathogen#glob_directories(pattern) abort " {{{1
|
||||||
|
return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
|
||||||
|
endfunction "}}}1
|
||||||
|
|
||||||
|
" Prepend all subdirectories of path to the rtp, and append all after
|
||||||
|
" directories in those subdirectories.
|
||||||
|
function! pathogen#runtime_prepend_subdirectories(path) " {{{1
|
||||||
|
let sep = pathogen#separator()
|
||||||
|
let before = pathogen#glob_directories(a:path.sep."*[^~]")
|
||||||
|
let after = pathogen#glob_directories(a:path.sep."*[^~]".sep."after")
|
||||||
|
let rtp = pathogen#split(&rtp)
|
||||||
|
let path = expand(a:path)
|
||||||
|
call filter(rtp,'v:val[0:strlen(path)-1] !=# path')
|
||||||
|
let &rtp = pathogen#join(pathogen#uniq(before + rtp + after))
|
||||||
|
return &rtp
|
||||||
|
endfunction " }}}1
|
||||||
|
|
||||||
|
" For each directory in rtp, check for a subdirectory named dir. If it
|
||||||
|
" exists, add all subdirectories of that subdirectory to the rtp, immediately
|
||||||
|
" after the original directory. If no argument is given, 'bundle' is used.
|
||||||
|
" Repeated calls with the same arguments are ignored.
|
||||||
|
function! pathogen#runtime_append_all_bundles(...) " {{{1
|
||||||
|
let sep = pathogen#separator()
|
||||||
|
let name = a:0 ? a:1 : 'bundle'
|
||||||
|
let list = []
|
||||||
|
for dir in pathogen#split(&rtp)
|
||||||
|
if dir =~# '\<after$'
|
||||||
|
let list += pathogen#glob_directories(substitute(dir,'after$',name.sep.'*[^~]'.sep.'after','')) + [dir]
|
||||||
|
else
|
||||||
|
let list += [dir] + pathogen#glob_directories(dir.sep.name.sep.'*[^~]')
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
let &rtp = pathogen#join(pathogen#uniq(list))
|
||||||
|
return 1
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}1
|
||||||
|
|
||||||
|
" Invoke :helptags on all non-$VIM doc directories in runtimepath.
|
||||||
|
function! pathogen#helptags() " {{{1
|
||||||
|
for dir in pathogen#split(&rtp)
|
||||||
|
if dir[0 : strlen($VIM)-1] !=# $VIM && isdirectory(dir.'/doc') && (!filereadable(dir.'/doc/tags') || filewritable(dir.'/doc/tags'))
|
||||||
|
helptags `=dir.'/doc'`
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunction " }}}1
|
||||||
|
|
||||||
|
" vim:set ft=vim ts=8 sw=2 sts=2:
|
4647
dot.vim/autoload/rails.vim
Normal file
4647
dot.vim/autoload/rails.vim
Normal file
File diff suppressed because it is too large
Load diff
433
dot.vim/autoload/snipMate.vim
Normal file
433
dot.vim/autoload/snipMate.vim
Normal file
|
@ -0,0 +1,433 @@
|
||||||
|
fun! Filename(...)
|
||||||
|
let filename = expand('%:t:r')
|
||||||
|
if filename == '' | return a:0 == 2 ? a:2 : '' | endif
|
||||||
|
return !a:0 || a:1 == '' ? filename : substitute(a:1, '$1', filename, 'g')
|
||||||
|
endf
|
||||||
|
|
||||||
|
fun s:RemoveSnippet()
|
||||||
|
unl! g:snipPos s:curPos s:snipLen s:endCol s:endLine s:prevLen
|
||||||
|
\ s:lastBuf s:oldWord
|
||||||
|
if exists('s:update')
|
||||||
|
unl s:startCol s:origWordLen s:update
|
||||||
|
if exists('s:oldVars') | unl s:oldVars s:oldEndCol | endif
|
||||||
|
endif
|
||||||
|
aug! snipMateAutocmds
|
||||||
|
endf
|
||||||
|
|
||||||
|
fun snipMate#expandSnip(snip, col)
|
||||||
|
let lnum = line('.') | let col = a:col
|
||||||
|
|
||||||
|
let snippet = s:ProcessSnippet(a:snip)
|
||||||
|
" Avoid error if eval evaluates to nothing
|
||||||
|
if snippet == '' | return '' | endif
|
||||||
|
|
||||||
|
" Expand snippet onto current position with the tab stops removed
|
||||||
|
let snipLines = split(substitute(snippet, '$\d\+\|${\d\+.\{-}}', '', 'g'), "\n", 1)
|
||||||
|
|
||||||
|
let line = getline(lnum)
|
||||||
|
let afterCursor = strpart(line, col - 1)
|
||||||
|
" Keep text after the cursor
|
||||||
|
if afterCursor != "\t" && afterCursor != ' '
|
||||||
|
let line = strpart(line, 0, col - 1)
|
||||||
|
let snipLines[-1] .= afterCursor
|
||||||
|
else
|
||||||
|
let afterCursor = ''
|
||||||
|
" For some reason the cursor needs to move one right after this
|
||||||
|
if line != '' && col == 1 && &ve != 'all' && &ve != 'onemore'
|
||||||
|
let col += 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
call setline(lnum, line.snipLines[0])
|
||||||
|
|
||||||
|
" Autoindent snippet according to previous indentation
|
||||||
|
let indent = matchend(line, '^.\{-}\ze\(\S\|$\)') + 1
|
||||||
|
call append(lnum, map(snipLines[1:], "'".strpart(line, 0, indent - 1)."'.v:val"))
|
||||||
|
|
||||||
|
" Open any folds snippet expands into
|
||||||
|
if &fen | sil! exe lnum.','.(lnum + len(snipLines) - 1).'foldopen' | endif
|
||||||
|
|
||||||
|
let [g:snipPos, s:snipLen] = s:BuildTabStops(snippet, lnum, col - indent, indent)
|
||||||
|
|
||||||
|
if s:snipLen
|
||||||
|
aug snipMateAutocmds
|
||||||
|
au CursorMovedI * call s:UpdateChangedSnip(0)
|
||||||
|
au InsertEnter * call s:UpdateChangedSnip(1)
|
||||||
|
aug END
|
||||||
|
let s:lastBuf = bufnr(0) " Only expand snippet while in current buffer
|
||||||
|
let s:curPos = 0
|
||||||
|
let s:endCol = g:snipPos[s:curPos][1]
|
||||||
|
let s:endLine = g:snipPos[s:curPos][0]
|
||||||
|
|
||||||
|
call cursor(g:snipPos[s:curPos][0], g:snipPos[s:curPos][1])
|
||||||
|
let s:prevLen = [line('$'), col('$')]
|
||||||
|
if g:snipPos[s:curPos][2] != -1 | return s:SelectWord() | endif
|
||||||
|
else
|
||||||
|
unl g:snipPos s:snipLen
|
||||||
|
" Place cursor at end of snippet if no tab stop is given
|
||||||
|
let newlines = len(snipLines) - 1
|
||||||
|
call cursor(lnum + newlines, indent + len(snipLines[-1]) - len(afterCursor)
|
||||||
|
\ + (newlines ? 0: col - 1))
|
||||||
|
endif
|
||||||
|
return ''
|
||||||
|
endf
|
||||||
|
|
||||||
|
" Prepare snippet to be processed by s:BuildTabStops
|
||||||
|
fun s:ProcessSnippet(snip)
|
||||||
|
let snippet = a:snip
|
||||||
|
" Evaluate eval (`...`) expressions.
|
||||||
|
" Using a loop here instead of a regex fixes a bug with nested "\=".
|
||||||
|
if stridx(snippet, '`') != -1
|
||||||
|
while match(snippet, '`.\{-}`') != -1
|
||||||
|
let snippet = substitute(snippet, '`.\{-}`',
|
||||||
|
\ substitute(eval(matchstr(snippet, '`\zs.\{-}\ze`')),
|
||||||
|
\ "\n\\%$", '', ''), '')
|
||||||
|
endw
|
||||||
|
let snippet = substitute(snippet, "\r", "\n", 'g')
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Place all text after a colon in a tab stop after the tab stop
|
||||||
|
" (e.g. "${#:foo}" becomes "${:foo}foo").
|
||||||
|
" This helps tell the position of the tab stops later.
|
||||||
|
let snippet = substitute(snippet, '${\d\+:\(.\{-}\)}', '&\1', 'g')
|
||||||
|
|
||||||
|
" Update the a:snip so that all the $# become the text after
|
||||||
|
" the colon in their associated ${#}.
|
||||||
|
" (e.g. "${1:foo}" turns all "$1"'s into "foo")
|
||||||
|
let i = 1
|
||||||
|
while stridx(snippet, '${'.i) != -1
|
||||||
|
let s = matchstr(snippet, '${'.i.':\zs.\{-}\ze}')
|
||||||
|
if s != ''
|
||||||
|
let snippet = substitute(snippet, '$'.i, s.'&', 'g')
|
||||||
|
endif
|
||||||
|
let i += 1
|
||||||
|
endw
|
||||||
|
|
||||||
|
if &et " Expand tabs to spaces if 'expandtab' is set.
|
||||||
|
return substitute(snippet, '\t', repeat(' ', &sts ? &sts : &sw), 'g')
|
||||||
|
endif
|
||||||
|
return snippet
|
||||||
|
endf
|
||||||
|
|
||||||
|
" Counts occurences of haystack in needle
|
||||||
|
fun s:Count(haystack, needle)
|
||||||
|
let counter = 0
|
||||||
|
let index = stridx(a:haystack, a:needle)
|
||||||
|
while index != -1
|
||||||
|
let index = stridx(a:haystack, a:needle, index+1)
|
||||||
|
let counter += 1
|
||||||
|
endw
|
||||||
|
return counter
|
||||||
|
endf
|
||||||
|
|
||||||
|
" Builds a list of a list of each tab stop in the snippet containing:
|
||||||
|
" 1.) The tab stop's line number.
|
||||||
|
" 2.) The tab stop's column number
|
||||||
|
" (by getting the length of the string between the last "\n" and the
|
||||||
|
" tab stop).
|
||||||
|
" 3.) The length of the text after the colon for the current tab stop
|
||||||
|
" (e.g. "${1:foo}" would return 3). If there is no text, -1 is returned.
|
||||||
|
" 4.) If the "${#:}" construct is given, another list containing all
|
||||||
|
" the matches of "$#", to be replaced with the placeholder. This list is
|
||||||
|
" composed the same way as the parent; the first item is the line number,
|
||||||
|
" and the second is the column.
|
||||||
|
fun s:BuildTabStops(snip, lnum, col, indent)
|
||||||
|
let snipPos = []
|
||||||
|
let i = 1
|
||||||
|
let withoutVars = substitute(a:snip, '$\d\+', '', 'g')
|
||||||
|
while stridx(a:snip, '${'.i) != -1
|
||||||
|
let beforeTabStop = matchstr(withoutVars, '^.*\ze${'.i.'\D')
|
||||||
|
let withoutOthers = substitute(withoutVars, '${\('.i.'\D\)\@!\d\+.\{-}}', '', 'g')
|
||||||
|
|
||||||
|
let j = i - 1
|
||||||
|
call add(snipPos, [0, 0, -1])
|
||||||
|
let snipPos[j][0] = a:lnum + s:Count(beforeTabStop, "\n")
|
||||||
|
let snipPos[j][1] = a:indent + len(matchstr(withoutOthers, '.*\(\n\|^\)\zs.*\ze${'.i.'\D'))
|
||||||
|
if snipPos[j][0] == a:lnum | let snipPos[j][1] += a:col | endif
|
||||||
|
|
||||||
|
" Get all $# matches in another list, if ${#:name} is given
|
||||||
|
if stridx(withoutVars, '${'.i.':') != -1
|
||||||
|
let snipPos[j][2] = len(matchstr(withoutVars, '${'.i.':\zs.\{-}\ze}'))
|
||||||
|
let dots = repeat('.', snipPos[j][2])
|
||||||
|
call add(snipPos[j], [])
|
||||||
|
let withoutOthers = substitute(a:snip, '${\d\+.\{-}}\|$'.i.'\@!\d\+', '', 'g')
|
||||||
|
while match(withoutOthers, '$'.i.'\(\D\|$\)') != -1
|
||||||
|
let beforeMark = matchstr(withoutOthers, '^.\{-}\ze'.dots.'$'.i.'\(\D\|$\)')
|
||||||
|
call add(snipPos[j][3], [0, 0])
|
||||||
|
let snipPos[j][3][-1][0] = a:lnum + s:Count(beforeMark, "\n")
|
||||||
|
let snipPos[j][3][-1][1] = a:indent + (snipPos[j][3][-1][0] > a:lnum
|
||||||
|
\ ? len(matchstr(beforeMark, '.*\n\zs.*'))
|
||||||
|
\ : a:col + len(beforeMark))
|
||||||
|
let withoutOthers = substitute(withoutOthers, '$'.i.'\ze\(\D\|$\)', '', '')
|
||||||
|
endw
|
||||||
|
endif
|
||||||
|
let i += 1
|
||||||
|
endw
|
||||||
|
return [snipPos, i - 1]
|
||||||
|
endf
|
||||||
|
|
||||||
|
fun snipMate#jumpTabStop(backwards)
|
||||||
|
let leftPlaceholder = exists('s:origWordLen')
|
||||||
|
\ && s:origWordLen != g:snipPos[s:curPos][2]
|
||||||
|
if leftPlaceholder && exists('s:oldEndCol')
|
||||||
|
let startPlaceholder = s:oldEndCol + 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('s:update')
|
||||||
|
call s:UpdatePlaceholderTabStops()
|
||||||
|
else
|
||||||
|
call s:UpdateTabStops()
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Don't reselect placeholder if it has been modified
|
||||||
|
if leftPlaceholder && g:snipPos[s:curPos][2] != -1
|
||||||
|
if exists('startPlaceholder')
|
||||||
|
let g:snipPos[s:curPos][1] = startPlaceholder
|
||||||
|
else
|
||||||
|
let g:snipPos[s:curPos][1] = col('.')
|
||||||
|
let g:snipPos[s:curPos][2] = 0
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:curPos += a:backwards ? -1 : 1
|
||||||
|
" Loop over the snippet when going backwards from the beginning
|
||||||
|
if s:curPos < 0 | let s:curPos = s:snipLen - 1 | endif
|
||||||
|
|
||||||
|
if s:curPos == s:snipLen
|
||||||
|
let sMode = s:endCol == g:snipPos[s:curPos-1][1]+g:snipPos[s:curPos-1][2]
|
||||||
|
call s:RemoveSnippet()
|
||||||
|
return sMode ? "\<tab>" : TriggerSnippet()
|
||||||
|
endif
|
||||||
|
|
||||||
|
call cursor(g:snipPos[s:curPos][0], g:snipPos[s:curPos][1])
|
||||||
|
|
||||||
|
let s:endLine = g:snipPos[s:curPos][0]
|
||||||
|
let s:endCol = g:snipPos[s:curPos][1]
|
||||||
|
let s:prevLen = [line('$'), col('$')]
|
||||||
|
|
||||||
|
return g:snipPos[s:curPos][2] == -1 ? '' : s:SelectWord()
|
||||||
|
endf
|
||||||
|
|
||||||
|
fun s:UpdatePlaceholderTabStops()
|
||||||
|
let changeLen = s:origWordLen - g:snipPos[s:curPos][2]
|
||||||
|
unl s:startCol s:origWordLen s:update
|
||||||
|
if !exists('s:oldVars') | return | endif
|
||||||
|
" Update tab stops in snippet if text has been added via "$#"
|
||||||
|
" (e.g., in "${1:foo}bar$1${2}").
|
||||||
|
if changeLen != 0
|
||||||
|
let curLine = line('.')
|
||||||
|
|
||||||
|
for pos in g:snipPos
|
||||||
|
if pos == g:snipPos[s:curPos] | continue | endif
|
||||||
|
let changed = pos[0] == curLine && pos[1] > s:oldEndCol
|
||||||
|
let changedVars = 0
|
||||||
|
let endPlaceholder = pos[2] - 1 + pos[1]
|
||||||
|
" Subtract changeLen from each tab stop that was after any of
|
||||||
|
" the current tab stop's placeholders.
|
||||||
|
for [lnum, col] in s:oldVars
|
||||||
|
if lnum > pos[0] | break | endif
|
||||||
|
if pos[0] == lnum
|
||||||
|
if pos[1] > col || (pos[2] == -1 && pos[1] == col)
|
||||||
|
let changed += 1
|
||||||
|
elseif col < endPlaceholder
|
||||||
|
let changedVars += 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
let pos[1] -= changeLen * changed
|
||||||
|
let pos[2] -= changeLen * changedVars " Parse variables within placeholders
|
||||||
|
" e.g., "${1:foo} ${2:$1bar}"
|
||||||
|
|
||||||
|
if pos[2] == -1 | continue | endif
|
||||||
|
" Do the same to any placeholders in the other tab stops.
|
||||||
|
for nPos in pos[3]
|
||||||
|
let changed = nPos[0] == curLine && nPos[1] > s:oldEndCol
|
||||||
|
for [lnum, col] in s:oldVars
|
||||||
|
if lnum > nPos[0] | break | endif
|
||||||
|
if nPos[0] == lnum && nPos[1] > col
|
||||||
|
let changed += 1
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
let nPos[1] -= changeLen * changed
|
||||||
|
endfor
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
unl s:endCol s:oldVars s:oldEndCol
|
||||||
|
endf
|
||||||
|
|
||||||
|
fun s:UpdateTabStops()
|
||||||
|
let changeLine = s:endLine - g:snipPos[s:curPos][0]
|
||||||
|
let changeCol = s:endCol - g:snipPos[s:curPos][1]
|
||||||
|
if exists('s:origWordLen')
|
||||||
|
let changeCol -= s:origWordLen
|
||||||
|
unl s:origWordLen
|
||||||
|
endif
|
||||||
|
let lnum = g:snipPos[s:curPos][0]
|
||||||
|
let col = g:snipPos[s:curPos][1]
|
||||||
|
" Update the line number of all proceeding tab stops if <cr> has
|
||||||
|
" been inserted.
|
||||||
|
if changeLine != 0
|
||||||
|
let changeLine -= 1
|
||||||
|
for pos in g:snipPos
|
||||||
|
if pos[0] >= lnum
|
||||||
|
if pos[0] == lnum | let pos[1] += changeCol | endif
|
||||||
|
let pos[0] += changeLine
|
||||||
|
endif
|
||||||
|
if pos[2] == -1 | continue | endif
|
||||||
|
for nPos in pos[3]
|
||||||
|
if nPos[0] >= lnum
|
||||||
|
if nPos[0] == lnum | let nPos[1] += changeCol | endif
|
||||||
|
let nPos[0] += changeLine
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfor
|
||||||
|
elseif changeCol != 0
|
||||||
|
" Update the column of all proceeding tab stops if text has
|
||||||
|
" been inserted/deleted in the current line.
|
||||||
|
for pos in g:snipPos
|
||||||
|
if pos[1] >= col && pos[0] == lnum
|
||||||
|
let pos[1] += changeCol
|
||||||
|
endif
|
||||||
|
if pos[2] == -1 | continue | endif
|
||||||
|
for nPos in pos[3]
|
||||||
|
if nPos[0] > lnum | break | endif
|
||||||
|
if nPos[0] == lnum && nPos[1] >= col
|
||||||
|
let nPos[1] += changeCol
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
endf
|
||||||
|
|
||||||
|
fun s:SelectWord()
|
||||||
|
let s:origWordLen = g:snipPos[s:curPos][2]
|
||||||
|
let s:oldWord = strpart(getline('.'), g:snipPos[s:curPos][1] - 1,
|
||||||
|
\ s:origWordLen)
|
||||||
|
let s:prevLen[1] -= s:origWordLen
|
||||||
|
if !empty(g:snipPos[s:curPos][3])
|
||||||
|
let s:update = 1
|
||||||
|
let s:endCol = -1
|
||||||
|
let s:startCol = g:snipPos[s:curPos][1] - 1
|
||||||
|
endif
|
||||||
|
if !s:origWordLen | return '' | endif
|
||||||
|
let l = col('.') != 1 ? 'l' : ''
|
||||||
|
if &sel == 'exclusive'
|
||||||
|
return "\<esc>".l.'v'.s:origWordLen."l\<c-g>"
|
||||||
|
endif
|
||||||
|
return s:origWordLen == 1 ? "\<esc>".l.'gh'
|
||||||
|
\ : "\<esc>".l.'v'.(s:origWordLen - 1)."l\<c-g>"
|
||||||
|
endf
|
||||||
|
|
||||||
|
" This updates the snippet as you type when text needs to be inserted
|
||||||
|
" into multiple places (e.g. in "${1:default text}foo$1bar$1",
|
||||||
|
" "default text" would be highlighted, and if the user types something,
|
||||||
|
" UpdateChangedSnip() would be called so that the text after "foo" & "bar"
|
||||||
|
" are updated accordingly)
|
||||||
|
"
|
||||||
|
" It also automatically quits the snippet if the cursor is moved out of it
|
||||||
|
" while in insert mode.
|
||||||
|
fun s:UpdateChangedSnip(entering)
|
||||||
|
if exists('g:snipPos') && bufnr(0) != s:lastBuf
|
||||||
|
call s:RemoveSnippet()
|
||||||
|
elseif exists('s:update') " If modifying a placeholder
|
||||||
|
if !exists('s:oldVars') && s:curPos + 1 < s:snipLen
|
||||||
|
" Save the old snippet & word length before it's updated
|
||||||
|
" s:startCol must be saved too, in case text is added
|
||||||
|
" before the snippet (e.g. in "foo$1${2}bar${1:foo}").
|
||||||
|
let s:oldEndCol = s:startCol
|
||||||
|
let s:oldVars = deepcopy(g:snipPos[s:curPos][3])
|
||||||
|
endif
|
||||||
|
let col = col('.') - 1
|
||||||
|
|
||||||
|
if s:endCol != -1
|
||||||
|
let changeLen = col('$') - s:prevLen[1]
|
||||||
|
let s:endCol += changeLen
|
||||||
|
else " When being updated the first time, after leaving select mode
|
||||||
|
if a:entering | return | endif
|
||||||
|
let s:endCol = col - 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If the cursor moves outside the snippet, quit it
|
||||||
|
if line('.') != g:snipPos[s:curPos][0] || col < s:startCol ||
|
||||||
|
\ col - 1 > s:endCol
|
||||||
|
unl! s:startCol s:origWordLen s:oldVars s:update
|
||||||
|
return s:RemoveSnippet()
|
||||||
|
endif
|
||||||
|
|
||||||
|
call s:UpdateVars()
|
||||||
|
let s:prevLen[1] = col('$')
|
||||||
|
elseif exists('g:snipPos')
|
||||||
|
if !a:entering && g:snipPos[s:curPos][2] != -1
|
||||||
|
let g:snipPos[s:curPos][2] = -2
|
||||||
|
endif
|
||||||
|
|
||||||
|
let col = col('.')
|
||||||
|
let lnum = line('.')
|
||||||
|
let changeLine = line('$') - s:prevLen[0]
|
||||||
|
|
||||||
|
if lnum == s:endLine
|
||||||
|
let s:endCol += col('$') - s:prevLen[1]
|
||||||
|
let s:prevLen = [line('$'), col('$')]
|
||||||
|
endif
|
||||||
|
if changeLine != 0
|
||||||
|
let s:endLine += changeLine
|
||||||
|
let s:endCol = col
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Delete snippet if cursor moves out of it in insert mode
|
||||||
|
if (lnum == s:endLine && (col > s:endCol || col < g:snipPos[s:curPos][1]))
|
||||||
|
\ || lnum > s:endLine || lnum < g:snipPos[s:curPos][0]
|
||||||
|
call s:RemoveSnippet()
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endf
|
||||||
|
|
||||||
|
" This updates the variables in a snippet when a placeholder has been edited.
|
||||||
|
" (e.g., each "$1" in "${1:foo} $1bar $1bar")
|
||||||
|
fun s:UpdateVars()
|
||||||
|
let newWordLen = s:endCol - s:startCol + 1
|
||||||
|
let newWord = strpart(getline('.'), s:startCol, newWordLen)
|
||||||
|
if newWord == s:oldWord || empty(g:snipPos[s:curPos][3])
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let changeLen = g:snipPos[s:curPos][2] - newWordLen
|
||||||
|
let curLine = line('.')
|
||||||
|
let startCol = col('.')
|
||||||
|
let oldStartSnip = s:startCol
|
||||||
|
let updateTabStops = changeLen != 0
|
||||||
|
let i = 0
|
||||||
|
|
||||||
|
for [lnum, col] in g:snipPos[s:curPos][3]
|
||||||
|
if updateTabStops
|
||||||
|
let start = s:startCol
|
||||||
|
if lnum == curLine && col <= start
|
||||||
|
let s:startCol -= changeLen
|
||||||
|
let s:endCol -= changeLen
|
||||||
|
endif
|
||||||
|
for nPos in g:snipPos[s:curPos][3][(i):]
|
||||||
|
" This list is in ascending order, so quit if we've gone too far.
|
||||||
|
if nPos[0] > lnum | break | endif
|
||||||
|
if nPos[0] == lnum && nPos[1] > col
|
||||||
|
let nPos[1] -= changeLen
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
if lnum == curLine && col > start
|
||||||
|
let col -= changeLen
|
||||||
|
let g:snipPos[s:curPos][3][i][1] = col
|
||||||
|
endif
|
||||||
|
let i += 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" "Very nomagic" is used here to allow special characters.
|
||||||
|
call setline(lnum, substitute(getline(lnum), '\%'.col.'c\V'.
|
||||||
|
\ escape(s:oldWord, '\'), escape(newWord, '\&'), ''))
|
||||||
|
endfor
|
||||||
|
if oldStartSnip != s:startCol
|
||||||
|
call cursor(0, startCol + s:startCol - oldStartSnip)
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:oldWord = newWord
|
||||||
|
let g:snipPos[s:curPos][2] = newWordLen
|
||||||
|
endf
|
||||||
|
" vim:noet:sw=4:ts=4:ft=vim
|
1088
dot.vim/autoload/vimwiki.vim
Normal file
1088
dot.vim/autoload/vimwiki.vim
Normal file
File diff suppressed because it is too large
Load diff
281
dot.vim/autoload/vimwiki_diary.vim
Normal file
281
dot.vim/autoload/vimwiki_diary.vim
Normal file
|
@ -0,0 +1,281 @@
|
||||||
|
" vim:tabstop=2:shiftwidth=2:expandtab:foldmethod=marker:textwidth=79
|
||||||
|
" Vimwiki autoload plugin file
|
||||||
|
" Desc: Handle diary notes
|
||||||
|
" Author: Maxim Kim <habamax@gmail.com>
|
||||||
|
" Home: http://code.google.com/p/vimwiki/
|
||||||
|
|
||||||
|
" Load only once {{{
|
||||||
|
if exists("g:loaded_vimwiki_diary_auto") || &cp
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_vimwiki_diary_auto = 1
|
||||||
|
"}}}
|
||||||
|
|
||||||
|
function! s:prefix_zero(num) "{{{
|
||||||
|
if a:num < 10
|
||||||
|
return '0'.a:num
|
||||||
|
endif
|
||||||
|
return a:num
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:desc(d1, d2) "{{{
|
||||||
|
return a:d1 == a:d2 ? 0 : a:d1 < a:d2 ? 1 : -1
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_date_link(fmt) "{{{
|
||||||
|
return strftime(a:fmt)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:link_exists(lines, link) "{{{
|
||||||
|
let link_exists = 0
|
||||||
|
for line in a:lines
|
||||||
|
if line =~ escape(a:link, '[]\')
|
||||||
|
let link_exists = 1
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
return link_exists
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:diary_path() "{{{
|
||||||
|
return VimwikiGet('path').VimwikiGet('diary_rel_path')
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:diary_index() "{{{
|
||||||
|
return s:diary_path().VimwikiGet('diary_index').VimwikiGet('ext')
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_diary_range(lines, header) "{{{
|
||||||
|
let rx = '\[\[\d\{4}-\d\d-\d\d\]\]'
|
||||||
|
let idx = 0
|
||||||
|
let ln_start = -1
|
||||||
|
let ln_end = -1
|
||||||
|
for line in a:lines
|
||||||
|
if ln_start != -1
|
||||||
|
if line =~ '^\s*\(=\)\+.*\1\s*$' || (line !~ rx && line !~ '^\s*$')
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*\(=\)\+\s*'.a:header.'\s*\1\s*$'
|
||||||
|
let ln_start = idx + 1
|
||||||
|
endif
|
||||||
|
let idx += 1
|
||||||
|
endfor
|
||||||
|
|
||||||
|
let ln_end = idx
|
||||||
|
return [ln_start, ln_end]
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:diary_date_link() "{{{
|
||||||
|
return s:get_date_link(VimwikiGet('diary_link_fmt'))
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_file_contents(file_name) "{{{
|
||||||
|
let lines = []
|
||||||
|
let bufnr = bufnr(expand(a:file_name))
|
||||||
|
if bufnr != -1
|
||||||
|
let lines = getbufline(bufnr, 1, '$')
|
||||||
|
else
|
||||||
|
try
|
||||||
|
let lines = readfile(expand(a:file_name))
|
||||||
|
catch
|
||||||
|
endtry
|
||||||
|
endif
|
||||||
|
return [lines, bufnr]
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_links() "{{{
|
||||||
|
let rx = '\d\{4}-\d\d-\d\d'
|
||||||
|
let s_links = glob(VimwikiGet('path').VimwikiGet('diary_rel_path').
|
||||||
|
\ '*'.VimwikiGet('ext'))
|
||||||
|
|
||||||
|
let s_links = substitute(s_links, '\'.VimwikiGet('ext'), "", "g")
|
||||||
|
let links = split(s_links, '\n')
|
||||||
|
|
||||||
|
" remove backup files (.wiki~)
|
||||||
|
call filter(links, 'v:val !~ ''.*\~$''')
|
||||||
|
|
||||||
|
" remove paths
|
||||||
|
call map(links, 'fnamemodify(v:val, ":t")')
|
||||||
|
|
||||||
|
call filter(links, 'v:val =~ "'.escape(rx, '\').'"')
|
||||||
|
return links
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_position_links(link) "{{{
|
||||||
|
let idx = -1
|
||||||
|
let links = []
|
||||||
|
if a:link =~ '\d\{4}-\d\d-\d\d'
|
||||||
|
let links = s:get_links()
|
||||||
|
" include 'today' into links
|
||||||
|
if index(links, s:diary_date_link()) == -1
|
||||||
|
call add(links, s:diary_date_link())
|
||||||
|
endif
|
||||||
|
call sort(links)
|
||||||
|
let idx = index(links, a:link)
|
||||||
|
endif
|
||||||
|
return [idx, links]
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:format_links(links) "{{{
|
||||||
|
let lines = []
|
||||||
|
let line = '| '
|
||||||
|
let idx = 0
|
||||||
|
let trigger = 0
|
||||||
|
while idx < len(a:links)
|
||||||
|
if idx/VimwikiGet('diary_link_count') > trigger
|
||||||
|
let trigger = idx/VimwikiGet('diary_link_count')
|
||||||
|
call add(lines, substitute(line, '\s\+$', '', ''))
|
||||||
|
let line = '| '
|
||||||
|
endif
|
||||||
|
let line .= a:links[idx].' | '
|
||||||
|
let idx += 1
|
||||||
|
endwhile
|
||||||
|
call add(lines, substitute(line, '\s\+$', '', ''))
|
||||||
|
call extend(lines, [''])
|
||||||
|
|
||||||
|
return lines
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:add_link(page, header, link) "{{{
|
||||||
|
let [lines, bufnr] = s:get_file_contents(a:page)
|
||||||
|
|
||||||
|
let [ln_start, ln_end] = s:get_diary_range(lines, a:header)
|
||||||
|
|
||||||
|
let link = '[['.a:link.']]'
|
||||||
|
|
||||||
|
let link_exists = s:link_exists(lines[ln_start : ln_end], link)
|
||||||
|
|
||||||
|
if !link_exists
|
||||||
|
|
||||||
|
if ln_start == -1
|
||||||
|
call insert(lines, '= '.a:header.' =')
|
||||||
|
let ln_start = 1
|
||||||
|
let ln_end = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" removing 'old' links
|
||||||
|
let idx = ln_end - ln_start
|
||||||
|
while idx > 0
|
||||||
|
call remove(lines, ln_start)
|
||||||
|
let idx -= 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
" get all diary links from filesystem
|
||||||
|
let links = s:get_links()
|
||||||
|
call map(links, '"[[".v:val."]]"')
|
||||||
|
|
||||||
|
" add current link
|
||||||
|
if index(links, link) == -1
|
||||||
|
call add(links, link)
|
||||||
|
endif
|
||||||
|
|
||||||
|
let links = sort(links, 's:desc')
|
||||||
|
call extend(lines, s:format_links(links), ln_start)
|
||||||
|
|
||||||
|
if bufnr != -1
|
||||||
|
exe 'buffer '.bufnr
|
||||||
|
if !&readonly
|
||||||
|
1,$delete _
|
||||||
|
call append(1, lines)
|
||||||
|
1,1delete _
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
call writefile(lines, expand(a:page))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:make_date_link(...) "{{{
|
||||||
|
if a:0
|
||||||
|
let link = a:1
|
||||||
|
else
|
||||||
|
let link = s:diary_date_link()
|
||||||
|
endif
|
||||||
|
let header = VimwikiGet('diary_header')
|
||||||
|
call s:add_link(s:diary_index(), header, link)
|
||||||
|
return VimwikiGet('diary_rel_path').link
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_diary#make_note(index, ...) "{{{
|
||||||
|
call vimwiki#select(a:index)
|
||||||
|
call vimwiki#mkdir(VimwikiGet('path').VimwikiGet('diary_rel_path'))
|
||||||
|
if a:0
|
||||||
|
let link = s:make_date_link(a:1)
|
||||||
|
else
|
||||||
|
let link = s:make_date_link()
|
||||||
|
endif
|
||||||
|
call vimwiki#open_link(':e ', link, s:diary_index())
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Calendar.vim callback function.
|
||||||
|
function! vimwiki_diary#calendar_action(day, month, year, week, dir) "{{{
|
||||||
|
let day = s:prefix_zero(a:day)
|
||||||
|
let month = s:prefix_zero(a:month)
|
||||||
|
|
||||||
|
let link = a:year.'-'.month.'-'.day
|
||||||
|
if winnr('#') == 0
|
||||||
|
if a:dir == 'V'
|
||||||
|
vsplit
|
||||||
|
else
|
||||||
|
split
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
wincmd p
|
||||||
|
if !&hidden && &modified
|
||||||
|
new
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Create diary note for a selected date in default wiki.
|
||||||
|
call vimwiki_diary#make_note(1, link)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Calendar.vim sign function.
|
||||||
|
function vimwiki_diary#calendar_sign(day, month, year) "{{{
|
||||||
|
let day = s:prefix_zero(a:day)
|
||||||
|
let month = s:prefix_zero(a:month)
|
||||||
|
let sfile = VimwikiGet('path').VimwikiGet('diary_rel_path').
|
||||||
|
\ a:year.'-'.month.'-'.day.VimwikiGet('ext')
|
||||||
|
return filereadable(expand(sfile))
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_diary#goto_next_day() "{{{
|
||||||
|
let link = ''
|
||||||
|
let [idx, links] = s:get_position_links(expand('%:t:r'))
|
||||||
|
|
||||||
|
if idx == (len(links) - 1)
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if idx != -1 && idx < len(links) - 1
|
||||||
|
let link = VimwikiGet('diary_rel_path').links[idx+1]
|
||||||
|
else
|
||||||
|
" goto today
|
||||||
|
let link = VimwikiGet('diary_rel_path').s:diary_date_link()
|
||||||
|
endif
|
||||||
|
|
||||||
|
if len(link)
|
||||||
|
call vimwiki#open_link(':e ', link)
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_diary#goto_prev_day() "{{{
|
||||||
|
let link = ''
|
||||||
|
let [idx, links] = s:get_position_links(expand('%:t:r'))
|
||||||
|
|
||||||
|
if idx == 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if idx > 0
|
||||||
|
let link = VimwikiGet('diary_rel_path').links[idx-1]
|
||||||
|
else
|
||||||
|
" goto today
|
||||||
|
let link = VimwikiGet('diary_rel_path').s:diary_date_link()
|
||||||
|
endif
|
||||||
|
|
||||||
|
if len(link)
|
||||||
|
call vimwiki#open_link(':e ', link)
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
1311
dot.vim/autoload/vimwiki_html.vim
Normal file
1311
dot.vim/autoload/vimwiki_html.vim
Normal file
File diff suppressed because it is too large
Load diff
359
dot.vim/autoload/vimwiki_lst.vim
Normal file
359
dot.vim/autoload/vimwiki_lst.vim
Normal file
|
@ -0,0 +1,359 @@
|
||||||
|
" vim:tabstop=2:shiftwidth=2:expandtab:foldmethod=marker:textwidth=79
|
||||||
|
" Vimwiki autoload plugin file
|
||||||
|
" Todo lists related stuff here.
|
||||||
|
" Author: Maxim Kim <habamax@gmail.com>
|
||||||
|
" Home: http://code.google.com/p/vimwiki/
|
||||||
|
|
||||||
|
if exists("g:loaded_vimwiki_list_auto") || &cp
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_vimwiki_lst_auto = 1
|
||||||
|
|
||||||
|
" Script variables {{{
|
||||||
|
let s:rx_li_box = '\[.\?\]'
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" Script functions {{{
|
||||||
|
|
||||||
|
" Get checkbox regexp
|
||||||
|
function! s:rx_li_symbol(rate) "{{{
|
||||||
|
let result = ''
|
||||||
|
if a:rate == 100
|
||||||
|
let result = g:vimwiki_listsyms[4]
|
||||||
|
elseif a:rate == 0
|
||||||
|
let result = g:vimwiki_listsyms[0]
|
||||||
|
elseif a:rate >= 67
|
||||||
|
let result = g:vimwiki_listsyms[3]
|
||||||
|
elseif a:rate >= 34
|
||||||
|
let result = g:vimwiki_listsyms[2]
|
||||||
|
else
|
||||||
|
let result = g:vimwiki_listsyms[1]
|
||||||
|
endif
|
||||||
|
|
||||||
|
return '\['.result.'\]'
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Get regexp of the list item.
|
||||||
|
function! s:rx_list_item() "{{{
|
||||||
|
return '\('.g:vimwiki_rxListBullet.'\|'.g:vimwiki_rxListNumber.'\)'
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Get regexp of the list item with checkbox.
|
||||||
|
function! s:rx_cb_list_item() "{{{
|
||||||
|
return s:rx_list_item().'\s*\zs\[.\?\]'
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Get level of the list item.
|
||||||
|
function! s:get_level(lnum) "{{{
|
||||||
|
if VimwikiGet('syntax') == 'media'
|
||||||
|
let level = vimwiki#count_first_sym(getline(a:lnum))
|
||||||
|
else
|
||||||
|
let level = indent(a:lnum)
|
||||||
|
endif
|
||||||
|
return level
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Get previous list item.
|
||||||
|
" Returns: line number or 0.
|
||||||
|
function! s:prev_list_item(lnum) "{{{
|
||||||
|
let c_lnum = a:lnum - 1
|
||||||
|
while c_lnum >= 1
|
||||||
|
let line = getline(c_lnum)
|
||||||
|
if line =~ s:rx_list_item()
|
||||||
|
return c_lnum
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*$'
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
let c_lnum -= 1
|
||||||
|
endwhile
|
||||||
|
return 0
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Get next list item in the list.
|
||||||
|
" Returns: line number or 0.
|
||||||
|
function! s:next_list_item(lnum) "{{{
|
||||||
|
let c_lnum = a:lnum + 1
|
||||||
|
while c_lnum <= line('$')
|
||||||
|
let line = getline(c_lnum)
|
||||||
|
if line =~ s:rx_list_item()
|
||||||
|
return c_lnum
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*$'
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
let c_lnum += 1
|
||||||
|
endwhile
|
||||||
|
return 0
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Find next list item in the buffer.
|
||||||
|
" Returns: line number or 0.
|
||||||
|
function! s:find_next_list_item(lnum) "{{{
|
||||||
|
let c_lnum = a:lnum + 1
|
||||||
|
while c_lnum <= line('$')
|
||||||
|
let line = getline(c_lnum)
|
||||||
|
if line =~ s:rx_list_item()
|
||||||
|
return c_lnum
|
||||||
|
endif
|
||||||
|
let c_lnum += 1
|
||||||
|
endwhile
|
||||||
|
return 0
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Set state of the list item on line number "lnum" to [ ] or [x]
|
||||||
|
function! s:set_state(lnum, rate) "{{{
|
||||||
|
let line = getline(a:lnum)
|
||||||
|
let state = s:rx_li_symbol(a:rate)
|
||||||
|
let line = substitute(line, s:rx_li_box, state, '')
|
||||||
|
call setline(a:lnum, line)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Get state of the list item on line number "lnum"
|
||||||
|
function! s:get_state(lnum) "{{{
|
||||||
|
let state = 0
|
||||||
|
let line = getline(a:lnum)
|
||||||
|
let opt = matchstr(line, s:rx_cb_list_item())
|
||||||
|
if opt =~ s:rx_li_symbol(100)
|
||||||
|
let state = 100
|
||||||
|
elseif opt =~ s:rx_li_symbol(0)
|
||||||
|
let state = 0
|
||||||
|
elseif opt =~ s:rx_li_symbol(25)
|
||||||
|
let state = 25
|
||||||
|
elseif opt =~ s:rx_li_symbol(50)
|
||||||
|
let state = 50
|
||||||
|
elseif opt =~ s:rx_li_symbol(75)
|
||||||
|
let state = 75
|
||||||
|
endif
|
||||||
|
return state
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Returns 1 if there is checkbox on a list item, 0 otherwise.
|
||||||
|
function! s:is_cb_list_item(lnum) "{{{
|
||||||
|
return getline(a:lnum) =~ s:rx_cb_list_item()
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Returns start line number of list item, 0 if it is not a list.
|
||||||
|
function! s:is_list_item(lnum) "{{{
|
||||||
|
let c_lnum = a:lnum
|
||||||
|
while c_lnum >= 1
|
||||||
|
let line = getline(c_lnum)
|
||||||
|
if line =~ s:rx_list_item()
|
||||||
|
return c_lnum
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*$'
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
if indent(c_lnum) > indent(a:lnum)
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
let c_lnum -= 1
|
||||||
|
endwhile
|
||||||
|
return 0
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Returns char column of checkbox. Used in parent/child checks.
|
||||||
|
function! s:get_li_pos(lnum) "{{{
|
||||||
|
return stridx(getline(a:lnum), '[')
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Returns list of line numbers of parent and all its child items.
|
||||||
|
function! s:get_child_items(lnum) "{{{
|
||||||
|
let result = []
|
||||||
|
let lnum = a:lnum
|
||||||
|
let p_pos = s:get_level(lnum)
|
||||||
|
|
||||||
|
" add parent
|
||||||
|
call add(result, lnum)
|
||||||
|
|
||||||
|
let lnum = s:next_list_item(lnum)
|
||||||
|
while lnum != 0 && s:is_list_item(lnum) && s:get_level(lnum) > p_pos
|
||||||
|
call add(result, lnum)
|
||||||
|
let lnum = s:next_list_item(lnum)
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
return result
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Returns list of line numbers of all items of the same level.
|
||||||
|
function! s:get_sibling_items(lnum) "{{{
|
||||||
|
let result = []
|
||||||
|
let lnum = a:lnum
|
||||||
|
let ind = s:get_level(lnum)
|
||||||
|
|
||||||
|
while lnum != 0 && s:get_level(lnum) >= ind
|
||||||
|
if s:get_level(lnum) == ind && s:is_cb_list_item(lnum)
|
||||||
|
call add(result, lnum)
|
||||||
|
endif
|
||||||
|
let lnum = s:next_list_item(lnum)
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
let lnum = s:prev_list_item(a:lnum)
|
||||||
|
while lnum != 0 && s:get_level(lnum) >= ind
|
||||||
|
if s:get_level(lnum) == ind && s:is_cb_list_item(lnum)
|
||||||
|
call add(result, lnum)
|
||||||
|
endif
|
||||||
|
let lnum = s:prev_list_item(lnum)
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
return result
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Returns line number of the parent of lnum item
|
||||||
|
function! s:get_parent_item(lnum) "{{{
|
||||||
|
let lnum = a:lnum
|
||||||
|
let ind = s:get_level(lnum)
|
||||||
|
|
||||||
|
let lnum = s:prev_list_item(lnum)
|
||||||
|
while lnum != 0 && s:is_list_item(lnum) && s:get_level(lnum) >= ind
|
||||||
|
let lnum = s:prev_list_item(lnum)
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
if s:is_cb_list_item(lnum)
|
||||||
|
return lnum
|
||||||
|
else
|
||||||
|
return a:lnum
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Creates checkbox in a list item.
|
||||||
|
function! s:create_cb_list_item(lnum) "{{{
|
||||||
|
let line = getline(a:lnum)
|
||||||
|
let m = matchstr(line, s:rx_list_item())
|
||||||
|
if m != ''
|
||||||
|
let li_content = substitute(strpart(line, len(m)), '^\s*', '', '')
|
||||||
|
let line = substitute(m, '\s*$', ' ', '').'[ ] '.li_content
|
||||||
|
call setline(a:lnum, line)
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Tells if all of the sibling list items are checked or not.
|
||||||
|
function! s:all_siblings_checked(lnum) "{{{
|
||||||
|
let result = 0
|
||||||
|
let cnt = 0
|
||||||
|
let siblings = s:get_sibling_items(a:lnum)
|
||||||
|
for lnum in siblings
|
||||||
|
let cnt += s:get_state(lnum)
|
||||||
|
endfor
|
||||||
|
let result = cnt/len(siblings)
|
||||||
|
return result
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Creates checkbox on a list item if there is no one.
|
||||||
|
function! s:TLI_create_checkbox(lnum) "{{{
|
||||||
|
if a:lnum && !s:is_cb_list_item(a:lnum)
|
||||||
|
if g:vimwiki_auto_checkbox
|
||||||
|
call s:create_cb_list_item(a:lnum)
|
||||||
|
endif
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Switch state of the child list items.
|
||||||
|
function! s:TLI_switch_child_state(lnum) "{{{
|
||||||
|
let current_state = s:get_state(a:lnum)
|
||||||
|
if current_state == 100
|
||||||
|
let new_state = 0
|
||||||
|
else
|
||||||
|
let new_state = 100
|
||||||
|
endif
|
||||||
|
for lnum in s:get_child_items(a:lnum)
|
||||||
|
call s:set_state(lnum, new_state)
|
||||||
|
endfor
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Switch state of the parent list items.
|
||||||
|
function! s:TLI_switch_parent_state(lnum) "{{{
|
||||||
|
let c_lnum = a:lnum
|
||||||
|
while s:is_cb_list_item(c_lnum)
|
||||||
|
let parent_lnum = s:get_parent_item(c_lnum)
|
||||||
|
if parent_lnum == c_lnum
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
call s:set_state(parent_lnum, s:all_siblings_checked(c_lnum))
|
||||||
|
|
||||||
|
let c_lnum = parent_lnum
|
||||||
|
endwhile
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:TLI_toggle(lnum) "{{{
|
||||||
|
if !s:TLI_create_checkbox(a:lnum)
|
||||||
|
call s:TLI_switch_child_state(a:lnum)
|
||||||
|
endif
|
||||||
|
call s:TLI_switch_parent_state(a:lnum)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Script functions }}}
|
||||||
|
|
||||||
|
" Toggle list item between [ ] and [X]
|
||||||
|
function! vimwiki_lst#ToggleListItem(line1, line2) "{{{
|
||||||
|
let line1 = a:line1
|
||||||
|
let line2 = a:line2
|
||||||
|
|
||||||
|
if line1 != line2 && !s:is_list_item(line1)
|
||||||
|
let line1 = s:find_next_list_item(line1)
|
||||||
|
endif
|
||||||
|
|
||||||
|
let c_lnum = line1
|
||||||
|
while c_lnum != 0 && c_lnum <= line2
|
||||||
|
let li_lnum = s:is_list_item(c_lnum)
|
||||||
|
|
||||||
|
if li_lnum
|
||||||
|
let li_level = s:get_level(li_lnum)
|
||||||
|
if c_lnum == line1
|
||||||
|
let start_li_level = li_level
|
||||||
|
endif
|
||||||
|
|
||||||
|
if li_level <= start_li_level
|
||||||
|
call s:TLI_toggle(li_lnum)
|
||||||
|
let start_li_level = li_level
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
let c_lnum = s:find_next_list_item(c_lnum)
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_lst#kbd_cr() "{{{
|
||||||
|
" This function is heavily relies on proper 'set comments' option.
|
||||||
|
let cr = "\<CR>"
|
||||||
|
if getline('.') =~ s:rx_cb_list_item()
|
||||||
|
let cr .= '[ ] '
|
||||||
|
endif
|
||||||
|
return cr
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_lst#kbd_oO(cmd) "{{{
|
||||||
|
" cmd should be 'o' or 'O'
|
||||||
|
|
||||||
|
let beg_lnum = foldclosed('.')
|
||||||
|
let end_lnum = foldclosedend('.')
|
||||||
|
if end_lnum != -1 && a:cmd ==# 'o'
|
||||||
|
let lnum = end_lnum
|
||||||
|
let line = getline(beg_lnum)
|
||||||
|
else
|
||||||
|
let line = getline('.')
|
||||||
|
let lnum = line('.')
|
||||||
|
endif
|
||||||
|
|
||||||
|
" let line = substitute(m, '\s*$', ' ', '').'[ ] '.li_content
|
||||||
|
let m = matchstr(line, s:rx_list_item())
|
||||||
|
let res = ''
|
||||||
|
if line =~ s:rx_cb_list_item()
|
||||||
|
let res = substitute(m, '\s*$', ' ', '').'[ ] '
|
||||||
|
elseif line =~ s:rx_list_item()
|
||||||
|
let res = substitute(m, '\s*$', ' ', '')
|
||||||
|
elseif &autoindent || &smartindent
|
||||||
|
let res = matchstr(line, '^\s*')
|
||||||
|
endif
|
||||||
|
if a:cmd ==# 'o'
|
||||||
|
call append(lnum, res)
|
||||||
|
call cursor(lnum + 1, col('$'))
|
||||||
|
else
|
||||||
|
call append(lnum - 1, res)
|
||||||
|
call cursor(lnum, col('$'))
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
510
dot.vim/autoload/vimwiki_tbl.vim
Normal file
510
dot.vim/autoload/vimwiki_tbl.vim
Normal file
|
@ -0,0 +1,510 @@
|
||||||
|
" vim:tabstop=2:shiftwidth=2:expandtab:foldmethod=marker:textwidth=79
|
||||||
|
" Vimwiki autoload plugin file
|
||||||
|
" Desc: Tables
|
||||||
|
" | Easily | manageable | text | tables | ! |
|
||||||
|
" |--------+------------+-------+--------+---------|
|
||||||
|
" | Have | fun! | Drink | tea | Period. |
|
||||||
|
"
|
||||||
|
" Author: Maxim Kim <habamax@gmail.com>
|
||||||
|
" Home: http://code.google.com/p/vimwiki/
|
||||||
|
|
||||||
|
" Load only once {{{
|
||||||
|
if exists("g:loaded_vimwiki_tbl_auto") || &cp
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_vimwiki_tbl_auto = 1
|
||||||
|
"}}}
|
||||||
|
|
||||||
|
let s:textwidth = &tw
|
||||||
|
|
||||||
|
" Misc functions {{{
|
||||||
|
function! s:wide_len(str) "{{{
|
||||||
|
" vim73 has new function that gives correct string width.
|
||||||
|
if exists("*strdisplaywidth")
|
||||||
|
return strdisplaywidth(a:str)
|
||||||
|
endif
|
||||||
|
|
||||||
|
" get str display width in vim ver < 7.2
|
||||||
|
if !g:vimwiki_CJK_length
|
||||||
|
let ret = strlen(substitute(a:str, '.', 'x', 'g'))
|
||||||
|
else
|
||||||
|
let savemodified = &modified
|
||||||
|
let save_cursor = getpos('.')
|
||||||
|
exe "norm! o\<esc>"
|
||||||
|
call setline(line("."), a:str)
|
||||||
|
let ret = virtcol("$") - 1
|
||||||
|
d
|
||||||
|
call setpos('.', save_cursor)
|
||||||
|
let &modified = savemodified
|
||||||
|
endif
|
||||||
|
return ret
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:is_table(line) "{{{
|
||||||
|
return a:line =~ '^\s*\%(|[^|]\+\)\+|\s*$' || s:is_separator(a:line)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:is_separator(line) "{{{
|
||||||
|
return a:line =~ '^\s*[|+]\s*--[-|+]\+'
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:is_last_column(lnum, cnum) "{{{
|
||||||
|
return strpart(getline(a:lnum), a:cnum - 1) =~ '^[^|]*|\s*$'
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:is_first_column(lnum, cnum) "{{{
|
||||||
|
let line = strpart(getline(a:lnum), 0, a:cnum - 1)
|
||||||
|
return line =~ '^\s*|[^|]*$' || line =~ '^\s*$'
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:count_separators_up(lnum) "{{{
|
||||||
|
let lnum = a:lnum - 1
|
||||||
|
while lnum > 1
|
||||||
|
if !s:is_separator(getline(lnum))
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum -= 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
return (a:lnum-lnum)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:count_separators_down(lnum) "{{{
|
||||||
|
let lnum = a:lnum + 1
|
||||||
|
while lnum < line('$')
|
||||||
|
if !s:is_separator(getline(lnum))
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum += 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
return (lnum-a:lnum)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:create_empty_row(cols) "{{{
|
||||||
|
let first_cell = "| |"
|
||||||
|
let cell = " |"
|
||||||
|
let row = first_cell
|
||||||
|
|
||||||
|
for c in range(a:cols - 1)
|
||||||
|
let row .= cell
|
||||||
|
endfor
|
||||||
|
|
||||||
|
return row
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:create_row_sep(cols) "{{{
|
||||||
|
let first_cell = "|---+"
|
||||||
|
let cell = "---+"
|
||||||
|
let last_cell = "---|"
|
||||||
|
|
||||||
|
if a:cols < 2
|
||||||
|
return "|---|"
|
||||||
|
endif
|
||||||
|
|
||||||
|
let row = first_cell
|
||||||
|
|
||||||
|
for c in range(a:cols - 2)
|
||||||
|
let row .= cell
|
||||||
|
endfor
|
||||||
|
|
||||||
|
let row .= last_cell
|
||||||
|
|
||||||
|
return row
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_values(line) "{{{
|
||||||
|
return split(a:line, '\s*|\s*', 1)[1:-2]
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:col_count(lnum) "{{{
|
||||||
|
let line = getline(a:lnum)
|
||||||
|
if !s:is_separator(line)
|
||||||
|
return len(split(line, '\s*|\s*', 1)[1:-2])
|
||||||
|
else
|
||||||
|
return len(split(line, '-+-', 1))
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_indent(lnum) "{{{
|
||||||
|
if !s:is_table(getline(a:lnum))
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let indent = 0
|
||||||
|
|
||||||
|
let lnum = a:lnum - 1
|
||||||
|
while lnum > 1
|
||||||
|
let line = getline(lnum)
|
||||||
|
if !s:is_table(line)
|
||||||
|
let indent = indent(lnum+1)
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum -= 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
return indent
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
|
function! s:get_rows(lnum) "{{{
|
||||||
|
if !s:is_table(getline(a:lnum))
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let upper_rows = []
|
||||||
|
let lower_rows = []
|
||||||
|
|
||||||
|
let lnum = a:lnum - 1
|
||||||
|
while lnum > 1
|
||||||
|
let line = getline(lnum)
|
||||||
|
if s:is_table(line)
|
||||||
|
call add(upper_rows, [lnum, line])
|
||||||
|
else
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum -= 1
|
||||||
|
endwhile
|
||||||
|
call reverse(upper_rows)
|
||||||
|
|
||||||
|
let lnum = a:lnum
|
||||||
|
while lnum <= line('$')
|
||||||
|
let line = getline(lnum)
|
||||||
|
if s:is_table(line)
|
||||||
|
call add(lower_rows, [lnum, line])
|
||||||
|
else
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum += 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
return upper_rows + lower_rows
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_cell_max_lens(lnum) "{{{
|
||||||
|
let max_lens = {}
|
||||||
|
for [lnum, row] in s:get_rows(a:lnum)
|
||||||
|
if s:is_separator(row)
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
let cells = s:get_values(row)
|
||||||
|
for idx in range(len(cells))
|
||||||
|
let value = cells[idx]
|
||||||
|
if has_key(max_lens, idx)
|
||||||
|
let max_lens[idx] = max([s:wide_len(value), max_lens[idx]])
|
||||||
|
else
|
||||||
|
let max_lens[idx] = s:wide_len(value)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfor
|
||||||
|
return max_lens
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_aligned_rows(lnum, col1, col2) "{{{
|
||||||
|
let max_lens = s:get_cell_max_lens(a:lnum)
|
||||||
|
let rows = []
|
||||||
|
for [lnum, row] in s:get_rows(a:lnum)
|
||||||
|
if s:is_separator(row)
|
||||||
|
let new_row = s:fmt_sep(max_lens, a:col1, a:col2)
|
||||||
|
else
|
||||||
|
let new_row = s:fmt_row(row, max_lens, a:col1, a:col2)
|
||||||
|
endif
|
||||||
|
call add(rows, [lnum, new_row])
|
||||||
|
endfor
|
||||||
|
return rows
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Number of the current column. Starts from 0.
|
||||||
|
function! s:cur_column() "{{{
|
||||||
|
let line = getline('.')
|
||||||
|
if !s:is_table(line)
|
||||||
|
return -1
|
||||||
|
endif
|
||||||
|
if s:is_separator(line)
|
||||||
|
let sep = '[+|]'
|
||||||
|
else
|
||||||
|
let sep = '|'
|
||||||
|
endif
|
||||||
|
|
||||||
|
let curs_pos = col('.')
|
||||||
|
let mpos = match(line, '|', 0)
|
||||||
|
let col = -1
|
||||||
|
while mpos < curs_pos && mpos != -1
|
||||||
|
let mpos = match(line, sep, mpos+1)
|
||||||
|
if mpos != -1
|
||||||
|
let col += 1
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
return col
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" Format functions {{{
|
||||||
|
function! s:fmt_cell(cell, max_len) "{{{
|
||||||
|
let cell = ' '.a:cell.' '
|
||||||
|
|
||||||
|
let diff = a:max_len - s:wide_len(a:cell)
|
||||||
|
if diff == 0 && empty(a:cell)
|
||||||
|
let diff = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
let cell .= repeat(' ', diff)
|
||||||
|
return cell
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:fmt_row(line, max_lens, col1, col2) "{{{
|
||||||
|
let new_line = '|'
|
||||||
|
let cells = s:get_values(a:line)
|
||||||
|
for idx in range(len(cells))
|
||||||
|
if idx == a:col1
|
||||||
|
let idx = a:col2
|
||||||
|
elseif idx == a:col2
|
||||||
|
let idx = a:col1
|
||||||
|
endif
|
||||||
|
let value = cells[idx]
|
||||||
|
let new_line .= s:fmt_cell(value, a:max_lens[idx]).'|'
|
||||||
|
endfor
|
||||||
|
|
||||||
|
let idx = len(cells)
|
||||||
|
while idx < len(a:max_lens)
|
||||||
|
let new_line .= s:fmt_cell('', a:max_lens[idx]).'|'
|
||||||
|
let idx += 1
|
||||||
|
endwhile
|
||||||
|
return new_line
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:fmt_cell_sep(max_len) "{{{
|
||||||
|
if a:max_len == 0
|
||||||
|
return repeat('-', 3)
|
||||||
|
else
|
||||||
|
return repeat('-', a:max_len+2)
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:fmt_sep(max_lens, col1, col2) "{{{
|
||||||
|
let sep = '|'
|
||||||
|
for idx in range(len(a:max_lens))
|
||||||
|
if idx == a:col1
|
||||||
|
let idx = a:col2
|
||||||
|
elseif idx == a:col2
|
||||||
|
let idx = a:col1
|
||||||
|
endif
|
||||||
|
let sep .= s:fmt_cell_sep(a:max_lens[idx]).'+'
|
||||||
|
endfor
|
||||||
|
let sep = substitute(sep, '+$', '|', '')
|
||||||
|
return sep
|
||||||
|
endfunction "}}}
|
||||||
|
"}}}
|
||||||
|
|
||||||
|
" Keyboard functions "{{{
|
||||||
|
function! s:kbd_create_new_row(cols, goto_first) "{{{
|
||||||
|
let cmd = "\<ESC>o".s:create_empty_row(a:cols)
|
||||||
|
let cmd .= "\<ESC>:call vimwiki_tbl#format(line('.'))\<CR>"
|
||||||
|
if a:goto_first
|
||||||
|
let cmd .= "\<ESC>0:call search('|', 'c', line('.'))\<CR>la"
|
||||||
|
else
|
||||||
|
let cmd .= "0".(col('.')-1)."lT|a"
|
||||||
|
endif
|
||||||
|
return cmd
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:kbd_goto_next_row() "{{{
|
||||||
|
let cmd = "\<ESC>jt|T|a"
|
||||||
|
return cmd
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:kbd_goto_prev_row() "{{{
|
||||||
|
let cmd = "\<ESC>jt|T|a"
|
||||||
|
return cmd
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:kbd_goto_next_col(last) "{{{
|
||||||
|
if a:last
|
||||||
|
let seps = s:count_separators_down(line('.'))
|
||||||
|
let cmd = "\<ESC>".seps."j0:call search('|', 'c', line('.'))\<CR>la"
|
||||||
|
else
|
||||||
|
let cmd = "\<ESC>:call search('|', 'c', line('.'))\<CR>la"
|
||||||
|
endif
|
||||||
|
return cmd
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:kbd_goto_prev_col(first) "{{{
|
||||||
|
if a:first
|
||||||
|
let seps = s:count_separators_up(line('.'))
|
||||||
|
let cmd = "\<ESC>".seps."k$:call search('|', 'b', line('.'))\<CR>la"
|
||||||
|
else
|
||||||
|
let cmd = "\<ESC>2F|la"
|
||||||
|
endif
|
||||||
|
return cmd
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
"}}}
|
||||||
|
|
||||||
|
" Global functions {{{
|
||||||
|
function! vimwiki_tbl#kbd_cr() "{{{
|
||||||
|
let lnum = line('.')
|
||||||
|
if !s:is_table(getline(lnum))
|
||||||
|
return "\<CR>"
|
||||||
|
endif
|
||||||
|
|
||||||
|
if s:is_separator(getline(lnum+1)) || !s:is_table(getline(lnum+1))
|
||||||
|
let cols = len(s:get_values(getline(lnum)))
|
||||||
|
return s:kbd_create_new_row(cols, 0)
|
||||||
|
else
|
||||||
|
return s:kbd_goto_next_row()
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_tbl#kbd_tab() "{{{
|
||||||
|
let lnum = line('.')
|
||||||
|
if !s:is_table(getline(lnum))
|
||||||
|
return "\<Tab>"
|
||||||
|
endif
|
||||||
|
|
||||||
|
let last = s:is_last_column(lnum, col('.'))
|
||||||
|
if last && !s:is_table(getline(lnum+1))
|
||||||
|
let cols = len(s:get_values(getline(lnum)))
|
||||||
|
return s:kbd_create_new_row(cols, 1)
|
||||||
|
endif
|
||||||
|
return s:kbd_goto_next_col(last)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_tbl#kbd_shift_tab() "{{{
|
||||||
|
let lnum = line('.')
|
||||||
|
if !s:is_table(getline(lnum))
|
||||||
|
return "\<S-Tab>"
|
||||||
|
endif
|
||||||
|
|
||||||
|
let first = s:is_first_column(lnum, col('.'))
|
||||||
|
if first && !s:is_table(getline(lnum-1))
|
||||||
|
return ""
|
||||||
|
endif
|
||||||
|
return s:kbd_goto_prev_col(first)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_tbl#format(lnum, ...) "{{{
|
||||||
|
let line = getline(a:lnum)
|
||||||
|
if !s:is_table(line)
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if a:0 == 2
|
||||||
|
let col1 = a:1
|
||||||
|
let col2 = a:2
|
||||||
|
else
|
||||||
|
let col1 = 0
|
||||||
|
let col2 = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
let indent = s:get_indent(a:lnum)
|
||||||
|
|
||||||
|
for [lnum, row] in s:get_aligned_rows(a:lnum, col1, col2)
|
||||||
|
let row = repeat(' ', indent).row
|
||||||
|
call setline(lnum, row)
|
||||||
|
endfor
|
||||||
|
|
||||||
|
let &tw = s:textwidth
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_tbl#create(...) "{{{
|
||||||
|
if a:0 > 1
|
||||||
|
let cols = a:1
|
||||||
|
let rows = a:2
|
||||||
|
elseif a:0 == 1
|
||||||
|
let cols = a:1
|
||||||
|
let rows = 2
|
||||||
|
elseif a:0 == 0
|
||||||
|
let cols = 5
|
||||||
|
let rows = 2
|
||||||
|
endif
|
||||||
|
|
||||||
|
if cols < 1
|
||||||
|
let cols = 5
|
||||||
|
endif
|
||||||
|
|
||||||
|
if rows < 1
|
||||||
|
let rows = 2
|
||||||
|
endif
|
||||||
|
|
||||||
|
let lines = []
|
||||||
|
let row = s:create_empty_row(cols)
|
||||||
|
|
||||||
|
call add(lines, row)
|
||||||
|
if rows > 1
|
||||||
|
call add(lines, s:create_row_sep(cols))
|
||||||
|
endif
|
||||||
|
|
||||||
|
for r in range(rows - 1)
|
||||||
|
call add(lines, row)
|
||||||
|
endfor
|
||||||
|
|
||||||
|
call append(line('.'), lines)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_tbl#align_or_cmd(cmd) "{{{
|
||||||
|
if s:is_table(getline('.'))
|
||||||
|
call vimwiki_tbl#format(line('.'))
|
||||||
|
else
|
||||||
|
exe 'normal! '.a:cmd
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_tbl#reset_tw(lnum) "{{{
|
||||||
|
let line = getline(a:lnum)
|
||||||
|
if !s:is_table(line)
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:textwidth = &tw
|
||||||
|
let &tw = 0
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" TODO: move_column_left and move_column_right are good candidates to be
|
||||||
|
" refactored.
|
||||||
|
function! vimwiki_tbl#move_column_left() "{{{
|
||||||
|
if !s:is_table(getline('.'))
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let cur_col = s:cur_column()
|
||||||
|
if cur_col == -1
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if cur_col > 0
|
||||||
|
call vimwiki_tbl#format(line('.'), cur_col-1, cur_col)
|
||||||
|
call cursor(line('.'), 1)
|
||||||
|
if !s:is_separator(getline('.'))
|
||||||
|
call search('\%(|[^|]\+\)\{'.(cur_col-1).'}| .', 'eW')
|
||||||
|
else
|
||||||
|
call search('|\%([^+]\++\)\{'.(cur_col-1).'}--', 'eW')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_tbl#move_column_right() "{{{
|
||||||
|
if !s:is_table(getline('.'))
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let cur_col = s:cur_column()
|
||||||
|
if cur_col == -1
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if cur_col < s:col_count(line('.'))-1
|
||||||
|
call vimwiki_tbl#format(line('.'), cur_col, cur_col+1)
|
||||||
|
call cursor(line('.'), 1)
|
||||||
|
if !s:is_separator(getline('.'))
|
||||||
|
call search('\%(|[^|]\+\)\{'.(cur_col+1).'}| .', 'eW')
|
||||||
|
else
|
||||||
|
call search('|\%([^+]\++\)\{'.(cur_col+1).'}--', 'eW')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_tbl#get_rows(lnum) "{{{
|
||||||
|
return s:get_rows(a:lnum)
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
"}}}
|
126
dot.vim/autoload/xml/jsf_c.vim
Normal file
126
dot.vim/autoload/xml/jsf_c.vim
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
let g:xmldata_jsf_c= {
|
||||||
|
\ 'param': [
|
||||||
|
\ [],
|
||||||
|
\ { 'name' : [],'value' : [],'id' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectItem': [
|
||||||
|
\ [],
|
||||||
|
\ { 'itemDescription' : [],'itemDisabled' : [],'itemLabel' : [],'itemValue' : [],'value' : [],'id' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectItems': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'id' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'view': [
|
||||||
|
\ [],
|
||||||
|
\ { 'locale' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'convertDateTime': [
|
||||||
|
\ [],
|
||||||
|
\ { 'dateStyle' : [],'locale' : [],'pattern' : [],'timeStyle' : [],'timeZone' : [],'type' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'convertNumber': [
|
||||||
|
\ [],
|
||||||
|
\ { 'currencyCode' : [],'currencySymbol' : [],'groupingUsed' : [],'integerOnly' : [],'locale' : [],'maxFractionDigits' : [],'maxIntegerDigits' : [],'minFractionDigits' : [],'minIntegerDigits' : [],'pattern' : [],'type' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'validateDoubleRange': [
|
||||||
|
\ [],
|
||||||
|
\ { 'maximum' : [],'minimum' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'validateLength': [
|
||||||
|
\ [],
|
||||||
|
\ { 'maximum' : [],'minimum' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'validateLongRange': [
|
||||||
|
\ [],
|
||||||
|
\ { 'maximum' : [],'minimum' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'attribute': [
|
||||||
|
\ [],
|
||||||
|
\ { 'name' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'converter': [
|
||||||
|
\ [],
|
||||||
|
\ { 'converterId' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'facet': [
|
||||||
|
\ [],
|
||||||
|
\ { 'name' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'validator': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validatorId' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'actionListener': [
|
||||||
|
\ [],
|
||||||
|
\ { 'type' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'loadBundle': [
|
||||||
|
\ [],
|
||||||
|
\ { 'basename' : [],'var' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'subview': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'valueChangeListener': [
|
||||||
|
\ [],
|
||||||
|
\ { 'type' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'verbatim': [
|
||||||
|
\ [],
|
||||||
|
\ { 'escape' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'vimxmltaginfo': {
|
||||||
|
\ 'param' : [ ' ', 'This tag associates a parameter name-value pair with the nearest parent UIComponent. <p> A UIComponent is created to represent this name-value pair, and stored as a child of the parent component; what effect this has depends upon the renderer of that parent component. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'selectItem' : [ ' ', 'A component representing a single option that the user can choose. <p> The option attributes can either be defined directly on this component (via the itemValue, itemLabel, itemDescription properties) or the value property can reference a SelectItem object (directly or via an EL expression). <p> The value expression (if defined) is read-only; the parent select component will have a value attribute specifying where the value for the chosen selection will be stored. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'selectItems' : [ ' ', 'This tag associates a set of selection list items with the nearest parent UIComponent. The set of SelectItem objects is retrieved via a value-binding. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'view' : [ ' ', 'Creates a JSF View, which is a container that holds all of the components that are part of the view. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'convertDateTime' : [ ' ', 'This tag associates a date time converter with the nearest parent UIComponent. Unless otherwise specified, all attributes accept static values or EL expressions. see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'convertNumber' : [ ' ', 'This tag creates a number formatting converter and associates it with the nearest parent UIComponent. Unless otherwise specified, all attributes accept static values or EL expressions. see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'validateDoubleRange' : [ ' ', 'Creates a validator and associateds it with the nearest parent UIComponent. When invoked, the validator ensures that values are valid doubles that lie within the minimum and maximum values specified. Commonly associated with a h:inputText entity. Unless otherwise specified, all attributes accept static values or EL expressions. see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'validateLength' : [ ' ', 'Creates a validator and associateds it with the nearest parent UIComponent. When invoked, the validator ensures that values are valid strings with a length that lies within the minimum and maximum values specified. Commonly associated with a h:inputText entity. Unless otherwise specified, all attributes accept static values or EL expressions. see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'validateLongRange' : [ ' ', 'Creates a validator and associateds it with the nearest parent UIComponent. When invoked, the validator ensures that values are valid longs that lie within the minimum and maximum values specified. Commonly associated with a h:inputText entity. Unless otherwise specified, all attributes accept static values or EL expressions. see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'attribute' : [ ' ', 'This tag associates an attribute with the nearest parent UIComponent. <p> When the value is not an EL expression, this tag has the same effect as calling component.getAttributes.put(name, value). When the attribute name specified matches a standard property of the component, that property is set. However it is also valid to assign attributes to components using any arbitrary name; the component itself won"t make any use of these but other objects such as custom renderers, validators or action listeners can later retrieve the attribute from the component by name. <p> When the value is an EL expression, this tag has the same effect as calling component.setValueBinding. A call to method component.getAttributes().get(name) will then cause that expression to be evaluated and the result of the expression is returned, not the original EL expression string. <p> See the javadoc for UIComponent.getAttributes for more details. <p> Unless otherwise specified, all attributes accept static values or EL expressions. see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'converter' : [ ' ', 'This tag creates an instance of the specified Converter, and associates it with the nearest parent UIComponent. see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'facet' : [ ' ', 'This tag adds its child as a facet of the nearest parent UIComponent. A child consisting of multiple elements should be nested within a container component (i.e., within an h:panelGroup for HTML library components). Unless otherwise specified, all attributes accept static values or EL expressions. see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'validator' : [ ' ', 'Creates a validator and associates it with the nearest parent UIComponent. During the validation phase (or the apply-request-values phase for immediate components), if the associated component has any submitted value and the conversion of that value to the required type has succeeded then the specified validator type is invoked to test the validity of the converted value. <p> Commonly associated with an h:inputText entity, but may be applied to any input component. <p> Some validators may allow the component to use attributes to define component-specific validation constraints; see the f:attribute tag. See also the "validator" attribute of all input components, which allows a component to specify an arbitrary validation <i>method</i> (rather than a registered validation type, as this tag does). <p> Unless otherwise specified, all attributes accept static values or EL expressions. see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'actionListener' : [ ' ', 'This tag creates an instance of the specified ActionListener, and associates it with the nearest parent UIComponent. Unless otherwise specified, all attributes accept static values or EL expressions.'],
|
||||||
|
\ 'loadBundle' : [ ' ', 'Loads a resource bundle and saves it as a variable in the request scope. Unless otherwise specified, all attributes accept static values or EL expressions.'],
|
||||||
|
\ 'subview' : [ ' ', 'This tag associates a set of UIComponents with the nearest parent UIComponent. It acts as a naming container to make the IDs of its component elements unique. Unless otherwise specified, all attributes accept static values or EL expressions.'],
|
||||||
|
\ 'valueChangeListener' : [ ' ', 'Adds the specified ValueChangeListener to the nearest parent UIComponent (which is expected to be a UIInput component). Whenever the form containing the parent UIComponent is submitted, an instance of the specified type is created. If the submitted value from the component is different from the component"s current value then a ValueChangeEvent is queued. When the ValueChangeEvent is processed (at end of the validate phase for non-immediate components, or at end of the apply-request-values phase for immediate components) the object"s processValueChange method is invoked. <p> Unless otherwise specified, all attributes accept static values or EL expressions.'],
|
||||||
|
\ 'verbatim' : [ ' ', 'Outputs its body as verbatim text. No JSP tags within the verbatim tag (including JSF tags) are evaluated; the content is treated simply as literal text to be copied to the response. <p> Unless otherwise specified, all attributes accept static values or EL expressions.']
|
||||||
|
\ },
|
||||||
|
\ 'vimxmlattrinfo': {
|
||||||
|
\ 'name' : [ ' ', 'A String containing the name of the parameter.'],
|
||||||
|
\ 'value' : [ ' ', 'The value of this parameter.'],
|
||||||
|
\ 'id' : [ ' ', 'An identifier for this particular component instance within a component view. <p> The id must be unique within the scope of the tag"s enclosing NamingContainer (eg h:form or f:subview). The id is not necessarily unique across all components in the current view </p> <p> This value must be a static value, ie not change over the lifetime of a component. It cannot be defined via an EL expression; only a string is permitted. </p>'],
|
||||||
|
\ 'binding' : [ ' ', 'Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind to this component instance. This value must be an EL expression.'],
|
||||||
|
\ 'itemDescription' : [ ' ', 'An optional description for this item. For use in development tools.'],
|
||||||
|
\ 'itemDisabled' : [ ' ', 'Determine whether this item can be chosen by the user.'],
|
||||||
|
\ 'itemLabel' : [ ' ', 'Get the string which will be presented to the user for this option.'],
|
||||||
|
\ 'itemValue' : [ ' ', 'The value of this item, of the same type as the parent component"s value.'],
|
||||||
|
\ 'locale' : [ ' ', 'The locale of this view. Default: the default locale from the configuration file.'],
|
||||||
|
\ 'dateStyle' : [ ' ', 'The style of the date. Values include: default, short, medium, long, and full.'],
|
||||||
|
\ 'pattern' : [ ' ', 'A custom Date formatting pattern, in the format used by java.text.SimpleDateFormat.'],
|
||||||
|
\ 'timeStyle' : [ ' ', 'The style of the time. Values include: default, short, medium, long, and full.'],
|
||||||
|
\ 'timeZone' : [ ' ', 'The time zone to use instead of GMT (the default timezone). When this value is a value-binding to a TimeZone instance, that timezone is used. Otherwise this value is treated as a String containing a timezone id, ie as the ID parameter of method java.util.TimeZone.getTimeZone(String).'],
|
||||||
|
\ 'type' : [ ' ', 'Specifies whether the date, time, or both should be parsed/formatted. Values include: date, time, and both. Default based on setting of timeStyle and dateStyle.'],
|
||||||
|
\ 'currencyCode' : [ ' ', 'ISO 4217 currency code'],
|
||||||
|
\ 'currencySymbol' : [ ' ', 'The currency symbol used to format a currency value. Defaults to the currency symbol for locale.'],
|
||||||
|
\ 'groupingUsed' : [ ' ', 'Specifies whether output will contain grouping separators. Default: true.'],
|
||||||
|
\ 'integerOnly' : [ ' ', 'Specifies whether only the integer part of the input will be parsed. Default: false.'],
|
||||||
|
\ 'maxFractionDigits' : [ ' ', 'The maximum number of digits in the fractional portion of the number.'],
|
||||||
|
\ 'maxIntegerDigits' : [ ' ', 'The maximum number of digits in the integer portion of the number.'],
|
||||||
|
\ 'minFractionDigits' : [ ' ', 'The minimum number of digits in the fractional portion of the number.'],
|
||||||
|
\ 'minIntegerDigits' : [ ' ', 'The minimum number of digits in the integer portion of the number.'],
|
||||||
|
\ 'maximum' : [ ' ', 'The largest value that should be considered valid.'],
|
||||||
|
\ 'minimum' : [ ' ', 'The smallest value that should be considered valid.'],
|
||||||
|
\ 'converterId' : [ ' ', 'The converter"s registered ID.'],
|
||||||
|
\ 'validatorId' : [ ' ', 'The registered ID of the desired Validator.'],
|
||||||
|
\ 'basename' : [ ' ', 'The base name of the resource bundle.'],
|
||||||
|
\ 'var' : [ ' ', 'The name of the variable in request scope that the resources are saved to. This must be a static value.'],
|
||||||
|
\ 'rendered' : [ ' ', 'A boolean value that indicates whether this component should be rendered.'],
|
||||||
|
\ 'escape' : [ ' ', 'If true, generated markup is escaped. Default: false.']
|
||||||
|
\ },
|
||||||
|
\}
|
222
dot.vim/autoload/xml/jsf_h.vim
Normal file
222
dot.vim/autoload/xml/jsf_h.vim
Normal file
|
@ -0,0 +1,222 @@
|
||||||
|
let g:xmldata_jsf_h= {
|
||||||
|
\ 'column': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'inputHidden': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'commandButton': [
|
||||||
|
\ [],
|
||||||
|
\ { 'image' : [],'type' : [],'style' : [],'styleClass' : [],'alt' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'accesskey' : [],'onchange' : [],'onselect' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'action' : [],'actionListener' : [],'immediate' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'commandLink': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'dir' : [],'lang' : [],'title' : [],'charset' : [],'coords' : [],'hreflang' : [],'rel' : [],'rev' : [],'shape' : [],'target' : [],'type' : [],'action' : [],'actionListener' : [],'immediate' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'dataTable': [
|
||||||
|
\ [],
|
||||||
|
\ { 'bgcolor' : [],'border' : [],'cellpadding' : [],'cellspacing' : [],'columnClasses' : [],'footerClass' : [],'frame' : [],'headerClass' : [],'rowClasses' : [],'rules' : [],'summary' : [],'width' : [],'style' : [],'styleClass' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'dir' : [],'lang' : [],'title' : [],'var' : [],'first' : [],'rows' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'form': [
|
||||||
|
\ [],
|
||||||
|
\ { 'accept' : [],'acceptcharset' : [],'enctype' : [],'onreset' : [],'onsubmit' : [],'target' : [],'style' : [],'styleClass' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'dir' : [],'lang' : [],'title' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'graphicImage': [
|
||||||
|
\ [],
|
||||||
|
\ { 'height' : [],'ismap' : [],'longdesc' : [],'usemap' : [],'width' : [],'style' : [],'styleClass' : [],'alt' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'dir' : [],'lang' : [],'title' : [],'url' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'inputSecret': [
|
||||||
|
\ [],
|
||||||
|
\ { 'maxlength' : [],'redisplay' : [],'size' : [],'style' : [],'styleClass' : [],'alt' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'accesskey' : [],'onchange' : [],'onselect' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'inputText': [
|
||||||
|
\ [],
|
||||||
|
\ { 'maxlength' : [],'size' : [],'style' : [],'styleClass' : [],'alt' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'onchange' : [],'onselect' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'inputTextarea': [
|
||||||
|
\ [],
|
||||||
|
\ { 'cols' : [],'rows' : [],'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'onchange' : [],'onselect' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'message': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'styleClass' : [],'errorClass' : [],'errorStyle' : [],'fatalClass' : [],'fatalStyle' : [],'infoClass' : [],'infoStyle' : [],'title' : [],'tooltip' : [],'warnClass' : [],'warnStyle' : [],'for' : [],'showDetail' : [],'showSummary' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'messages': [
|
||||||
|
\ [],
|
||||||
|
\ { 'layout' : [],'style' : [],'styleClass' : [],'errorClass' : [],'errorStyle' : [],'fatalClass' : [],'fatalStyle' : [],'infoClass' : [],'infoStyle' : [],'title' : [],'tooltip' : [],'warnClass' : [],'warnStyle' : [],'globalOnly' : [],'showDetail' : [],'showSummary' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'outputFormat': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'styleClass' : [],'title' : [],'escape' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'outputLabel': [
|
||||||
|
\ [],
|
||||||
|
\ { 'for' : [],'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'dir' : [],'lang' : [],'title' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'outputLink': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'dir' : [],'lang' : [],'title' : [],'charset' : [],'coords' : [],'hreflang' : [],'rel' : [],'rev' : [],'shape' : [],'target' : [],'type' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'outputText': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'styleClass' : [],'title' : [],'escape' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'panelGrid': [
|
||||||
|
\ [],
|
||||||
|
\ { 'bgcolor' : [],'border' : [],'cellpadding' : [],'cellspacing' : [],'columnClasses' : [],'columns' : [],'footerClass' : [],'frame' : [],'headerClass' : [],'rowClasses' : [],'rules' : [],'summary' : [],'width' : [],'style' : [],'styleClass' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'dir' : [],'lang' : [],'title' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'panelGroup': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'styleClass' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectBooleanCheckbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'onchange' : [],'onselect' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'value' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectManyCheckbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'border' : [],'layout' : [],'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'disabledClass' : [],'enabledClass' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'onchange' : [],'onselect' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectManyListbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'size' : [],'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'disabledClass' : [],'enabledClass' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'onchange' : [],'onselect' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectManyMenu': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'disabledClass' : [],'enabledClass' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'onchange' : [],'onselect' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectOneListbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'size' : [],'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'disabledClass' : [],'enabledClass' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'onchange' : [],'onselect' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectOneMenu': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'disabledClass' : [],'enabledClass' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'onchange' : [],'onselect' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectOneRadio': [
|
||||||
|
\ [],
|
||||||
|
\ { 'border' : [],'layout' : [],'style' : [],'styleClass' : [],'tabindex' : [],'onblur' : [],'onfocus' : [],'disabledClass' : [],'enabledClass' : [],'accesskey' : [],'onclick' : [],'ondblclick' : [],'onkeydown' : [],'onkeypress' : [],'onkeyup' : [],'onmousedown' : [],'onmousemove' : [],'onmouseout' : [],'onmouseover' : [],'onmouseup' : [],'onchange' : [],'onselect' : [],'dir' : [],'lang' : [],'title' : [],'disabled' : [],'readonly' : [],'validator' : [],'valueChangeListener' : [],'immediate' : [],'required' : [],'converter' : [],'value' : [],'id' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'vimxmltaginfo': {
|
||||||
|
\ 'column' : [ ' ', 'This tag is commonly used as a child of the dataTable tag, to represent a column of data. <p> It can be decorated with "header" and "footer" facets to drive the output of header and footer rows. Row values are specified via its children. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'inputHidden' : [ ' ', 'Renders as an HTML input tag with its type set to "hidden". <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'commandButton' : [ ' ', 'This tag renders as an HTML input element. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'commandLink' : [ ' ', 'This tag renders as an HTML a element. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'dataTable' : [ ' ', 'This component renders as an HTML table element. It has as its children h:column entities, which describe the columns of the table. It can be decorated with facets named "header" and "footer" to specify header and footer rows. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> Extend standard UIData component to add support for html-specific features such as CSS style attributes and event handler scripts. <p> see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a> </p>'],
|
||||||
|
\ 'form' : [ ' ', 'Renders an HTML form element. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'graphicImage' : [ ' ', 'Renders an HTML img element. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'inputSecret' : [ ' ', 'Renders as an HTML input tag with its type set to "password". <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'inputText' : [ ' ', 'Renders a HTML input element. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'inputTextarea' : [ ' ', 'Renders a HTML textarea element. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'message' : [ ' ', 'Renders the first FacesMessage that is assigned to the component referenced by the "for" attribute. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'messages' : [ ' ', 'Renders all or some FacesMessages depending on the "for" and "globalOnly" attributes. <p> The behaviour of this component is: <ul> <li>If globalOnly = true, only global messages, that have no associated clientId, will be displayed. <li>else if there is a "for" attribute, only messages that are assigned to the component referenced by the "for" attribute are displayed. <li>else all messages are displayed. </ul> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'outputFormat' : [ ' ', 'Renders as text, applying the child f:param values to the value attribute as a MessageFormat string. If this element has an ID or CSS style properties, the text is wrapped in a span element. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'outputLabel' : [ ' ', 'Renders a HTML label element. <p> In addition to the JSF specification, MyFaces allows it to directly give an output text via the "value" attribute. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'outputLink' : [ ' ', 'Renders a HTML a element. Child f:param elements are added to the href attribute as query parameters. Other children are rendered as the link text or image. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'outputText' : [ ' ', 'Renders the value of the associated UIOutput component. If this element has an ID or CSS style properties, the text is wrapped in a span element. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'panelGrid' : [ ' ', 'This element renders as an HTML table with specified number of columns. Children of this element are rendered as cells in the table, filling rows from left to right. Facets named "header" and "footer" are optional and specify the content of the thead and tfoot rows, respectively. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'panelGroup' : [ ' ', 'This element is used to group other components where the specification requires one child element. If any of the HTML or CSS attributes are set, its content is rendered within a span element. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'selectBooleanCheckbox' : [ ' ', 'Allow the user to choose a "true" or "false" value, presented as a checkbox. <p> Renders as an HTML input tag with its type set to "checkbox", and its name attribute set to the id. The "checked" attribute is rendered if the value of this component is true. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'selectManyCheckbox' : [ ' ', 'Allow the user to select zero or more items from a set of available options. <p> This is presented as a table with one cell per available option; each cell contains a checkbox and the option"s label. The "layout" attribute determines whether the checkboxes are laid out horizontally or vertically. <p> The set of available options is defined by adding child f:selectItem or f:selectItems components to this component. <p> The value attribute must be a value-binding expression to a property of type List, Object array or primitive array. That "collection" is expected to contain objects of the same type as SelectItem.getValue() returns for the child SelectItem objects. On rendering, any child whose value is in the list will be selected initially. During the update phase, the property setter is called to replace the original collection with a completely new collection object of the appropriate type. The new collection object contains the value of each child SelectItem object that is currently selected. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'selectManyListbox' : [ ' ', 'Allow the user to select zero or more items from a set of available options. This is presented as a listbox which allows multiple rows in the list to be selected simultaneously. <p> The set of available options is defined by adding child f:selectItem or f:selectItems components to this component. <p> The list is rendered as an HTML select element. The "multiple" attribute is set on the element and the size attribute is set to the provided value, defaulting to the number of items in the list if no value is provided. If the size is set to 1, then a "drop-down" list (aka "combo-box") is presented, though if this is the intention then a selectManyMenu should be used instead. <p> The value attribute must be a value-binding expression to a property of type List, Object array or primitive array. That "collection" is expected to contain objects of the same type as SelectItem.getValue() returns for the child SelectItem objects. On rendering, any child whose value is in the list will be selected initially. During the update phase, the property is set to contain a "collection" of values for those child SelectItem objects that are currently selected. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'selectManyMenu' : [ ' ', 'Allow the user to select zero or more items from a set of available options. This is presented as a drop-down "combo-box" which allows multiple rows in the list to be selected simultaneously. <p> The set of available options is defined by adding child f:selectItem or f:selectItems components to this component. <p> Renders as an HTML select element, with the choices made up of child f:selectItem or f:selectItems elements. The multiple attribute is set and the size attribute is set to 1. <p> The value attribute must be a value-binding expression to a property of type List, Object array or primitive array. That "collection" is expected to contain objects of the same type as SelectItem.getValue() returns for the child SelectItem objects. On rendering, any child whose value is in the list will be selected initially. During the update phase, the property is set to contain a "collection" of values for those child SelectItem objects that are currently selected. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'selectOneListbox' : [ ' ', 'Allow the user to choose one option from a set of options. <p> Rendered as a listbox with the MULTIPLE attribute set to false. <p> The available choices are defined via child f:selectItem or f:selectItems elements. The size of the listbox defaults to the number of available choices; if size is explicitly set to a smaller value, then scrollbars will be rendered. If size is set to 1 then a "drop-down menu" (aka "combo-box") is rendered, though if this is the intent then selectOneMenu should be used instead. <p> The value attribute of this component is read to determine which of the available options is initially selected; its value should match the "value" property of one of the child SelectItem objects. <p> On submit of the enclosing form, the value attribute"s bound property is updated to contain the "value" property from the chosen SelectItem. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'selectOneMenu' : [ ' ', 'Allow the user to choose one option from a set of options. <p> Renders a drop-down menu (aka "combo-box") containing a set of choices, of which only one can be chosen at a time. The available choices are defined via child f:selectItem or f:selectItems elements. <p> The value attribute of this component is read to determine which of the available options is initially selected; its value should match the "value" property of one of the child SelectItem objects. <p> On submit of the enclosing form, the value attribute"s bound property is updated to contain the "value" property from the chosen SelectItem. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>'],
|
||||||
|
\ 'selectOneRadio' : [ ' ', 'Allow the user to choose one option from a set of options. <p> Renders as an HTML table element, containing an input element for each child f:selectItem or f:selectItems elements. The input elements are rendered as type radio. <p> The value attribute of this component is read to determine which of the available options is initially selected; its value should match the "value" property of one of the child SelectItem objects. <p> On submit of the enclosing form, the value attribute"s bound property is updated to contain the "value" property from the chosen SelectItem. <p> Unless otherwise specified, all attributes accept static values or EL expressions. <p> See Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>']
|
||||||
|
\ },
|
||||||
|
\ 'vimxmlattrinfo': {
|
||||||
|
\ 'id' : [ ' ', 'An identifier for this particular component instance within a component view. <p> The id must be unique within the scope of the tag"s enclosing NamingContainer (eg h:form or f:subview). The id is not necessarily unique across all components in the current view </p> <p> This value must be a static value, ie not change over the lifetime of a component. It cannot be defined via an EL expression; only a string is permitted. </p>'],
|
||||||
|
\ 'rendered' : [ ' ', 'A boolean value that indicates whether this component should be rendered. Default value: true.'],
|
||||||
|
\ 'binding' : [ ' ', 'Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind to this component instance. This value must be an EL expression.'],
|
||||||
|
\ 'validator' : [ ' ', 'A method binding EL expression, accepting FacesContext, UIComponent, and Object parameters, and returning void, that validates the component"s local value.'],
|
||||||
|
\ 'valueChangeListener' : [ ' ', 'A method binding EL expression, accepting a ValueChangeEvent parameter and returning void. The specified method is invoked if this component is modified. The phase that this handler is fired in can be controlled via the immediate attribute.'],
|
||||||
|
\ 'immediate' : [ ' ', 'A boolean value that identifies the phase during which value change events should fire. During normal event processing, value change events are fired during the "process validations" phase of request processing. If this attribute is set to "true", these methods are fired instead at the end of the "apply request values" phase.'],
|
||||||
|
\ 'required' : [ ' ', 'A boolean value that indicates whether an input value is required. If this value is true, and no input value is provided, the error message javax.faces.component.UIInput.REQUIRED is posted.'],
|
||||||
|
\ 'converter' : [ ' ', 'The value can either be a static value (ID) or an EL expression. When a static id is specified, an instance of the converter type registered with that id is used. When this is an EL expression, the result of evaluating the expression must be an object that implements the Converter interface.'],
|
||||||
|
\ 'value' : [ ' ', 'The initial value of this component. This value is generally set as a value-binding in the form #{myBean.myProperty}, where myProperty can be any data-type of Java (also user-defined data-types), if a converter for this data-type exists. Special cases: 1) f:selectItems - value needs to bind to a list (or an array) of javax.faces.model.SelectItem-instances 2) components implementing UISelectMany (e.g. h:selectManyCheckbox) - value needs to bind to a list (or an array) of values, where the values need to be of the same data-type as the choices of the associated f:selectItems-component 3) components implementing UIData (e.g. h:dataTable) - value needs to bind to a list (or an array) of values, which will be iterated over when the data-table is processed'],
|
||||||
|
\ 'image' : [ ' ', 'HTML: The URL of an image that renders in place of the button.'],
|
||||||
|
\ 'type' : [ ' ', 'HTML: A hint to the user agent about the content type of the linked resource.'],
|
||||||
|
\ 'style' : [ ' ', 'HTML: CSS styling instructions.'],
|
||||||
|
\ 'styleClass' : [ ' ', 'The CSS class for this element. Corresponds to the HTML "class" attribute.'],
|
||||||
|
\ 'alt' : [ ' ', 'HTML: Specifies alternative text that can be used by a browser that can"t show this element.'],
|
||||||
|
\ 'tabindex' : [ ' ', 'HTML: Specifies the position of this element within the tab order of the document.'],
|
||||||
|
\ 'onblur' : [ ' ', 'HTML: Specifies a script to be invoked when the element loses focus.'],
|
||||||
|
\ 'onfocus' : [ ' ', 'HTML: Specifies a script to be invoked when the element receives focus.'],
|
||||||
|
\ 'accesskey' : [ ' ', 'HTML: Sets the access key for this element.'],
|
||||||
|
\ 'onchange' : [ ' ', 'HTML: Specifies a script to be invoked when the element is modified.'],
|
||||||
|
\ 'onselect' : [ ' ', 'HTML: Specifies a script to be invoked when the element is selected.'],
|
||||||
|
\ 'onclick' : [ ' ', 'HTML: Script to be invoked when the element is clicked.'],
|
||||||
|
\ 'ondblclick' : [ ' ', 'HTML: Script to be invoked when the element is double-clicked.'],
|
||||||
|
\ 'onkeydown' : [ ' ', 'HTML: Script to be invoked when a key is pressed down over this element.'],
|
||||||
|
\ 'onkeypress' : [ ' ', 'HTML: Script to be invoked when a key is pressed over this element.'],
|
||||||
|
\ 'onkeyup' : [ ' ', 'HTML: Script to be invoked when a key is released over this element.'],
|
||||||
|
\ 'onmousedown' : [ ' ', 'HTML: Script to be invoked when the pointing device is pressed over this element.'],
|
||||||
|
\ 'onmousemove' : [ ' ', 'HTML: Script to be invoked when the pointing device is moved while it is in this element.'],
|
||||||
|
\ 'onmouseout' : [ ' ', 'HTML: Script to be invoked when the pointing device is moves out of this element.'],
|
||||||
|
\ 'onmouseover' : [ ' ', 'HTML: Script to be invoked when the pointing device is moved into this element.'],
|
||||||
|
\ 'onmouseup' : [ ' ', 'HTML: Script to be invoked when the pointing device is released over this element.'],
|
||||||
|
\ 'dir' : [ ' ', 'HTML: The direction of text display, either "ltr" (left-to-right) or "rtl" (right-to-left).'],
|
||||||
|
\ 'lang' : [ ' ', 'HTML: The base language of this document.'],
|
||||||
|
\ 'title' : [ ' ', 'HTML: An advisory title for this element. Often used by the user agent as a tooltip.'],
|
||||||
|
\ 'disabled' : [ ' ', 'HTML: When true, this element cannot receive focus.'],
|
||||||
|
\ 'readonly' : [ ' ', 'HTML: When true, indicates that this component cannot be modified by the user. The element may receive focus unless it has also been disabled.'],
|
||||||
|
\ 'action' : [ ' ', 'Specifies the action to take when this command is invoked. If the value is an expression, it is expected to be a method binding EL expression that identifies an action method. An action method accepts no parameters and has a String return value, called the action outcome, that identifies the next view displayed. The phase that this event is fired in can be controlled via the immediate attribute. If the value is a string literal, it is treated as a navigation outcome for the current view. This is functionally equivalent to a reference to an action method that returns the string literal.'],
|
||||||
|
\ 'actionListener' : [ ' ', 'A method binding EL expression that identifies an action listener method to be invoked if this component is activated by the user. An action listener method accepts a parameter of type javax.faces.event.ActionEvent and returns void. The phase that this event is fired in can be controlled via the immediate attribute.'],
|
||||||
|
\ 'charset' : [ ' ', 'HTML: Specifies the character encoding of the linked resource.'],
|
||||||
|
\ 'coords' : [ ' ', 'HTML: The coordinates of regions within a client side image map.'],
|
||||||
|
\ 'hreflang' : [ ' ', 'HTML: The language of the linked resource.'],
|
||||||
|
\ 'rel' : [ ' ', 'HTML: The relationship between the current document and the linked resource.'],
|
||||||
|
\ 'rev' : [ ' ', 'HTML: The type(s) describing the reverse link for the linked resource.'],
|
||||||
|
\ 'shape' : [ ' ', 'HTML: The shape of a region in a client side image map.'],
|
||||||
|
\ 'target' : [ ' ', 'HTML: Names the frame that should display content generated by invoking this action.'],
|
||||||
|
\ 'bgcolor' : [ ' ', 'HTML: The background color of this element.'],
|
||||||
|
\ 'border' : [ ' ', 'HTML: Specifies the width of the border of this element, in pixels. Deprecated in HTML 4.01.'],
|
||||||
|
\ 'cellpadding' : [ ' ', 'HTML: Specifies the amount of empty space between the cell border and its contents. It can be either a pixel length or a percentage.'],
|
||||||
|
\ 'cellspacing' : [ ' ', 'HTML: Specifies the amount of space between the cells of the table. It can be either a pixel length or a percentage of available space.'],
|
||||||
|
\ 'columnClasses' : [ ' ', 'A comma separated list of CSS class names to apply to td elements in each column.'],
|
||||||
|
\ 'footerClass' : [ ' ', 'The CSS class to be applied to footer cells.'],
|
||||||
|
\ 'frame' : [ ' ', 'HTML: Controls what part of the frame that surrounds a table is visible. Values include: void, above, below, hsides, lhs, rhs, vsides, box, and border.'],
|
||||||
|
\ 'headerClass' : [ ' ', 'The CSS class to be applied to header cells.'],
|
||||||
|
\ 'rowClasses' : [ ' ', 'A comma separated list of CSS class names to apply to td elements in each row.'],
|
||||||
|
\ 'rules' : [ ' ', 'HTML: Controls how rules are rendered between cells. Values include: none, groups, rows, cols, and all.'],
|
||||||
|
\ 'summary' : [ ' ', 'HTML: Provides a summary of the contents of the table, for accessibility purposes.'],
|
||||||
|
\ 'width' : [ ' ', 'HTML: Specifies the desired width of the table, as a pixel length or a percentage of available space.'],
|
||||||
|
\ 'var' : [ ' ', 'Defines the name of the request-scope variable that will hold the current row during iteration. This value must be a static value.'],
|
||||||
|
\ 'first' : [ ' ', 'The index of the first row to be displayed, where 0 is the first row.'],
|
||||||
|
\ 'rows' : [ ' ', 'The number of rows to be displayed. Specify zero for all remaining rows in the table.'],
|
||||||
|
\ 'accept' : [ ' ', 'HTML: Provides a comma-separated list of content types that the server processing this form can handle.'],
|
||||||
|
\ 'acceptcharset' : [ ' ', 'HTML: The list of character encodings accepted by the server for this form.'],
|
||||||
|
\ 'enctype' : [ ' ', 'HTML: The content type used to submit this form to the server.'],
|
||||||
|
\ 'onreset' : [ ' ', 'HTML: Script to be invoked when this form is reset.'],
|
||||||
|
\ 'onsubmit' : [ ' ', 'HTML: Script to be invoked when this form is submitted.'],
|
||||||
|
\ 'height' : [ ' ', 'HTML: Overrides the natural height of this image, by specifying height in pixels.'],
|
||||||
|
\ 'ismap' : [ ' ', 'HTML: Specifies server-side image map handling for this image.'],
|
||||||
|
\ 'longdesc' : [ ' ', 'HTML: A link to a long description of the image.'],
|
||||||
|
\ 'usemap' : [ ' ', 'HTML: Specifies an image map to use with this image.'],
|
||||||
|
\ 'url' : [ ' ', 'An alias for the "value" attribute.'],
|
||||||
|
\ 'maxlength' : [ ' ', 'HTML: The maximum number of characters allowed to be entered.'],
|
||||||
|
\ 'redisplay' : [ ' ', 'If true, the value will be re-sent (in plaintext) when the form is rerendered (see JSF.7.4.4). Default is false.'],
|
||||||
|
\ 'size' : [ ' ', 'HTML: The initial width of this control, in characters.'],
|
||||||
|
\ 'cols' : [ ' ', 'HTML: The width of this element, in characters.'],
|
||||||
|
\ 'errorClass' : [ ' ', 'CSS class to be used for messages with severity "ERROR".'],
|
||||||
|
\ 'errorStyle' : [ ' ', 'CSS style to be used for messages with severity "ERROR".'],
|
||||||
|
\ 'fatalClass' : [ ' ', 'CSS class to be used for messages with severity "FATAL".'],
|
||||||
|
\ 'fatalStyle' : [ ' ', 'CSS style to be used for messages with severity "FATAL".'],
|
||||||
|
\ 'infoClass' : [ ' ', 'CSS class to be used for messages with severity "INFO".'],
|
||||||
|
\ 'infoStyle' : [ ' ', 'CSS style to be used for messages with severity "INFO".'],
|
||||||
|
\ 'tooltip' : [ ' ', 'If true, the message summary will be rendered as a tooltip (i.e. HTML title attribute).'],
|
||||||
|
\ 'warnClass' : [ ' ', 'CSS class to be used for messages with severity "WARN".'],
|
||||||
|
\ 'warnStyle' : [ ' ', 'CSS style to be used for messages with severity "WARN".'],
|
||||||
|
\ 'for' : [ ' ', 'An EL expression, returning a String, with the unique ID of the component for which messages should be displayed. This string has the same format as that accepted by the UIComponent.findComponent() method.'],
|
||||||
|
\ 'showDetail' : [ ' ', 'An EL expression, returning a boolean, that controls whether the detail text of the associated messages is displayed. Default: false.'],
|
||||||
|
\ 'showSummary' : [ ' ', 'An EL expression, returning a boolean, that controls whether the summary text of the associated messages is displayed. Default: true.'],
|
||||||
|
\ 'layout' : [ ' ', 'The layout: "table" or "list". Default: list'],
|
||||||
|
\ 'globalOnly' : [ ' ', 'A boolean value that controls whether global messages (those without IDs) should be displayed. Default: false.'],
|
||||||
|
\ 'escape' : [ ' ', 'Indicates whether rendered markup should be escaped. Default: true'],
|
||||||
|
\ 'columns' : [ ' ', 'Specifies the number of columns in the grid.'],
|
||||||
|
\ 'disabledClass' : [ ' ', 'The CSS class assigned to the label element for enabled choices.'],
|
||||||
|
\ 'enabledClass' : [ ' ', 'The CSS class assigned to the label element for enabled choices.']
|
||||||
|
\ },
|
||||||
|
\}
|
95
dot.vim/autoload/xml/stl_c.vim
Normal file
95
dot.vim/autoload/xml/stl_c.vim
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
let g:xmldata_stl_c= {
|
||||||
|
\ 'catch': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'choose': [
|
||||||
|
\ [],
|
||||||
|
\ { }
|
||||||
|
\ ],
|
||||||
|
\ 'if': [
|
||||||
|
\ [],
|
||||||
|
\ { 'test' : [],'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'import': [
|
||||||
|
\ [],
|
||||||
|
\ { 'url' : [],'var' : [],'scope' : [],'varReader' : [],'context' : [],'charEncoding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'forEach': [
|
||||||
|
\ [],
|
||||||
|
\ { 'items' : [],'begin' : [],'end' : [],'step' : [],'var' : [],'varStatus' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'forTokens': [
|
||||||
|
\ [],
|
||||||
|
\ { 'items' : [],'delims' : [],'begin' : [],'end' : [],'step' : [],'var' : [],'varStatus' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'out': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'default' : [],'escapeXml' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'otherwise': [
|
||||||
|
\ [],
|
||||||
|
\ { }
|
||||||
|
\ ],
|
||||||
|
\ 'param': [
|
||||||
|
\ [],
|
||||||
|
\ { 'name' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'redirect': [
|
||||||
|
\ [],
|
||||||
|
\ { 'url' : [],'context' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'remove': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'set': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'value' : [],'target' : [],'property' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'url': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'scope' : [],'value' : [],'context' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'when': [
|
||||||
|
\ [],
|
||||||
|
\ { 'test' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'vimxmltaginfo': {
|
||||||
|
\ 'catch' : [ ' ', ' Catches any Throwable that occurs in its body and optionally exposes it. '],
|
||||||
|
\ 'choose' : [ ' ', ' Simple conditional tag that establishes a context for mutually exclusive conditional operations, marked by <when> and <otherwise> '],
|
||||||
|
\ 'if' : [ ' ', ' Simple conditional tag, which evalutes its body if the supplied condition is true and optionally exposes a Boolean scripting variable representing the evaluation of this condition '],
|
||||||
|
\ 'import' : [ ' ', ' Retrieves an absolute or relative URL and exposes its contents to either the page, a String in "var", or a Reader in "varReader". '],
|
||||||
|
\ 'forEach' : [ ' ', ' The basic iteration tag, accepting many different collection types and supporting subsetting and other functionality '],
|
||||||
|
\ 'forTokens' : [ ' ', ' Iterates over tokens, separated by the supplied delimeters '],
|
||||||
|
\ 'out' : [ ' ', ' Like <%= ... >, but for expressions. '],
|
||||||
|
\ 'otherwise' : [ ' ', ' Subtag of <choose> that follows <when> tags and runs only if all of the prior conditions evaluated to "false" '],
|
||||||
|
\ 'param' : [ ' ', ' Adds a parameter to a containing "import" tag"s URL. '],
|
||||||
|
\ 'redirect' : [ ' ', ' Redirects to a new URL. '],
|
||||||
|
\ 'remove' : [ ' ', ' Removes a scoped variable (from a particular scope, if specified). '],
|
||||||
|
\ 'set' : [ ' ', ' Sets the result of an expression evaluation in a "scope" '],
|
||||||
|
\ 'url' : [ ' ', ' Creates a URL with optional query parameters. '],
|
||||||
|
\ 'when' : [ ' ', ' Subtag of <choose> that includes its body if its condition evalutes to "true" ']
|
||||||
|
\ },
|
||||||
|
\ 'vimxmlattrinfo': {
|
||||||
|
\ 'var' : [ ' ', ' Name of the exported scoped variable for the exception thrown from a nested action. The type of the scoped variable is the type of the exception thrown. '],
|
||||||
|
\ 'test' : [ ' ', ' The test condition that determines whether or not the body content should be processed. '],
|
||||||
|
\ 'scope' : [ ' ', ' Scope for var. '],
|
||||||
|
\ 'url' : [ ' ', ' The URL of the resource to import. '],
|
||||||
|
\ 'varReader' : [ ' ', ' Name of the exported scoped variable for the resource"s content. The type of the scoped variable is Reader. '],
|
||||||
|
\ 'context' : [ ' ', ' Name of the context when accessing a relative URL resource that belongs to a foreign context. '],
|
||||||
|
\ 'charEncoding' : [ ' ', ' Character encoding of the content at the input resource. '],
|
||||||
|
\ 'items' : [ ' ', ' Collection of items to iterate over. '],
|
||||||
|
\ 'begin' : [ ' ', ' If items specified: Iteration begins at the item located at the specified index. First item of the collection has index 0. If items not specified: Iteration begins with index set at the value specified. '],
|
||||||
|
\ 'end' : [ ' ', ' If items specified: Iteration ends at the item located at the specified index (inclusive). If items not specified: Iteration ends when index reaches the value specified. '],
|
||||||
|
\ 'step' : [ ' ', ' Iteration will only process every step items of the collection, starting with the first one. '],
|
||||||
|
\ 'varStatus' : [ ' ', ' Name of the exported scoped variable for the status of the iteration. Object exported is of type javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested visibility. '],
|
||||||
|
\ 'delims' : [ ' ', ' The set of delimiters (the characters that separate the tokens in the string). '],
|
||||||
|
\ 'value' : [ ' ', ' Expression to be evaluated. '],
|
||||||
|
\ 'default' : [ ' ', ' Default value if the resulting value is null. '],
|
||||||
|
\ 'escapeXml' : [ ' ', ' Determines whether characters <,>,&,"," in the resulting string should be converted to their corresponding character entity codes. Default value is true. '],
|
||||||
|
\ 'name' : [ ' ', ' Name of the query string parameter. '],
|
||||||
|
\ 'target' : [ ' ', ' Target object whose property will be set. Must evaluate to a JavaBeans object with setter property property, or to a java.util.Map object. '],
|
||||||
|
\ 'property' : [ ' ', ' Name of the property to be set in the target object. ']
|
||||||
|
\ },
|
||||||
|
\}
|
88
dot.vim/autoload/xml/stl_fmt.vim
Normal file
88
dot.vim/autoload/xml/stl_fmt.vim
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
let g:xmldata_stl_fmt= {
|
||||||
|
\ 'requestEncoding': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'setLocale': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'variant' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'timeZone': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'setTimeZone': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'bundle': [
|
||||||
|
\ [],
|
||||||
|
\ { 'basename' : [],'prefix' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'setBundle': [
|
||||||
|
\ [],
|
||||||
|
\ { 'basename' : [],'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'message': [
|
||||||
|
\ [],
|
||||||
|
\ { 'key' : [],'bundle' : [],'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'param': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'formatNumber': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'type' : [],'pattern' : [],'currencyCode' : [],'currencySymbol' : [],'groupingUsed' : [],'maxIntegerDigits' : [],'minIntegerDigits' : [],'maxFractionDigits' : [],'minFractionDigits' : [],'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'parseNumber': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'type' : [],'pattern' : [],'parseLocale' : [],'integerOnly' : [],'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'formatDate': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'type' : [],'dateStyle' : [],'timeStyle' : [],'pattern' : [],'timeZone' : [],'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'parseDate': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'type' : [],'dateStyle' : [],'timeStyle' : [],'pattern' : [],'timeZone' : [],'parseLocale' : [],'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'vimxmltaginfo': {
|
||||||
|
\ 'requestEncoding' : [ ' ', ' Sets the request character encoding '],
|
||||||
|
\ 'setLocale' : [ ' ', ' Stores the given locale in the locale configuration variable '],
|
||||||
|
\ 'timeZone' : [ ' ', ' Specifies the time zone for any time formatting or parsing actions nested in its body '],
|
||||||
|
\ 'setTimeZone' : [ ' ', ' Stores the given time zone in the time zone configuration variable '],
|
||||||
|
\ 'bundle' : [ ' ', ' Loads a resource bundle to be used by its tag body '],
|
||||||
|
\ 'setBundle' : [ ' ', ' Loads a resource bundle and stores it in the named scoped variable or the bundle configuration variable '],
|
||||||
|
\ 'message' : [ ' ', ' Maps key to localized message and performs parametric replacement '],
|
||||||
|
\ 'param' : [ ' ', ' Supplies an argument for parametric replacement to a containing <message> tag '],
|
||||||
|
\ 'formatNumber' : [ ' ', ' Formats a numeric value as a number, currency, or percentage '],
|
||||||
|
\ 'parseNumber' : [ ' ', ' Parses the string representation of a number, currency, or percentage '],
|
||||||
|
\ 'formatDate' : [ ' ', ' Formats a date and/or time using the supplied styles and pattern '],
|
||||||
|
\ 'parseDate' : [ ' ', ' Parses the string representation of a date and/or time ']
|
||||||
|
\ },
|
||||||
|
\ 'vimxmlattrinfo': {
|
||||||
|
\ 'value' : [ ' ', ' Name of character encoding to be applied when decoding request parameters. '],
|
||||||
|
\ 'variant' : [ ' ', ' Vendor- or browser-specific variant. See the java.util.Locale javadocs for more information on variants. '],
|
||||||
|
\ 'scope' : [ ' ', ' Scope of the locale configuration variable. '],
|
||||||
|
\ 'var' : [ ' ', ' Name of the exported scoped variable which stores the time zone of type java.util.TimeZone. '],
|
||||||
|
\ 'basename' : [ ' ', ' Resource bundle base name. This is the bundle"s fully-qualified resource name, which has the same form as a fully-qualified class name, that is, it uses "." as the package component separator and does not have any file type (such as ".class" or ".properties") suffix. '],
|
||||||
|
\ 'prefix' : [ ' ', ' Prefix to be prepended to the value of the message key of any nested <fmt:message> action. '],
|
||||||
|
\ 'key' : [ ' ', ' Message key to be looked up. '],
|
||||||
|
\ 'bundle' : [ ' ', ' Localization context in whose resource bundle the message key is looked up. '],
|
||||||
|
\ 'type' : [ ' ', ' Specifies whether the value is to be formatted as number, currency, or percentage. '],
|
||||||
|
\ 'pattern' : [ ' ', ' Custom formatting pattern. '],
|
||||||
|
\ 'currencyCode' : [ ' ', ' ISO 4217 currency code. Applied only when formatting currencies (i.e. if type is equal to "currency"); ignored otherwise. '],
|
||||||
|
\ 'currencySymbol' : [ ' ', ' Currency symbol. Applied only when formatting currencies (i.e. if type is equal to "currency"); ignored otherwise. '],
|
||||||
|
\ 'groupingUsed' : [ ' ', ' Specifies whether the formatted output will contain any grouping separators. '],
|
||||||
|
\ 'maxIntegerDigits' : [ ' ', ' Maximum number of digits in the integer portion of the formatted output. '],
|
||||||
|
\ 'minIntegerDigits' : [ ' ', ' Minimum number of digits in the integer portion of the formatted output. '],
|
||||||
|
\ 'maxFractionDigits' : [ ' ', ' Maximum number of digits in the fractional portion of the formatted output. '],
|
||||||
|
\ 'minFractionDigits' : [ ' ', ' Minimum number of digits in the fractional portion of the formatted output. '],
|
||||||
|
\ 'parseLocale' : [ ' ', ' Locale whose default formatting pattern (for numbers, currencies, or percentages, respectively) is to be used during the parse operation, or to which the pattern specified via the pattern attribute (if present) is applied. '],
|
||||||
|
\ 'integerOnly' : [ ' ', ' Specifies whether just the integer portion of the given value should be parsed. '],
|
||||||
|
\ 'dateStyle' : [ ' ', ' Predefined formatting style for dates. Follows the semantics defined in class java.text.DateFormat. Applied only when formatting a date or both a date and time (i.e. if type is missing or is equal to "date" or "both"); ignored otherwise. '],
|
||||||
|
\ 'timeStyle' : [ ' ', ' Predefined formatting style for times. Follows the semantics defined in class java.text.DateFormat. Applied only when formatting a time or both a date and time (i.e. if type is equal to "time" or "both"); ignored otherwise. '],
|
||||||
|
\ 'timeZone' : [ ' ', ' Time zone in which to represent the formatted time. ']
|
||||||
|
\ },
|
||||||
|
\}
|
49
dot.vim/autoload/xml/stl_sql.vim
Normal file
49
dot.vim/autoload/xml/stl_sql.vim
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
let g:xmldata_stl_sql= {
|
||||||
|
\ 'transaction': [
|
||||||
|
\ [],
|
||||||
|
\ { 'dataSource' : [],'isolation' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'query': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'scope' : [],'sql' : [],'dataSource' : [],'startRow' : [],'maxRows' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'update': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'scope' : [],'sql' : [],'dataSource' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'param': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'dateParam': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'type' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'setDataSource': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'scope' : [],'dataSource' : [],'driver' : [],'url' : [],'user' : [],'password' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'vimxmltaginfo': {
|
||||||
|
\ 'transaction' : [ ' ', ' Provides nested database action elements with a shared Connection, set up to execute all statements as one transaction. '],
|
||||||
|
\ 'query' : [ ' ', ' Executes the SQL query defined in its body or through the sql attribute. '],
|
||||||
|
\ 'update' : [ ' ', ' Executes the SQL update defined in its body or through the sql attribute. '],
|
||||||
|
\ 'param' : [ ' ', ' Sets a parameter in an SQL statement to the specified value. '],
|
||||||
|
\ 'dateParam' : [ ' ', ' Sets a parameter in an SQL statement to the specified java.util.Date value. '],
|
||||||
|
\ 'setDataSource' : [ ' ', ' Creates a simple DataSource suitable only for prototyping. ']
|
||||||
|
\ },
|
||||||
|
\ 'vimxmlattrinfo': {
|
||||||
|
\ 'dataSource' : [ ' ', ' DataSource associated with the database to access. A String value represents a relative path to a JNDI resource or the parameters for the JDBC DriverManager facility. '],
|
||||||
|
\ 'isolation' : [ ' ', ' Transaction isolation level. If not specified, it is the isolation level the DataSource has been configured with. '],
|
||||||
|
\ 'var' : [ ' ', ' Name of the exported scoped variable for the query result. The type of the scoped variable is javax.servlet.jsp.jstl.sql. Result (see Chapter 16 "Java APIs"). '],
|
||||||
|
\ 'scope' : [ ' ', ' Scope of var. '],
|
||||||
|
\ 'sql' : [ ' ', ' SQL query statement. '],
|
||||||
|
\ 'startRow' : [ ' ', ' The returned Result object includes the rows starting at the specified index. The first row of the original query result set is at index 0. If not specified, rows are included starting from the first row at index 0. '],
|
||||||
|
\ 'maxRows' : [ ' ', ' The maximum number of rows to be included in the query result. If not specified, or set to -1, no limit on the maximum number of rows is enforced. '],
|
||||||
|
\ 'value' : [ ' ', ' Parameter value. '],
|
||||||
|
\ 'type' : [ ' ', ' One of "date", "time" or "timestamp". '],
|
||||||
|
\ 'driver' : [ ' ', ' JDBC parameter: driver class name. '],
|
||||||
|
\ 'url' : [ ' ', ' JDBC parameter: URL associated with the database. '],
|
||||||
|
\ 'user' : [ ' ', ' JDBC parameter: database user on whose behalf the connection to the database is being made. '],
|
||||||
|
\ 'password' : [ ' ', ' JDBC parameter: user password ']
|
||||||
|
\ },
|
||||||
|
\}
|
77
dot.vim/autoload/xml/stl_x.vim
Normal file
77
dot.vim/autoload/xml/stl_x.vim
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
let g:xmldata_stl_x= {
|
||||||
|
\ 'choose': [
|
||||||
|
\ [],
|
||||||
|
\ { }
|
||||||
|
\ ],
|
||||||
|
\ 'out': [
|
||||||
|
\ [],
|
||||||
|
\ { 'select' : [],'escapeXml' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'if': [
|
||||||
|
\ [],
|
||||||
|
\ { 'select' : [],'var' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'forEach': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'select' : [],'begin' : [],'end' : [],'step' : [],'varStatus' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'otherwise': [
|
||||||
|
\ [],
|
||||||
|
\ { }
|
||||||
|
\ ],
|
||||||
|
\ 'param': [
|
||||||
|
\ [],
|
||||||
|
\ { 'name' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'parse': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'varDom' : [],'scope' : [],'scopeDom' : [],'xml' : [],'doc' : [],'systemId' : [],'filter' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'set': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'select' : [],'scope' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'transform': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'scope' : [],'result' : [],'xml' : [],'doc' : [],'xmlSystemId' : [],'docSystemId' : [],'xslt' : [],'xsltSystemId' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'when': [
|
||||||
|
\ [],
|
||||||
|
\ { 'select' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'vimxmltaginfo': {
|
||||||
|
\ 'choose' : [ ' ', ' Simple conditional tag that establishes a context for mutually exclusive conditional operations, marked by <when> and <otherwise> '],
|
||||||
|
\ 'out' : [ ' ', ' Like <%= ... >, but for XPath expressions. '],
|
||||||
|
\ 'if' : [ ' ', ' XML conditional tag, which evalutes its body if the supplied XPath expression evalutes to "true" as a boolean '],
|
||||||
|
\ 'forEach' : [ ' ', ' XML iteration tag. '],
|
||||||
|
\ 'otherwise' : [ ' ', ' Subtag of <choose> that follows <when> tags and runs only if all of the prior conditions evaluated to "false" '],
|
||||||
|
\ 'param' : [ ' ', ' Adds a parameter to a containing "transform" tag"s Transformer '],
|
||||||
|
\ 'parse' : [ ' ', ' Parses XML content from "source" attribute or "body" '],
|
||||||
|
\ 'set' : [ ' ', ' Saves the result of an XPath expression evaluation in a "scope" '],
|
||||||
|
\ 'transform' : [ ' ', ' Conducts a transformation given a source XML document and an XSLT stylesheet '],
|
||||||
|
\ 'when' : [ ' ', ' Subtag of <choose> that includes its body if its expression evalutes to "true" ']
|
||||||
|
\ },
|
||||||
|
\ 'vimxmlattrinfo': {
|
||||||
|
\ 'select' : [ ' ', ' XPath expression to be evaluated. '],
|
||||||
|
\ 'escapeXml' : [ ' ', ' Determines whether characters <,>,&,"," in the resulting string should be converted to their corresponding character entity codes. Default value is true. '],
|
||||||
|
\ 'var' : [ ' ', ' Name of the exported scoped variable for the resulting value of the test condition. The type of the scoped variable is Boolean. '],
|
||||||
|
\ 'scope' : [ ' ', ' Scope for var. '],
|
||||||
|
\ 'begin' : [ ' ', ' Iteration begins at the item located at the specified index. First item of the collection has index 0. '],
|
||||||
|
\ 'end' : [ ' ', ' Iteration ends at the item located at the specified index (inclusive). '],
|
||||||
|
\ 'step' : [ ' ', ' Iteration will only process every step items of the collection, starting with the first one. '],
|
||||||
|
\ 'varStatus' : [ ' ', ' Name of the exported scoped variable for the status of the iteration. Object exported is of type javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested visibility. '],
|
||||||
|
\ 'name' : [ ' ', ' Name of the transformation parameter. '],
|
||||||
|
\ 'value' : [ ' ', ' Value of the parameter. '],
|
||||||
|
\ 'varDom' : [ ' ', ' Name of the exported scoped variable for the parsed XML document. The type of the scoped variable is org.w3c.dom.Document. '],
|
||||||
|
\ 'scopeDom' : [ ' ', ' Scope for varDom. '],
|
||||||
|
\ 'xml' : [ ' ', ' Deprecated. Use attribute "doc" instead. '],
|
||||||
|
\ 'doc' : [ ' ', ' Source XML document to be parsed. '],
|
||||||
|
\ 'systemId' : [ ' ', ' The system identifier (URI) for parsing the XML document. '],
|
||||||
|
\ 'filter' : [ ' ', ' Filter to be applied to the source document. '],
|
||||||
|
\ 'result' : [ ' ', ' Result Object that captures or processes the transformation result. '],
|
||||||
|
\ 'xmlSystemId' : [ ' ', ' Deprecated. Use attribute "docSystemId" instead. '],
|
||||||
|
\ 'docSystemId' : [ ' ', ' The system identifier (URI) for parsing the XML document. '],
|
||||||
|
\ 'xslt' : [ ' ', ' javax.xml.transform.Source Transformation stylesheet as a String, Reader, or Source object. '],
|
||||||
|
\ 'xsltSystemId' : [ ' ', ' The system identifier (URI) for parsing the XSLT stylesheet. ']
|
||||||
|
\ },
|
||||||
|
\}
|
463
dot.vim/autoload/xml/tc.vim
Normal file
463
dot.vim/autoload/xml/tc.vim
Normal file
|
@ -0,0 +1,463 @@
|
||||||
|
let g:xmldata_tc= {
|
||||||
|
\ 'script': [
|
||||||
|
\ [],
|
||||||
|
\ { 'onexit' : [],'file' : [],'onsubmit' : [],'onunload' : [],'onload' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'tabChangeListener': [
|
||||||
|
\ [],
|
||||||
|
\ { 'listener' : [],'type' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'include': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'validateSubmittedValueLength': [
|
||||||
|
\ [],
|
||||||
|
\ { 'minimum' : [],'maximum' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'attribute': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'name' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'converter': [
|
||||||
|
\ [],
|
||||||
|
\ { 'binding' : [],'converterId' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'style': [
|
||||||
|
\ [],
|
||||||
|
\ { 'style' : [],'id' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'popupReference': [
|
||||||
|
\ [],
|
||||||
|
\ { 'for' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'forEach': [
|
||||||
|
\ [],
|
||||||
|
\ { 'begin' : [],'step' : [],'items' : [],'end' : [],'var' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'loadBundle': [
|
||||||
|
\ [],
|
||||||
|
\ { 'var' : [],'basename' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'validateFileItem': [
|
||||||
|
\ [],
|
||||||
|
\ { 'maxSize' : [],'contentType' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'treeListbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'value' : [],'state' : [],'idReference' : [],'nameReference' : [],'required' : [],'tipReference' : [],'selectable' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'link': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'disabled' : [],'inline' : [],'type' : [],'target' : [],'tip' : [],'image' : [],'markup' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'hidden': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'value' : [],'converter' : [],'validator' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'toolBarCheck': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'type' : [],'image' : [],'disabled' : [],'value' : [],'tip' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'progress': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'tip' : [],'markup' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'object': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'src' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'popup': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'rendered' : [],'width' : [],'height' : [],'modal' : [],'left' : [],'top' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'menuItem': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'disabled' : [],'type' : [],'image' : [],'target' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'sheet': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'columns' : [],'pagingLength' : [],'showPageRange' : [],'directLinkCount' : [],'state' : [],'rows' : [],'selectable' : [],'showDirectLinks' : [],'sortActionListener' : [],'forceVerticalScrollbar' : [],'var' : [],'value' : [],'stateChangeListener' : [],'pagingStart' : [],'showHeader' : [],'first' : [],'showRowRange' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'datePicker': [
|
||||||
|
\ [],
|
||||||
|
\ { 'for' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'panel': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'width' : [],'height' : [],'markup' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'textarea': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'id' : [],'binding' : [],'rendered' : [],'converter' : [],'readonly' : [],'disabled' : [],'width' : [],'height' : [],'focus' : [],'required' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'tip' : [],'rows' : [],'markup' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'cell': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'scrollbars' : [],'spanY' : [],'spanX' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'menuCheckbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'disabled' : [],'type' : [],'value' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'command': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'message': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'for' : [],'showDetail' : [],'showSummary' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'reload': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'immediate' : [],'frequency' : [],'update' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectOneRadio': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'markup' : [],'disabled' : [],'id' : [],'inline' : [],'renderRange' : [],'rendered' : [],'binding' : [],'converter' : [],'readonly' : [],'required' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'toolBarCommand': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'image' : [],'disabled' : [],'type' : [],'tip' : [],'target' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'toolBar': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'width' : [],'height' : [],'markup' : [],'iconSize' : [],'orientation' : [],'labelPosition' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectOneChoice': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'markup' : [],'id' : [],'disabled' : [],'readonly' : [],'inline' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'rendered' : [],'converter' : [],'binding' : [],'tip' : [],'required' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'date': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'id' : [],'binding' : [],'rendered' : [],'readonly' : [],'disabled' : [],'converter' : [],'inline' : [],'focus' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'tip' : [],'required' : [],'markup' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'columnEvent': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'event' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectReference': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'for' : [],'renderRange' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'box': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'width' : [],'height' : [],'label' : [],'markup' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectManyCheckbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'markup' : [],'disabled' : [],'id' : [],'inline' : [],'renderRange' : [],'rendered' : [],'required' : [],'binding' : [],'readonly' : [],'converter' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectOneListbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'markup' : [],'id' : [],'disabled' : [],'readonly' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'rendered' : [],'binding' : [],'height' : [],'tip' : [],'required' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'out': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'converter' : [],'inline' : [],'tip' : [],'value' : [],'escape' : [],'markup' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectItem': [
|
||||||
|
\ [],
|
||||||
|
\ { 'binding' : [],'id' : [],'markup' : [],'itemLabel' : [],'value' : [],'itemValue' : [],'itemImage' : [],'itemDisabled' : [],'itemDescription' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'in': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'id' : [],'binding' : [],'rendered' : [],'converter' : [],'readonly' : [],'disabled' : [],'width' : [],'inline' : [],'focus' : [],'required' : [],'tip' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'password' : [],'suggestMethod' : [],'markup' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'tree': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'value' : [],'state' : [],'idReference' : [],'actionListener' : [],'nameReference' : [],'required' : [],'tabIndex' : [],'showJunctions' : [],'disabledReference' : [],'tipReference' : [],'showIcons' : [],'showRoot' : [],'mutable' : [],'showRootJunction' : [],'mode' : [],'selectable' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'menucheck': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'disabled' : [],'type' : [],'value' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'menuSeparator': [
|
||||||
|
\ [],
|
||||||
|
\ { 'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'label': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'accessKey' : [],'labelWithAccessKey' : [],'for' : [],'inline' : [],'width' : [],'tip' : [],'markup' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'form': [
|
||||||
|
\ [],
|
||||||
|
\ { 'binding' : [],'id' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectManyListbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'markup' : [],'id' : [],'disabled' : [],'height' : [],'inline' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'rendered' : [],'binding' : [],'tip' : [],'readonly' : [],'required' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'menuBar': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'width' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'button': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'image' : [],'disabled' : [],'type' : [],'defaultCommand' : [],'width' : [],'tip' : [],'inline' : [],'target' : [],'markup' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectItems': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'separator': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'tabGroup': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'width' : [],'height' : [],'immediate' : [],'showNavigationBar' : [],'selectedIndex' : [],'serverside' : [],'switchType' : [],'state' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'menuradio': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'disabled' : [],'type' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'calendar': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'image': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'border' : [],'width' : [],'height' : [],'tip' : [],'alt' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'toolBarSelectOne': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'disabled' : [],'type' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'file': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'valueChangeListener' : [],'id' : [],'binding' : [],'rendered' : [],'disabled' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'tip' : [],'readonly' : [],'required' : [],'tabIndex' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'gridLayout': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'border' : [],'cellspacing' : [],'margin' : [],'marginRight' : [],'marginBottom' : [],'marginTop' : [],'marginLeft' : [],'columns' : [],'rows' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'menuRadio': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'disabled' : [],'type' : [],'value' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'columnSelector': [
|
||||||
|
\ [],
|
||||||
|
\ { 'disabled' : [],'rendered' : [],'binding' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'messages': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'for' : [],'maxNumber' : [],'orderBy' : [],'minSeverity' : [],'maxSeverity' : [],'showDetail' : [],'globalOnly' : [],'showSummary' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'time': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'id' : [],'binding' : [],'rendered' : [],'readonly' : [],'disabled' : [],'inline' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'tip' : [],'required' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'page': [
|
||||||
|
\ [],
|
||||||
|
\ { 'label' : [],'id' : [],'width' : [],'height' : [],'binding' : [],'state' : [],'focusId' : [],'applicationIcon' : [],'doctype' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectBooleanCheckbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'valueChangeListener' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'value' : [],'disabled' : [],'inline' : [],'tip' : [],'readonly' : [],'markup' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'menu': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'disabled' : [],'image' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'tab': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'label' : [],'accessKey' : [],'labelWithAccessKey' : [],'tip' : [],'markup' : [],'disabled' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'column': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'label' : [],'tip' : [],'width' : [],'align' : [],'markup' : [],'sortable' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'vimxmltaginfo': {
|
||||||
|
\ 'script' : [ ' ', 'This tag add client side script to the rendered page.'],
|
||||||
|
\ 'tabChangeListener' : [ ' ', 'Register an TabChangedListener instance on the UIComponent associated with the closest parent UIComponent custom action.'],
|
||||||
|
\ 'include' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>'],
|
||||||
|
\ 'validateSubmittedValueLength' : [ ' ', 'Register an SubmittedValueLengthValidator instance on the UIComponent associated with the closest parent UIComponent custom action.'],
|
||||||
|
\ 'attribute' : [ ' ', 'Add an attribute on the UIComponent associated with the closest parent UIComponent custom action.'],
|
||||||
|
\ 'converter' : [ ' ', 'Register an Converter instance on the UIComponent associated with the closest parent UIComponent.'],
|
||||||
|
\ 'style' : [ ' ', 'Add a style tag. Collected bodyContent is rendered as content into a style tag.'],
|
||||||
|
\ 'popupReference' : [ ' ', 'Register an PopupActionListener instance on the UIComponent associated with the closest parent UIComponent.'],
|
||||||
|
\ 'forEach' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Replacement for the JSTL <c:foreach> tag. <br /> This tags iterates over the body content without setting up an exported scope variable, but replaces all occurrence"s of <code>var</code> in <code>TobagoTag"s ValueBinding</code> attributes.<br /> All non TobagoTags are treated as they are, no replacement is done, and so no ability to use the <code>var</code> in el.'],
|
||||||
|
\ 'loadBundle' : [ ' ', 'Load a resource bundle localized for the Locale of the current view from the tobago resource path, and expose it (as a Map) in the request attributes of the current request.'],
|
||||||
|
\ 'validateFileItem' : [ ' ', 'Register an FileItemValidator instance on the UIComponent associated with the closest parent UIComponent custom action.'],
|
||||||
|
\ 'treeListbox' : [ ' ', '<p>**** Preliminary. Maybe subject to changed in a future version: Implement a var attribute for the tree like in the sheet (http://issues.apache.org/jira/browse/TOBAGO-18) **** </p>Renders a listbox view of a tree.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UITreeListbox</p><p><b>RendererType: </b>TreeListbox</p>'],
|
||||||
|
\ 'link' : [ ' ', 'Renders a link element.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UILinkCommand</p><p><b>RendererType: </b>Link</p><p><b>Supported facets:</b></p><dl><dt><b>confirmation</b></dt><dd>Contains a UIOutput instance with the confirmation message.</dd></dl>'],
|
||||||
|
\ 'hidden' : [ ' ', 'Renders a "hidden" input element.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIHiddenInput</p><p><b>RendererType: </b>Hidden</p>'],
|
||||||
|
\ 'toolBarCheck' : [ ' ', 'Renders a selectable command button within a toolbar.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectBooleanCommand</p><p><b>RendererType: </b>MenuCommand</p>'],
|
||||||
|
\ 'progress' : [ ' ', 'Renders a progressbar.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIProgress</p><p><b>RendererType: </b>Progress</p><p><b>Supported facets:</b></p><dl><dt><b>complete</b></dt><dd>Contains an instance of UICommand (tc:command). The action is invoked if the full progress has reached</dd></dl>'],
|
||||||
|
\ 'object' : [ ' ', '<p><b>UIComponentClass: </b>javax.faces.component.UIOutput</p><p><b>RendererType: </b>Object</p>'],
|
||||||
|
\ 'popup' : [ ' ', 'Renders a popup panel.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIPopup</p><p><b>RendererType: </b>Popup</p>'],
|
||||||
|
\ 'menuItem' : [ ' ', 'Renders a menu item.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIMenuCommand</p><p><b>RendererType: </b>MenuCommand</p>'],
|
||||||
|
\ 'sheet' : [ ' ', 'Render a sheet element.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIData</p><p><b>RendererType: </b>Sheet</p><p><b>Supported facets:</b></p><dl><dt><b>reload</b></dt><dd>Contains an instance of UIReload</dd></dl>'],
|
||||||
|
\ 'datePicker' : [ ' ', 'Renders a date picker. The component needs a DateFormat Pattern from a converter. The converter should be an instance of DateTimeConverter and return a valid pattern from the method getPattern()<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIDatePicker</p><p><b>RendererType: </b>DatePicker</p>'],
|
||||||
|
\ 'panel' : [ ' ', 'Intended for use in situations when only one UIComponent child can be nested, such as in the case of facets.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIPanel</p><p><b>RendererType: </b>Panel</p><p><b>Supported facets:</b></p><dl><dt><b>reload</b></dt><dd>Contains an instance of UIReload</dd><dt><b>layout</b></dt><dd>Contains an instance of UILayout</dd></dl>'],
|
||||||
|
\ 'textarea' : [ ' ', 'Renders a multiline text input control.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIInput</p><p><b>RendererType: </b>TextArea</p>'],
|
||||||
|
\ 'cell' : [ ' ', 'Renders a layout cell. A panel with ability to span over more than one layout cells.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UICell</p><p><b>RendererType: </b>Panel</p>'],
|
||||||
|
\ 'menuCheckbox' : [ ' ', 'Renders a checkable menuitem.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectBooleanCommand</p><p><b>RendererType: </b>MenuCommand</p>'],
|
||||||
|
\ 'command' : [ ' ', 'Use this tag only as a facet for click, change in selectOneRadio, selectBooleanCheckbox, selectManyCheckbox and selectOneChoice<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UICommand</p><p><b>RendererType: </b>Command</p>'],
|
||||||
|
\ 'message' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Renders error/validation message.<p><b>UIComponentClass: </b>javax.faces.component.UIMessage</p><p><b>RendererType: </b>Message</p>'],
|
||||||
|
\ 'reload' : [ ' ', 'Update the parent component<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIReload</p><p><b>RendererType: </b></p>'],
|
||||||
|
\ 'selectOneRadio' : [ ' ', 'Render a set of radiobuttons.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOne</p><p><b>RendererType: </b>SelectOneRadio</p><p><b>Supported facets:</b></p><dl><dt><b>click</b></dt><dd>This facet can contain a UICommand that is invoked in case of a click event from the component</dd><dt><b>change</b></dt><dd>This facet can contain a UICommand that is invoked in case of a change event from the component</dd></dl>'],
|
||||||
|
\ 'toolBarCommand' : [ ' ', 'Renders a command button within a toolbar.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UICommand</p><p><b>RendererType: </b>Button</p>'],
|
||||||
|
\ 'toolBar' : [ ' ', '<p/> Renders a toolbar.<p /> Allowed subcomponents are subtypes of UICommand i.e. <code>"button"</code> and <code>"link"</code> tags. These are rendered by ToolbarRenderer, so the result has no difference.<p /> To add an dropdown menu to a button add a facet <code>"menupopup"</code> containing a <a href="menu.html"><code><tc:menu></code></a> tag to the button. Label"s and Image"s on those menu tag"s are ignored and replaced by the renderer. <pre> <tc:button onclick="alert("test 0")" label="Alert 0" > <f:facet name="menupopup"> <tc:menu> <tc:menuItem onclick="alert("test 1")" label="Alert 1"/> <tc:menuItem onclick="alert("test 2")" label="Alert 2"/> <tc:menuItem onclick="alert("test 3")" label="Alert 3"/> </tc:menu> </f:facet> </tc:button> </pre><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIToolBar</p><p><b>RendererType: </b>ToolBar</p>'],
|
||||||
|
\ 'selectOneChoice' : [ ' ', 'Render a single selection dropdown list.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOne</p><p><b>RendererType: </b>SelectOneChoice</p><p><b>Supported facets:</b></p><dl><dt><b>click</b></dt><dd>This facet can contain a UICommand that is invoked in case of a click event from the component</dd><dt><b>change</b></dt><dd>This facet can contain a UICommand that is invoked in case of a change event from the component</dd></dl>'],
|
||||||
|
\ 'date' : [ ' ', 'Renders a date input field.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIDateInput</p><p><b>RendererType: </b>Date</p>'],
|
||||||
|
\ 'columnEvent' : [ ' ', '<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIColumnEvent</p><p><b>RendererType: </b></p>'],
|
||||||
|
\ 'selectReference' : [ ' ', 'Renders a set of option related to and same type as the <strong>for</strong> component.<p><b>UIComponentClass: </b>javax.faces.component.UIOutput</p><p><b>RendererType: </b>SelectReference</p>'],
|
||||||
|
\ 'box' : [ ' ', 'Renders a panel with border and title.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIBox</p><p><b>RendererType: </b>Box</p><p><b>Supported facets:</b></p><dl><dt><b>toolBar</b></dt><dd>Contains an instance of UIToolBar</dd><dt><b>layout</b></dt><dd>Contains an instance of UILayout</dd></dl>'],
|
||||||
|
\ 'selectManyCheckbox' : [ ' ', 'Render a group of checkboxes.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectMany</p><p><b>RendererType: </b>SelectManyCheckbox</p>'],
|
||||||
|
\ 'selectOneListbox' : [ ' ', 'Render a single selection option listbox.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOne</p><p><b>RendererType: </b>SelectOneListbox</p><p><b>Supported facets:</b></p><dl><dt><b>click</b></dt><dd>This facet can contain a UICommand that is invoked in case of a click event from the component</dd><dt><b>change</b></dt><dd>This facet can contain a UICommand that is invoked in case of a change event from the component</dd></dl>'],
|
||||||
|
\ 'out' : [ ' ', 'Renders a text<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIOutput</p><p><b>RendererType: </b>Out</p>'],
|
||||||
|
\ 'selectItem' : [ ' ', 'Add a child UISelectItem component to the UIComponent associated with the closed parent UIComponent custom action.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectItem</p><p><b>RendererType: </b></p>'],
|
||||||
|
\ 'in' : [ ' ', 'Renders a text input field.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIInput</p><p><b>RendererType: </b>In</p>'],
|
||||||
|
\ 'tree' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Renders a tree view.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UITreeOld</p><p><b>RendererType: </b>TreeOld</p>'],
|
||||||
|
\ 'menucheck' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Renders a checkable menuitem.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectBooleanCommand</p><p><b>RendererType: </b>MenuCommand</p>'],
|
||||||
|
\ 'menuSeparator' : [ ' ', 'Renders a separator.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIMenuSeparator</p><p><b>RendererType: </b></p>'],
|
||||||
|
\ 'label' : [ ' ', 'Renders a label component.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UILabel</p><p><b>RendererType: </b>Label</p>'],
|
||||||
|
\ 'form' : [ ' ', '<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIForm</p><p><b>RendererType: </b>Form</p>'],
|
||||||
|
\ 'selectManyListbox' : [ ' ', 'Render a multi selection option listbox.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectMany</p><p><b>RendererType: </b>SelectManyListbox</p>'],
|
||||||
|
\ 'menuBar' : [ ' ', 'Renders a menu bar.<br /> Add menu bar as facet name="menuBar" to page tag or use it anywhere on page.<br /><p><b>UIComponentClass: </b>javax.faces.component.UIPanel</p><p><b>RendererType: </b>MenuBar</p>'],
|
||||||
|
\ 'button' : [ ' ', 'Renders a button element.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIButtonCommand</p><p><b>RendererType: </b>Button</p><p><b>Supported facets:</b></p><dl><dt><b>confirmation</b></dt><dd>Contains a UIOutput instance with the confirmation message.</dd><dt><b>popup</b></dt><dd>Contains a UIPopup instance.</dd></dl>'],
|
||||||
|
\ 'selectItems' : [ ' ', 'Add a child UISelectItems component to the UIComponent associated with the closed parent UIComponent custom action.<p><b>UIComponentClass: </b>javax.faces.component.UISelectItems</p><p><b>RendererType: </b></p>'],
|
||||||
|
\ 'separator' : [ ' ', 'Renders a separator.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISeparator</p><p><b>RendererType: </b>Separator</p><p><b>Supported facets:</b></p><dl><dt><b>label</b></dt><dd>This facet contains a UILabel</dd></dl>'],
|
||||||
|
\ 'tabGroup' : [ ' ', 'Renders a tabpanel.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UITabGroup</p><p><b>RendererType: </b>TabGroup</p>'],
|
||||||
|
\ 'menuradio' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Renders a submenu with select one items.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOneCommand</p><p><b>RendererType: </b>MenuCommand</p>'],
|
||||||
|
\ 'calendar' : [ ' ', 'Renders a calendar.<p><b>UIComponentClass: </b>javax.faces.component.UIOutput</p><p><b>RendererType: </b>Calendar</p>'],
|
||||||
|
\ 'image' : [ ' ', 'Renders a Image.<p><b>UIComponentClass: </b>javax.faces.component.UIGraphic</p><p><b>RendererType: </b>Image</p>'],
|
||||||
|
\ 'toolBarSelectOne' : [ ' ', 'Renders a set of radio command button"s within a toolbar.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOneCommand</p><p><b>RendererType: </b>MenuCommand</p>'],
|
||||||
|
\ 'file' : [ ' ', 'Renders a file input field. You need to define an org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter in your web.xml or add the tobago-fileupload.jar to your project. The tobago-fileupload.jar contains a FacesContextFactory that wraps the multipart-formdata request inside the facesContext.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIFileInput</p><p><b>RendererType: </b>File</p>'],
|
||||||
|
\ 'gridLayout' : [ ' ', 'Renders a GridLayout. <pre> columns/rows ::= LAYOUT LAYOUT ::= TOKEN [";" TOKEN]+ TOKEN ::= FIXED | PIXEL | PROPORTIONAL FIXED ::= "fixed" PIXEL ::= NUMBER "px" PROPORTIONAL ::= [NUMBER] "*" </pre> <p/> <table border="1"> <tr> <th>Parent</th> <th>Child</th> <th>Okay?</th> <th>Remarks</th> </tr> <tr> <td>FIXED</td> <td>any combination of FIXED or PIXEL but no PROPORTIONAL</td> <td>okay</td> <td>-</td> </tr> <tr> <td>FIXED</td> <td>any combination with at least one PROPORTIONAL</td> <td>wrong</td> <td>LayoutManager cannot compute the fixed value.</td> </tr> <tr> <td>PIXEL</td> <td>any combination of FIXED or PIXEL but no PROPORTIONAL</td> <td>potentially wrong</td> <td>The values depend on each other, the programmer has to keep consistency manually.</td> </tr> <tr> <td>PIXEL</td> <td>any combination with at least one PROPORTIONAL</td> <td>okay</td> <td>-</td> </tr> <tr> <td>PROPORTIONAL</td> <td>any combination of FIXED or PIXEL but no PROPORTIONAL</td> <td>potentially wrong</td> <td>No automatical matching:<ul><li>too little space: scrollbar</li> <li>too much space: elements will be spreaded.</li></ul></td> </tr> <tr> <td>PROPORTIONAL</td> <td>any combination with at least one PROPORTIONAL</td> <td>okay</td> <td>-</td> </tr> </table><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIGridLayout</p><p><b>RendererType: </b>GridLayout</p>'],
|
||||||
|
\ 'menuRadio' : [ ' ', 'Renders a submenu with select one items (like a radio button).<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOneCommand</p><p><b>RendererType: </b>MenuCommand</p>'],
|
||||||
|
\ 'columnSelector' : [ ' ', 'Renders a column with checkboxes to mark selected rows.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIColumnSelector</p><p><b>RendererType: </b>ColumnSelector</p>'],
|
||||||
|
\ 'messages' : [ ' ', 'Renders error/validation messages.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIMessages</p><p><b>RendererType: </b>Messages</p>'],
|
||||||
|
\ 'time' : [ ' ', 'Renders a time input field.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UITimeInput</p><p><b>RendererType: </b>Time</p>'],
|
||||||
|
\ 'page' : [ ' ', 'TODO description of page tag<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIPage</p><p><b>RendererType: </b>Page</p><p><b>Supported facets:</b></p><dl><dt><b>action</b></dt><dd>Contains an instance of UICommand (tc:command) for an auto-action</dd><dt><b>menuBar</b></dt><dd>Menubar</dd><dt><b>layout</b></dt><dd>Contains an instance of UILayout</dd></dl>'],
|
||||||
|
\ 'selectBooleanCheckbox' : [ ' ', 'Renders a checkbox.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectBoolean</p><p><b>RendererType: </b>SelectBooleanCheckbox</p><p><b>Supported facets:</b></p><dl><dt><b>click</b></dt><dd>This facet can contain a UICommand that is invoked in case of a click event from the component</dd><dt><b>change</b></dt><dd>This facet can contain a UICommand that is invoked in case of a change event from the component</dd></dl>'],
|
||||||
|
\ 'menu' : [ ' ', 'Container component to hold submenus and items.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIMenu</p><p><b>RendererType: </b></p>'],
|
||||||
|
\ 'tab' : [ ' ', 'Renders a tab within a tabgroup.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UITab</p><p><b>RendererType: </b>Tab</p>'],
|
||||||
|
\ 'column' : [ ' ', 'Renders a UIComponent that represents a single column of data within a parent UIData component.<p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIColumn</p><p><b>RendererType: </b></p>']
|
||||||
|
\ },
|
||||||
|
\ 'vimxmlattrinfo': {
|
||||||
|
\ 'onexit' : [ ' ', 'A script function which is invoked during onUnload Handler on the client, when the unload is invoked to a non Tobago page. E.g. close-button, back-button, entering new url, etc.'],
|
||||||
|
\ 'file' : [ ' ', 'Absolute url to script file or script name to lookup in tobago resource path'],
|
||||||
|
\ 'onsubmit' : [ ' ', 'A script function which is invoked on client just before submitting the action. This should be a single function call. If the result is typeof "boolean" and false the further processing is canceled and the page is not submitted.'],
|
||||||
|
\ 'onunload' : [ ' ', 'A script function which is invoked during onUnload Handler on the client, if the action is a normal submit inside of Tobago.'],
|
||||||
|
\ 'onload' : [ ' ', 'A script function which is invoked during onLoad Handler on the client.'],
|
||||||
|
\ 'listener' : [ ' ', 'A method binding expression to a processTabChange(TabChangeEvent tabChangeEvent) method.'],
|
||||||
|
\ 'type' : [ ' ', 'Fully qualified Java class name of a TabChangeListener to be created and registered.'],
|
||||||
|
\ 'binding' : [ ' ', 'The value binding expression to a TabChangeListener.'],
|
||||||
|
\ 'id' : [ ' ', 'The component identifier for this component. This value must be unique within the closest parent component that is a naming container.'],
|
||||||
|
\ 'value' : [ ' ', 'The current value of this component.'],
|
||||||
|
\ 'minimum' : [ ' ', ''],
|
||||||
|
\ 'maximum' : [ ' ', ''],
|
||||||
|
\ 'name' : [ ' ', 'The name of a attribute.'],
|
||||||
|
\ 'converterId' : [ ' ', 'The converterId of a registered converter.'],
|
||||||
|
\ 'style' : [ ' ', 'Name of the stylsheet file to add to page.'],
|
||||||
|
\ 'for' : [ ' ', 'The id of a Popup.'],
|
||||||
|
\ 'begin' : [ ' ', 'Index at which the iteration begins.'],
|
||||||
|
\ 'step' : [ ' ', 'Index increments every iteration by this value.'],
|
||||||
|
\ 'items' : [ ' ', '<strong>ValueBindingExpression</strong> pointing to a <code>java.util.List</code>, <code>java.util.Map</code> or <code>Object[]</code> of items to iterate over.'],
|
||||||
|
\ 'end' : [ ' ', 'Index at which the iteration stops. Defaults to <code>items.length()</code>.'],
|
||||||
|
\ 'var' : [ ' ', 'Name of a request-scope attribute under which the model data for for each subobject is accessible.'],
|
||||||
|
\ 'basename' : [ ' ', 'Base name of the resource bundle to be loaded.'],
|
||||||
|
\ 'maxSize' : [ ' ', ''],
|
||||||
|
\ 'contentType' : [ ' ', ''],
|
||||||
|
\ 'rendered' : [ ' ', 'Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit.'],
|
||||||
|
\ 'state' : [ ' ', '<strong>ValueBindingExpression</strong> pointing to a object to save the component"s state.'],
|
||||||
|
\ 'idReference' : [ ' ', 'Bean property reference to fetch the id for the treeNode"s.<br /> Example:<br /> a idReference="userObject.id" try"s to invoke <code><UITreeNode>.getUserObject().getId()</code> to fetch the id.'],
|
||||||
|
\ 'nameReference' : [ ' ', 'Bean property reference to fetch the label for the treeNode"s.<br /> Example:<br /> a idReference="userObject.name" try"s to invoke <code><UITreeNode>.getUserObject().getName()</code> to fetch the label.'],
|
||||||
|
\ 'required' : [ ' ', 'Flag indicating that a value is required. If the value is an empty string a ValidationError occurs and a Error Message is rendered.'],
|
||||||
|
\ 'tipReference' : [ ' ', 'reference to tip value.'],
|
||||||
|
\ 'selectable' : [ ' ', 'Flag indicating whether or not this component should be render selectable items. Possible values are: <ul> <li><strong>single</strong> : a singleselection tree is rendered</li> <li><strong>singleLeafOnly</strong> : a singleselection tree is rendered, only Leaf"s are selectable</li> <li><strong>siblingLeafOnly</strong> : a multiselection tree is rendered, where only sibling Leaf"s are selectable</li> </ul>'],
|
||||||
|
\ 'action' : [ ' ', 'Action to invoke when clicked. This must be a MethodBinding or a String representing the application action to invoke when this component is activated by the user. The MethodBinding must evaluate to a public method that takes no parameters, and returns a String (the logical outcome) which is passed to the NavigationHandler for this application. The String is directly passed to the Navigationhandler.'],
|
||||||
|
\ 'actionListener' : [ ' ', 'MethodBinding representing an action listener method that will be notified when this component is activated by the user. The expression must evaluate to a public method that takes an ActionEvent parameter, with a return type of void.'],
|
||||||
|
\ 'immediate' : [ ' ', 'Flag indicating that, if this component is activated by the user, notifications should be delivered to interested listeners and actions immediately (that is, during Apply Request Values phase) rather than waiting until Invoke Application phase.'],
|
||||||
|
\ 'onclick' : [ ' ', 'Script to be invoked when clicked'],
|
||||||
|
\ 'link' : [ ' ', 'Link to an arbitrary URL'],
|
||||||
|
\ 'transition' : [ ' ', 'Specify, if the command calls an JSF-Action. Useful to switch off the Double-Submit-Check and Waiting-Behavior.'],
|
||||||
|
\ 'label' : [ ' ', 'Text value to display as label. If text contains an underscore the next character is used as accesskey.'],
|
||||||
|
\ 'accessKey' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Deprecated! Has not longer any function.'],
|
||||||
|
\ 'labelWithAccessKey' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Deprecated! Use "label" instead. Text value to display as label. If text contains an underscore the next character overwrites "accesskey".'],
|
||||||
|
\ 'disabled' : [ ' ', 'Flag indicating that this element is disabled.'],
|
||||||
|
\ 'inline' : [ ' ', 'Flag indicating this component should rendered as an inline element.'],
|
||||||
|
\ 'target' : [ ' ', 'Name of a frame where the resource retrieved via this hyperlink is to be displayed.'],
|
||||||
|
\ 'tip' : [ ' ', 'Text value to display as tooltip.'],
|
||||||
|
\ 'image' : [ ' ', 'Url to an image to display.'],
|
||||||
|
\ 'markup' : [ ' ', 'Indicate markup of this component. Possible value is "none". But this can be overridden in the theme.'],
|
||||||
|
\ 'tabIndex' : [ ' ', ''],
|
||||||
|
\ 'converter' : [ ' ', 'An expression that specifies the Converter for this component. If the value binding expression is a String, the String is used as an ID to look up a Converter. If the value binding expression is a Converter, uses that instance as the converter. The value can either be a static value (ID case only) or an EL expression.'],
|
||||||
|
\ 'validator' : [ ' ', 'A method binding EL expression, accepting FacesContext, UIComponent, and Object parameters, and returning void, that validates the component"s local value.'],
|
||||||
|
\ 'src' : [ ' ', 'URI to object source'],
|
||||||
|
\ 'width' : [ ' ', 'The width for this component. This value is used in the gridLayouts columns attribute. See gridLayout tag for valid values.'],
|
||||||
|
\ 'height' : [ ' ', 'The height for this component.'],
|
||||||
|
\ 'modal' : [ ' ', ''],
|
||||||
|
\ 'left' : [ ' ', ''],
|
||||||
|
\ 'top' : [ ' ', ''],
|
||||||
|
\ 'columns' : [ ' ', 'LayoutConstraints for column layout. Semicolon separated list of layout tokens ("<x>*", "<x>px" or "<x>%").'],
|
||||||
|
\ 'pagingLength' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Please use "rows" instead. The number of rows to display, starting with the one identified by the "pageingStart" property.'],
|
||||||
|
\ 'showPageRange' : [ ' ', 'Flag indicating whether and where the range pages should rendered in the sheet"s footer. Rendering this range also offers the capability to enter the index displayed page directly.<br /> Valid values are <strong>left</strong>, <strong>center</strong>, <strong>right</strong> and <strong>none</strong>. The <strong>default</strong> is <code>none</code>.'],
|
||||||
|
\ 'directLinkCount' : [ ' ', 'The count of rendered direct paging links in the sheet"s footer.<br /> The <strong>default</strong> is 9.'],
|
||||||
|
\ 'rows' : [ ' ', 'The number of rows to display, starting with the one identified by the "pageingStart/first" property.'],
|
||||||
|
\ 'showDirectLinks' : [ ' ', 'Flag indicating whether or not a range of direct paging links should be rendered in the sheet"s footer.<br /> Valid values are <strong>left</strong>, <strong>center</strong>, <strong>right</strong> and <strong>none</strong>. The <strong>default</strong> is <code>none</code>.'],
|
||||||
|
\ 'sortActionListener' : [ ' ', 'Method binding representing an actionListener method that will be invoked when sorting was requested by the user. Use this if your application needs special handling for sorting columns. If this is not set and the sortable attribute column is set to true the sheet implementation will use a default sort method. The expression must evaluate to a public method which takes an ActionEvent as parameter and with a return type of void. The method will receive a {@link org.apache.myfaces.tobago.event.SortActionEvent}. The method should sort according to the sortColumnId and direction getting from the sheet"s {@link org.apache.myfaces.tobago.model.SheetState} object.'],
|
||||||
|
\ 'forceVerticalScrollbar' : [ ' ', 'Flag indicating whether or not this sheet should reserve space for vertical toolbar when calculating column width"s.<br /> Possible values are: <pre> "auto" : sheet try to estimate the need of scrollbar, this is the default. "true" : space for scroolbar is reserved. "false" : no space is reserved. </pre>'],
|
||||||
|
\ 'stateChangeListener' : [ ' ', 'Method binding representing a stateChangeListener method that will be notified when the state was changed by the user. The expression must evaluate to a public method that takes a SheetStateChangeEvent parameter, with a return type of void.'],
|
||||||
|
\ 'pagingStart' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Please use "first" instead. Zero-relative row number of the first row to be displayed.'],
|
||||||
|
\ 'showHeader' : [ ' ', 'Flag indicating the header should be rendered.'],
|
||||||
|
\ 'first' : [ ' ', 'Zero-relative row number of the first row to be displayed.'],
|
||||||
|
\ 'showRowRange' : [ ' ', 'Flag indicating whether or not the range of displayed rows should rendered in the sheet"s footer. Rendering this range also offers the capability to enter the index of the start row directly. <br /> Valid values are <strong>left</strong>, <strong>center</strong>, <strong>right</strong> and <strong>none</strong>. The <strong>default</strong> is <code>none</code>.'],
|
||||||
|
\ 'onchange' : [ ' ', 'Clientside script function to add to this component"s onchange handler.'],
|
||||||
|
\ 'valueChangeListener' : [ ' ', 'MethodBinding representing a value change listener method that will be notified when a new value has been set for this input component. The expression must evaluate to a public method that takes a ValueChangeEvent parameter, with a return type of void.'],
|
||||||
|
\ 'readonly' : [ ' ', 'Flag indicating that this component will prohibit changes by the user.'],
|
||||||
|
\ 'focus' : [ ' ', 'Flag indicating this component should recieve the focus.'],
|
||||||
|
\ 'scrollbars' : [ ' ', 'possible values are: "false" : no scrollbars should rendered "true" : scrollbars should always rendered "auto" : scrollbars should rendered when needed'],
|
||||||
|
\ 'spanY' : [ ' ', 'Count of layout row"s to span over.'],
|
||||||
|
\ 'spanX' : [ ' ', 'Count of layout column"s to span over.'],
|
||||||
|
\ 'showDetail' : [ ' ', 'Flag indicating whether the detail should be included The default is "false".'],
|
||||||
|
\ 'showSummary' : [ ' ', 'Flag indicating whether the summary should be included The default is "true".'],
|
||||||
|
\ 'frequency' : [ ' ', 'Time in milliseconds after which the parent component is automaticaly reloaded.'],
|
||||||
|
\ 'update' : [ ' ', 'Is update required.'],
|
||||||
|
\ 'renderRange' : [ ' ', 'Range of items to render.'],
|
||||||
|
\ 'iconSize' : [ ' ', 'Size of button images, possible values are: small, big, off.'],
|
||||||
|
\ 'orientation' : [ ' ', 'Orientation of toolbar'],
|
||||||
|
\ 'labelPosition' : [ ' ', 'Position of the button label, possible values are: right, bottom, off. If toolbar is facet of box: bottom is changed to right!'],
|
||||||
|
\ 'event' : [ ' ', ''],
|
||||||
|
\ 'escape' : [ ' ', 'Flag indicating that characters that are sensitive in HTML and XML markup must be escaped. This flag is set to "true" by default.'],
|
||||||
|
\ 'itemLabel' : [ ' ', 'Label to be displayed to the user for this option.'],
|
||||||
|
\ 'itemValue' : [ ' ', 'Value to be returned to the server if this option is selected by the user.'],
|
||||||
|
\ 'itemImage' : [ ' ', 'Image to be displayed to the user for this option.'],
|
||||||
|
\ 'itemDisabled' : [ ' ', 'Flag indicating whether the option created by this component is disabled.'],
|
||||||
|
\ 'itemDescription' : [ ' ', 'Flag indicating whether the option created by this component is disabled.'],
|
||||||
|
\ 'password' : [ ' ', 'Flag indicating whether or not this component should be rendered as password field , so you will not see the typed charakters.'],
|
||||||
|
\ 'suggestMethod' : [ ' ', 'MethodBinding which generates a list of suggested input values based on a passed prefix -- the currently entered text. The expression has to evaluate to a public method which has a String parameter and a List<String> as return type.'],
|
||||||
|
\ 'showJunctions' : [ ' ', ''],
|
||||||
|
\ 'disabledReference' : [ ' ', 'Bean property reference to fetch the disabled state for the treeNode"s.<br /> Example:<br /> a disabledReference="userObject.disabled" try"s to invoke <code><UITreeNode>.getUserObject().getDisabled()</code> to fetch the state.'],
|
||||||
|
\ 'showIcons' : [ ' ', ''],
|
||||||
|
\ 'showRoot' : [ ' ', ''],
|
||||||
|
\ 'mutable' : [ ' ', ''],
|
||||||
|
\ 'showRootJunction' : [ ' ', ''],
|
||||||
|
\ 'mode' : [ ' ', 'Display option: Normal tree or menu.'],
|
||||||
|
\ 'defaultCommand' : [ ' ', 'If true the command is excuted as default -- for example if the user presses the enter key inside a related input field.'],
|
||||||
|
\ 'showNavigationBar' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Flag indicating that the Tab Navigationbar is rendered.'],
|
||||||
|
\ 'selectedIndex' : [ ' ', '<strong>ValueBindingExpression</strong> pointing to a Integer to save the component"s selected Tab.'],
|
||||||
|
\ 'serverside' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>Deprecated! Use "switchType" instead. Flag indicating that tab switching is done by server request.'],
|
||||||
|
\ 'switchType' : [ ' ', 'Flag indicating how tab switching should be done. <p/> Possible values are: "client" : Tab switching id done on client, no server Request. This is default. "reloadPage" : Tab switching id done by server request. Full page is reloaded. "reloadTab" : Tab switching id done by server request. Only the Tab is reloaded.'],
|
||||||
|
\ 'border' : [ ' ', 'Border size of this component.'],
|
||||||
|
\ 'alt' : [ ' ', 'Alternate textual description of the image rendered by this component.'],
|
||||||
|
\ 'cellspacing' : [ ' ', 'Spacing between component and layout cell"s'],
|
||||||
|
\ 'margin' : [ ' ', 'Margin between container component and layouted children.'],
|
||||||
|
\ 'marginRight' : [ ' ', 'Right margin between container component and layouted children.'],
|
||||||
|
\ 'marginBottom' : [ ' ', 'Bottom margin between container component and layouted children.'],
|
||||||
|
\ 'marginTop' : [ ' ', 'Top margin between container component and layouted children.'],
|
||||||
|
\ 'marginLeft' : [ ' ', 'Left margin between container component and layouted children.'],
|
||||||
|
\ 'maxNumber' : [ ' ', 'Sets the maximum number of messages to show. The default is 2147483647 (more or less unlimited).'],
|
||||||
|
\ 'orderBy' : [ ' ', 'Sets the order of the messages. The default "occurence".'],
|
||||||
|
\ 'minSeverity' : [ ' ', 'Sets the mininum severity to be shown. E. g. "warn" shows only "warn", "error" and "fatal". The default is "info".'],
|
||||||
|
\ 'maxSeverity' : [ ' ', 'Sets the maximum severity to be shown. E. g. "warn" shows only "warn" and "info". When setting this attribute you usually shoud take care, that you have a second message tag to show the higher severity levels. The default is "fatal".'],
|
||||||
|
\ 'globalOnly' : [ ' ', 'Flag indicating that only messages that are not associated to any particular UIComponent should be displayed. That are messages without clientId. The default is "false".'],
|
||||||
|
\ 'focusId' : [ ' ', 'Contains the id of the component wich should have the focus after loading the page. Set to emtpy string for disabling setting of focus. Default (null) enables the "auto focus" feature.'],
|
||||||
|
\ 'applicationIcon' : [ ' ', 'Absolute URL to an image or image name to lookup in tobago resource path representing the application. In HTML it is used as a favicon.'],
|
||||||
|
\ 'doctype' : [ ' ', 'Possible values for doctype are: <dl> <dt>strict</dt><dd>HTML 4.01 Strict DTD</dd> <dt>loose</dt><dd>HTML 4.01 Transitional DTD</dd> <dt>frameset</dt><dd>HTML 4.01 Frameset DTD</dd> </dl> All other values are ignored and no DOCTYPE is set. The default value is "loose".'],
|
||||||
|
\ 'align' : [ ' ', 'Alignment of this column.'],
|
||||||
|
\ 'sortable' : [ ' ', 'Flag indicating whether or not this column is sortable. To make a column sortable the data of the sheet must be one of <code>java.util.List</code> or <code>Object[]</code>.']
|
||||||
|
\ },
|
||||||
|
\}
|
109
dot.vim/autoload/xml/tx.vim
Normal file
109
dot.vim/autoload/xml/tx.vim
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
let g:xmldata_tx= {
|
||||||
|
\ 'menuRadio': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'disabled' : [],'value' : [],'converter' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'separator': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'binding' : [],'rendered' : [],'label' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'label': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'tip' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'date': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'valueChangeListener' : [],'validator' : [],'id' : [],'binding' : [],'rendered' : [],'converter' : [],'readonly' : [],'disabled' : [],'onchange' : [],'required' : [],'tip' : [],'label' : [],'markup' : [],'labelWidth' : [],'focus' : [],'inline' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'textarea': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'valueChangeListener' : [],'id' : [],'binding' : [],'rendered' : [],'converter' : [],'validator' : [],'readonly' : [],'disabled' : [],'markup' : [],'required' : [],'tip' : [],'label' : [],'labelWidth' : [],'focus' : [],'onchange' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectManyListbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'value' : [],'valueChangeListener' : [],'disabled' : [],'height' : [],'inline' : [],'label' : [],'labelWidth' : [],'rendered' : [],'binding' : [],'tip' : [],'converter' : [],'validator' : [],'onchange' : [],'readonly' : [],'markup' : [],'focus' : [],'required' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectBooleanCheckbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'valueChangeListener' : [],'id' : [],'binding' : [],'rendered' : [],'label' : [],'value' : [],'labelWidth' : [],'disabled' : [],'tip' : [],'readonly' : [],'markup' : [],'tabIndex' : [],'focus' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectOneListbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'value' : [],'valueChangeListener' : [],'disabled' : [],'label' : [],'labelWidth' : [],'readonly' : [],'onchange' : [],'rendered' : [],'markup' : [],'binding' : [],'height' : [],'focus' : [],'tip' : [],'required' : [],'converter' : [],'validator' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'in': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'valueChangeListener' : [],'validator' : [],'id' : [],'binding' : [],'rendered' : [],'converter' : [],'readonly' : [],'disabled' : [],'onchange' : [],'markup' : [],'required' : [],'tip' : [],'label' : [],'labelWidth' : [],'password' : [],'focus' : [],'suggestMethod' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'time': [
|
||||||
|
\ [],
|
||||||
|
\ { 'value' : [],'valueChangeListener' : [],'validator' : [],'id' : [],'binding' : [],'rendered' : [],'converter' : [],'readonly' : [],'disabled' : [],'onchange' : [],'required' : [],'tip' : [],'label' : [],'labelWidth' : [],'focus' : [],'inline' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectOneRadio': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'value' : [],'valueChangeListener' : [],'disabled' : [],'markup' : [],'readonly' : [],'onchange' : [],'inline' : [],'label' : [],'labelWidth' : [],'required' : [],'rendered' : [],'binding' : [],'tip' : [],'validator' : [],'converter' : [],'renderRange' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectManyCheckbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'value' : [],'valueChangeListener' : [],'disabled' : [],'height' : [],'inline' : [],'label' : [],'labelWidth' : [],'rendered' : [],'binding' : [],'tip' : [],'converter' : [],'validator' : [],'onchange' : [],'readonly' : [],'markup' : [],'focus' : [],'required' : [],'tabIndex' : [],'renderRange' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'menuCheckbox': [
|
||||||
|
\ [],
|
||||||
|
\ { 'action' : [],'actionListener' : [],'immediate' : [],'onclick' : [],'link' : [],'transition' : [],'id' : [],'binding' : [],'rendered' : [],'disabled' : [],'value' : [],'label' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'file': [
|
||||||
|
\ [],
|
||||||
|
\ { 'validator' : [],'onchange' : [],'value' : [],'valueChangeListener' : [],'tabIndex' : [],'id' : [],'binding' : [],'rendered' : [],'disabled' : [],'tip' : [],'label' : [],'labelWidth' : [],'required' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'selectOneChoice': [
|
||||||
|
\ [],
|
||||||
|
\ { 'id' : [],'value' : [],'valueChangeListener' : [],'disabled' : [],'readonly' : [],'onchange' : [],'inline' : [],'label' : [],'labelWidth' : [],'required' : [],'rendered' : [],'focus' : [],'binding' : [],'tip' : [],'validator' : [],'converter' : [],'markup' : [],'tabIndex' : []}
|
||||||
|
\ ],
|
||||||
|
\ 'vimxmltaginfo': {
|
||||||
|
\ 'menuRadio' : [ ' ', 'Renders a submenu with select one items (like a radio button).<p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.MenuRadioTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOneCommand</p><p><b>RendererType: </b>MenuCommand</p>'],
|
||||||
|
\ 'separator' : [ ' ', 'Renders a separator. <br /> Short syntax of: <p/> <pre> <tc:separator> <f:facet name="label"> <tc:label value="label"/> </f:facet> </tc:separator> </pre><p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.SeparatorTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISeparator</p><p><b>RendererType: </b>Separator</p><p><b>Supported facets:</b></p><dl><dt><b>label</b></dt><dd>This facet contains a UILabel</dd></dl>'],
|
||||||
|
\ 'label' : [ ' ', '<p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.LabelTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UILabel</p><p><b>RendererType: </b>Label</p>'],
|
||||||
|
\ 'date' : [ ' ', 'Renders a date input field with a date picker and a label. <br /> Short syntax of: <p/> <pre> <tc:panel> <f:facet name="layout"> <tc:gridLayout columns="fixed;*"/> </f:facet> <tc:label value="#{label}" for="@auto"/> <tc:date value="#{value}"> ... </tc:in> </tc:panel> </pre><p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.DateTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIDateInput</p><p><b>RendererType: </b>Date</p>'],
|
||||||
|
\ 'textarea' : [ ' ', 'Renders a multiline text input control with a label. <br /> Short syntax of: <p/> <pre> <tc:panel> <f:facet name="layout"> <tc:gridLayout columns="fixed;*"/> </f:facet> <tc:label value="#{label}" for="@auto"/> <tc:textarea value="#{value}"> ... </tc:in> </tc:panel> </pre><p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.TextAreaTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIInput</p><p><b>RendererType: </b>TextArea</p>'],
|
||||||
|
\ 'selectManyListbox' : [ ' ', 'Render a group of checkboxes.<p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.SelectManyListboxTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectMany</p><p><b>RendererType: </b>SelectManyListbox</p>'],
|
||||||
|
\ 'selectBooleanCheckbox' : [ ' ', 'Renders a checkbox.<p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.SelectBooleanCheckboxTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectBoolean</p><p><b>RendererType: </b>SelectBooleanCheckbox</p><p><b>Supported facets:</b></p><dl><dt><b>click</b></dt><dd>This facet can contain a UICommand that is invoked in case of a click event from the component</dd><dt><b>change</b></dt><dd>This facet can contain a UICommand that is invoked in case of a change event from the component</dd></dl>'],
|
||||||
|
\ 'selectOneListbox' : [ ' ', 'Render a single selection option listbox.<p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.SelectOneListboxTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOne</p><p><b>RendererType: </b>SelectOneListbox</p><p><b>Supported facets:</b></p><dl><dt><b>click</b></dt><dd>This facet can contain a UICommand that is invoked in case of a click event from the component</dd><dt><b>change</b></dt><dd>This facet can contain a UICommand that is invoked in case of a change event from the component</dd></dl>'],
|
||||||
|
\ 'in' : [ ' ', 'Renders a text input field with a label. <br /> Short syntax of: <p/> <pre> <tc:panel> <f:facet name="layout"> <tc:gridLayout columns="fixed;*"/> </f:facet> <tc:label value="#{label}" for="@auto"/> <tc:in value="#{value}"> ... </tc:in> </tc:panel> </pre><p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.InTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIInput</p><p><b>RendererType: </b>In</p>'],
|
||||||
|
\ 'time' : [ ' ', 'Renders a time input field with a label. <br /> Short syntax of: <p/> <pre> <tc:panel> <f:facet name="layout"> <tc:gridLayout columns="fixed;*"/> </f:facet> <tc:label value="#{label}" for="@auto"/> <tc:time value="#{value}"> ... </tc:in> </tc:panel> </pre><p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.TimeTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UITimeInput</p><p><b>RendererType: </b>Time</p>'],
|
||||||
|
\ 'selectOneRadio' : [ ' ', 'Render a set of radiobuttons.<p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.SelectOneRadioTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOne</p><p><b>RendererType: </b>SelectOneRadio</p><p><b>Supported facets:</b></p><dl><dt><b>click</b></dt><dd>This facet can contain a UICommand that is invoked in case of a click event from the component</dd><dt><b>change</b></dt><dd>This facet can contain a UICommand that is invoked in case of a change event from the component</dd></dl>'],
|
||||||
|
\ 'selectManyCheckbox' : [ ' ', 'Render a group of checkboxes.<p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.SelectManyCheckboxTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectMany</p><p><b>RendererType: </b>SelectManyCheckbox</p>'],
|
||||||
|
\ 'menuCheckbox' : [ ' ', 'Renders a checkable menuitem.<p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.MenuCheckboxTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectBooleanCommand</p><p><b>RendererType: </b>MenuCommand</p>'],
|
||||||
|
\ 'file' : [ ' ', 'Renders a file input field with a label. <p/> Short syntax of: <p/> <pre> <tc:panel> <f:facet name="layout"> <tc:gridLayout columns="fixed;*"/> </f:facet> <tc:label value="#{label}" for="@auto"/> <tc:file value="#{value}"> ... </tc:in> </tc:panel> </pre><p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.FileTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UIFileInput</p><p><b>RendererType: </b>File</p>'],
|
||||||
|
\ 'selectOneChoice' : [ ' ', 'Render a single selection dropdown list with a label.<p><b>Extended tag: </b>org.apache.myfaces.tobago.taglib.component.SelectOneChoiceTag</p><p><b>UIComponentClass: </b>org.apache.myfaces.tobago.component.UISelectOne</p><p><b>RendererType: </b>SelectOneChoice</p><p><b>Supported facets:</b></p><dl><dt><b>click</b></dt><dd>This facet can contain a UICommand that is invoked in case of a click event from the component</dd><dt><b>change</b></dt><dd>This facet can contain a UICommand that is invoked in case of a change event from the component</dd></dl>']
|
||||||
|
\ },
|
||||||
|
\ 'vimxmlattrinfo': {
|
||||||
|
\ 'action' : [ ' ', 'Action to invoke when clicked. This must be a MethodBinding or a String representing the application action to invoke when this component is activated by the user. The MethodBinding must evaluate to a public method that takes no parameters, and returns a String (the logical outcome) which is passed to the NavigationHandler for this application. The String is directly passed to the Navigationhandler.'],
|
||||||
|
\ 'actionListener' : [ ' ', 'MethodBinding representing an action listener method that will be notified when this component is activated by the user. The expression must evaluate to a public method that takes an ActionEvent parameter, with a return type of void.'],
|
||||||
|
\ 'immediate' : [ ' ', 'Flag indicating that, if this component is activated by the user, notifications should be delivered to interested listeners and actions immediately (that is, during Apply Request Values phase) rather than waiting until Invoke Application phase.'],
|
||||||
|
\ 'onclick' : [ ' ', 'Script to be invoked when clicked'],
|
||||||
|
\ 'link' : [ ' ', 'Link to an arbitrary URL'],
|
||||||
|
\ 'transition' : [ ' ', 'Specify, if the command calls an JSF-Action. Useful to switch off the Double-Submit-Check and Waiting-Behavior.'],
|
||||||
|
\ 'id' : [ ' ', 'The component identifier for this component. This value must be unique within the closest parent component that is a naming container.'],
|
||||||
|
\ 'binding' : [ ' ', 'The value binding expression linking this component to a property in a backing bean.'],
|
||||||
|
\ 'rendered' : [ ' ', 'Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit.'],
|
||||||
|
\ 'label' : [ ' ', 'Text value to display as label. If text contains an underscore the next character is used as accesskey.'],
|
||||||
|
\ 'disabled' : [ ' ', 'Flag indicating that this element is disabled.'],
|
||||||
|
\ 'value' : [ ' ', 'The current value of this component.'],
|
||||||
|
\ 'converter' : [ ' ', 'An expression that specifies the Converter for this component. If the value binding expression is a String, the String is used as an ID to look up a Converter. If the value binding expression is a Converter, uses that instance as the converter. The value can either be a static value (ID case only) or an EL expression.'],
|
||||||
|
\ 'tip' : [ ' ', 'Text value to display as tooltip.'],
|
||||||
|
\ 'valueChangeListener' : [ ' ', 'MethodBinding representing a value change listener method that will be notified when a new value has been set for this input component. The expression must evaluate to a public method that takes a ValueChangeEvent parameter, with a return type of void.'],
|
||||||
|
\ 'validator' : [ ' ', 'A method binding EL expression, accepting FacesContext, UIComponent, and Object parameters, and returning void, that validates the component"s local value.'],
|
||||||
|
\ 'readonly' : [ ' ', 'Flag indicating that this component will prohibit changes by the user.'],
|
||||||
|
\ 'onchange' : [ ' ', 'Clientside script function to add to this component"s onchange handler.'],
|
||||||
|
\ 'required' : [ ' ', 'Flag indicating that a value is required. If the value is an empty string a ValidationError occurs and a Error Message is rendered.'],
|
||||||
|
\ 'markup' : [ ' ', 'Indicate markup of this component. Possible value is "none". But this can be overridden in the theme.'],
|
||||||
|
\ 'labelWidth' : [ ' ', 'The width for the label component. Default: "fixed". This value is used in the gridLayouts columns attribute. See gridLayout tag for valid values.'],
|
||||||
|
\ 'focus' : [ ' ', 'Flag indicating this component should recieve the focus.'],
|
||||||
|
\ 'inline' : [ ' ', 'Flag indicating this component should rendered as an inline element.'],
|
||||||
|
\ 'tabIndex' : [ ' ', ''],
|
||||||
|
\ 'height' : [ ' ', '<p>**** @deprecated. Will be removed in a future version **** </p>The height for this component.'],
|
||||||
|
\ 'password' : [ ' ', 'Flag indicating whether or not this component should be rendered as password field , so you will not see the typed charakters.'],
|
||||||
|
\ 'suggestMethod' : [ ' ', 'MethodBinding which generates a list of suggested input values based on a passed prefix -- the currently entered text. The expression has to evaluate to a public method which has a String parameter and a List<String> as return type.'],
|
||||||
|
\ 'renderRange' : [ ' ', 'Range of items to render.']
|
||||||
|
\ },
|
||||||
|
\}
|
2058
dot.vim/autoload/zencoding.vim
Normal file
2058
dot.vim/autoload/zencoding.vim
Normal file
File diff suppressed because it is too large
Load diff
1
dot.vim/bundle/vim-coffee-script
Submodule
1
dot.vim/bundle/vim-coffee-script
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 7d2042aecacca773c57bf3827d2f9a27ad3a348b
|
90
dot.vim/colors/deveiate.vim
Normal file
90
dot.vim/colors/deveiate.vim
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
"
|
||||||
|
" Vim color theme: DevEiate
|
||||||
|
"
|
||||||
|
" Gvim color definition file, based loosely on Michael Granger's
|
||||||
|
" eye-pleasing theme for Textmate of the same name.
|
||||||
|
" Mahlon E. Smith <mahlon@martini.nu>
|
||||||
|
" Michael Granger <ged@faeriemud.org>
|
||||||
|
"
|
||||||
|
" Drop this into your ~/.vim/colors directory, then load it via
|
||||||
|
" :colorscheme deveiate
|
||||||
|
"
|
||||||
|
" $Id: deveiate.vim 66 2008-06-30 02:28:56Z mahlon $
|
||||||
|
|
||||||
|
|
||||||
|
" ----------------------------------------
|
||||||
|
" Color definition reference
|
||||||
|
" ----------------------------------------
|
||||||
|
" :help group-name
|
||||||
|
" :help highlight-groups
|
||||||
|
" :help cterm-colors
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
highlight clear
|
||||||
|
let g:colors_name="deveiate"
|
||||||
|
|
||||||
|
" ----------------------------------------
|
||||||
|
" highlight groups
|
||||||
|
" ----------------------------------------
|
||||||
|
highlight Normal guifg=#f6dfb2 guibg=#00000f
|
||||||
|
highlight LineNr guifg=#333333
|
||||||
|
highlight Cursor guibg=yellow guifg=NONE
|
||||||
|
highlight CursorLine guibg=#171520
|
||||||
|
highlight Search guibg=#001632 guifg=NONE
|
||||||
|
highlight Visual guibg=#001632 guifg=NONE
|
||||||
|
highlight VisualNOS guibg=#001632 guifg=NONE
|
||||||
|
highlight Question guifg=yellow
|
||||||
|
highlight StatusLine guibg=#d4d2cb guifg=#292087
|
||||||
|
highlight StatusLineNC guibg=#8372be guifg=#22115c
|
||||||
|
highlight TabLine guibg=black guifg=#333333
|
||||||
|
highlight TabLineSel guibg=#333333 guifg=#f8f8f8
|
||||||
|
highlight TabLineFill guifg=black
|
||||||
|
highlight WildMenu guifg=yellow guibg=#22115c
|
||||||
|
highlight Pmenu guibg=black guifg=#da8d53
|
||||||
|
highlight PmenuSel guibg=black guifg=#76a3d7
|
||||||
|
highlight PmenuSbar guibg=black
|
||||||
|
highlight PmenuThumb guibg=black guifg=#333333
|
||||||
|
highlight Folded guifg=#8b98ab guibg=black
|
||||||
|
highlight FoldColumn guifg=#8b98ab guibg=black
|
||||||
|
highlight VertSplit guifg=black guibg=#333333
|
||||||
|
highlight DiffAdd guifg=#f8f8f8 guibg=#253b22
|
||||||
|
highlight DiffChange guifg=#f8f8f8 guibg=#4a410d
|
||||||
|
highlight DiffDelete guifg=#f8f8f8 guibg=#420e09
|
||||||
|
highlight DiffText guifg=white guibg=#7d6f20
|
||||||
|
highlight NonText guifg=#222222
|
||||||
|
|
||||||
|
" ----------------------------------------
|
||||||
|
" syntax highlighting groups
|
||||||
|
" ----------------------------------------
|
||||||
|
highlight Comment guifg=#a82419
|
||||||
|
highlight Constant guifg=#76a3d7
|
||||||
|
highlight Function guifg=#9b859d
|
||||||
|
highlight String guifg=#da8d53
|
||||||
|
highlight Special guifg=#da8d53
|
||||||
|
highlight PreProc gui=bold guifg=#00cbcd
|
||||||
|
highlight Identifier guifg=#9bda8b
|
||||||
|
highlight Number guifg=#9bda8b
|
||||||
|
highlight Float guifg=#9bda8b
|
||||||
|
highlight Statement guifg=#00cbcd
|
||||||
|
highlight todo guibg=NONE guifg=yellow
|
||||||
|
highlight MatchParen guifg=yellow guibg=NONE
|
||||||
|
|
||||||
|
|
||||||
|
" ----------------------------------------
|
||||||
|
" ruby specific syntax highlighting
|
||||||
|
" ----------------------------------------
|
||||||
|
highlight rubyConstant guifg=#76a3d7
|
||||||
|
highlight rubyInstanceVariable guifg=#c2eaf4
|
||||||
|
highlight rubyClassVariable guifg=#c2eaf4
|
||||||
|
highlight rubySymbol guifg=#9bda8b
|
||||||
|
highlight rubyEscape guifg=#ddf2a4
|
||||||
|
highlight rubyInterpolation guifg=#ddf2a4
|
||||||
|
highlight rubyClass guifg=#c3adc5
|
||||||
|
highlight rubyPseudoVariable guifg=#9bda8b
|
||||||
|
highlight rubyOperator guifg=#00cbcd
|
||||||
|
|
||||||
|
" ----------------------------------------
|
||||||
|
" other misc colors
|
||||||
|
" ----------------------------------------
|
||||||
|
highlight MyTagListFileName guifg=yellow guibg=NONE
|
||||||
|
|
110
dot.vim/colors/focuspoint.vim
Normal file
110
dot.vim/colors/focuspoint.vim
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
" Vim color file inherit from the molokai.vim file
|
||||||
|
"
|
||||||
|
" Author: Chase Colman <chase@infinityatlas.com>
|
||||||
|
" Version: 0.1 (2011.02.06)
|
||||||
|
"
|
||||||
|
" Note: Based on the molokai theme for vim
|
||||||
|
" by Tomas Restrepo who based it on Monokai for Textmate
|
||||||
|
" by Wimer Hazenberg and its darker variant
|
||||||
|
" by Hamish Stuart Macpherson
|
||||||
|
"
|
||||||
|
|
||||||
|
hi clear
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
if version > 580
|
||||||
|
" no guarantees for version 5.8 and below, but this makes it stop
|
||||||
|
" complaining
|
||||||
|
hi clear
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let g:colors_name="focuspoint"
|
||||||
|
|
||||||
|
hi Boolean guifg=#CD5C5C
|
||||||
|
hi Character guifg=#E6DB74
|
||||||
|
hi Number guifg=#CD5C5C
|
||||||
|
hi String guifg=#E6DB74 guibg=#242829
|
||||||
|
hi Conditional guifg=#43AB59 gui=bold
|
||||||
|
hi Constant guifg=#CD5C5C gui=bold
|
||||||
|
hi Cursor guifg=#000000 guibg=#F8F8F0
|
||||||
|
hi Debug guifg=#BCA3A3 gui=bold
|
||||||
|
hi Define guifg=#71ABC2
|
||||||
|
hi Delimiter guifg=#8F8F8F
|
||||||
|
hi DiffAdd guibg=#13354A
|
||||||
|
hi DiffChange guifg=#89807D guibg=#4C4745
|
||||||
|
hi DiffDelete guifg=#CD5C5C guibg=#571F1F
|
||||||
|
hi DiffText guibg=#4C4745 gui=italic,bold
|
||||||
|
|
||||||
|
hi Directory guifg=#d1c79e gui=bold
|
||||||
|
hi Error guifg=#CD5C5C guibg=#571F1F
|
||||||
|
hi ErrorMsg guifg=#43AB59 guibg=#232526 gui=bold
|
||||||
|
hi Exception guifg=#d1c79e gui=bold
|
||||||
|
hi Float guifg=#CD5C5C
|
||||||
|
hi FoldColumn guifg=#465457 guibg=#000000
|
||||||
|
hi Folded guifg=#465457 guibg=#000000
|
||||||
|
hi Function guifg=#d1c79e
|
||||||
|
hi Identifier guifg=#BD8F2E
|
||||||
|
hi Ignore guifg=#808080 guibg=bg
|
||||||
|
hi IncSearch guifg=#C4BE89 guibg=#000000
|
||||||
|
|
||||||
|
hi Keyword guifg=#43AB59 gui=bold
|
||||||
|
hi Label guifg=#E6DB74 gui=none
|
||||||
|
hi Macro guifg=#C4BE89 gui=italic
|
||||||
|
hi SpecialKey guifg=#71ABC2 gui=italic
|
||||||
|
|
||||||
|
hi MatchParen guifg=fg guibg=#455354 gui=bold
|
||||||
|
hi ModeMsg guifg=#E6DB74
|
||||||
|
hi MoreMsg guifg=#E6DB74
|
||||||
|
hi Operator guifg=#43AB59
|
||||||
|
|
||||||
|
" complete menu
|
||||||
|
hi Pmenu guifg=#87CEEB guibg=#000000
|
||||||
|
hi PmenuSel guibg=#808080
|
||||||
|
hi PmenuSbar guibg=#080808
|
||||||
|
hi PmenuThumb guifg=#87CEEB
|
||||||
|
|
||||||
|
hi PreCondit guifg=#d1c79e gui=bold
|
||||||
|
hi PreProc guifg=#d1c79e
|
||||||
|
hi Question guifg=#71ABC2
|
||||||
|
hi Repeat guifg=#43AB59 gui=bold
|
||||||
|
hi Search guifg=#FFFFFF guibg=#455354
|
||||||
|
" marks column
|
||||||
|
hi SignColumn guifg=#d1c79e guibg=#232526
|
||||||
|
hi SpecialChar guifg=#43AB59 guibg=#242829 gui=bold
|
||||||
|
hi SpecialComment guifg=#465457 gui=bold
|
||||||
|
hi Special guifg=#71ABC2 guibg=bg gui=italic
|
||||||
|
hi SpecialKey guifg=#888A85 gui=italic
|
||||||
|
if has("spell")
|
||||||
|
hi SpellBad guisp=#FF0000 gui=undercurl
|
||||||
|
hi SpellCap guisp=#7070F0 gui=undercurl
|
||||||
|
hi SpellLocal guisp=#70F0F0 gui=undercurl
|
||||||
|
hi SpellRare guisp=#FFFFFF gui=undercurl
|
||||||
|
endif
|
||||||
|
hi Statement guifg=#43AB59 gui=bold
|
||||||
|
hi StatusLine guifg=#455354 guibg=fg
|
||||||
|
hi StatusLineNC guifg=#7F7F7F guibg=#232526
|
||||||
|
hi StorageClass guifg=#BD8F2E gui=italic
|
||||||
|
hi Structure guifg=#71ABC2
|
||||||
|
hi Tag guifg=#43AB59 gui=italic
|
||||||
|
hi Title guifg=#ef5939
|
||||||
|
hi Todo guifg=bg guibg=#71ABC2 gui=underline,bold
|
||||||
|
|
||||||
|
hi Typedef guifg=#71ABC2
|
||||||
|
hi Type guifg=#71ABC2 gui=bold
|
||||||
|
hi Underlined guifg=#808080 gui=underline
|
||||||
|
|
||||||
|
hi VertSplit guifg=#080808 guibg=#080808 gui=bold
|
||||||
|
hi VisualNOS guibg=#403D3D
|
||||||
|
hi Visual guibg=#403D3D
|
||||||
|
hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold
|
||||||
|
hi WildMenu guifg=#71ABC2 guibg=#000000
|
||||||
|
|
||||||
|
hi Normal guifg=#F8F8F2 guibg=#1B1D1E
|
||||||
|
hi Comment guifg=#465457
|
||||||
|
hi CursorLine guibg=#293739
|
||||||
|
hi CursorColumn guibg=#293739
|
||||||
|
hi LineNr guifg=#7F7F7F guibg=#232526
|
||||||
|
hi NonText guifg=#232526 guibg=#232526
|
||||||
|
|
147
dot.vim/colors/fruity.vim
Normal file
147
dot.vim/colors/fruity.vim
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
"
|
||||||
|
" Fruity Color Scheme
|
||||||
|
" ===================
|
||||||
|
"
|
||||||
|
" Author: Armin Ronacher <armin.ronacher@active-4.com>
|
||||||
|
" Version: 0.2
|
||||||
|
"
|
||||||
|
set background=dark
|
||||||
|
|
||||||
|
hi clear
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
|
||||||
|
let colors_name = "fruity"
|
||||||
|
|
||||||
|
" Default Colors
|
||||||
|
hi Normal guifg=#ffffff guibg=#111111
|
||||||
|
hi NonText guifg=#444444 guibg=#000000
|
||||||
|
hi Cursor guibg=#aaaaaa
|
||||||
|
hi lCursor guibg=#aaaaaa
|
||||||
|
|
||||||
|
" Search
|
||||||
|
hi Search guifg=#800000 guibg=#ffae00
|
||||||
|
hi IncSearch guifg=#800000 guibg=#ffae00
|
||||||
|
|
||||||
|
" Window Elements
|
||||||
|
hi StatusLine guifg=#ffffff guibg=#8090a0 gui=bold
|
||||||
|
hi StatusLineNC guifg=#506070 guibg=#a0b0c0
|
||||||
|
hi VertSplit guifg=#a0b0c0 guibg=#a0b0c0
|
||||||
|
hi Folded guifg=#111111 guibg=#8090a0
|
||||||
|
hi IncSearch guifg=#708090 guibg=#f0e68c
|
||||||
|
hi Pmenu guifg=#ffffff guibg=#cb2f27
|
||||||
|
hi SignColumn guibg=#111111
|
||||||
|
hi CursorLine guibg=#181818
|
||||||
|
hi LineNr guifg=#aaaaaa guibg=#222222
|
||||||
|
|
||||||
|
" Specials
|
||||||
|
hi Todo guifg=#e50808 guibg=#520000 gui=bold
|
||||||
|
hi Title guifg=#ffffff gui=bold
|
||||||
|
hi Special guifg=#fd8900
|
||||||
|
|
||||||
|
" Syntax Elements
|
||||||
|
hi String guifg=#0086d2
|
||||||
|
hi Constant guifg=#0086d2
|
||||||
|
hi Number guifg=#0086f7 gui=bold
|
||||||
|
hi Statement guifg=#fb660a gui=bold
|
||||||
|
hi Function guifg=#ff0086 gui=bold
|
||||||
|
hi PreProc guifg=#ff0007 gui=bold
|
||||||
|
hi Comment guifg=#00d2ff guibg=#0f140f gui=italic
|
||||||
|
hi Type guifg=#cdcaa9 gui=bold
|
||||||
|
hi Error guifg=#ffffff guibg=#ab0000
|
||||||
|
hi Identifier guifg=#ff0086 gui=bold
|
||||||
|
hi Label guifg=#ff0086
|
||||||
|
|
||||||
|
" Python Highlighting for python.vim
|
||||||
|
hi pythonCoding guifg=#ff0086
|
||||||
|
hi pythonRun guifg=#ff0086
|
||||||
|
hi pythonBuiltinObj guifg=#2b6ba2 gui=bold
|
||||||
|
hi pythonBuiltinFunc guifg=#2b6ba2 gui=bold
|
||||||
|
hi pythonException guifg=#ee0000 gui=bold
|
||||||
|
hi pythonExClass guifg=#66cd66 gui=bold
|
||||||
|
hi pythonSpaceError guibg=#270000
|
||||||
|
hi pythonDocTest guifg=#2f5f49
|
||||||
|
hi pythonDocTest2 guifg=#3b916a
|
||||||
|
hi pythonFunction guifg=#ee0000 gui=bold
|
||||||
|
hi pythonClass guifg=#ff0086 gui=bold
|
||||||
|
|
||||||
|
" JavaScript Highlighting
|
||||||
|
hi javaScript guifg=#ffffff
|
||||||
|
hi javaScriptRegexpString guifg=#aa6600
|
||||||
|
hi javaScriptDocComment guifg=#aaaaaa
|
||||||
|
hi javaScriptCssStyles guifg=#dd7700
|
||||||
|
hi javaScriptDomElemFuncs guifg=#66cd66
|
||||||
|
hi javaScriptHtmlElemFuncs guifg=#dd7700
|
||||||
|
hi javaScriptLabel guifg=#00bdec gui=italic
|
||||||
|
hi javaScriptPrototype guifg=#00bdec
|
||||||
|
hi javaScriptConditional guifg=#ff0007 gui=bold
|
||||||
|
hi javaScriptRepeat guifg=#ff0007 gui=bold
|
||||||
|
hi javaScriptFunction guifg=#ff0086 gui=bold
|
||||||
|
|
||||||
|
" CSS Highlighting
|
||||||
|
hi cssIdentifier guifg=#66cd66 gui=bold
|
||||||
|
hi cssBraces guifg=#00bdec gui=bold
|
||||||
|
|
||||||
|
" Ruby Highlighting
|
||||||
|
hi rubyFunction guifg=#0066bb gui=bold
|
||||||
|
hi rubyClass guifg=#ff0086 gui=bold
|
||||||
|
hi rubyModule guifg=#ff0086 gui=bold,underline
|
||||||
|
hi rubyKeyword guifg=#008800 gui=bold
|
||||||
|
hi rubySymbol guifg=#aa6600
|
||||||
|
hi rubyIndentifier guifg=#008aff
|
||||||
|
hi rubyGlobalVariable guifg=#dd7700
|
||||||
|
hi rubyConstant guifg=#5894d2 gui=bold
|
||||||
|
hi rubyBlockParameter guifg=#66cd66
|
||||||
|
hi rubyPredefinedIdentifier guifg=#555555 gui=bold
|
||||||
|
hi rubyString guifg=#0086d2
|
||||||
|
hi rubyStringDelimiter guifg=#dd7700
|
||||||
|
hi rubySpaceError guibg=#270000
|
||||||
|
hi rubyDocumentation guifg=#aaaaaa
|
||||||
|
hi rubyData guifg=#555555
|
||||||
|
|
||||||
|
" XML Highlighting
|
||||||
|
hi xmlTag guifg=#00bdec
|
||||||
|
hi xmlTagName guifg=#00bdec
|
||||||
|
hi xmlEndTag guifg=#00bdec
|
||||||
|
hi xmlNamespace guifg=#00bdec gui=underline
|
||||||
|
hi xmlAttribPunct guifg=#cccaa9 gui=bold
|
||||||
|
hi xmlEqual guifg=#cccaa9 gui=bold
|
||||||
|
hi xmlCdata guifg=#bf0945 gui=bold
|
||||||
|
hi xmlCdataCdata guifg=#ac1446 guibg=#23010c gui=none
|
||||||
|
hi xmlCdataStart guifg=#bf0945 gui=bold
|
||||||
|
hi xmlCdataEnd guifg=#bf0945 gui=bold
|
||||||
|
|
||||||
|
" HTML Highlighting
|
||||||
|
hi htmlTag guifg=#00bdec gui=bold
|
||||||
|
hi htmlEndTag guifg=#00bdec gui=bold
|
||||||
|
hi htmlSpecialTagName guifg=#66cd66
|
||||||
|
hi htmlTagName guifg=#66cd66
|
||||||
|
hi htmlTagN guifg=#66cd66
|
||||||
|
hi htmlEvent guifg=#ffffff
|
||||||
|
|
||||||
|
" Django Highlighting
|
||||||
|
hi djangoTagBlock guifg=#ff0007 guibg=#200000 gui=bold
|
||||||
|
hi djangoVarBlock guifg=#ff0007 guibg=#200000
|
||||||
|
hi djangoArgument guifg=#0086d2 guibg=#200000
|
||||||
|
hi djangoStatement guifg=#fb660a guibg=#200000 gui=bold
|
||||||
|
hi djangoComment guifg=#008800 guibg=#002300 gui=italic
|
||||||
|
hi djangoFilter guifg=#ff0086 guibg=#200000 gui=italic
|
||||||
|
|
||||||
|
" Jinja Highlighting
|
||||||
|
hi jinjaTagBlock guifg=#ff0007 guibg=#200000 gui=bold
|
||||||
|
hi jinjaVarBlock guifg=#ff0007 guibg=#200000
|
||||||
|
hi jinjaString guifg=#0086d2 guibg=#200000
|
||||||
|
hi jinjaNumber guifg=#bf0945 guibg=#200000 gui=bold
|
||||||
|
hi jinjaStatement guifg=#fb660a guibg=#200000 gui=bold
|
||||||
|
hi jinjaComment guifg=#008800 guibg=#002300 gui=italic
|
||||||
|
hi jinjaFilter guifg=#ff0086 guibg=#200000
|
||||||
|
hi jinjaRaw guifg=#aaaaaa guibg=#200000
|
||||||
|
hi jinjaOperator guifg=#ffffff guibg=#200000
|
||||||
|
hi jinjaVariable guifg=#92cd35 guibg=#200000
|
||||||
|
hi jinjaAttribute guifg=#dd7700 guibg=#200000
|
||||||
|
hi jinjaSpecial guifg=#008ffd guibg=#200000
|
||||||
|
|
||||||
|
" ERuby Highlighting (for my eruby.vim)
|
||||||
|
hi erubyRubyDelim guifg=#2c8a16 gui=bold
|
||||||
|
hi erubyComment guifg=#4d9b3a gui=italic
|
271
dot.vim/colors/gardener.vim
Normal file
271
dot.vim/colors/gardener.vim
Normal file
|
@ -0,0 +1,271 @@
|
||||||
|
" Vim color file
|
||||||
|
" Original Maintainer: Anders Korte <anderskorte@eml.cc>
|
||||||
|
|
||||||
|
" Modified: by entheon <jazzworksweb@yahoo.com>
|
||||||
|
" Last Change: 13 Sept 2005
|
||||||
|
|
||||||
|
" Gardener v1.1
|
||||||
|
" A modification of the Guardian colorscheme v1.2
|
||||||
|
|
||||||
|
" 'For code surgeons and web gardeners everywhere'
|
||||||
|
|
||||||
|
" A nice earthy color scheme which is easy on the eyes. It
|
||||||
|
" has as it's base a dark background monocrhomatic khaki
|
||||||
|
" scheme with dabs of color thrown in here and there on the
|
||||||
|
" keywords. Plus lots of extra config options so you can
|
||||||
|
" tweak it to your liking and or make it more like the
|
||||||
|
" original Guardian scheme. All the defaults are what I like
|
||||||
|
" but if you want to change stuff just set the right var and
|
||||||
|
" it will change pretty much immediately, you might have to
|
||||||
|
" move out of and back into your buffer for it to refresh.
|
||||||
|
|
||||||
|
|
||||||
|
" Features:
|
||||||
|
" 256 Color XTerm Compatibility
|
||||||
|
" Richer Syntax
|
||||||
|
" Black Background
|
||||||
|
" Functions
|
||||||
|
" No Italics
|
||||||
|
" Purple Booleans
|
||||||
|
" Swapped Status Line Colors
|
||||||
|
" Other minor tweaks
|
||||||
|
|
||||||
|
" Change Log:
|
||||||
|
" changed the ghastly puke salmon red to green like it
|
||||||
|
" should have been in the first place esp considering the
|
||||||
|
" name Gardener, now all vimsters can truly frolic in
|
||||||
|
" their Vim Gardens
|
||||||
|
|
||||||
|
" Options:
|
||||||
|
" g:gardener_light_comments
|
||||||
|
" if this var exists then comments are white on a
|
||||||
|
" gray-blue background if it is not set then the
|
||||||
|
" comments default to medium grey with no background
|
||||||
|
" color, I can't stand bg colors but some people might
|
||||||
|
" like it, so I left it as an option.
|
||||||
|
"
|
||||||
|
" g:gardener_soil
|
||||||
|
" This is a GUI only option because there are no
|
||||||
|
" colors that work even in the 256 color XTerm. This
|
||||||
|
" option gives you a brownish background instead of a
|
||||||
|
" black background. I think the black background gives
|
||||||
|
" better contrast and thus is easier to read from. if
|
||||||
|
" you disagree then you've got this option
|
||||||
|
"
|
||||||
|
" g:gardener_setnum
|
||||||
|
" turns the background of the line numbers black
|
||||||
|
|
||||||
|
" Using The Options:
|
||||||
|
" To enable a feature add the line
|
||||||
|
" let g:gardenter_some_feature=1
|
||||||
|
" to your ~/.vimrc
|
||||||
|
" To disable the feature temporarily run the command
|
||||||
|
" :unlet g:gardener_some_feature
|
||||||
|
" To disable the feature permanently, simply remove
|
||||||
|
" the line from your .vimrc file.
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
hi clear
|
||||||
|
syntax reset
|
||||||
|
|
||||||
|
if has("gui_running")
|
||||||
|
|
||||||
|
" Colors for the User Interface.
|
||||||
|
if exists("g:gardener_setnum")
|
||||||
|
hi linenr guibg=black guifg=#808080 gui=bold
|
||||||
|
else
|
||||||
|
hi linenr guibg=#262626 guifg=#808080 gui=bold
|
||||||
|
endif
|
||||||
|
|
||||||
|
hi Cursor guibg=#cc4455 guifg=white gui=bold
|
||||||
|
hi link CursorIM Cursor
|
||||||
|
if exists("g:gardener_soil")
|
||||||
|
hi Normal guibg=#332211 guifg=white gui=none
|
||||||
|
else
|
||||||
|
hi Normal guibg=black guifg=white gui=none
|
||||||
|
endif
|
||||||
|
hi NonText guibg=#445566 guifg=#ffeecc gui=bold
|
||||||
|
hi Visual guibg=#557799 guifg=white gui=none
|
||||||
|
|
||||||
|
hi Directory guibg=bg guifg=#337700 gui=none
|
||||||
|
|
||||||
|
hi IncSearch guibg=#0066cc guifg=white gui=none
|
||||||
|
hi link Seach IncSearch
|
||||||
|
|
||||||
|
hi SpecialKey guibg=bg guifg=fg gui=none
|
||||||
|
hi Titled guibg=bg guifg=fg gui=none
|
||||||
|
|
||||||
|
hi ErrorMsg guibg=bg guifg=#ff0000 gui=bold
|
||||||
|
hi ModeMsg guibg=bg guifg=#ffeecc gui=none
|
||||||
|
hi link MoreMsg ModeMsg
|
||||||
|
hi Question guibg=bg guifg=#ccffcc gui=bold
|
||||||
|
hi link WarningMsg ErrorMsg
|
||||||
|
|
||||||
|
hi StatusLineNC guibg=#ffeecc guifg=black gui=none
|
||||||
|
hi StatusLine guibg=#cc4455 guifg=white gui=bold
|
||||||
|
hi VertSplit guibg=#ffeecc guifg=black gui=none
|
||||||
|
|
||||||
|
hi DiffAdd guibg=#446688 guifg=fg gui=none
|
||||||
|
hi DiffChange guibg=#558855 guifg=fg gui=none
|
||||||
|
hi DiffDelete guibg=#884444 guifg=fg gui=none
|
||||||
|
hi DiffText guibg=#884444 guifg=fg gui=bold
|
||||||
|
|
||||||
|
" Colors for Syntax Highlighting.
|
||||||
|
if exists("g:gardener_light_comments")
|
||||||
|
hi Comment guibg=#334455 guifg=#dddddd gui=none
|
||||||
|
else
|
||||||
|
hi Comment guibg=bg guifg=#888888 gui=none
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
hi Define guibg=bg guifg=#66ccdd gui=bold
|
||||||
|
hi Conditional guibg=bg guifg=#aadd55 gui=bold
|
||||||
|
|
||||||
|
hi Constant guibg=bg guifg=white gui=bold
|
||||||
|
hi Identifier guibg=bg guifg=#ffddaa gui=none
|
||||||
|
hi String guibg=bg guifg=#ffffcc gui=none
|
||||||
|
hi Character guibg=bg guifg=#ffffcc gui=bold
|
||||||
|
hi Number guibg=bg guifg=#bbddff gui=bold
|
||||||
|
hi Boolean guibg=bg guifg=#ff55ff gui=bold
|
||||||
|
hi Float guibg=bg guifg=#bbddff gui=bold
|
||||||
|
|
||||||
|
hi Function guibg=bg guifg=#ffffaa gui=bold
|
||||||
|
hi Statement guibg=bg guifg=#ffffcc gui=bold
|
||||||
|
|
||||||
|
hi Repeat guibg=bg guifg=#ff9900 gui=bold
|
||||||
|
hi Label guibg=bg guifg=#ffccff gui=bold
|
||||||
|
hi Operator guibg=bg guifg=#cc9966 gui=bold
|
||||||
|
hi Keyword guibg=bg guifg=#66ffcc gui=bold
|
||||||
|
hi Exception guibg=bg guifg=#66ffcc gui=bold
|
||||||
|
|
||||||
|
hi PreProc guibg=bg guifg=#ffcc99 gui=bold
|
||||||
|
hi Include guibg=bg guifg=#99cc99 gui=bold
|
||||||
|
hi link Macro Include
|
||||||
|
hi link PreCondit Include
|
||||||
|
|
||||||
|
hi Type guibg=bg guifg=#ccffaa gui=bold
|
||||||
|
hi Structure guibg=bg guifg=#99ff99 gui=bold
|
||||||
|
hi Typedef guibg=bg guifg=#99cc99 gui=italic
|
||||||
|
|
||||||
|
hi StorageClass guibg=bg guifg=#99cc99 gui=bold
|
||||||
|
hi Special guibg=bg guifg=#bbddff gui=bold
|
||||||
|
hi SpecialChar guibg=bg guifg=#bbddff gui=bold
|
||||||
|
hi Tag guibg=bg guifg=#bbddff gui=bold
|
||||||
|
hi Delimiter guibg=bg guifg=fg gui=bold
|
||||||
|
hi SpecialComment guibg=#334455 guifg=#dddddd gui=italic
|
||||||
|
hi Debug guibg=bg guifg=#ff9999 gui=none
|
||||||
|
|
||||||
|
hi Underlined guibg=bg guifg=#99ccff gui=underline
|
||||||
|
|
||||||
|
hi Title guibg=#445566 guifg=white gui=bold
|
||||||
|
hi Ignore guibg=bg guifg=#cccccc gui=italic
|
||||||
|
hi Error guibg=#ff0000 guifg=white gui=bold
|
||||||
|
hi Todo guibg=#556677 guifg=#ff0000 gui=bold
|
||||||
|
|
||||||
|
hi htmlH1 guibg=bg guifg=#ffffff gui=bold
|
||||||
|
hi htmlH2 guibg=bg guifg=#dadada gui=bold
|
||||||
|
hi htmlH3 guibg=bg guifg=#c6c6c6 gui=bold
|
||||||
|
hi htmlH4 guibg=bg guifg=#b2b2b2 gui=bold
|
||||||
|
hi htmlH5 guibg=bg guifg=#9e9e9e gui=bold
|
||||||
|
hi htmlH6 guibg=bg guifg=#8a8a8a gui=bold
|
||||||
|
|
||||||
|
else
|
||||||
|
" Colors for the User Interface.
|
||||||
|
|
||||||
|
if exists("g:gardener_setnum")
|
||||||
|
exec "hi linenr cterm=BOLD ctermfg=235 ctermbg=244"
|
||||||
|
else
|
||||||
|
exec "hi linenr cterm=BOLD ctermfg=244 ctermbg=235"
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
exec "hi Cursor cterm=BOLD ctermfg=255 ctermbg=167"
|
||||||
|
exec "hi CursorIM cterm=BOLD ctermfg=255 ctermbg=167"
|
||||||
|
|
||||||
|
exec "hi Normal cterm=NONE ctermfg=255 ctermbg=233"
|
||||||
|
exec "hi NonText cterm=NONE ctermfg=230 ctermbg=233"
|
||||||
|
exec "hi Visual cterm=NONE ctermfg=255 ctermbg=68"
|
||||||
|
|
||||||
|
exec "hi Linear cterm=NONE ctermfg=248 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi Directory cterm=NONE ctermfg=64 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi IncSearch cterm=NONE ctermfg=255 ctermbg=25"
|
||||||
|
|
||||||
|
exec "hi ErrorMsg cterm=BOLD ctermfg=196 ctermbg=NONE"
|
||||||
|
exec "hi WarningMsg cterm=BOLD ctermfg=196 ctermbg=NONE"
|
||||||
|
exec "hi ModeMsg cterm=NONE ctermfg=230 ctermbg=NONE"
|
||||||
|
exec "hi MoreMsg cterm=NONE ctermfg=230 ctermbg=NONE"
|
||||||
|
exec "hi Question cterm=NONE ctermfg=194 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi StatusLineNC cterm=NONE ctermfg=16 ctermbg=229"
|
||||||
|
exec "hi StatusLine cterm=BOLD ctermfg=255 ctermbg=167"
|
||||||
|
exec "hi VertSplit cterm=NONE ctermfg=16 ctermbg=229"
|
||||||
|
|
||||||
|
exec "hi DiffAdd cterm=NONE ctermfg=255 ctermbg=60"
|
||||||
|
exec "hi DiffAdd cterm=NONE ctermfg=255 ctermbg=65"
|
||||||
|
exec "hi DiffAdd cterm=NONE ctermfg=255 ctermbg=95"
|
||||||
|
exec "hi DiffAdd cterm=BOLD ctermfg=255 ctermbg=95"
|
||||||
|
|
||||||
|
" Colors for Syntax Highlighting.
|
||||||
|
if exists("g:gardener_light_comments")
|
||||||
|
exec "hi Comment cterm=NONE ctermfg=253 ctermbg=60"
|
||||||
|
else
|
||||||
|
exec "hi Comment cterm=NONE ctermfg=244 ctermbg=NONE"
|
||||||
|
endif
|
||||||
|
|
||||||
|
exec "hi Constant cterm=BOLD ctermfg=255 ctermbg=NONE"
|
||||||
|
exec "hi String cterm=NONE ctermfg=230 ctermbg=NONE"
|
||||||
|
exec "hi Character cterm=BOLD ctermfg=230 ctermbg=NONE"
|
||||||
|
exec "hi Number cterm=BOLD ctermfg=153 ctermbg=NONE"
|
||||||
|
exec "hi Boolean cterm=NONE ctermfg=207 ctermbg=NONE"
|
||||||
|
exec "hi Float cterm=BOLD ctermfg=153 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi Identifier cterm=NONE ctermfg=223 ctermbg=NONE"
|
||||||
|
exec "hi Function cterm=BOLD ctermfg=229 ctermbg=NONE"
|
||||||
|
exec "hi Statement cterm=BOLD ctermfg=230 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi Define cterm=BOLD ctermfg=68 ctermbg=NONE"
|
||||||
|
exec "hi Conditional cterm=BOLD ctermfg=149 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi Repeat cterm=BOLD ctermfg=208 ctermbg=NONE"
|
||||||
|
exec "hi Label cterm=BOLD ctermfg=225 ctermbg=NONE"
|
||||||
|
exec "hi Operator cterm=BOLD ctermfg=173 ctermbg=NONE"
|
||||||
|
exec "hi Keyword cterm=BOLD ctermfg=86 ctermbg=NONE"
|
||||||
|
exec "hi Exception cterm=BOLD ctermfg=86 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi PreProc cterm=BOLD ctermfg=222 ctermbg=NONE"
|
||||||
|
exec "hi Include cterm=BOLD ctermfg=114 ctermbg=NONE"
|
||||||
|
exec "hi Macro cterm=BOLD ctermfg=114 ctermbg=NONE"
|
||||||
|
exec "hi PreCondit cterm=BOLD ctermfg=114 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi Type cterm=BOLD ctermfg=193 ctermbg=NONE"
|
||||||
|
exec "hi StorageClass cterm=BOLD ctermfg=78 ctermbg=NONE"
|
||||||
|
exec "hi Structure cterm=BOLD ctermfg=114 ctermbg=NONE"
|
||||||
|
exec "hi Typedef cterm=BOLD ctermfg=114 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi Special cterm=BOLD ctermfg=153 ctermbg=NONE"
|
||||||
|
exec "hi SpecialChar cterm=BOLD ctermfg=153 ctermbg=NONE"
|
||||||
|
exec "hi Tag cterm=BOLD ctermfg=153 ctermbg=NONE"
|
||||||
|
exec "hi Delimiter cterm=BOLD ctermfg=255 ctermbg=NONE"
|
||||||
|
exec "hi SpecialComment cterm=BOLD ctermfg=253 ctermbg=24"
|
||||||
|
exec "hi Debug cterm=NONE ctermfg=210 ctermbg=NONE"
|
||||||
|
|
||||||
|
exec "hi Title cterm=BOLD ctermfg=255 ctermbg=60"
|
||||||
|
exec "hi Ignore cterm=NONE ctermfg=251 ctermbg=NONE"
|
||||||
|
exec "hi Error cterm=NONE ctermfg=255 ctermbg=196"
|
||||||
|
exec "hi Ignore cterm=NONE ctermfg=196 ctermbg=60"
|
||||||
|
|
||||||
|
exec "hi htmlH1 cterm=BOLD ctermfg=255 ctermbg=NONE"
|
||||||
|
exec "hi htmlH2 cterm=BOLD ctermfg=253 ctermbg=NONE"
|
||||||
|
exec "hi htmlH3 cterm=BOLD ctermfg=251 ctermbg=NONE"
|
||||||
|
exec "hi htmlH4 cterm=BOLD ctermfg=249 ctermbg=NONE"
|
||||||
|
exec "hi htmlH5 cterm=BOLD ctermfg=247 ctermbg=NONE"
|
||||||
|
exec "hi htmlH6 cterm=BOLD ctermfg=245 ctermbg=NONE"
|
||||||
|
|
||||||
|
endif
|
||||||
|
" And finally.
|
||||||
|
|
||||||
|
let g:colors_name = "gardener"
|
||||||
|
let colors_name = "gardener"
|
||||||
|
|
216
dot.vim/colors/inkpot.vim
Normal file
216
dot.vim/colors/inkpot.vim
Normal file
|
@ -0,0 +1,216 @@
|
||||||
|
" Vim color file
|
||||||
|
" Name: inkpot.vim
|
||||||
|
" Maintainer: Ciaran McCreesh <ciaran.mccreesh@googlemail.com>
|
||||||
|
" Homepage: http://github.com/ciaranm/inkpot/
|
||||||
|
"
|
||||||
|
" This should work in the GUI, rxvt-unicode (88 colour mode) and xterm (256
|
||||||
|
" colour mode). It won't work in 8/16 colour terminals.
|
||||||
|
"
|
||||||
|
" To use a black background, :let g:inkpot_black_background = 1
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
hi clear
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
|
||||||
|
let colors_name = "inkpot"
|
||||||
|
|
||||||
|
" map a urxvt cube number to an xterm-256 cube number
|
||||||
|
fun! <SID>M(a)
|
||||||
|
return strpart("0135", a:a, 1) + 0
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" map a urxvt colour to an xterm-256 colour
|
||||||
|
fun! <SID>X(a)
|
||||||
|
if &t_Co == 88
|
||||||
|
return a:a
|
||||||
|
else
|
||||||
|
if a:a == 8
|
||||||
|
return 237
|
||||||
|
elseif a:a < 16
|
||||||
|
return a:a
|
||||||
|
elseif a:a > 79
|
||||||
|
return 232 + (3 * (a:a - 80))
|
||||||
|
else
|
||||||
|
let l:b = a:a - 16
|
||||||
|
let l:x = l:b % 4
|
||||||
|
let l:y = (l:b / 4) % 4
|
||||||
|
let l:z = (l:b / 16)
|
||||||
|
return 16 + <SID>M(l:x) + (6 * <SID>M(l:y)) + (36 * <SID>M(l:z))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
if ! exists("g:inkpot_black_background")
|
||||||
|
let g:inkpot_black_background = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has("gui_running")
|
||||||
|
if ! g:inkpot_black_background
|
||||||
|
hi Normal gui=NONE guifg=#cfbfad guibg=#1e1e27
|
||||||
|
else
|
||||||
|
hi Normal gui=NONE guifg=#cfbfad guibg=#000000
|
||||||
|
endif
|
||||||
|
|
||||||
|
hi CursorLine guibg=#2e2e37
|
||||||
|
|
||||||
|
hi IncSearch gui=BOLD guifg=#303030 guibg=#cd8b60
|
||||||
|
hi Search gui=NONE guifg=#303030 guibg=#ad7b57
|
||||||
|
hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#ce4e4e
|
||||||
|
hi WarningMsg gui=BOLD guifg=#ffffff guibg=#ce8e4e
|
||||||
|
hi ModeMsg gui=BOLD guifg=#7e7eae guibg=NONE
|
||||||
|
hi MoreMsg gui=BOLD guifg=#7e7eae guibg=NONE
|
||||||
|
hi Question gui=BOLD guifg=#ffcd00 guibg=NONE
|
||||||
|
|
||||||
|
hi StatusLine gui=BOLD guifg=#b9b9b9 guibg=#3e3e5e
|
||||||
|
hi User1 gui=BOLD guifg=#00ff8b guibg=#3e3e5e
|
||||||
|
hi User2 gui=BOLD guifg=#7070a0 guibg=#3e3e5e
|
||||||
|
hi StatusLineNC gui=NONE guifg=#b9b9b9 guibg=#3e3e5e
|
||||||
|
hi VertSplit gui=NONE guifg=#b9b9b9 guibg=#3e3e5e
|
||||||
|
|
||||||
|
hi WildMenu gui=BOLD guifg=#eeeeee guibg=#6e6eaf
|
||||||
|
|
||||||
|
hi MBENormal guifg=#cfbfad guibg=#2e2e3f
|
||||||
|
hi MBEChanged guifg=#eeeeee guibg=#2e2e3f
|
||||||
|
hi MBEVisibleNormal guifg=#cfcfcd guibg=#4e4e8f
|
||||||
|
hi MBEVisibleChanged guifg=#eeeeee guibg=#4e4e8f
|
||||||
|
|
||||||
|
hi DiffText gui=NONE guifg=#ffffcd guibg=#4a2a4a
|
||||||
|
hi DiffChange gui=NONE guifg=#ffffcd guibg=#306b8f
|
||||||
|
hi DiffDelete gui=NONE guifg=#ffffcd guibg=#6d3030
|
||||||
|
hi DiffAdd gui=NONE guifg=#ffffcd guibg=#306d30
|
||||||
|
|
||||||
|
hi Cursor gui=NONE guifg=#404040 guibg=#8b8bff
|
||||||
|
hi lCursor gui=NONE guifg=#404040 guibg=#8fff8b
|
||||||
|
hi CursorIM gui=NONE guifg=#404040 guibg=#8b8bff
|
||||||
|
|
||||||
|
hi Folded gui=NONE guifg=#cfcfcd guibg=#4b208f
|
||||||
|
hi FoldColumn gui=NONE guifg=#8b8bcd guibg=#2e2e2e
|
||||||
|
|
||||||
|
hi Directory gui=NONE guifg=#00ff8b guibg=NONE
|
||||||
|
hi LineNr gui=NONE guifg=#8b8bcd guibg=#2e2e2e
|
||||||
|
hi NonText gui=BOLD guifg=#8b8bcd guibg=NONE
|
||||||
|
hi SpecialKey gui=BOLD guifg=#ab60ed guibg=NONE
|
||||||
|
hi Title gui=BOLD guifg=#af4f4b guibg=NONE
|
||||||
|
hi Visual gui=NONE guifg=#eeeeee guibg=#4e4e8f
|
||||||
|
|
||||||
|
hi Comment gui=NONE guifg=#cd8b00 guibg=NONE
|
||||||
|
hi Constant gui=NONE guifg=#ffcd8b guibg=NONE
|
||||||
|
hi String gui=NONE guifg=#ffcd8b guibg=#404040
|
||||||
|
hi Error gui=NONE guifg=#ffffff guibg=#6e2e2e
|
||||||
|
hi Identifier gui=NONE guifg=#ff8bff guibg=NONE
|
||||||
|
hi Ignore gui=NONE
|
||||||
|
hi Number gui=NONE guifg=#f0ad6d guibg=NONE
|
||||||
|
hi PreProc gui=NONE guifg=#409090 guibg=NONE
|
||||||
|
hi Special gui=NONE guifg=#c080d0 guibg=NONE
|
||||||
|
hi SpecialChar gui=NONE guifg=#c080d0 guibg=#404040
|
||||||
|
hi Statement gui=NONE guifg=#808bed guibg=NONE
|
||||||
|
hi Todo gui=BOLD guifg=#303030 guibg=#d0a060
|
||||||
|
hi Type gui=NONE guifg=#ff8bff guibg=NONE
|
||||||
|
hi Underlined gui=BOLD guifg=#df9f2d guibg=NONE
|
||||||
|
hi TaglistTagName gui=BOLD guifg=#808bed guibg=NONE
|
||||||
|
|
||||||
|
hi perlSpecialMatch gui=NONE guifg=#c080d0 guibg=#404040
|
||||||
|
hi perlSpecialString gui=NONE guifg=#c080d0 guibg=#404040
|
||||||
|
|
||||||
|
hi cSpecialCharacter gui=NONE guifg=#c080d0 guibg=#404040
|
||||||
|
hi cFormat gui=NONE guifg=#c080d0 guibg=#404040
|
||||||
|
|
||||||
|
hi doxygenBrief gui=NONE guifg=#fdab60 guibg=NONE
|
||||||
|
hi doxygenParam gui=NONE guifg=#fdd090 guibg=NONE
|
||||||
|
hi doxygenPrev gui=NONE guifg=#fdd090 guibg=NONE
|
||||||
|
hi doxygenSmallSpecial gui=NONE guifg=#fdd090 guibg=NONE
|
||||||
|
hi doxygenSpecial gui=NONE guifg=#fdd090 guibg=NONE
|
||||||
|
hi doxygenComment gui=NONE guifg=#ad7b20 guibg=NONE
|
||||||
|
hi doxygenSpecial gui=NONE guifg=#fdab60 guibg=NONE
|
||||||
|
hi doxygenSpecialMultilineDesc gui=NONE guifg=#ad600b guibg=NONE
|
||||||
|
hi doxygenSpecialOnelineDesc gui=NONE guifg=#ad600b guibg=NONE
|
||||||
|
|
||||||
|
if v:version >= 700
|
||||||
|
hi Pmenu gui=NONE guifg=#eeeeee guibg=#4e4e8f
|
||||||
|
hi PmenuSel gui=BOLD guifg=#eeeeee guibg=#2e2e3f
|
||||||
|
hi PmenuSbar gui=BOLD guifg=#eeeeee guibg=#6e6eaf
|
||||||
|
hi PmenuThumb gui=BOLD guifg=#eeeeee guibg=#6e6eaf
|
||||||
|
|
||||||
|
hi SpellBad gui=undercurl guisp=#cc6666
|
||||||
|
hi SpellRare gui=undercurl guisp=#cc66cc
|
||||||
|
hi SpellLocal gui=undercurl guisp=#cccc66
|
||||||
|
hi SpellCap gui=undercurl guisp=#66cccc
|
||||||
|
|
||||||
|
hi MatchParen gui=NONE guifg=#cfbfad guibg=#4e4e8f
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if ! g:inkpot_black_background
|
||||||
|
exec "hi Normal cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(80)
|
||||||
|
else
|
||||||
|
exec "hi Normal cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(16)
|
||||||
|
endif
|
||||||
|
|
||||||
|
exec "hi IncSearch cterm=BOLD ctermfg=" . <SID>X(80) . " ctermbg=" . <SID>X(73)
|
||||||
|
exec "hi Search cterm=NONE ctermfg=" . <SID>X(80) . " ctermbg=" . <SID>X(52)
|
||||||
|
exec "hi ErrorMsg cterm=BOLD ctermfg=" . <SID>X(16) . " ctermbg=" . <SID>X(48)
|
||||||
|
exec "hi WarningMsg cterm=BOLD ctermfg=" . <SID>X(16) . " ctermbg=" . <SID>X(68)
|
||||||
|
exec "hi ModeMsg cterm=BOLD ctermfg=" . <SID>X(38) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi MoreMsg cterm=BOLD ctermfg=" . <SID>X(38) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi Question cterm=BOLD ctermfg=" . <SID>X(52) . " ctermbg=" . "NONE"
|
||||||
|
|
||||||
|
exec "hi StatusLine cterm=BOLD ctermfg=" . <SID>X(85) . " ctermbg=" . <SID>X(81)
|
||||||
|
exec "hi User1 cterm=BOLD ctermfg=" . <SID>X(28) . " ctermbg=" . <SID>X(81)
|
||||||
|
exec "hi User2 cterm=BOLD ctermfg=" . <SID>X(39) . " ctermbg=" . <SID>X(81)
|
||||||
|
exec "hi StatusLineNC cterm=NONE ctermfg=" . <SID>X(84) . " ctermbg=" . <SID>X(81)
|
||||||
|
exec "hi VertSplit cterm=NONE ctermfg=" . <SID>X(84) . " ctermbg=" . <SID>X(81)
|
||||||
|
|
||||||
|
exec "hi WildMenu cterm=BOLD ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(38)
|
||||||
|
|
||||||
|
exec "hi MBENormal ctermfg=" . <SID>X(85) . " ctermbg=" . <SID>X(81)
|
||||||
|
exec "hi MBEChanged ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(81)
|
||||||
|
exec "hi MBEVisibleNormal ctermfg=" . <SID>X(85) . " ctermbg=" . <SID>X(82)
|
||||||
|
exec "hi MBEVisibleChanged ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(82)
|
||||||
|
|
||||||
|
exec "hi DiffText cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(34)
|
||||||
|
exec "hi DiffChange cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(17)
|
||||||
|
exec "hi DiffDelete cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(32)
|
||||||
|
exec "hi DiffAdd cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(20)
|
||||||
|
|
||||||
|
exec "hi Folded cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(35)
|
||||||
|
exec "hi FoldColumn cterm=NONE ctermfg=" . <SID>X(39) . " ctermbg=" . <SID>X(80)
|
||||||
|
|
||||||
|
exec "hi Directory cterm=NONE ctermfg=" . <SID>X(28) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi LineNr cterm=NONE ctermfg=" . <SID>X(39) . " ctermbg=" . <SID>X(80)
|
||||||
|
exec "hi NonText cterm=BOLD ctermfg=" . <SID>X(39) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi SpecialKey cterm=BOLD ctermfg=" . <SID>X(55) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi Title cterm=BOLD ctermfg=" . <SID>X(48) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi Visual cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(38)
|
||||||
|
|
||||||
|
exec "hi Comment cterm=NONE ctermfg=" . <SID>X(52) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi Constant cterm=NONE ctermfg=" . <SID>X(73) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi String cterm=NONE ctermfg=" . <SID>X(73) . " ctermbg=" . <SID>X(81)
|
||||||
|
exec "hi Error cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(32)
|
||||||
|
exec "hi Identifier cterm=NONE ctermfg=" . <SID>X(53) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi Ignore cterm=NONE"
|
||||||
|
exec "hi Number cterm=NONE ctermfg=" . <SID>X(69) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi PreProc cterm=NONE ctermfg=" . <SID>X(25) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi Special cterm=NONE ctermfg=" . <SID>X(55) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi SpecialChar cterm=NONE ctermfg=" . <SID>X(55) . " ctermbg=" . <SID>X(81)
|
||||||
|
exec "hi Statement cterm=NONE ctermfg=" . <SID>X(27) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi Todo cterm=BOLD ctermfg=" . <SID>X(16) . " ctermbg=" . <SID>X(57)
|
||||||
|
exec "hi Type cterm=NONE ctermfg=" . <SID>X(71) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi Underlined cterm=BOLD ctermfg=" . <SID>X(77) . " ctermbg=" . "NONE"
|
||||||
|
exec "hi TaglistTagName cterm=BOLD ctermfg=" . <SID>X(39) . " ctermbg=" . "NONE"
|
||||||
|
|
||||||
|
if v:version >= 700
|
||||||
|
exec "hi Pmenu cterm=NONE ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(82)
|
||||||
|
exec "hi PmenuSel cterm=BOLD ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(38)
|
||||||
|
exec "hi PmenuSbar cterm=BOLD ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(39)
|
||||||
|
exec "hi PmenuThumb cterm=BOLD ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(39)
|
||||||
|
|
||||||
|
exec "hi SpellBad cterm=NONE ctermbg=" . <SID>X(32)
|
||||||
|
exec "hi SpellRare cterm=NONE ctermbg=" . <SID>X(33)
|
||||||
|
exec "hi SpellLocal cterm=NONE ctermbg=" . <SID>X(36)
|
||||||
|
exec "hi SpellCap cterm=NONE ctermbg=" . <SID>X(21)
|
||||||
|
exec "hi MatchParen cterm=NONE ctermbg=" . <SID>X(14) . "ctermfg=" . <SID>X(25)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" vim: set et :
|
47
dot.vim/colors/nightflight2.vim
Normal file
47
dot.vim/colors/nightflight2.vim
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
" local syntax file - set colors on a per-machine basis:
|
||||||
|
" vim: tw=0 ts=4 sw=4
|
||||||
|
" Vim color file
|
||||||
|
" Maintainer: Ralf Holly <ralf@hollyfamily.de>
|
||||||
|
" Last Change: 2006 Dec 28
|
||||||
|
|
||||||
|
hi! clear
|
||||||
|
set background=dark
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endi
|
||||||
|
|
||||||
|
let g:colors_name = "nightflight2"
|
||||||
|
"hi! Normal cterm=none ctermfg=darkgrey ctermbg=black guifg=#c0c0ff guibg=#000020
|
||||||
|
hi! Normal cterm=none ctermfg=darkgrey ctermbg=black guifg=#c0c0ff guibg=#000025
|
||||||
|
hi! Scrollbar cterm=bold ctermfg=darkcyan ctermbg=cyan guifg=darkcyan guibg=cyan
|
||||||
|
hi! Menu guifg=black guibg=cyan
|
||||||
|
hi! SpecialKey term=bold cterm=bold ctermfg=yellow guifg=yellow
|
||||||
|
hi! NonText term=bold cterm=bold ctermfg=yellow gui=none guifg=yellow
|
||||||
|
hi! Directory term=bold cterm=bold ctermfg=cyan guifg=cyan
|
||||||
|
hi! ErrorMsg term=standout cterm=bold ctermfg=white ctermbg=red guifg=white guibg=red
|
||||||
|
hi! Search term=reverse ctermfg=cyan ctermbg=blue guifg=cyan guibg=blue
|
||||||
|
hi! MoreMsg term=bold cterm=bold ctermfg=darkgreen gui=bold guifg=seagreen
|
||||||
|
hi! ModeMsg term=bold cterm=bold gui=bold guifg=white guibg=blue
|
||||||
|
hi! LineNr term=underline cterm=bold ctermfg=darkgrey guifg=#505070
|
||||||
|
hi! Question term=standout cterm=bold ctermfg=darkgreen gui=bold guifg=green
|
||||||
|
hi! StatusLine term=bold,reverse cterm=bold ctermfg=black ctermbg=cyan gui=bold guifg=black guibg=cyan
|
||||||
|
hi! StatusLineNC term=reverse ctermfg=black ctermbg=darkcyan guifg=darkcyan guibg=black
|
||||||
|
hi! Title term=bold cterm=bold ctermfg=darkmagenta gui=bold guifg=magenta
|
||||||
|
hi! Visual term=reverse cterm=bold ctermfg=black ctermbg=white guifg=black guibg=white
|
||||||
|
hi! WarningMsg term=standout cterm=bold ctermfg=red guifg=red
|
||||||
|
hi! Cursor guifg=bg guibg=green
|
||||||
|
hi! Comment term=bold cterm=bold ctermfg=lightblue guifg=darkgrey
|
||||||
|
hi! Identifier term=bold cterm=bold ctermfg=green gui=none guifg=white
|
||||||
|
hi! Special term=bold cterm=bold ctermfg=cyan guifg=darkgrey
|
||||||
|
hi! Constant term=underline cterm=bold ctermfg=cyan guifg=#30df60
|
||||||
|
hi! PreProc term=underline ctermfg=magenta guifg=#fcaf3e
|
||||||
|
hi! Statement term=bold cterm=bold ctermfg=green gui=none guifg=#8387ff
|
||||||
|
hi! Type term=underline cterm=bold ctermfg=lightgreen gui=none guifg=#8387ff
|
||||||
|
hi! Error term=reverse ctermfg=white ctermbg=red guifg=white guibg=red
|
||||||
|
hi! Todo term=standout ctermfg=white ctermbg=magenta guifg=white guibg=brown
|
||||||
|
" syntax match _COperators "+\|-\|\*\|;\|:\|,\|<\|>\|&\||\|!\|\~\|%\|=\|)\|(\|{\|}\|\.\|\[\|\]"
|
||||||
|
hi! _COperators ctermfg=white guifg=white gui=none
|
||||||
|
|
||||||
|
" For Vim 7
|
||||||
|
hi! MatchParen ctermbg=blue guifg=white guibg=blue
|
||||||
|
|
96
dot.vim/colors/railcasts.vim
Normal file
96
dot.vim/colors/railcasts.vim
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
" Vim color scheme
|
||||||
|
"
|
||||||
|
" Name: railscasts.vim
|
||||||
|
" Maintainer: Nick Moffitt <nick@zork.net>
|
||||||
|
" Last Change: 01 Mar 2008
|
||||||
|
" License: WTFPL <http://sam.zoy.org/wtfpl/>
|
||||||
|
" Version: 2.1
|
||||||
|
"
|
||||||
|
" This theme is based on Josh O'Rourke's Vim clone of the railscast
|
||||||
|
" textmate theme. The key thing I have done here is supply 256-color
|
||||||
|
" terminal equivalents for as many of the colors as possible, and fixed
|
||||||
|
" up some of the funny behaviors for editing e-mails and such.
|
||||||
|
"
|
||||||
|
" To use for gvim:
|
||||||
|
" 1: install this file as ~/.vim/colors/railscasts.vim
|
||||||
|
" 2: put "colorscheme railscasts" in your .gvimrc
|
||||||
|
"
|
||||||
|
" If you are using Ubuntu, you can get the benefit of this in your
|
||||||
|
" terminals using ordinary vim by taking the following steps:
|
||||||
|
"
|
||||||
|
" 1: sudo apt-get install ncurses-term
|
||||||
|
" 2: put the following in your .vimrc
|
||||||
|
" if $COLORTERM == 'gnome-terminal'
|
||||||
|
" set term=gnome-256color
|
||||||
|
" colorscheme railscasts
|
||||||
|
" else
|
||||||
|
" colorscheme default
|
||||||
|
" endif
|
||||||
|
" 3: if you wish to use this with screen, add the following to your .screenrc:
|
||||||
|
" attrcolor b ".I"
|
||||||
|
" termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
|
||||||
|
" defbce "on"
|
||||||
|
" term screen-256color-bce
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
hi clear
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
|
||||||
|
let g:colors_name = "railscasts"
|
||||||
|
|
||||||
|
hi link htmlTag xmlTag
|
||||||
|
hi link htmlTagName xmlTagName
|
||||||
|
hi link htmlEndTag xmlEndTag
|
||||||
|
|
||||||
|
highlight Normal guifg=#E6E1DC guibg=#111111
|
||||||
|
highlight Cursor guifg=#000000 ctermfg=0 guibg=#FFFFFF ctermbg=15
|
||||||
|
highlight CursorLine guibg=#000000 ctermbg=233 cterm=NONE
|
||||||
|
|
||||||
|
highlight Comment guifg=#BC9458 ctermfg=180 gui=italic
|
||||||
|
highlight Constant guifg=#6D9CBE ctermfg=73
|
||||||
|
highlight Define guifg=#CC7833 ctermfg=173
|
||||||
|
highlight Error guifg=#FFC66D ctermfg=221 guibg=#990000 ctermbg=88
|
||||||
|
highlight Function guifg=#FFC66D ctermfg=221 gui=NONE cterm=NONE
|
||||||
|
highlight Identifier guifg=#6D9CBE ctermfg=73 gui=NONE cterm=NONE
|
||||||
|
highlight Include guifg=#CC7833 ctermfg=173 gui=NONE cterm=NONE
|
||||||
|
highlight PreCondit guifg=#CC7833 ctermfg=173 gui=NONE cterm=NONE
|
||||||
|
highlight Keyword guifg=#CC7833 ctermfg=173 cterm=NONE
|
||||||
|
highlight LineNr guifg=#2B2B2B ctermfg=159 guibg=#C0C0FF
|
||||||
|
highlight Number guifg=#A5C261 ctermfg=107
|
||||||
|
highlight PreProc guifg=#E6E1DC ctermfg=103
|
||||||
|
highlight Search guifg=NONE ctermfg=NONE guibg=#2b2b2b ctermbg=235 gui=italic cterm=underline
|
||||||
|
highlight Statement guifg=#CC7833 ctermfg=173 gui=NONE cterm=NONE
|
||||||
|
highlight String guifg=#A5C261 ctermfg=107
|
||||||
|
highlight Title guifg=#FFFFFF ctermfg=15
|
||||||
|
highlight Type guifg=#DA4939 ctermfg=167 gui=NONE cterm=NONE
|
||||||
|
highlight Visual guibg=#5A647E ctermbg=60
|
||||||
|
|
||||||
|
highlight DiffAdd guifg=#E6E1DC ctermfg=7 guibg=#519F50 ctermbg=71
|
||||||
|
highlight DiffDelete guifg=#E6E1DC ctermfg=7 guibg=#660000 ctermbg=52
|
||||||
|
highlight Special guifg=#DA4939 ctermfg=167
|
||||||
|
|
||||||
|
highlight pythonBuiltin guifg=#6D9CBE ctermfg=73 gui=NONE cterm=NONE
|
||||||
|
highlight rubyBlockParameter guifg=#FFFFFF ctermfg=15
|
||||||
|
highlight rubyClass guifg=#FFFFFF ctermfg=15
|
||||||
|
highlight rubyConstant guifg=#DA4939 ctermfg=167
|
||||||
|
highlight rubyInstanceVariable guifg=#D0D0FF ctermfg=189
|
||||||
|
highlight rubyInterpolation guifg=#519F50 ctermfg=107
|
||||||
|
highlight rubyLocalVariableOrMethod guifg=#D0D0FF ctermfg=189
|
||||||
|
highlight rubyPredefinedConstant guifg=#DA4939 ctermfg=167
|
||||||
|
highlight rubyPseudoVariable guifg=#FFC66D ctermfg=221
|
||||||
|
highlight rubyStringDelimiter guifg=#A5C261 ctermfg=143
|
||||||
|
|
||||||
|
highlight xmlTag guifg=#E8BF6A ctermfg=179
|
||||||
|
highlight xmlTagName guifg=#E8BF6A ctermfg=179
|
||||||
|
highlight xmlEndTag guifg=#E8BF6A ctermfg=179
|
||||||
|
|
||||||
|
highlight mailSubject guifg=#A5C261 ctermfg=107
|
||||||
|
highlight mailHeaderKey guifg=#FFC66D ctermfg=221
|
||||||
|
highlight mailEmail guifg=#A5C261 ctermfg=107 gui=italic cterm=underline
|
||||||
|
|
||||||
|
highlight SpellBad guifg=#D70000 ctermfg=160 ctermbg=NONE cterm=underline
|
||||||
|
highlight SpellRare guifg=#D75F87 ctermfg=168 guibg=NONE ctermbg=NONE gui=underline cterm=underline
|
||||||
|
highlight SpellCap guifg=#D0D0FF ctermfg=189 guibg=NONE ctermbg=NONE gui=underline cterm=underline
|
||||||
|
highlight MatchParen guifg=#FFFFFF ctermfg=15 guibg=#005f5f ctermbg=23
|
51
dot.vim/colors/wombat.vim
Normal file
51
dot.vim/colors/wombat.vim
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
" Maintainer: Lars H. Nielsen (dengmao@gmail.com)
|
||||||
|
" Last Change: January 22 2007
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
|
||||||
|
hi clear
|
||||||
|
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
|
||||||
|
let colors_name = "wombat"
|
||||||
|
|
||||||
|
|
||||||
|
" Vim >= 7.0 specific colors
|
||||||
|
if version >= 700
|
||||||
|
hi CursorLine guibg=#2d2d2d
|
||||||
|
hi CursorColumn guibg=#2d2d2d
|
||||||
|
hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=bold
|
||||||
|
hi Pmenu guifg=#f6f3e8 guibg=#444444
|
||||||
|
hi PmenuSel guifg=#000000 guibg=#cae682
|
||||||
|
endif
|
||||||
|
|
||||||
|
" General colors
|
||||||
|
hi Cursor guifg=NONE guibg=#656565 gui=none
|
||||||
|
hi Normal guifg=#f6f3e8 guibg=#242424 gui=none
|
||||||
|
hi NonText guifg=#808080 guibg=#303030 gui=none
|
||||||
|
hi LineNr guifg=#857b6f guibg=#000000 gui=none
|
||||||
|
hi StatusLine guifg=#f6f3e8 guibg=#444444 gui=italic
|
||||||
|
hi StatusLineNC guifg=#857b6f guibg=#444444 gui=none
|
||||||
|
hi VertSplit guifg=#444444 guibg=#444444 gui=none
|
||||||
|
hi Folded guibg=#384048 guifg=#a0a8b0 gui=none
|
||||||
|
hi Title guifg=#f6f3e8 guibg=NONE gui=bold
|
||||||
|
hi Visual guifg=#f6f3e8 guibg=#444444 gui=none
|
||||||
|
hi SpecialKey guifg=#808080 guibg=#343434 gui=none
|
||||||
|
|
||||||
|
" Syntax highlighting
|
||||||
|
hi Comment guifg=#99968b gui=italic
|
||||||
|
hi Todo guifg=#8f8f8f gui=italic
|
||||||
|
hi Constant guifg=#e5786d gui=none
|
||||||
|
hi String guifg=#95e454 gui=italic
|
||||||
|
hi Identifier guifg=#cae682 gui=none
|
||||||
|
hi Function guifg=#cae682 gui=none
|
||||||
|
hi Type guifg=#cae682 gui=none
|
||||||
|
hi Statement guifg=#8ac6f2 gui=none
|
||||||
|
hi Keyword guifg=#8ac6f2 gui=none
|
||||||
|
hi PreProc guifg=#e5786d gui=none
|
||||||
|
hi Number guifg=#e5786d gui=none
|
||||||
|
hi Special guifg=#e7f6da gui=none
|
||||||
|
|
||||||
|
|
96
dot.vim/colors/wombat256mod.vim
Normal file
96
dot.vim/colors/wombat256mod.vim
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
" Vim color file
|
||||||
|
" Original Maintainer: Lars H. Nielsen (dengmao@gmail.com)
|
||||||
|
" Last Change: 2010-07-23
|
||||||
|
"
|
||||||
|
" Modified version of wombat for 256-color terminals by
|
||||||
|
" David Liang (bmdavll@gmail.com)
|
||||||
|
" based on version by
|
||||||
|
" Danila Bespalov (danila.bespalov@gmail.com)
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
|
||||||
|
if version > 580
|
||||||
|
hi clear
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
let colors_name = "wombat256mod"
|
||||||
|
|
||||||
|
|
||||||
|
" General colors
|
||||||
|
hi Normal ctermfg=252 ctermbg=234 cterm=none guifg=#e3e0d7 guibg=#242424 gui=none
|
||||||
|
hi Cursor ctermfg=234 ctermbg=228 cterm=none guifg=#242424 guibg=#eae788 gui=none
|
||||||
|
hi Visual ctermfg=251 ctermbg=239 cterm=none guifg=#c3c6ca guibg=#554d4b gui=none
|
||||||
|
hi VisualNOS ctermfg=251 ctermbg=236 cterm=none guifg=#c3c6ca guibg=#303030 gui=none
|
||||||
|
hi Search ctermfg=177 ctermbg=241 cterm=none guifg=#d787ff guibg=#636066 gui=none
|
||||||
|
hi Folded ctermfg=103 ctermbg=237 cterm=none guifg=#a0a8b0 guibg=#3a4046 gui=none
|
||||||
|
hi Title ctermfg=230 cterm=bold guifg=#ffffd7 gui=bold
|
||||||
|
hi StatusLine ctermfg=230 ctermbg=238 cterm=none guifg=#ffffd7 guibg=#444444 gui=italic
|
||||||
|
hi VertSplit ctermfg=238 ctermbg=238 cterm=none guifg=#444444 guibg=#444444 gui=none
|
||||||
|
hi StatusLineNC ctermfg=241 ctermbg=238 cterm=none guifg=#857b6f guibg=#444444 gui=none
|
||||||
|
hi LineNr ctermfg=241 ctermbg=232 cterm=none guifg=#857b6f guibg=#080808 gui=none
|
||||||
|
hi SpecialKey ctermfg=241 ctermbg=235 cterm=none guifg=#626262 guibg=#2b2b2b gui=none
|
||||||
|
hi WarningMsg ctermfg=203 guifg=#ff5f55
|
||||||
|
hi ErrorMsg ctermfg=196 ctermbg=236 cterm=bold guifg=#ff2026 guibg=#3a3a3a gui=bold
|
||||||
|
|
||||||
|
" Vim >= 7.0 specific colors
|
||||||
|
if version >= 700
|
||||||
|
hi CursorLine ctermbg=236 cterm=none guibg=#32322f
|
||||||
|
hi MatchParen ctermfg=228 ctermbg=101 cterm=bold guifg=#eae788 guibg=#857b6f gui=bold
|
||||||
|
hi Pmenu ctermfg=230 ctermbg=238 guifg=#ffffd7 guibg=#444444
|
||||||
|
hi PmenuSel ctermfg=232 ctermbg=192 guifg=#080808 guibg=#cae982
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Diff highlighting
|
||||||
|
hi DiffAdd ctermbg=17 guibg=#2a0d6a
|
||||||
|
hi DiffDelete ctermfg=234 ctermbg=60 cterm=none guifg=#242424 guibg=#3e3969 gui=none
|
||||||
|
hi DiffText ctermbg=53 cterm=none guibg=#73186e gui=none
|
||||||
|
hi DiffChange ctermbg=237 guibg=#382a37
|
||||||
|
|
||||||
|
"hi CursorIM
|
||||||
|
"hi Directory
|
||||||
|
"hi IncSearch
|
||||||
|
"hi Menu
|
||||||
|
"hi ModeMsg
|
||||||
|
"hi MoreMsg
|
||||||
|
"hi PmenuSbar
|
||||||
|
"hi PmenuThumb
|
||||||
|
"hi Question
|
||||||
|
"hi Scrollbar
|
||||||
|
"hi SignColumn
|
||||||
|
"hi SpellBad
|
||||||
|
"hi SpellCap
|
||||||
|
"hi SpellLocal
|
||||||
|
"hi SpellRare
|
||||||
|
"hi TabLine
|
||||||
|
"hi TabLineFill
|
||||||
|
"hi TabLineSel
|
||||||
|
"hi Tooltip
|
||||||
|
"hi User1
|
||||||
|
"hi User9
|
||||||
|
"hi WildMenu
|
||||||
|
|
||||||
|
|
||||||
|
" Syntax highlighting
|
||||||
|
hi Keyword ctermfg=111 cterm=none guifg=#88b8f6 gui=none
|
||||||
|
hi Statement ctermfg=111 cterm=none guifg=#88b8f6 gui=none
|
||||||
|
hi Constant ctermfg=173 cterm=none guifg=#e5786d gui=none
|
||||||
|
hi Number ctermfg=173 cterm=none guifg=#e5786d gui=none
|
||||||
|
hi PreProc ctermfg=173 cterm=none guifg=#e5786d gui=none
|
||||||
|
hi Function ctermfg=192 cterm=none guifg=#cae982 gui=none
|
||||||
|
hi Identifier ctermfg=192 cterm=none guifg=#cae982 gui=none
|
||||||
|
hi Type ctermfg=186 cterm=none guifg=#d4d987 gui=none
|
||||||
|
hi Special ctermfg=229 cterm=none guifg=#eadead gui=none
|
||||||
|
hi String ctermfg=113 cterm=none guifg=#95e454 gui=italic
|
||||||
|
hi Comment ctermfg=246 cterm=none guifg=#9c998e gui=italic
|
||||||
|
hi Todo ctermfg=101 cterm=none guifg=#857b6f gui=italic
|
||||||
|
|
||||||
|
|
||||||
|
" Links
|
||||||
|
hi! link FoldColumn Folded
|
||||||
|
hi! link CursorColumn CursorLine
|
||||||
|
hi! link NonText LineNr
|
||||||
|
|
||||||
|
" vim:set ts=4 sw=4 noet:
|
315
dot.vim/colors/zenburn.vim
Normal file
315
dot.vim/colors/zenburn.vim
Normal file
|
@ -0,0 +1,315 @@
|
||||||
|
" Vim color file
|
||||||
|
" Maintainer: Jani Nurminen <slinky@iki.fi>
|
||||||
|
" Last Change: $Id: zenburn.vim,v 2.5 2009/09/06 08:51:59 slinky Exp slinky $
|
||||||
|
" URL: http://slinky.imukuppi.org/zenburnpage/
|
||||||
|
" License: GPL
|
||||||
|
"
|
||||||
|
" Nothing too fancy, just some alien fruit salad to keep you in the zone.
|
||||||
|
" This syntax file was designed to be used with dark environments and
|
||||||
|
" low light situations. Of course, if it works during a daybright office, go
|
||||||
|
" ahead :)
|
||||||
|
"
|
||||||
|
" Owes heavily to other Vim color files! With special mentions
|
||||||
|
" to "BlackDust", "Camo" and "Desert".
|
||||||
|
"
|
||||||
|
" To install, copy to ~/.vim/colors directory. Then :colorscheme zenburn.
|
||||||
|
" See also :help syntax
|
||||||
|
"
|
||||||
|
" Credits:
|
||||||
|
" - Jani Nurminen - original Zenburn
|
||||||
|
" - Steve Hall & Cream posse - higher-contrast Visual selection
|
||||||
|
" - Kurt Maier - 256 color console coloring, low and high contrast toggle,
|
||||||
|
" bug fixing
|
||||||
|
" - Charlie - spotted too bright StatusLine in non-high contrast mode
|
||||||
|
" - Pablo Castellazzi - CursorLine fix for 256 color mode
|
||||||
|
" - Tim Smith - force dark background
|
||||||
|
" - John Gabriele - spotted bad Ignore-group handling
|
||||||
|
"
|
||||||
|
" CONFIGURABLE PARAMETERS:
|
||||||
|
"
|
||||||
|
" You can use the default (don't set any parameters), or you can
|
||||||
|
" set some parameters to tweak the Zenburn colours.
|
||||||
|
"
|
||||||
|
" * You can now set a darker background for bright environments. To activate, use:
|
||||||
|
" contrast Zenburn, use:
|
||||||
|
"
|
||||||
|
" let g:zenburn_high_Contrast = 1
|
||||||
|
"
|
||||||
|
" * For example, Vim help files uses the Ignore-group for the pipes in tags
|
||||||
|
" like "|somelink.txt|". By default, the pipes are not visible, as they
|
||||||
|
" map to Ignore group. If you wish to enable coloring of the Ignore group,
|
||||||
|
" set the following parameter to 1. Warning, it might make some syntax files
|
||||||
|
" look strange.
|
||||||
|
"
|
||||||
|
" let g:zenburn_color_also_Ignore = 1
|
||||||
|
"
|
||||||
|
" * To get more contrast to the Visual selection, use
|
||||||
|
"
|
||||||
|
" let g:zenburn_alternate_Visual = 1
|
||||||
|
"
|
||||||
|
" * To use alternate colouring for Error message, use
|
||||||
|
"
|
||||||
|
" let g:zenburn_alternate_Error = 1
|
||||||
|
"
|
||||||
|
" * The new default for Include is a duller orange. To use the original
|
||||||
|
" colouring for Include, use
|
||||||
|
"
|
||||||
|
" let g:zenburn_alternate_Include = 1
|
||||||
|
"
|
||||||
|
" * Work-around to a Vim bug, it seems to misinterpret ctermfg and 234 and 237
|
||||||
|
" as light values, and sets background to light for some people. If you have
|
||||||
|
" this problem, use:
|
||||||
|
"
|
||||||
|
" let g:zenburn_force_dark_Background = 1
|
||||||
|
"
|
||||||
|
" * To turn the parameter(s) back to defaults, use UNLET:
|
||||||
|
"
|
||||||
|
" unlet g:zenburn_alternate_Include
|
||||||
|
"
|
||||||
|
" Setting to 0 won't work!
|
||||||
|
"
|
||||||
|
" That's it, enjoy!
|
||||||
|
"
|
||||||
|
" TODO
|
||||||
|
" - Visual alternate color is broken? Try GVim >= 7.0.66 if you have trouble
|
||||||
|
" - IME colouring (CursorIM)
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
hi clear
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
let g:colors_name="zenburn"
|
||||||
|
|
||||||
|
hi Boolean guifg=#dca3a3
|
||||||
|
hi Character guifg=#dca3a3 gui=bold
|
||||||
|
hi Comment guifg=#7f9f7f gui=italic
|
||||||
|
hi Conditional guifg=#f0dfaf gui=bold
|
||||||
|
hi Constant guifg=#dca3a3 gui=bold
|
||||||
|
hi Cursor guifg=#000d18 guibg=#8faf9f gui=bold
|
||||||
|
hi Debug guifg=#bca3a3 gui=bold
|
||||||
|
hi Define guifg=#ffcfaf gui=bold
|
||||||
|
hi Delimiter guifg=#8f8f8f
|
||||||
|
hi DiffAdd guifg=#709080 guibg=#313c36 gui=bold
|
||||||
|
hi DiffChange guibg=#333333
|
||||||
|
hi DiffDelete guifg=#333333 guibg=#464646
|
||||||
|
hi DiffText guifg=#ecbcbc guibg=#41363c gui=bold
|
||||||
|
hi Directory guifg=#dcdccc gui=bold
|
||||||
|
hi ErrorMsg guifg=#80d4aa guibg=#2f2f2f gui=bold
|
||||||
|
hi Exception guifg=#c3bf9f gui=bold
|
||||||
|
hi Float guifg=#c0bed1
|
||||||
|
hi FoldColumn guifg=#93b3a3 guibg=#3f4040
|
||||||
|
hi Folded guifg=#93b3a3 guibg=#3f4040
|
||||||
|
hi Function guifg=#efef8f
|
||||||
|
hi Identifier guifg=#efdcbc
|
||||||
|
hi IncSearch guibg=#f8f893 guifg=#385f38
|
||||||
|
hi Keyword guifg=#f0dfaf gui=bold
|
||||||
|
hi Label guifg=#dfcfaf gui=underline
|
||||||
|
hi LineNr guifg=#9fafaf guibg=#262626
|
||||||
|
hi Macro guifg=#ffcfaf gui=bold
|
||||||
|
hi ModeMsg guifg=#ffcfaf gui=none
|
||||||
|
hi MoreMsg guifg=#ffffff gui=bold
|
||||||
|
hi NonText guifg=#404040
|
||||||
|
hi Number guifg=#8cd0d3
|
||||||
|
hi Operator guifg=#f0efd0
|
||||||
|
hi PreCondit guifg=#dfaf8f gui=bold
|
||||||
|
hi PreProc guifg=#ffcfaf gui=bold
|
||||||
|
hi Question guifg=#ffffff gui=bold
|
||||||
|
hi Repeat guifg=#ffd7a7 gui=bold
|
||||||
|
hi Search guifg=#ffffe0 guibg=#284f28
|
||||||
|
hi SpecialChar guifg=#dca3a3 gui=bold
|
||||||
|
hi SpecialComment guifg=#82a282 gui=bold
|
||||||
|
hi Special guifg=#cfbfaf
|
||||||
|
hi SpecialKey guifg=#9ece9e
|
||||||
|
hi Statement guifg=#e3ceab gui=none
|
||||||
|
hi StatusLine guifg=#313633 guibg=#ccdc90
|
||||||
|
hi StatusLineNC guifg=#2e3330 guibg=#88b090
|
||||||
|
hi StorageClass guifg=#c3bf9f gui=bold
|
||||||
|
hi String guifg=#cc9393
|
||||||
|
hi Structure guifg=#efefaf gui=bold
|
||||||
|
hi Tag guifg=#e89393 gui=bold
|
||||||
|
hi Title guifg=#efefef gui=bold
|
||||||
|
hi Todo guifg=#dfdfdf guibg=bg gui=bold
|
||||||
|
hi Typedef guifg=#dfe4cf gui=bold
|
||||||
|
hi Type guifg=#dfdfbf gui=bold
|
||||||
|
hi Underlined guifg=#dcdccc gui=underline
|
||||||
|
hi VertSplit guifg=#2e3330 guibg=#688060
|
||||||
|
hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline
|
||||||
|
hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold
|
||||||
|
hi WildMenu guibg=#2c302d guifg=#cbecd0 gui=underline
|
||||||
|
|
||||||
|
hi SpellBad guisp=#bc6c4c guifg=#dc8c6c
|
||||||
|
hi SpellCap guisp=#6c6c9c guifg=#8c8cbc
|
||||||
|
hi SpellRare guisp=#bc6c9c guifg=#bc8cbc
|
||||||
|
hi SpellLocal guisp=#7cac7c guifg=#9ccc9c
|
||||||
|
|
||||||
|
" Entering Kurt zone
|
||||||
|
if &t_Co > 255
|
||||||
|
hi Boolean ctermfg=181
|
||||||
|
hi Character ctermfg=181 cterm=bold
|
||||||
|
hi Comment ctermfg=108
|
||||||
|
hi Conditional ctermfg=223 cterm=bold
|
||||||
|
hi Constant ctermfg=181 cterm=bold
|
||||||
|
hi Cursor ctermfg=233 ctermbg=109 cterm=bold
|
||||||
|
hi Debug ctermfg=181 cterm=bold
|
||||||
|
hi Define ctermfg=223 cterm=bold
|
||||||
|
hi Delimiter ctermfg=245
|
||||||
|
hi DiffAdd ctermfg=66 ctermbg=237 cterm=bold
|
||||||
|
hi DiffChange ctermbg=236
|
||||||
|
hi DiffDelete ctermfg=236 ctermbg=238
|
||||||
|
hi DiffText ctermfg=217 ctermbg=237 cterm=bold
|
||||||
|
hi Directory ctermfg=188 cterm=bold
|
||||||
|
hi ErrorMsg ctermfg=115 ctermbg=236 cterm=bold
|
||||||
|
hi Exception ctermfg=249 cterm=bold
|
||||||
|
hi Float ctermfg=251
|
||||||
|
hi FoldColumn ctermfg=109 ctermbg=238
|
||||||
|
hi Folded ctermfg=109 ctermbg=238
|
||||||
|
hi Function ctermfg=228
|
||||||
|
hi Identifier ctermfg=223
|
||||||
|
hi IncSearch ctermbg=228 ctermfg=238
|
||||||
|
hi Keyword ctermfg=223 cterm=bold
|
||||||
|
hi Label ctermfg=187 cterm=underline
|
||||||
|
hi LineNr ctermfg=248 ctermbg=235
|
||||||
|
hi Macro ctermfg=223 cterm=bold
|
||||||
|
hi ModeMsg ctermfg=223 cterm=none
|
||||||
|
hi MoreMsg ctermfg=15 cterm=bold
|
||||||
|
hi NonText ctermfg=238
|
||||||
|
hi Number ctermfg=116
|
||||||
|
hi Operator ctermfg=230
|
||||||
|
hi PreCondit ctermfg=180 cterm=bold
|
||||||
|
hi PreProc ctermfg=223 cterm=bold
|
||||||
|
hi Question ctermfg=15 cterm=bold
|
||||||
|
hi Repeat ctermfg=223 cterm=bold
|
||||||
|
hi Search ctermfg=230 ctermbg=236
|
||||||
|
hi SpecialChar ctermfg=181 cterm=bold
|
||||||
|
hi SpecialComment ctermfg=108 cterm=bold
|
||||||
|
hi Special ctermfg=181
|
||||||
|
hi SpecialKey ctermfg=151
|
||||||
|
hi Statement ctermfg=187 ctermbg=234 cterm=none
|
||||||
|
hi StatusLine ctermfg=236 ctermbg=186
|
||||||
|
hi StatusLineNC ctermfg=235 ctermbg=108
|
||||||
|
hi StorageClass ctermfg=249 cterm=bold
|
||||||
|
hi String ctermfg=174
|
||||||
|
hi Structure ctermfg=229 cterm=bold
|
||||||
|
hi Tag ctermfg=181 cterm=bold
|
||||||
|
hi Title ctermfg=7 ctermbg=234 cterm=bold
|
||||||
|
hi Todo ctermfg=108 ctermbg=234 cterm=bold
|
||||||
|
hi Typedef ctermfg=253 cterm=bold
|
||||||
|
hi Type ctermfg=187 cterm=bold
|
||||||
|
hi Underlined ctermfg=188 ctermbg=234 cterm=bold
|
||||||
|
hi VertSplit ctermfg=236 ctermbg=65
|
||||||
|
hi VisualNOS ctermfg=236 ctermbg=210 cterm=bold
|
||||||
|
hi WarningMsg ctermfg=15 ctermbg=236 cterm=bold
|
||||||
|
hi WildMenu ctermbg=236 ctermfg=194 cterm=bold
|
||||||
|
hi CursorLine ctermbg=236 cterm=none
|
||||||
|
|
||||||
|
" spellchecking, always "bright" background
|
||||||
|
hi SpellLocal ctermfg=14 ctermbg=237
|
||||||
|
hi SpellBad ctermfg=9 ctermbg=237
|
||||||
|
hi SpellCap ctermfg=12 ctermbg=237
|
||||||
|
hi SpellRare ctermfg=13 ctermbg=237
|
||||||
|
|
||||||
|
" pmenu
|
||||||
|
hi PMenu ctermfg=248 ctermbg=0
|
||||||
|
hi PMenuSel ctermfg=223 ctermbg=235
|
||||||
|
|
||||||
|
if exists("g:zenburn_high_Contrast")
|
||||||
|
hi Normal ctermfg=188 ctermbg=234
|
||||||
|
else
|
||||||
|
hi Normal ctermfg=188 ctermbg=237
|
||||||
|
hi Cursor ctermbg=109
|
||||||
|
hi diffadd ctermbg=237
|
||||||
|
hi diffdelete ctermbg=238
|
||||||
|
hi difftext ctermbg=237
|
||||||
|
hi errormsg ctermbg=237
|
||||||
|
hi foldcolumn ctermbg=238
|
||||||
|
hi folded ctermbg=238
|
||||||
|
hi incsearch ctermbg=228
|
||||||
|
hi linenr ctermbg=238
|
||||||
|
hi search ctermbg=238
|
||||||
|
hi statement ctermbg=237
|
||||||
|
hi statusline ctermbg=144
|
||||||
|
hi statuslinenc ctermbg=108
|
||||||
|
hi title ctermbg=237
|
||||||
|
hi todo ctermbg=237
|
||||||
|
hi underlined ctermbg=237
|
||||||
|
hi vertsplit ctermbg=65
|
||||||
|
hi visualnos ctermbg=210
|
||||||
|
hi warningmsg ctermbg=236
|
||||||
|
hi wildmenu ctermbg=236
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists("g:zenburn_force_dark_Background")
|
||||||
|
" Force dark background, because of a bug in VIM: VIM sets background
|
||||||
|
" automatically during "hi Normal ctermfg=X"; it misinterprets the high
|
||||||
|
" value (234 or 237 above) as a light color, and wrongly sets background to
|
||||||
|
" light. See ":help highlight" for details.
|
||||||
|
set background=dark
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists("g:zenburn_high_Contrast")
|
||||||
|
" use new darker background
|
||||||
|
hi Normal guifg=#dcdccc guibg=#1f1f1f
|
||||||
|
hi CursorLine guibg=#121212 gui=bold
|
||||||
|
hi Pmenu guibg=#242424 guifg=#ccccbc
|
||||||
|
hi PMenuSel guibg=#353a37 guifg=#ccdc90 gui=bold
|
||||||
|
hi PmenuSbar guibg=#2e3330 guifg=#000000
|
||||||
|
hi PMenuThumb guibg=#a0afa0 guifg=#040404
|
||||||
|
hi MatchParen guifg=#f0f0c0 guibg=#383838 gui=bold
|
||||||
|
hi SignColumn guifg=#9fafaf guibg=#181818 gui=bold
|
||||||
|
hi TabLineFill guifg=#cfcfaf guibg=#181818 gui=bold
|
||||||
|
hi TabLineSel guifg=#efefef guibg=#1c1c1b gui=bold
|
||||||
|
hi TabLine guifg=#b6bf98 guibg=#181818 gui=bold
|
||||||
|
hi CursorColumn guifg=#dcdccc guibg=#2b2b2b
|
||||||
|
else
|
||||||
|
" Original, lighter background
|
||||||
|
hi Normal guifg=#dcdccc guibg=#3f3f3f
|
||||||
|
hi CursorLine guibg=#434443
|
||||||
|
hi Pmenu guibg=#2c2e2e guifg=#9f9f9f
|
||||||
|
hi PMenuSel guibg=#242424 guifg=#d0d0a0 gui=bold
|
||||||
|
hi PmenuSbar guibg=#2e3330 guifg=#000000
|
||||||
|
hi PMenuThumb guibg=#a0afa0 guifg=#040404
|
||||||
|
hi MatchParen guifg=#b2b2a0 guibg=#2e2e2e gui=bold
|
||||||
|
hi SignColumn guifg=#9fafaf guibg=#343434 gui=bold
|
||||||
|
hi TabLineFill guifg=#cfcfaf guibg=#353535 gui=bold
|
||||||
|
hi TabLineSel guifg=#efefef guibg=#3a3a39 gui=bold
|
||||||
|
hi TabLine guifg=#b6bf98 guibg=#353535 gui=bold
|
||||||
|
hi CursorColumn guifg=#dcdccc guibg=#4f4f4f
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
if exists("g:zenburn_alternate_Visual")
|
||||||
|
" Visual with more contrast, thanks to Steve Hall & Cream posse
|
||||||
|
" gui=none fixes weird highlight problem in at least GVim 7.0.66, thanks to Kurt Maier
|
||||||
|
hi Visual guifg=#000000 guibg=#71d3b4 gui=none
|
||||||
|
hi VisualNOS guifg=#000000 guibg=#71d3b4 gui=none
|
||||||
|
else
|
||||||
|
" use default visual
|
||||||
|
hi Visual guifg=#233323 guibg=#71d3b4 gui=none
|
||||||
|
hi VisualNOS guifg=#233323 guibg=#71d3b4 gui=none
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists("g:zenburn_alternate_Error")
|
||||||
|
" use a bit different Error
|
||||||
|
hi Error guifg=#ef9f9f guibg=#201010 gui=bold
|
||||||
|
else
|
||||||
|
" default
|
||||||
|
hi Error guifg=#e37170 guibg=#332323 gui=none
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists("g:zenburn_alternate_Include")
|
||||||
|
" original setting
|
||||||
|
hi Include guifg=#ffcfaf gui=bold
|
||||||
|
else
|
||||||
|
" new, less contrasted one
|
||||||
|
hi Include guifg=#dfaf8f gui=bold
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists("g:zenburn_color_also_Ignore")
|
||||||
|
" color the Ignore groups
|
||||||
|
" note: if you get strange coloring for your files, turn this off (unlet)
|
||||||
|
hi Ignore guifg=#545a4f
|
||||||
|
endif
|
||||||
|
|
||||||
|
" TODO check for more obscure syntax groups that they're ok
|
19
dot.vim/compiler/javac_ex.vim
Normal file
19
dot.vim/compiler/javac_ex.vim
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
" Vim compiler file
|
||||||
|
" Compiler: javac
|
||||||
|
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||||
|
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/javac.vim
|
||||||
|
" Last Change: 2004 Nov 27
|
||||||
|
|
||||||
|
if exists("current_compiler")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let current_compiler = "javac_ex"
|
||||||
|
|
||||||
|
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||||
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
|
endif
|
||||||
|
|
||||||
|
CompilerSet makeprg=javac
|
||||||
|
|
||||||
|
"CompilerSet errorformat=%E%f:%l:\ %m,%-Z%p^,%-C%.%#,%-G%.%#
|
||||||
|
CompilerSet errorformat=%E%f:%l:\ %m,%-Z%p^,%+C%.%#,%-G.%#
|
129
dot.vim/doc/CuteTodoList.txt
Normal file
129
dot.vim/doc/CuteTodoList.txt
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
*CuteTodoList.txt* Plugin to handle a todo list, nicely (v1.3)
|
||||||
|
|
||||||
|
Cute Todo List Plugin ~
|
||||||
|
|
||||||
|
1. The what and why of todoLists. |cuteTodoList|
|
||||||
|
2. How to use the different commands. |cuteTodoCommands|
|
||||||
|
3. How to manage the list. |cuteBufferUsage|
|
||||||
|
4. How to tweak the Todo list. |cuteTodoConfiguration|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*cuteTodoList*
|
||||||
|
|
||||||
|
1. Why a Cute Todo list that even kitteh can't match ?~
|
||||||
|
The aim of this plug-in is to provide a nice 'to do' list which doesn't
|
||||||
|
interfere with your code. All the things to do are stored in separate
|
||||||
|
files.
|
||||||
|
|
||||||
|
Moreover the tasks can have priorities, and be sorted accordingly,
|
||||||
|
which help to manage the work flow without leaving Vim.
|
||||||
|
|
||||||
|
The files containing tasks are stored at two distinct places : >
|
||||||
|
~/.global.todo.txt
|
||||||
|
$pwd/.todo.txt
|
||||||
|
<
|
||||||
|
The global one is stored on your home directory, opened every time you use
|
||||||
|
the to-do list. The local one is intended to be used as a project-specific
|
||||||
|
list.
|
||||||
|
|
||||||
|
This plug-in can also extract all tasks gathered in your open buffer.
|
||||||
|
If you mark something TODO in your document, you will see it appear in the
|
||||||
|
list after the next (manual) update.
|
||||||
|
|
||||||
|
To be able to use this plugin, you must put : >
|
||||||
|
set nocompatible
|
||||||
|
> somwhere on your .vimrc
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*cuteTodoCommands* List of hoogle related command
|
||||||
|
|
||||||
|
2. Cute Todo List commands ~
|
||||||
|
*TodoOpen* *:TodoOpen*
|
||||||
|
:TodoOpen
|
||||||
|
Open the Todo Window at the top or bottom of your current window. Cursor
|
||||||
|
stay at it's current position.
|
||||||
|
|
||||||
|
*TodoClose* *:TodoClose*
|
||||||
|
:TodoClose
|
||||||
|
Close the Todo Window, whenever it is. Cursor stay where it is.
|
||||||
|
|
||||||
|
*Todo* *:Todo*
|
||||||
|
:Todo
|
||||||
|
Add a todo in the local list. A prompt will appear to type the todo text.
|
||||||
|
|
||||||
|
*Todog* *:Todog*
|
||||||
|
:Todog
|
||||||
|
Add a todo in the global list. A prompt will appear to type the todo text.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*cuteBufferUsage* How to use the todolist buffer
|
||||||
|
|
||||||
|
3. Cute Todo List Buffer usage. ~
|
||||||
|
*todo_+*
|
||||||
|
+
|
||||||
|
Increase task priority. The icon should transform from down arrow to (!).
|
||||||
|
|
||||||
|
*todo_-*
|
||||||
|
-
|
||||||
|
Decrease task priority. The icon should transform from (!) to down arrow.
|
||||||
|
|
||||||
|
*todo_^*
|
||||||
|
^
|
||||||
|
Move the task up in the list.
|
||||||
|
|
||||||
|
*todo_v*
|
||||||
|
v
|
||||||
|
Move the task down in the list.
|
||||||
|
|
||||||
|
*todo_m*
|
||||||
|
m
|
||||||
|
Modify the task, you'll be prompted to modify the text in the command
|
||||||
|
line.
|
||||||
|
|
||||||
|
*todo_o*
|
||||||
|
o
|
||||||
|
Jump to the location of the gathered todo.
|
||||||
|
|
||||||
|
*todo_s*
|
||||||
|
s
|
||||||
|
Sort the todos. Press multiple times to change sorting factor.
|
||||||
|
|
||||||
|
*todo_u*
|
||||||
|
u
|
||||||
|
Scan all the open buffer to search for TODO and add them to the todo list
|
||||||
|
view.
|
||||||
|
*<S-D>*
|
||||||
|
<S-D>
|
||||||
|
Delete a task, no confirmation asked. the simple 'd' was avoided to
|
||||||
|
prevent manipulation error.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*cuteTodoConfiguration* Variables controlling CuteTodoList configuration
|
||||||
|
|
||||||
|
4. Cute Todo List tweaks ~
|
||||||
|
|
||||||
|
*g:todo_list_buff_name* *todo_list_buff_name*
|
||||||
|
g:todo_list_buff_name
|
||||||
|
Default name of the todo list window, the default is 'Todo\ List', you
|
||||||
|
must escape spaces, as it is used as an Ex command argument. To change the
|
||||||
|
window name, use the following command : >
|
||||||
|
:let g:todo_list_buff_name= 'The\ name\ you\ want'
|
||||||
|
<
|
||||||
|
|
||||||
|
*g:todo_generate_auto* *todo_generate_auto*
|
||||||
|
g:todo_generate_auto
|
||||||
|
To disable automatic generation : >
|
||||||
|
:let g:todo_generate_auto = 0
|
||||||
|
<
|
||||||
|
*g:todo_list_filename* *todo_list_filename*
|
||||||
|
g:todo_list_filename
|
||||||
|
File name used to store the todo lists. The default is .todo.txt
|
||||||
|
|
||||||
|
*g:todo_list_globfilename* *todo_list_globfilename*
|
||||||
|
g:todo_list_globfilename
|
||||||
|
File name used to store the global todo list. The defult is
|
||||||
|
'.global.todo.txt'
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
|
60
dot.vim/doc/Makefile
Normal file
60
dot.vim/doc/Makefile
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
projects = latex-suite latex-suite-quickstart
|
||||||
|
htmlfiles = $(addsuffix .html, $(projects))
|
||||||
|
txtfiles = $(addsuffix .txt, $(projects))
|
||||||
|
cssfiles = $(addsuffix .css, $(projects))
|
||||||
|
all = $(projects) $(htmlfiles) $(cssfiles) $(txtfiles)
|
||||||
|
|
||||||
|
|
||||||
|
xsltproc=xsltproc
|
||||||
|
db2vim=../../db2vim/db2vim
|
||||||
|
|
||||||
|
# Use for debugging:
|
||||||
|
#xsltproc=strace -e trace=file xsltproc --nonet --load-trace
|
||||||
|
# export XML_DEBUG_CATALOG = 1
|
||||||
|
|
||||||
|
# Specify local catalog to not use system installed dtd/xsl files
|
||||||
|
# export XML_CATALOG_FILES=catalog.xml
|
||||||
|
|
||||||
|
# User configuration of this Makefile goes into Makefile.local
|
||||||
|
# E.g. to use a catalog file installed by the user.
|
||||||
|
-include Makefile.local
|
||||||
|
|
||||||
|
# Default Target is to create all documentation files
|
||||||
|
all: $(all)
|
||||||
|
|
||||||
|
# create multi page html (chunk xhtml)
|
||||||
|
$(projects): %: %.xml latex-suite-chunk.xsl latex-suite-common.xsl
|
||||||
|
$(xsltproc) -o $@/ latex-suite-chunk.xsl $<
|
||||||
|
|
||||||
|
# create single html files
|
||||||
|
$(htmlfiles): %.html: %.xml latex-suite.xsl latex-suite-common.xsl
|
||||||
|
$(xsltproc) -o $@ latex-suite.xsl $<
|
||||||
|
|
||||||
|
# create vim flat files
|
||||||
|
latex-suite.txt: %.txt: %.xml
|
||||||
|
$(db2vim) --prefix=ls_ $< > $@
|
||||||
|
|
||||||
|
latex-suite-quickstart.txt: %.txt: %.xml
|
||||||
|
$(db2vim) --prefix=lq_ $< > $@
|
||||||
|
|
||||||
|
# validate xml
|
||||||
|
validate:
|
||||||
|
for file in *.xml; do \
|
||||||
|
xmllint --valid --noout $$file; \
|
||||||
|
done
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(htmlfiles)
|
||||||
|
rm -rf $(projects)
|
||||||
|
|
||||||
|
# $(txtfiles) are currently in revision control, therefore they are not
|
||||||
|
# removed in the clean target
|
||||||
|
mr-proper: clean
|
||||||
|
rm -f $(txtfiles)
|
||||||
|
|
||||||
|
upload: $(all)
|
||||||
|
rsync --delete -lrtvz $(all) shell.sourceforge.net:/home/groups/v/vi/vim-latex/htdocs/documentation/
|
||||||
|
# Make sure that directories are group writeable, depends on bash beeing the remote shell
|
||||||
|
ssh shell.sourceforge.net chmod g+w "/home/groups/v/vi/vim-latex/htdocs/documentation/latex-suite{,-quickstart}"
|
||||||
|
|
||||||
|
# vim:nowrap
|
29
dot.vim/doc/Makefile.in
Normal file
29
dot.vim/doc/Makefile.in
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# Manual files
|
||||||
|
ls-flat:
|
||||||
|
java com.icl.saxon.StyleSheet latex-suite.xml latex-suite.xsl > latex-suite.html
|
||||||
|
|
||||||
|
ls-chunk:
|
||||||
|
( \
|
||||||
|
cd latex-suite && \
|
||||||
|
java com.icl.saxon.StyleSheet ../latex-suite.xml ../latex-suite-chunk.xsl \
|
||||||
|
)
|
||||||
|
|
||||||
|
ls-txt:
|
||||||
|
db2vim --prefix=ls_ latex-suite.xml > latex-suite.txt
|
||||||
|
|
||||||
|
# Quickstart files
|
||||||
|
lsq-flat:
|
||||||
|
java com.icl.saxon.StyleSheet latex-suite-quickstart.xml latex-suite.xsl > latex-suite-quickstart.html
|
||||||
|
|
||||||
|
lsq-chunk:
|
||||||
|
( \
|
||||||
|
cd latex-suite-quickstart && \
|
||||||
|
java com.icl.saxon.StyleSheet ../latex-suite-quickstart.xml ../latex-suite-chunk.xsl \
|
||||||
|
)
|
||||||
|
|
||||||
|
lsq-txt:
|
||||||
|
db2vim --prefix=lq_ latex-suite-quickstart.xml > latex-suite-quickstart.txt
|
||||||
|
|
||||||
|
cvsci:
|
||||||
|
cvs ci latex-suite.xml latex-suite.txt
|
||||||
|
# vim:nowrap
|
1266
dot.vim/doc/NERD_commenter.txt
Normal file
1266
dot.vim/doc/NERD_commenter.txt
Normal file
File diff suppressed because it is too large
Load diff
110
dot.vim/doc/README
Normal file
110
dot.vim/doc/README
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
This file is outdated, please look at README.new for updated information
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
====================================
|
||||||
|
Generating Latex-Suite documentation
|
||||||
|
====================================
|
||||||
|
|
||||||
|
In order to generate the html files and vim-help files from the XML source,
|
||||||
|
you will need to do follow the following steps. The steps are complex only
|
||||||
|
for a windows machine. On most (modern) linux machines, the various
|
||||||
|
utilities are already installed and all you need to do is some
|
||||||
|
soft-linking.
|
||||||
|
|
||||||
|
1. Download the Docbook XSL stylesheets from
|
||||||
|
|
||||||
|
http://sourceforge.net/project/showfiles.php?group_id=21935
|
||||||
|
|
||||||
|
I downloaded docbook-xsl-1.61.2.tar.gz. Unpack this archive under the
|
||||||
|
present directory. You should see something like::
|
||||||
|
|
||||||
|
./docbook-xsl-1.XX.X/
|
||||||
|
|
||||||
|
Rename this to::
|
||||||
|
|
||||||
|
./docbook-xsl
|
||||||
|
|
||||||
|
Alternatively, if you are on a modern unix system, the docbook-xsl
|
||||||
|
stylesheets should already be installed on your system. Soft-linking
|
||||||
|
will thus work more simply. On a typical Debian box, just do::
|
||||||
|
|
||||||
|
ln -s /usr/share/sgml/docbook/stylesheet/xsl/nwalsh docbook-xsl
|
||||||
|
|
||||||
|
The docbook-xsl stylesheets can be installed via the docbook-xsl
|
||||||
|
package on Debian. (Just use apt-get).
|
||||||
|
|
||||||
|
2. Download the Docbook DTD from
|
||||||
|
|
||||||
|
http://www.oasis-open.org/docbook/xml/4.2/docbook-xml-4.2.zip
|
||||||
|
|
||||||
|
Extract this into a subdirectory ``docbook-xml/`` under the present
|
||||||
|
directory. You should see something like::
|
||||||
|
|
||||||
|
./docbook-xml/
|
||||||
|
|
||||||
|
with a file ``docbookx.dtd`` located there.
|
||||||
|
|
||||||
|
**CAUTION**:
|
||||||
|
The archive above does not create a top level directory but
|
||||||
|
unzips directly into the present directory. Therefore, make sure to
|
||||||
|
run the unzip by first creating ``./docbook-xml/``, copying the zip
|
||||||
|
file there and then unzipping.
|
||||||
|
|
||||||
|
Alternatively, if you are on a modern unix system, the docbook-xml DTD
|
||||||
|
will already be installed. Softlinking will thus work. On a typical
|
||||||
|
Debian box, you could do::
|
||||||
|
|
||||||
|
ln -s /usr/share/sgml/docbook/dtd/xml/4.2 docbook-xml
|
||||||
|
|
||||||
|
On debian, you need the docbook-xml package on Debian. (Just use
|
||||||
|
apt-get).
|
||||||
|
|
||||||
|
3. Download saxon.jar from
|
||||||
|
|
||||||
|
http://vim-latex.sourceforge.net/documentation/saxon.jar
|
||||||
|
|
||||||
|
This is the bare .jar file without any of the other things which saxon
|
||||||
|
comes with. Add the ``saxon.jar`` file to your ``$CLASSPATH`` setting.
|
||||||
|
|
||||||
|
**NOTE:**
|
||||||
|
The ``$CLASSPATH`` setting should point to the ``saxon.jar`` file,
|
||||||
|
not the directory where it resides.
|
||||||
|
|
||||||
|
Again, on a unix system, you might not need to download this. For debian
|
||||||
|
systems, the saxon.jar file resides in::
|
||||||
|
|
||||||
|
/usr/share/java/saxon.jar
|
||||||
|
|
||||||
|
You can point your ``$CLASSPATH`` to that file.
|
||||||
|
|
||||||
|
4. Download db2vim (created by me :)) via anonymous cvs::
|
||||||
|
|
||||||
|
mkdir -p ~/bin/db2vim
|
||||||
|
cvs -d :pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex \
|
||||||
|
co -d ~/bin/db2vim db2vim
|
||||||
|
|
||||||
|
Add the ``~/bin/db2vim/`` directory thus created to your ``$PATH``
|
||||||
|
setting.
|
||||||
|
|
||||||
|
5. Create a new directory ``latex-suite/`` under the present directory for
|
||||||
|
the chunked html files to reside in. You should see something like::
|
||||||
|
|
||||||
|
./latex-suite/
|
||||||
|
|
||||||
|
6. Copy ``Makefile.in`` to ``Makefile`` or ``makefile`` and perform any
|
||||||
|
necessary customizations. For example, if you are using Activestate
|
||||||
|
python under windows, you will need to change the ls-txt: target as::
|
||||||
|
|
||||||
|
python e:/srinath/testing/db2vim/db2vim latex-suite.xml > latex-suite.txt
|
||||||
|
|
||||||
|
|
||||||
|
Thats it! You are ready. Now you can do::
|
||||||
|
|
||||||
|
make ls-chunk
|
||||||
|
make ls-flat
|
||||||
|
make ls-txt
|
||||||
|
|
||||||
|
to create the 3 formats.
|
||||||
|
|
||||||
|
Author: Srinath Avadhanula <srinath@fastmail.fm>
|
17
dot.vim/doc/README.new
Normal file
17
dot.vim/doc/README.new
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
====================================
|
||||||
|
Generating Latex-Suite documentation
|
||||||
|
====================================
|
||||||
|
|
||||||
|
You need:
|
||||||
|
- xsltproc
|
||||||
|
- Docbook XSL stylesheets (*)
|
||||||
|
- Docbook DTD (*)
|
||||||
|
|
||||||
|
(*) These files will be downloaded every time you create the documentation,
|
||||||
|
unless you install or download them.
|
||||||
|
|
||||||
|
On Fedora, you can run as root:
|
||||||
|
|
||||||
|
yum install libxslt docbook-style-xsl docbook-dtds
|
||||||
|
|
||||||
|
to install the required packages.
|
113
dot.vim/doc/RltvNmbr.txt
Normal file
113
dot.vim/doc/RltvNmbr.txt
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
*RltvNmbr.txt* Relative Numbers Nov 21, 2008
|
||||||
|
|
||||||
|
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||||
|
(remove NOSPAM from Campbell's email first)
|
||||||
|
Copyright: (c) 2008 by Charles E. Campbell, Jr. *RltvNmbr-copyright*
|
||||||
|
The VIM LICENSE applies to RltvNmbr.vim and RltvNmbr.txt
|
||||||
|
(see |copyright|) except use "RltvNmbr instead of "Vim".
|
||||||
|
NO WARRANTY, EXPRESS OR IMPLIED. USE AT-YOUR-OWN-RISK.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
1. Contents *RltvNmbr* *RltvNmbr-contents* {{{1
|
||||||
|
|
||||||
|
1. Contents......................................: |RltvNmbr-contents|
|
||||||
|
2. Relative Numbering Manual.....................: |RltvNmbr-manual|
|
||||||
|
3. Relative Numbering History....................: |RltvNmbr-history|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
2. Relative Numbering Manual *RltvNmbr-manual* {{{1
|
||||||
|
|
||||||
|
ENABLING AND DISABLING RELATIVE NUMBERING
|
||||||
|
The Relative Numbering plugin provides a command: >
|
||||||
|
:RltvNmbr[!]
|
||||||
|
< The :RltvNmbr command enables relative numbering.
|
||||||
|
The :RltvNmbr! command disables relative numbering.
|
||||||
|
|
||||||
|
If :RN hasn't been previously defined, then one may also use >
|
||||||
|
:RN
|
||||||
|
< to toggle relative numbering.
|
||||||
|
|
||||||
|
The RltvNumbr plugin reports on its enabled/disabled status with >
|
||||||
|
b:rltvnmbrmode=1 : RltvNmbr mode is enabled
|
||||||
|
b:rltvnmbrmode=0 : RltvNmbr mode is disabled
|
||||||
|
< This variable is used for reporting and to control :RN based toggling.
|
||||||
|
|
||||||
|
YOU MUST HAVE SIGNS FOR THIS PLUGIN
|
||||||
|
To use this plugin your vim must have been compiled with the "huge" feature
|
||||||
|
set (so as to have +signs in the :version listing). Typically that means
|
||||||
|
having used >
|
||||||
|
configure --with-features=huge
|
||||||
|
<
|
||||||
|
To determine if your copy of vim has signs, you may: >
|
||||||
|
:echo has("signs")
|
||||||
|
< If it shows "1", then your vim supports signs.
|
||||||
|
|
||||||
|
Alternatively, you may: >
|
||||||
|
:version
|
||||||
|
< and if +signs appears in the listing, then, again, your vim supports
|
||||||
|
signs. If it lists -signs, then unfortunately your vim does not do so.
|
||||||
|
|
||||||
|
MODFIYING THE RELATIVE NUMBERING HIGHLIGHTING
|
||||||
|
The relative numbering signs are highlighted with >
|
||||||
|
|
||||||
|
hi default HL_RltvNmbr_Minus gui=none,italic ctermfg=red ctermbg=black guifg=red guibg=black
|
||||||
|
hi default HL_RltvNmbr_Positive gui=none,italic ctermfg=green ctermbg=black guifg=green guibg=black
|
||||||
|
|
||||||
|
< This information is provided so that you may know what to specify to use
|
||||||
|
your preferences in relative number highlighting. One way to get your
|
||||||
|
preferred colorization in is to put lines like the following into
|
||||||
|
.vim/after/plugin/RltvNmbr.vim: >
|
||||||
|
|
||||||
|
au FileType * hi HL_RltvNmbr_Minus gui=none ctermfg=yellow ctermbg=black guifg=yellow guibg=black
|
||||||
|
au FileType * hi HL_RltvNmbr_Positive gui=none ctermfg=magenta ctermbg=black guifg=magenta guibg=black
|
||||||
|
<
|
||||||
|
|
||||||
|
HOW TO START WITH RELATIVE NUMBERING MODE ENABLED
|
||||||
|
Using >
|
||||||
|
Unix: ~/.vim/after/plugin/RltvNmbr.vim
|
||||||
|
Windows: $HOME\_vimfiles\after\plugin\RltvNmbr.vim
|
||||||
|
< place the following line: >
|
||||||
|
call RltvNmbr#RltvNmbrCtrl(1)
|
||||||
|
<
|
||||||
|
THE RELATIVE NUMBERING PATCH
|
||||||
|
This plugin was inspired by the relative-numbering patch mentioned on the
|
||||||
|
vim-dev mailing list, written by Markus Heidelberg. You can find his patch at
|
||||||
|
|
||||||
|
http://groups.google.com/group/vim_dev/attach/10fa0944a8b643b4/vim-7.2-relativenumber-02.patch?part=2
|
||||||
|
|
||||||
|
This plugin uses signs to enable relative numbering. Signs are assigned
|
||||||
|
on a buffer-by-buffer basis as an inherent limitation, so a given buffer
|
||||||
|
can only display one set of signs. The relative numbering patch does not
|
||||||
|
have this limitation. To see this effect, try using >
|
||||||
|
vim -O file file
|
||||||
|
< and use relative numbering provided by this plugin. You'll find that the
|
||||||
|
relative numbering column will change as you switch windows to reflect
|
||||||
|
your active cursor.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
3. Relative Numbering History *RltvNmbr-history* {{{1
|
||||||
|
3: Aug 22, 2008 * speeded up unplacing of signs
|
||||||
|
* included g:rltvnmbrmode to report en/dis-abled
|
||||||
|
* s:AvoidOtherSigns() written/included to
|
||||||
|
* allow RltvNmbr() to avoid using previously
|
||||||
|
existing sign IDs.
|
||||||
|
* included some more autocmds for rltv nmbr
|
||||||
|
updating
|
||||||
|
2: Aug 19, 2008 * included :RN command which toggles
|
||||||
|
relative numbering
|
||||||
|
* included some more autocmds to update
|
||||||
|
relative numbering.
|
||||||
|
* made gvim's version use italic numbers
|
||||||
|
* :RN was toggling globally; now its done
|
||||||
|
on a buffer-by-buffer basis.
|
||||||
|
* Included DrChip menu support for gvim use
|
||||||
|
1: Aug 18, 2008 * Initial release
|
||||||
|
Aug 18, 2008 * Fixed some bugs associated with folding
|
||||||
|
Aug 18, 2008 * Changes in colorscheme was clearing the
|
||||||
|
highlighting. Highlighting now restored.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
Modelines: {{{1
|
||||||
|
vim:tw=78:ts=8:ft=help:fdm=marker:
|
||||||
|
|
12
dot.vim/doc/catalog.xml
Normal file
12
dot.vim/doc/catalog.xml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE catalog
|
||||||
|
PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
|
||||||
|
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
|
||||||
|
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
|
||||||
|
<rewriteSystem
|
||||||
|
systemIdStartString="http://docbook.sourceforge.net/release/xsl/current"
|
||||||
|
rewritePrefix="docbook-xsl/"/>
|
||||||
|
<rewriteURI
|
||||||
|
uriStartString="http://docbook.sourceforge.net/release/xsl/current/"
|
||||||
|
rewritePrefix="docbook-xsl/" />
|
||||||
|
</catalog>
|
156
dot.vim/doc/conque_term.txt
Normal file
156
dot.vim/doc/conque_term.txt
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
*ConqueTerm* Plugin to run a shell in a buffer
|
||||||
|
|
||||||
|
The ConqueTerm plugin will convert a buffer into a terminal emulator, allowing
|
||||||
|
you to run a shell or shell application in the buffer.
|
||||||
|
|
||||||
|
*conque_term-usage*
|
||||||
|
|
||||||
|
Type :ConqueTerm <command> to launch an application in the current buffer. E.g.
|
||||||
|
|
||||||
|
:ConqueTerm bash
|
||||||
|
:ConqueTerm mysql -h localhost -u joe_lunchbox Menu
|
||||||
|
:ConqueTerm man top
|
||||||
|
|
||||||
|
Use :ConqueTermSplit or :ConqueTermVSplit to open Conque in a new horizontal
|
||||||
|
or vertical buffer.
|
||||||
|
|
||||||
|
Keys pressed in insert mode will be sent to the shell, along with output from
|
||||||
|
the 'p' command in normal mode.
|
||||||
|
|
||||||
|
Press the <Esc> key twice to send a single <Esc> to the shell. Pressing this
|
||||||
|
key once will leave insert mode like normal.
|
||||||
|
|
||||||
|
Press <F9> in any buffer to send a visual selection to the shell.
|
||||||
|
|
||||||
|
|
||||||
|
*conque_term-settings*
|
||||||
|
|
||||||
|
Set the following in your .vimrc (default values shown)
|
||||||
|
|
||||||
|
" Enable colors. Setting this to 0 will make your terminal faster.
|
||||||
|
let g:ConqueTerm_Color = 1
|
||||||
|
|
||||||
|
" Set your terminal type. I strong recommend leaving this as vt100,
|
||||||
|
" however more features may be enabled with xterm.
|
||||||
|
let g:ConqueTerm_TERM = 'vt100'
|
||||||
|
|
||||||
|
" Set buffer syntax. Conque has highlighting for MySQL, but not much else.
|
||||||
|
let g:ConqueTerm_Syntax = 'conque'
|
||||||
|
|
||||||
|
" Continue updating shell when it's not the current, focused buffer
|
||||||
|
let g:ConqueTerm_ReadUnfocused = 1
|
||||||
|
|
||||||
|
|
||||||
|
*conque_term-requirements*
|
||||||
|
|
||||||
|
The following minimum requirements are needed to run Conque. Conque will not
|
||||||
|
run on Windows without a Cygwin-like environment.
|
||||||
|
|
||||||
|
- Vim 7.1
|
||||||
|
- Python 2.3
|
||||||
|
- Supported operating systems: *nix, Mac, or Cygwin
|
||||||
|
|
||||||
|
Tested on:
|
||||||
|
- Vim 7.2 / Python 2.6 / Ubuntu 9.10 (Gnome & GTK)
|
||||||
|
- Vim 7.2 / Python 2.6 / FreeBSD 8.0 (GTK)
|
||||||
|
- Vim 7.1 / Python 2.6 / FreeBSD 8.0 (GTK)
|
||||||
|
x Vim 7.0 / Python 2.6 / FreeBSD 8.0 (GTK)
|
||||||
|
* feedkeys() doesn't restart updatetime
|
||||||
|
- Vim 7.2 / Python 2.4 / OpenSolaris 2009.06 (Gnome)
|
||||||
|
- Vim 7.2 / Python 2.4 / CentOS 5.3 (no GUI)
|
||||||
|
- Vim 7.1 / Python 2.3 / RHEL 4 (no GUI)
|
||||||
|
- Vim 7.2 / Python 2.5 / Cygwin (Windows Vista 64b)
|
||||||
|
- MacVim 7.2 / Python 2.3 / OS X 10.6.2
|
||||||
|
|
||||||
|
*conque_term-bugs*
|
||||||
|
|
||||||
|
The following are known limitations:
|
||||||
|
|
||||||
|
- Font/color highlighting is imperfect and slow. If you don't care about
|
||||||
|
color in your shell, set g:ConqueTerm_Color = 0 in your .vimrc
|
||||||
|
- Conque only supports the extended ASCII character set for input, not utf-8.
|
||||||
|
- VT100 escape sequence support is not complete.
|
||||||
|
- Alt/Meta key support in Vim isn't great in general, and conque is no
|
||||||
|
exception. Pressing <Esc><Esc>x or <Esc><M-x> instead of <M-x> works in
|
||||||
|
most cases.
|
||||||
|
|
||||||
|
*conque_term-todo*
|
||||||
|
|
||||||
|
- Fix pasting from named registers
|
||||||
|
- Polling unfucused conque buffers (Top explodes when window resizes)
|
||||||
|
- Enable graphics character set
|
||||||
|
- Consider supporting xterm escapes
|
||||||
|
- Improve color logic
|
||||||
|
- Find a solution to UTF-8 input (See InsertCharPre in Vim todo.txt)
|
||||||
|
- Find an alternative to updatetime polling (See Vim todo.txt)
|
||||||
|
- Find a graceful solution to Meta key input
|
||||||
|
- Windows support
|
||||||
|
(See PyConsole http://www.vim.org/scripts/script.php?script_id=1974)
|
||||||
|
- Always: look for performance improvements
|
||||||
|
|
||||||
|
|
||||||
|
*conque_term-contribute*
|
||||||
|
|
||||||
|
The two contributions most in need are improvements to Vim itself. I currently
|
||||||
|
use hacks to simulate a key press event and repeating CursorHold event. The
|
||||||
|
Vim todo.txt document lists proposed improvements to give users this behavior
|
||||||
|
without hacks. Having a key press event should allow Conque to work with multi-
|
||||||
|
byte input. If you are a Vim developer, please consider prioritizing these two
|
||||||
|
items:
|
||||||
|
|
||||||
|
- todo.txt (Autocommands, line ~3137)
|
||||||
|
8 Add an event like CursorHold that is triggered repeatedly, not just
|
||||||
|
once after typing something.
|
||||||
|
|
||||||
|
- todo.txt (Autocommands, proposed event list, line ~3189)
|
||||||
|
InsertCharPre - user typed character Insert mode, before inserting the
|
||||||
|
char. Pattern is matched with text before the cursor. Set v:char to the
|
||||||
|
character, can be changed. (not triggered when 'paste' is set).
|
||||||
|
|
||||||
|
Bugs, suggestions and patches are all welcome.
|
||||||
|
|
||||||
|
For more information visit http://conque.googlecode.com
|
||||||
|
|
||||||
|
Check out the latest from svn at http://conque.googlecode.com/svn/trunk/
|
||||||
|
|
||||||
|
*conque_term-changelog*
|
||||||
|
|
||||||
|
- 1.0 / 2010-02-
|
||||||
|
* Complete python rewrite
|
||||||
|
* Add support for ncurses based applications
|
||||||
|
* Add continuous polling, instead of using <Tab>
|
||||||
|
* Improve speed
|
||||||
|
* Improve syntax highlighting
|
||||||
|
|
||||||
|
- 0.6 / 2009-12-18
|
||||||
|
* Fix GVim errors with non-english locale
|
||||||
|
* No functional changes
|
||||||
|
|
||||||
|
- 0.5 / 2009-12-02
|
||||||
|
* Various performance enhancements and bugfixes.
|
||||||
|
* Rewritten escape sequence processing
|
||||||
|
|
||||||
|
- 0.4 / 2009-10-30
|
||||||
|
* Improved history and tab completion
|
||||||
|
* Fix escape sequence formatting and improve highlighting
|
||||||
|
* Send selected text to shell from any buffer
|
||||||
|
* Add special handling of "vi" and "man" commands
|
||||||
|
* Improve error handling
|
||||||
|
* Add key mappings for <C-p> <C-n> <C-l> <C-j>
|
||||||
|
* Various bugfixes
|
||||||
|
|
||||||
|
- 0.3 / 2009-10-13
|
||||||
|
* Apply escape sequence coloring to output, e.g. ls --color
|
||||||
|
* Clean up syntax files for portability
|
||||||
|
* Fix several Vim 7.1 bugs
|
||||||
|
* Bugfixes for multiple shell buffers
|
||||||
|
* Add experimental shell folding option
|
||||||
|
|
||||||
|
- 0.2 / 2009-10-01
|
||||||
|
* Rewritten subprocess management module in python instead of c
|
||||||
|
* Added support for OS X, partial support for Windows
|
||||||
|
* Improved tab completion
|
||||||
|
|
||||||
|
- 0.1 / 2009-09-03
|
||||||
|
* Initial release
|
||||||
|
|
1466
dot.vim/doc/ft-csv.txt
Normal file
1466
dot.vim/doc/ft-csv.txt
Normal file
File diff suppressed because it is too large
Load diff
220
dot.vim/doc/fugitive.txt
Normal file
220
dot.vim/doc/fugitive.txt
Normal file
|
@ -0,0 +1,220 @@
|
||||||
|
*fugitive.txt* A Git wrapper so awesome, it should be illegal
|
||||||
|
|
||||||
|
Author: Tim Pope <vimNOSPAM@tpope.info> *fugitive-author*
|
||||||
|
License: Same terms as Vim itself (see |license|)
|
||||||
|
|
||||||
|
This plugin is only available if 'compatible' is not set.
|
||||||
|
|
||||||
|
INTRODUCTION *fugitive*
|
||||||
|
|
||||||
|
Install in ~/.vim, or in ~\vimfiles if you're on Windows and feeling lucky.
|
||||||
|
Vim 7.2 is recommended as it ships with syntax highlighting for many Git file
|
||||||
|
types.
|
||||||
|
|
||||||
|
If you're in a hurry to get started, here are some things to try:
|
||||||
|
|
||||||
|
In any file in your repository, run |:Gedit| HEAD. Press <CR> to jump to the
|
||||||
|
current branch. Press <CR> again to jump to the top most commit. Keep using
|
||||||
|
<CR> to explore parent commits, trees, and blobs. Use C in a tree or blob to
|
||||||
|
get back to the commit.
|
||||||
|
|
||||||
|
Edit a file in the work tree and make some changes. Use |:Gdiff| to open up
|
||||||
|
the indexed version. Use |do| and |dp| on various hunks to bring the files in
|
||||||
|
sync, or use |:Gread| to pull in all changes. Write the indexed version to
|
||||||
|
stage the file.
|
||||||
|
|
||||||
|
Run |:Gstatus| to check your repository's status. Use "-" to stage and reset
|
||||||
|
files and "p" to add/reset --patch them. Invoke |:Gcommit| to commit your
|
||||||
|
changes.
|
||||||
|
|
||||||
|
Run |:Gblame| in a work tree file to see a blame in a vertical split. Press
|
||||||
|
<CR> on any line to reopen and reblame that file as it stood in that commit.
|
||||||
|
Press o or O on any line to inspect that commit in a split or a tab.
|
||||||
|
|
||||||
|
Run |:Ggrep| to search the work tree or history. Run |:Gmove| to rename a
|
||||||
|
file. Run |:Gremove| to delete a file.
|
||||||
|
|
||||||
|
COMMANDS *fugitive-commands*
|
||||||
|
|
||||||
|
These commands are local to the buffers in which they work (generally, buffers
|
||||||
|
that are part of Git repositories).
|
||||||
|
|
||||||
|
*fugitive-:Git*
|
||||||
|
:Git [args] Run an arbitrary git command. Similar to :!git [args]
|
||||||
|
but chdir to the repository tree first.
|
||||||
|
|
||||||
|
*fugitive-:Gcd*
|
||||||
|
:Gcd [directory] |:cd| relative to the repository.
|
||||||
|
|
||||||
|
*fugitive-:Glcd*
|
||||||
|
:Glcd [directory] |:lcd| relative to the repository.
|
||||||
|
|
||||||
|
*fugitive-:Gstatus*
|
||||||
|
:Gstatus Bring up the output of git-status in the preview
|
||||||
|
window. Press D to |:Gdiff| the file on the cursor
|
||||||
|
line. Press - to stage or unstage the file on the
|
||||||
|
cursor line. Press p to do so on a per hunk basis
|
||||||
|
(--patch). Press C to invoke |:Gcommit|.
|
||||||
|
|
||||||
|
*fugitive-:Gcommit*
|
||||||
|
:Gcommit [args] A wrapper around git-commit. If there is nothing
|
||||||
|
to commit, |:Gstatus| is called instead. Unless the
|
||||||
|
arguments given would skip the invocation of an editor
|
||||||
|
(e.g., -m), a split window will be used to obtain a
|
||||||
|
commit message. Write and close that window (:wq or
|
||||||
|
|:Gwrite|) to finish the commit. Unlike when running
|
||||||
|
the actual git-commit command, it is possible (but
|
||||||
|
unadvisable) to muck with the index with commands like
|
||||||
|
git-add and git-reset while a commit message is
|
||||||
|
pending.
|
||||||
|
|
||||||
|
*fugitive-:Ggrep*
|
||||||
|
:Ggrep [args] |:grep| with git-grep as 'grepprg'.
|
||||||
|
|
||||||
|
*fugitive-:Glog*
|
||||||
|
:Glog [args] Load all previous revisions of the current file into
|
||||||
|
the quickfix list. Additional git-log arguments can
|
||||||
|
be given (for example, --reverse). If "--" appears as
|
||||||
|
an argument, no file specific filtering is done, and
|
||||||
|
commits are loaded into the quickfix list.
|
||||||
|
|
||||||
|
*fugitive-:Gedit* *fugitive-:Ge*
|
||||||
|
:Gedit [revision] |:edit| a |fugitive-revision|.
|
||||||
|
|
||||||
|
*fugitive-:Gsplit*
|
||||||
|
:Gsplit [revision] |:split| a |fugitive-revision|.
|
||||||
|
|
||||||
|
*fugitive-:Gvsplit*
|
||||||
|
:Gvsplit [revision] |:vsplit| a |fugitive-revision|.
|
||||||
|
|
||||||
|
*fugitive-:Gtabedit*
|
||||||
|
:Gtabedit [revision] |:tabedit| a |fugitive-revision|
|
||||||
|
|
||||||
|
*fugitive-:Gpedit*
|
||||||
|
:Gpedit [revision] |:pedit| a |fugitive-revision|
|
||||||
|
|
||||||
|
*fugitive-:Gread*
|
||||||
|
:Gread [revision] Empty the buffer and |:read| a |fugitive-revision|.
|
||||||
|
When the argument is omitted, this is similar to
|
||||||
|
git-checkout on a work tree file or git-add on a stage
|
||||||
|
file, but without writing anything to disk.
|
||||||
|
|
||||||
|
:{range}Gread [revision]
|
||||||
|
|:read| in a |fugitive-revision| after {range}.
|
||||||
|
|
||||||
|
*fugitive-:Gread!*
|
||||||
|
:Gread! [revision] Deprecated synonym for |:Gread|.
|
||||||
|
|
||||||
|
*fugitive-:Gwrite*
|
||||||
|
:Gwrite Write to the current file's path and stage the results.
|
||||||
|
When run in a work tree file, it is effectively git
|
||||||
|
add. Elsewhere, it is effectively git-checkout. A
|
||||||
|
great deal of effort is expended to behave sensibly
|
||||||
|
when the work tree or index version of the file is
|
||||||
|
open in another buffer.
|
||||||
|
|
||||||
|
:Gwrite {path} You can give |:Gwrite| an explicit path of where in
|
||||||
|
the work tree to write. You can also give a path like
|
||||||
|
:0:foo.txt or even :0 to write to just that stage in
|
||||||
|
the index.
|
||||||
|
|
||||||
|
*fugitive-:Gdiff*
|
||||||
|
:Gdiff [revision] Perform a |vimdiff| against the current file in the
|
||||||
|
given revision. With no argument, the version in the
|
||||||
|
index is used (which means a three-way diff during a
|
||||||
|
merge conflict, making it a git-mergetool
|
||||||
|
alternative). The newer of the two files is placed
|
||||||
|
to the right. Use |do| and |dp| and write to the
|
||||||
|
index file to simulate "git add --patch".
|
||||||
|
|
||||||
|
*fugitive-:Gmove*
|
||||||
|
:Gmove {destination} Wrapper around git-mv that renames the buffer
|
||||||
|
afterward. The destination is relative to the current
|
||||||
|
directory except when started with a /, in which case
|
||||||
|
it is relative to the work tree. Add a ! to pass -f.
|
||||||
|
|
||||||
|
*fugitive-:Gremove*
|
||||||
|
:Gremove Wrapper around git-rm that deletes the buffer
|
||||||
|
afterward. When invoked in an index file, --cached is
|
||||||
|
passed. Add a ! to pass -f and forcefully discard the
|
||||||
|
buffer.
|
||||||
|
|
||||||
|
*fugitive-:Gblame*
|
||||||
|
:Gblame [flags] Run git-blame on the file and open the results in a
|
||||||
|
scroll bound vertical split. Press enter on a line to
|
||||||
|
reblame the file as it was in that commit. You can
|
||||||
|
give any of ltwfsMC as flags and they will be passed
|
||||||
|
along to git-blame.
|
||||||
|
|
||||||
|
:[range]Gblame [flags] Run git-blame on the given range.
|
||||||
|
|
||||||
|
MAPPINGS *fugitive-mappings*
|
||||||
|
|
||||||
|
These maps are available in Git objects.
|
||||||
|
|
||||||
|
*fugitive-<CR>*
|
||||||
|
<CR> Jump to the revision under the cursor.
|
||||||
|
|
||||||
|
*fugitive-o*
|
||||||
|
o Jump to the revision under the cursor in a new split.
|
||||||
|
|
||||||
|
*fugitive-O*
|
||||||
|
O Jump to the revision under the cursor in a new tab.
|
||||||
|
|
||||||
|
*fugitive-~*
|
||||||
|
~ Go to the current file in the [count]th first
|
||||||
|
ancestor.
|
||||||
|
|
||||||
|
*fugitive-P*
|
||||||
|
P Go to the current file in the [count]th parent.
|
||||||
|
|
||||||
|
*fugitive-C*
|
||||||
|
C Go to the commit containing the current file.
|
||||||
|
|
||||||
|
*fugitive-a*
|
||||||
|
a Show the current tag, commit, or tree in an alternate
|
||||||
|
format.
|
||||||
|
|
||||||
|
SPECIFYING REVISIONS *fugitive-revision*
|
||||||
|
|
||||||
|
Fugitive revisions are similar to Git revisions as defined in the "SPECIFYING
|
||||||
|
REVISIONS" section in the git-rev-parse man page. For commands that accept an
|
||||||
|
optional revision, the default is the file in the index for work tree files
|
||||||
|
and the work tree file for everything else. Example revisions follow.
|
||||||
|
|
||||||
|
Revision Meaning ~
|
||||||
|
HEAD .git/HEAD
|
||||||
|
master .git/refs/heads/master
|
||||||
|
HEAD^{} The commit referenced by HEAD
|
||||||
|
HEAD^ The parent of the commit referenced by HEAD
|
||||||
|
HEAD: The tree referenced by HEAD
|
||||||
|
/HEAD The file named HEAD in the work tree
|
||||||
|
Makefile The file named Makefile in the work tree
|
||||||
|
HEAD^:Makefile The file named Makefile in the parent of HEAD
|
||||||
|
:Makefile The file named Makefile in the index (writable)
|
||||||
|
- The current file in HEAD
|
||||||
|
^ The current file in the previous commit
|
||||||
|
~3 The current file 3 commits ago
|
||||||
|
: .git/index (Same as |:Gstatus|)
|
||||||
|
:0 The current file in the index
|
||||||
|
:1 The current file's common ancestor during a conflict
|
||||||
|
:2 The current file in the target branch during a conflict
|
||||||
|
:3 The current file in the merged branch during a conflict
|
||||||
|
:/foo The most recent commit with "foo" in the message
|
||||||
|
|
||||||
|
STATUSLINE *fugitive-statusline*
|
||||||
|
|
||||||
|
*fugitive#statusline()*
|
||||||
|
Add %{fugitive#statusline()} to your statusline to get an indicator including
|
||||||
|
the current branch and the currently edited file's commit. If you don't have
|
||||||
|
a statusline, this one matches the default when 'ruler' is set:
|
||||||
|
>
|
||||||
|
set statusline=%<%f\ %h%m%r%{fugitive#statusline()}%=%-14.(%l,%c%V%)\ %P
|
||||||
|
<
|
||||||
|
ABOUT *fugitive-about*
|
||||||
|
|
||||||
|
Grab the latest version or report a bug on GitHub:
|
||||||
|
|
||||||
|
http://github.com/tpope/vim-fugitive
|
||||||
|
|
||||||
|
vim:tw=78:et:ft=help:norl:
|
116
dot.vim/doc/imaps.txt
Normal file
116
dot.vim/doc/imaps.txt
Normal file
|
@ -0,0 +1,116 @@
|
||||||
|
IMAP -- A fluid replacement for :imap
|
||||||
|
*imaps.txt*
|
||||||
|
Srinath Avadhanula <srinath AT fastmail DOT fm>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
========
|
||||||
|
This plugin provides a function IMAP() which emulates vims |:imap| function. The
|
||||||
|
motivation for providing this plugin is that |:imap| suffers from problems
|
||||||
|
which get increasingly annoying with a large number of mappings.
|
||||||
|
|
||||||
|
Consider an example. If you do >
|
||||||
|
imap lhs something
|
||||||
|
|
||||||
|
|
||||||
|
then a mapping is set up. However, there will be the following problems:
|
||||||
|
1. The 'ttimeout' option will generally limit how easily you can type the lhs.
|
||||||
|
if you type the left hand side too slowly, then the mapping will not be
|
||||||
|
activated.
|
||||||
|
|
||||||
|
2. If you mistype one of the letters of the lhs, then the mapping is deactivated
|
||||||
|
as soon as you backspace to correct the mistake.
|
||||||
|
|
||||||
|
3. The characters in lhs are shown on top of each other. This is fairly
|
||||||
|
distracting. This becomes a real annoyance when a lot of characters initiate
|
||||||
|
mappings.
|
||||||
|
|
||||||
|
This script provides a function IMAP() which does not suffer from these
|
||||||
|
problems.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*imaps.txt-toc*
|
||||||
|
|im_1| Using IMAP
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Viewing this file
|
||||||
|
|
||||||
|
This file can be viewed with all the sections and subsections folded to ease
|
||||||
|
navigation. By default, vim does not fold help documents. To create the folds,
|
||||||
|
press za now. The folds are created via a foldexpr which can be seen in the
|
||||||
|
last section of this file.
|
||||||
|
|
||||||
|
See |usr_28.txt| for an introduction to folding and |fold-commands| for key
|
||||||
|
sequences and commands to work with folds.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Using IMAP *im_1* *imaps-usage*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Each call to IMAP is made using the syntax: >
|
||||||
|
call IMAP (lhs, rhs, ft [, phs, phe])
|
||||||
|
|
||||||
|
|
||||||
|
This is equivalent to having <lhs> map to <rhs> for all files of type <ft>.
|
||||||
|
|
||||||
|
Some characters in the <rhs> have special meaning which help in cursor placement
|
||||||
|
as described in |imaps-placeholders|. The optional arguments define these
|
||||||
|
special characters.
|
||||||
|
|
||||||
|
Example One: >
|
||||||
|
call IMAP ("bit`", "\\begin{itemize}\<cr>\\item <++>\<cr>\\end{itemize}<++>", "tex")
|
||||||
|
|
||||||
|
|
||||||
|
This effectively sets up the map for "bit`" whenever you edit a latex file. When
|
||||||
|
you type in this sequence of letters, the following text is inserted: >
|
||||||
|
\begin{itemize}
|
||||||
|
\item *
|
||||||
|
\end{itemize}<++>
|
||||||
|
|
||||||
|
where * shows the cursor position. The cursor position after inserting the text
|
||||||
|
is decided by the position of the first "place-holder". Place holders are
|
||||||
|
special characters which decide cursor placement and movement. In the example
|
||||||
|
above, the place holder characters are <+ and +>. After you have typed in the
|
||||||
|
item, press <C-j> and you will be taken to the next set of <++>'s. Therefore by
|
||||||
|
placing the <++> characters appropriately, you can minimize the use of movement
|
||||||
|
keys.
|
||||||
|
|
||||||
|
Set g:Imap_UsePlaceHolders to 0 to disable placeholders altogether.
|
||||||
|
|
||||||
|
Set g:Imap_PlaceHolderStart and g:Imap_PlaceHolderEnd to something else if you
|
||||||
|
want different place holder characters. Also, b:Imap_PlaceHolderStart and
|
||||||
|
b:Imap_PlaceHolderEnd override the values of g:Imap_PlaceHolderStart and
|
||||||
|
g:Imap_PlaceHolderEnd respectively. This is useful for setting buffer specific
|
||||||
|
place holders.
|
||||||
|
|
||||||
|
Example Two: You can use the <C-r> command to insert dynamic elements such as
|
||||||
|
dates. >
|
||||||
|
call IMAP ('date`', "\<c-r>=strftime('%b %d %Y')\<cr>", '')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
With this mapping, typing date` will insert the present date into the file.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
About this file
|
||||||
|
|
||||||
|
This file was created automatically from its XML variant using db2vim. db2vim is
|
||||||
|
a python script which understands a very limited subset of the Docbook XML 4.2
|
||||||
|
DTD and outputs a plain text file in vim help format.
|
||||||
|
|
||||||
|
db2vim can be obtained via anonymous CVS from sourceforge.net. Use
|
||||||
|
|
||||||
|
cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
|
||||||
|
|
||||||
|
Or you can visit the web-interface to sourceforge CVS at:
|
||||||
|
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
|
||||||
|
|
||||||
|
The following modelines should nicely fold up this help manual.
|
||||||
|
|
||||||
|
vim:ft=help:fdm=expr:nowrap
|
||||||
|
vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
|
||||||
|
vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','--\ \ \ \ ','')
|
||||||
|
================================================================================
|
204
dot.vim/doc/potwiki.txt
Normal file
204
dot.vim/doc/potwiki.txt
Normal file
|
@ -0,0 +1,204 @@
|
||||||
|
*potwiki.txt* Plain Old Text Wiki v1.25
|
||||||
|
|
||||||
|
|
||||||
|
POTWIKI REFERENCE MANUAL~
|
||||||
|
|
||||||
|
|
||||||
|
Maintaining a Wiki of plain text files with the plugin "potwiki"
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
CONTENT *potwiki-contents*
|
||||||
|
|
||||||
|
Installation : |potwiki-install|
|
||||||
|
potwiki intro : |potwiki|
|
||||||
|
Requirements : |potwiki-requirements|
|
||||||
|
potwiki commands : |potwiki-commands|
|
||||||
|
Customization : |potwiki-customize|
|
||||||
|
Bugs : |potwiki-bugs|
|
||||||
|
Todo list : |potwiki-todo|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
1. potwiki Installation *potwiki-install*
|
||||||
|
|
||||||
|
In order to install the plugin, place the potwiki.vim file into a plugin
|
||||||
|
directory in your runtime path (please see |add-global-plugin| and
|
||||||
|
|'runtimepath'|).
|
||||||
|
|
||||||
|
|potwiki| may be customized by setting variables, creating maps, and
|
||||||
|
specifying event handlers. Please see |potwiki-customize| for more
|
||||||
|
details.
|
||||||
|
|
||||||
|
*potwiki-auto-help*
|
||||||
|
This help file is automagically generated when the |potwiki| script is
|
||||||
|
loaded for the first time.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
1.1. potwiki requirements *potwiki-requirements*
|
||||||
|
|
||||||
|
potwiki should work with vim 6.0 or later versions.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
2. potwiki intro *potwiki*
|
||||||
|
*wiki* *potwiki-intro*
|
||||||
|
|
||||||
|
potwiki provides functions and mappings for maintaining a Wiki of plain
|
||||||
|
text files.
|
||||||
|
|
||||||
|
The Wiki is a collection of text files in a single directory. These files
|
||||||
|
can contain hyper links to each other in the form of WikiWords.
|
||||||
|
|
||||||
|
A WikiWord is a word which starts with an upper case letter and contains
|
||||||
|
at least one lower case letter and another upper case letter in this
|
||||||
|
order -- it's in 'camel case', e.g.
|
||||||
|
|
||||||
|
ThisIsAWikiWord
|
||||||
|
|
||||||
|
Such a WikiWord links to a file of exactly the same name in your
|
||||||
|
Wiki directory.
|
||||||
|
|
||||||
|
By default you can also use digits and underscore in your WikiWords.
|
||||||
|
You can customize this to your needs. |potwiki-customize|
|
||||||
|
|
||||||
|
When opening a Wiki file potwiki scans your Wiki directory to find
|
||||||
|
which WikiWords are valid links. WikiWords without a corresponding
|
||||||
|
file are highlighted as errors (otherwise it doesn't matter).
|
||||||
|
|
||||||
|
The default mappings are defined as follow (By default, <Leader> stands
|
||||||
|
for '\'. See |Leader| for more info) :
|
||||||
|
|
||||||
|
<Leader>ww - open the Wiki HomePage
|
||||||
|
<Leader>wi - open the Wiki index
|
||||||
|
<Leader>wf - follow a WikiWord (can be used in any buffer!)
|
||||||
|
<Leader>we - edit a Wiki file
|
||||||
|
|
||||||
|
The following mappings are present when editing a Wiki file:
|
||||||
|
|
||||||
|
<Leader><Leader> - close the file
|
||||||
|
<CR> - follow the WikiWord under the cursor
|
||||||
|
<Tab> - move to the next WikiWord
|
||||||
|
<BS> - move to the previous WikiWord
|
||||||
|
<Leader>wr - reload WikiWords
|
||||||
|
|
||||||
|
See |potwiki-mappings-override| and |potwiki-options| to learn how to
|
||||||
|
override those default mappings.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
3. potwiki commands *potwiki-commands*
|
||||||
|
|
||||||
|
See |potwiki-intro| for default mapping.
|
||||||
|
|
||||||
|
Currently potwiki does not define any commands.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
4. potwiki customization *potwiki-customize*
|
||||||
|
|
||||||
|
4.1. General configuration ~
|
||||||
|
--------------------------
|
||||||
|
*loaded_potwiki* *potwiki-disable*
|
||||||
|
You can disable this script by putting the following line in your |vimrc| >
|
||||||
|
let loaded_potwiki = 1
|
||||||
|
<
|
||||||
|
|
||||||
|
You can define your own color scheme for potwiki highlighting, by setting
|
||||||
|
|highlight| on PotwikiWord and PotwikiWordNotFound groups. For example:
|
||||||
|
>
|
||||||
|
highlight PotwikiWord guifg=darkcyan
|
||||||
|
highlight PotwikiWordNotFound guibg=Red guifg=Yellow
|
||||||
|
<
|
||||||
|
When a wiki file is edited the 'filetype' and 'syntax' options are set
|
||||||
|
to 'potwiki'. You can use autocommands for this filetype to customize
|
||||||
|
your wiki editing. For exmaple:
|
||||||
|
>
|
||||||
|
:au Filetype potwiki set sts=4
|
||||||
|
<
|
||||||
|
If you want to be able to switch the highlighting on and off with
|
||||||
|
>
|
||||||
|
:syntax on | enable | off
|
||||||
|
<
|
||||||
|
put the following line in a file called 'potwiki.vim' in your syntax
|
||||||
|
directory (usually ~/.vim/syntax):
|
||||||
|
>
|
||||||
|
call PotwikiSyntax()
|
||||||
|
<
|
||||||
|
|
||||||
|
4.2. Mapping documentation: ~
|
||||||
|
---------------------------
|
||||||
|
*potwiki-mappings-override*
|
||||||
|
By default, a global mapping is defined for some commands. User-provided
|
||||||
|
mappings can be used instead by mapping to <Plug>CommandName. This is
|
||||||
|
especially useful when these mappings collide with other existing mappings
|
||||||
|
(vim will warn of this during plugin initialization, but will not clobber
|
||||||
|
the existing mappings).
|
||||||
|
|
||||||
|
For instance, to override the default mapping for :PotwikiHome to set it to
|
||||||
|
\wh, add the following to the |vimrc|:
|
||||||
|
>
|
||||||
|
nmap \wh <Plug>PotwikiHome
|
||||||
|
<
|
||||||
|
4.3. Options documentation: ~
|
||||||
|
---------------------------
|
||||||
|
*potwiki-options*
|
||||||
|
Several variables are checked by the script to customize potwiki
|
||||||
|
behavior. You can set them using let in your |vimrc| file.
|
||||||
|
Example:
|
||||||
|
>
|
||||||
|
let potwiki_home = "$HOME/MyWiki/HomePage"
|
||||||
|
<
|
||||||
|
potwiki_suffix *potwiki_suffix*
|
||||||
|
This variable contains a suffix appended to the names of your
|
||||||
|
Wikifiles.
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
potwiki_home *potwiki_home*
|
||||||
|
This variable contains the filename of your Wiki HomePage.
|
||||||
|
default: $HOME/Wiki/HomePage + potwiki_suffix
|
||||||
|
|
||||||
|
potwiki_home_dir *potwiki_home_dir*
|
||||||
|
This variable contains the path of your Wiki directory.
|
||||||
|
default: the directory containing the file set in potwiki_home.
|
||||||
|
|
||||||
|
potwiki_upper *potwiki_upper*
|
||||||
|
Upper case characters for WikiWords. Uses the syntax of [ ] atoms
|
||||||
|
in regular expressions.
|
||||||
|
default: 'A-Z'
|
||||||
|
|
||||||
|
potwiki_lower *potwiki_lower*
|
||||||
|
Lower case characters for WikiWords. Uses the syntax of [ ] atoms
|
||||||
|
in regular expressions.
|
||||||
|
default: 'a-z'
|
||||||
|
|
||||||
|
potwiki_other *potwiki_other*
|
||||||
|
Non-letter characters for WikiWords. Uses the syntax of [ ] atoms
|
||||||
|
in regular expressions.
|
||||||
|
default: '0-9_'
|
||||||
|
|
||||||
|
potwiki_autowrite *potwiki_autowrite*
|
||||||
|
If this is non-zero potwiki always writes a Wiki file when it
|
||||||
|
is closed by <Plug>PotwikiClose or when you follow another WikiWord.
|
||||||
|
(The file is only written if it has been changed.)
|
||||||
|
|
||||||
|
potwiki_ignore *potwiki_ignore*
|
||||||
|
A comma-separated list of words you don't want potwiki to
|
||||||
|
highlight. Don't include any whitespace in this list.
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
6. potwiki bugs *potwiki-bugs*
|
||||||
|
|
||||||
|
Please contact me <edwin.steiner@gmx.net> if you find any bugs in
|
||||||
|
potwiki. I'm sure there are enough of them.
|
||||||
|
|
||||||
|
Include 'potwiki' in the subject line when contacting me.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
7. potwiki TODO list *potwiki-todo*
|
||||||
|
|
||||||
|
Please contact me <edwin.steiner@gmx.net> if you have suggestions
|
||||||
|
for improving potwiki.
|
||||||
|
|
||||||
|
Include 'potwiki' in the subject line when contacting me.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
vim:tw=78:ts=8:ft=help:norl:
|
1202
dot.vim/doc/rails.txt
Normal file
1202
dot.vim/doc/rails.txt
Normal file
File diff suppressed because it is too large
Load diff
286
dot.vim/doc/snipMate.txt
Normal file
286
dot.vim/doc/snipMate.txt
Normal file
|
@ -0,0 +1,286 @@
|
||||||
|
*snipMate.txt* Plugin for using TextMate-style snippets in Vim.
|
||||||
|
|
||||||
|
snipMate *snippet* *snippets* *snipMate*
|
||||||
|
Last Change: July 13, 2009
|
||||||
|
|
||||||
|
|snipMate-description| Description
|
||||||
|
|snipMate-syntax| Snippet syntax
|
||||||
|
|snipMate-usage| Usage
|
||||||
|
|snipMate-settings| Settings
|
||||||
|
|snipMate-features| Features
|
||||||
|
|snipMate-disadvantages| Disadvantages to TextMate
|
||||||
|
|snipMate-contact| Contact
|
||||||
|
|
||||||
|
For Vim version 7.0 or later.
|
||||||
|
This plugin only works if 'compatible' is not set.
|
||||||
|
{Vi does not have any of these features.}
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
DESCRIPTION *snipMate-description*
|
||||||
|
|
||||||
|
snipMate.vim implements some of TextMate's snippets features in Vim. A
|
||||||
|
snippet is a piece of often-typed text that you can insert into your
|
||||||
|
document using a trigger word followed by a <tab>.
|
||||||
|
|
||||||
|
For instance, in a C file using the default installation of snipMate.vim, if
|
||||||
|
you type "for<tab>" in insert mode, it will expand a typical for loop in C: >
|
||||||
|
|
||||||
|
for (i = 0; i < count; i++) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
To go to the next item in the loop, simply <tab> over to it; if there is
|
||||||
|
repeated code, such as the "i" variable in this example, you can simply
|
||||||
|
start typing once it's highlighted and all the matches specified in the
|
||||||
|
snippet will be updated. To go in reverse, use <shift-tab>.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
SYNTAX *snippet-syntax*
|
||||||
|
|
||||||
|
Snippets can be defined in two ways. They can be in their own file, named
|
||||||
|
after their trigger in 'snippets/<filetype>/<trigger>.snippet', or they can be
|
||||||
|
defined together in a 'snippets/<filetype>.snippets' file. Note that dotted
|
||||||
|
'filetype' syntax is supported -- e.g., you can use >
|
||||||
|
|
||||||
|
:set ft=html.eruby
|
||||||
|
|
||||||
|
to activate snippets for both HTML and eRuby for the current file.
|
||||||
|
|
||||||
|
The syntax for snippets in *.snippets files is the following: >
|
||||||
|
|
||||||
|
snippet trigger
|
||||||
|
expanded text
|
||||||
|
more expanded text
|
||||||
|
|
||||||
|
Note that the first hard tab after the snippet trigger is required, and not
|
||||||
|
expanded in the actual snippet. The syntax for *.snippet files is the same,
|
||||||
|
only without the trigger declaration and starting indentation.
|
||||||
|
|
||||||
|
Also note that snippets must be defined using hard tabs. They can be expanded
|
||||||
|
to spaces later if desired (see |snipMate-indenting|).
|
||||||
|
|
||||||
|
"#" is used as a line-comment character in *.snippets files; however, they can
|
||||||
|
only be used outside of a snippet declaration. E.g.: >
|
||||||
|
|
||||||
|
# this is a correct comment
|
||||||
|
snippet trigger
|
||||||
|
expanded text
|
||||||
|
snippet another_trigger
|
||||||
|
# this isn't a comment!
|
||||||
|
expanded text
|
||||||
|
<
|
||||||
|
This should hopefully be obvious with the included syntax highlighting.
|
||||||
|
|
||||||
|
*snipMate-${#}*
|
||||||
|
Tab stops ~
|
||||||
|
|
||||||
|
By default, the cursor is placed at the end of a snippet. To specify where the
|
||||||
|
cursor is to be placed next, use "${#}", where the # is the number of the tab
|
||||||
|
stop. E.g., to place the cursor first on the id of a <div> tag, and then allow
|
||||||
|
the user to press <tab> to go to the middle of it:
|
||||||
|
>
|
||||||
|
snippet div
|
||||||
|
<div id="${1}">
|
||||||
|
${2}
|
||||||
|
</div>
|
||||||
|
<
|
||||||
|
*snipMate-placeholders* *snipMate-${#:}* *snipMate-$#*
|
||||||
|
Placeholders ~
|
||||||
|
|
||||||
|
Placeholder text can be supplied using "${#:text}", where # is the number of
|
||||||
|
the tab stop. This text then can be copied throughout the snippet using "$#",
|
||||||
|
given # is the same number as used before. So, to make a C for loop: >
|
||||||
|
|
||||||
|
snippet for
|
||||||
|
for (${2:i}; $2 < ${1:count}; $1++) {
|
||||||
|
${4}
|
||||||
|
}
|
||||||
|
|
||||||
|
This will cause "count" to first be selected and change if the user starts
|
||||||
|
typing. When <tab> is pressed, the "i" in ${2}'s position will be selected;
|
||||||
|
all $2 variables will default to "i" and automatically be updated if the user
|
||||||
|
starts typing.
|
||||||
|
NOTE: "$#" syntax is used only for variables, not for tab stops as in TextMate.
|
||||||
|
|
||||||
|
Variables within variables are also possible. For instance: >
|
||||||
|
|
||||||
|
snippet opt
|
||||||
|
<option value="${1:option}">${2:$1}</option>
|
||||||
|
|
||||||
|
Will, as usual, cause "option" to first be selected and update all the $1
|
||||||
|
variables if the user starts typing. Since one of these variables is inside of
|
||||||
|
${2}, this text will then be used as a placeholder for the next tab stop,
|
||||||
|
allowing the user to change it if he wishes.
|
||||||
|
|
||||||
|
To copy a value throughout a snippet without supplying default text, simply
|
||||||
|
use the "${#:}" construct without the text; e.g.: >
|
||||||
|
|
||||||
|
snippet foo
|
||||||
|
${1:}bar$1
|
||||||
|
< *snipMate-commands*
|
||||||
|
Interpolated Vim Script ~
|
||||||
|
|
||||||
|
Snippets can also contain Vim script commands that are executed (via |eval()|)
|
||||||
|
when the snippet is inserted. Commands are given inside backticks (`...`); for
|
||||||
|
TextMates's functionality, use the |system()| function. E.g.: >
|
||||||
|
|
||||||
|
snippet date
|
||||||
|
`system("date +%Y-%m-%d")`
|
||||||
|
|
||||||
|
will insert the current date, assuming you are on a Unix system. Note that you
|
||||||
|
can also (and should) use |strftime()| for this example.
|
||||||
|
|
||||||
|
Filename([{expr}] [, {defaultText}]) *snipMate-filename* *Filename()*
|
||||||
|
|
||||||
|
Since the current filename is used often in snippets, a default function
|
||||||
|
has been defined for it in snipMate.vim, appropriately called Filename().
|
||||||
|
|
||||||
|
With no arguments, the default filename without an extension is returned;
|
||||||
|
the first argument specifies what to place before or after the filename,
|
||||||
|
and the second argument supplies the default text to be used if the file
|
||||||
|
has not been named. "$1" in the first argument is replaced with the filename;
|
||||||
|
if you only want the filename to be returned, the first argument can be left
|
||||||
|
blank. Examples: >
|
||||||
|
|
||||||
|
snippet filename
|
||||||
|
`Filename()`
|
||||||
|
snippet filename_with_default
|
||||||
|
`Filename('', 'name')`
|
||||||
|
snippet filename_foo
|
||||||
|
`filename('$1_foo')`
|
||||||
|
|
||||||
|
The first example returns the filename if it the file has been named, and an
|
||||||
|
empty string if it hasn't. The second returns the filename if it's been named,
|
||||||
|
and "name" if it hasn't. The third returns the filename followed by "_foo" if
|
||||||
|
it has been named, and an empty string if it hasn't.
|
||||||
|
|
||||||
|
*multi_snip*
|
||||||
|
To specify that a snippet can have multiple matches in a *.snippets file, use
|
||||||
|
this syntax: >
|
||||||
|
|
||||||
|
snippet trigger A description of snippet #1
|
||||||
|
expand this text
|
||||||
|
snippet trigger A description of snippet #2
|
||||||
|
expand THIS text!
|
||||||
|
|
||||||
|
In this example, when "trigger<tab>" is typed, a numbered menu containing all
|
||||||
|
of the descriptions of the "trigger" will be shown; when the user presses the
|
||||||
|
corresponding number, that snippet will then be expanded.
|
||||||
|
|
||||||
|
To create a snippet with multiple matches using *.snippet files,
|
||||||
|
simply place all the snippets in a subdirectory with the trigger name:
|
||||||
|
'snippets/<filetype>/<trigger>/<name>.snippet'.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
USAGE *snipMate-usage*
|
||||||
|
|
||||||
|
*'snippets'* *g:snippets_dir*
|
||||||
|
Snippets are by default looked for any 'snippets' directory in your
|
||||||
|
'runtimepath'. Typically, it is located at '~/.vim/snippets/' on *nix or
|
||||||
|
'$HOME\vimfiles\snippets\' on Windows. To change that location or add another
|
||||||
|
one, change the g:snippets_dir variable in your |.vimrc| to your preferred
|
||||||
|
directory, or use the |ExtractSnips()|function. This will be used by the
|
||||||
|
|globpath()| function, and so accepts the same syntax as it (e.g.,
|
||||||
|
comma-separated paths).
|
||||||
|
|
||||||
|
ExtractSnipsFile({directory}, {filetype}) *ExtractSnipsFile()* *.snippets*
|
||||||
|
|
||||||
|
ExtractSnipsFile() extracts the specified *.snippets file for the given
|
||||||
|
filetype. A .snippets file contains multiple snippet declarations for the
|
||||||
|
filetype. It is further explained above, in |snippet-syntax|.
|
||||||
|
|
||||||
|
ExtractSnips({directory}, {filetype}) *ExtractSnips()* *.snippet*
|
||||||
|
|
||||||
|
ExtractSnips() extracts *.snippet files from the specified directory and
|
||||||
|
defines them as snippets for the given filetype. The directory tree should
|
||||||
|
look like this: 'snippets/<filetype>/<trigger>.snippet'. If the snippet has
|
||||||
|
multiple matches, it should look like this:
|
||||||
|
'snippets/<filetype>/<trigger>/<name>.snippet' (see |multi_snip|).
|
||||||
|
|
||||||
|
*ResetSnippets()*
|
||||||
|
The ResetSnippets() function removes all snippets from memory. This is useful
|
||||||
|
to put at the top of a snippet setup file for if you would like to |:source|
|
||||||
|
it multiple times.
|
||||||
|
|
||||||
|
*list-snippets* *i_CTRL-R_<Tab>*
|
||||||
|
If you would like to see what snippets are available, simply type <c-r><tab>
|
||||||
|
in the current buffer to show a list via |popupmenu-completion|.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
SETTINGS *snipMate-settings* *g:snips_author*
|
||||||
|
|
||||||
|
The g:snips_author string (similar to $TM_FULLNAME in TextMate) should be set
|
||||||
|
to your name; it can then be used in snippets to automatically add it. E.g.: >
|
||||||
|
|
||||||
|
let g:snips_author = 'Hubert Farnsworth'
|
||||||
|
snippet name
|
||||||
|
`g:snips_author`
|
||||||
|
<
|
||||||
|
*snipMate-expandtab* *snipMate-indenting*
|
||||||
|
If you would like your snippets to be expanded using spaces instead of tabs,
|
||||||
|
just enable 'expandtab' and set 'softtabstop' to your preferred amount of
|
||||||
|
spaces. If 'softtabstop' is not set, 'shiftwidth' is used instead.
|
||||||
|
|
||||||
|
*snipMate-remap*
|
||||||
|
snipMate does not come with a setting to customize the trigger key, but you
|
||||||
|
can remap it easily in the two lines it's defined in the 'after' directory
|
||||||
|
under 'plugin/snipMate.vim'. For instance, to change the trigger key
|
||||||
|
to CTRL-J, just change this: >
|
||||||
|
|
||||||
|
ino <tab> <c-r>=TriggerSnippet()<cr>
|
||||||
|
snor <tab> <esc>i<right><c-r>=TriggerSnippet()<cr>
|
||||||
|
|
||||||
|
to this: >
|
||||||
|
ino <c-j> <c-r>=TriggerSnippet()<cr>
|
||||||
|
snor <c-j> <esc>i<right><c-r>=TriggerSnippet()<cr>
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
FEATURES *snipMate-features*
|
||||||
|
|
||||||
|
snipMate.vim has the following features among others:
|
||||||
|
- The syntax of snippets is very similar to TextMate's, allowing
|
||||||
|
easy conversion.
|
||||||
|
- The position of the snippet is kept transparently (i.e. it does not use
|
||||||
|
markers/placeholders written to the buffer), which allows you to escape
|
||||||
|
out of an incomplete snippet, something particularly useful in Vim.
|
||||||
|
- Variables in snippets are updated as-you-type.
|
||||||
|
- Snippets can have multiple matches.
|
||||||
|
- Snippets can be out of order. For instance, in a do...while loop, the
|
||||||
|
condition can be added before the code.
|
||||||
|
- [New] File-based snippets are supported.
|
||||||
|
- [New] Triggers after non-word delimiters are expanded, e.g. "foo"
|
||||||
|
in "bar.foo".
|
||||||
|
- [New] <shift-tab> can now be used to jump tab stops in reverse order.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
DISADVANTAGES *snipMate-disadvantages*
|
||||||
|
|
||||||
|
snipMate.vim currently has the following disadvantages to TextMate's snippets:
|
||||||
|
- There is no $0; the order of tab stops must be explicitly stated.
|
||||||
|
- Placeholders within placeholders are not possible. E.g.: >
|
||||||
|
|
||||||
|
'<div${1: id="${2:some_id}}">${3}</div>'
|
||||||
|
<
|
||||||
|
In TextMate this would first highlight ' id="some_id"', and if
|
||||||
|
you hit delete it would automatically skip ${2} and go to ${3}
|
||||||
|
on the next <tab>, but if you didn't delete it it would highlight
|
||||||
|
"some_id" first. You cannot do this in snipMate.vim.
|
||||||
|
- Regex cannot be performed on variables, such as "${1/.*/\U&}"
|
||||||
|
- Placeholders cannot span multiple lines.
|
||||||
|
- Activating snippets in different scopes of the same file is
|
||||||
|
not possible.
|
||||||
|
|
||||||
|
Perhaps some of these features will be added in a later release.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
CONTACT *snipMate-contact* *snipMate-author*
|
||||||
|
|
||||||
|
To contact the author (Michael Sanders), please email:
|
||||||
|
msanders42+snipmate <at> gmail <dot> com
|
||||||
|
|
||||||
|
I greatly appreciate any suggestions or improvements offered for the script.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
vim:tw=78:ts=8:ft=help:norl:
|
1501
dot.vim/doc/taglist.txt
Executable file
1501
dot.vim/doc/taglist.txt
Executable file
File diff suppressed because it is too large
Load diff
834
dot.vim/doc/tags
Normal file
834
dot.vim/doc/tags
Normal file
|
@ -0,0 +1,834 @@
|
||||||
|
'Tlist_Auto_Highlight_Tag' taglist.txt /*'Tlist_Auto_Highlight_Tag'*
|
||||||
|
'Tlist_Auto_Open' taglist.txt /*'Tlist_Auto_Open'*
|
||||||
|
'Tlist_Auto_Update' taglist.txt /*'Tlist_Auto_Update'*
|
||||||
|
'Tlist_Close_On_Select' taglist.txt /*'Tlist_Close_On_Select'*
|
||||||
|
'Tlist_Compact_Format' taglist.txt /*'Tlist_Compact_Format'*
|
||||||
|
'Tlist_Ctags_Cmd' taglist.txt /*'Tlist_Ctags_Cmd'*
|
||||||
|
'Tlist_Display_Prototype' taglist.txt /*'Tlist_Display_Prototype'*
|
||||||
|
'Tlist_Display_Tag_Scope' taglist.txt /*'Tlist_Display_Tag_Scope'*
|
||||||
|
'Tlist_Enable_Fold_Column' taglist.txt /*'Tlist_Enable_Fold_Column'*
|
||||||
|
'Tlist_Exit_OnlyWindow' taglist.txt /*'Tlist_Exit_OnlyWindow'*
|
||||||
|
'Tlist_File_Fold_Auto_Close' taglist.txt /*'Tlist_File_Fold_Auto_Close'*
|
||||||
|
'Tlist_GainFocus_On_ToggleOpen' taglist.txt /*'Tlist_GainFocus_On_ToggleOpen'*
|
||||||
|
'Tlist_Highlight_Tag_On_BufEnter' taglist.txt /*'Tlist_Highlight_Tag_On_BufEnter'*
|
||||||
|
'Tlist_Inc_Winwidth' taglist.txt /*'Tlist_Inc_Winwidth'*
|
||||||
|
'Tlist_Max_Submenu_Items' taglist.txt /*'Tlist_Max_Submenu_Items'*
|
||||||
|
'Tlist_Max_Tag_Length' taglist.txt /*'Tlist_Max_Tag_Length'*
|
||||||
|
'Tlist_Process_File_Always' taglist.txt /*'Tlist_Process_File_Always'*
|
||||||
|
'Tlist_Show_Menu' taglist.txt /*'Tlist_Show_Menu'*
|
||||||
|
'Tlist_Show_One_File' taglist.txt /*'Tlist_Show_One_File'*
|
||||||
|
'Tlist_Sort_Type' taglist.txt /*'Tlist_Sort_Type'*
|
||||||
|
'Tlist_Use_Horiz_Window' taglist.txt /*'Tlist_Use_Horiz_Window'*
|
||||||
|
'Tlist_Use_Right_Window' taglist.txt /*'Tlist_Use_Right_Window'*
|
||||||
|
'Tlist_Use_SingleClick' taglist.txt /*'Tlist_Use_SingleClick'*
|
||||||
|
'Tlist_WinHeight' taglist.txt /*'Tlist_WinHeight'*
|
||||||
|
'Tlist_WinWidth' taglist.txt /*'Tlist_WinWidth'*
|
||||||
|
'snippets' snipMate.txt /*'snippets'*
|
||||||
|
.snippet snipMate.txt /*.snippet*
|
||||||
|
.snippets snipMate.txt /*.snippets*
|
||||||
|
:ABitLy twitvim.txt /*:ABitLy*
|
||||||
|
:ACligs twitvim.txt /*:ACligs*
|
||||||
|
:AIsGd twitvim.txt /*:AIsGd*
|
||||||
|
:AMetamark twitvim.txt /*:AMetamark*
|
||||||
|
:ASnipurl twitvim.txt /*:ASnipurl*
|
||||||
|
:ATinyURL twitvim.txt /*:ATinyURL*
|
||||||
|
:ATrim twitvim.txt /*:ATrim*
|
||||||
|
:ATweetburner twitvim.txt /*:ATweetburner*
|
||||||
|
:AUrlBorg twitvim.txt /*:AUrlBorg*
|
||||||
|
:ArrangeColumn ft-csv.txt /*:ArrangeColumn*
|
||||||
|
:BPosttoTwitter twitvim.txt /*:BPosttoTwitter*
|
||||||
|
:BackTwitter twitvim.txt /*:BackTwitter*
|
||||||
|
:BitLy twitvim.txt /*:BitLy*
|
||||||
|
:CPosttoTwitter twitvim.txt /*:CPosttoTwitter*
|
||||||
|
:Cligs twitvim.txt /*:Cligs*
|
||||||
|
:DMSentTwitter twitvim.txt /*:DMSentTwitter*
|
||||||
|
:DMTwitter twitvim.txt /*:DMTwitter*
|
||||||
|
:Filter ft-csv.txt /*:Filter*
|
||||||
|
:ForwardTwitter twitvim.txt /*:ForwardTwitter*
|
||||||
|
:FriendsTwitter twitvim.txt /*:FriendsTwitter*
|
||||||
|
:IsGd twitvim.txt /*:IsGd*
|
||||||
|
:LocationTwitter twitvim.txt /*:LocationTwitter*
|
||||||
|
:Metamark twitvim.txt /*:Metamark*
|
||||||
|
:NextTwitter twitvim.txt /*:NextTwitter*
|
||||||
|
:PBitLy twitvim.txt /*:PBitLy*
|
||||||
|
:PCligs twitvim.txt /*:PCligs*
|
||||||
|
:PIsGd twitvim.txt /*:PIsGd*
|
||||||
|
:PMetamark twitvim.txt /*:PMetamark*
|
||||||
|
:PSnipurl twitvim.txt /*:PSnipurl*
|
||||||
|
:PTinyURL twitvim.txt /*:PTinyURL*
|
||||||
|
:PTrim twitvim.txt /*:PTrim*
|
||||||
|
:PTweetburner twitvim.txt /*:PTweetburner*
|
||||||
|
:PUrlBorg twitvim.txt /*:PUrlBorg*
|
||||||
|
:PosttoTwitter twitvim.txt /*:PosttoTwitter*
|
||||||
|
:PreviousTwitter twitvim.txt /*:PreviousTwitter*
|
||||||
|
:ProfileTwitter twitvim.txt /*:ProfileTwitter*
|
||||||
|
:PublicTwitter twitvim.txt /*:PublicTwitter*
|
||||||
|
:RateLimitTwitter twitvim.txt /*:RateLimitTwitter*
|
||||||
|
:RefreshTwitter twitvim.txt /*:RefreshTwitter*
|
||||||
|
:RepliesTwitter twitvim.txt /*:RepliesTwitter*
|
||||||
|
:SearchTwitter twitvim.txt /*:SearchTwitter*
|
||||||
|
:SendDMTwitter twitvim.txt /*:SendDMTwitter*
|
||||||
|
:Snipurl twitvim.txt /*:Snipurl*
|
||||||
|
:TinyURL twitvim.txt /*:TinyURL*
|
||||||
|
:TlistAddFiles taglist.txt /*:TlistAddFiles*
|
||||||
|
:TlistAddFilesRecursive taglist.txt /*:TlistAddFilesRecursive*
|
||||||
|
:TlistClose taglist.txt /*:TlistClose*
|
||||||
|
:TlistDebug taglist.txt /*:TlistDebug*
|
||||||
|
:TlistHighlightTag taglist.txt /*:TlistHighlightTag*
|
||||||
|
:TlistLock taglist.txt /*:TlistLock*
|
||||||
|
:TlistMessages taglist.txt /*:TlistMessages*
|
||||||
|
:TlistOpen taglist.txt /*:TlistOpen*
|
||||||
|
:TlistSessionLoad taglist.txt /*:TlistSessionLoad*
|
||||||
|
:TlistSessionSave taglist.txt /*:TlistSessionSave*
|
||||||
|
:TlistShowPrototype taglist.txt /*:TlistShowPrototype*
|
||||||
|
:TlistShowTag taglist.txt /*:TlistShowTag*
|
||||||
|
:TlistToggle taglist.txt /*:TlistToggle*
|
||||||
|
:TlistUndebug taglist.txt /*:TlistUndebug*
|
||||||
|
:TlistUnlock taglist.txt /*:TlistUnlock*
|
||||||
|
:TlistUpdate taglist.txt /*:TlistUpdate*
|
||||||
|
:Todo CuteTodoList.txt /*:Todo*
|
||||||
|
:TodoClose CuteTodoList.txt /*:TodoClose*
|
||||||
|
:TodoOpen CuteTodoList.txt /*:TodoOpen*
|
||||||
|
:Todog CuteTodoList.txt /*:Todog*
|
||||||
|
:Trim twitvim.txt /*:Trim*
|
||||||
|
:Tweetburner twitvim.txt /*:Tweetburner*
|
||||||
|
:UrlBorg twitvim.txt /*:UrlBorg*
|
||||||
|
:UserTwitter twitvim.txt /*:UserTwitter*
|
||||||
|
:VWS vimwiki.txt /*:VWS*
|
||||||
|
:Vimwiki2HTML vimwiki.txt /*:Vimwiki2HTML*
|
||||||
|
:VimwikiAll2HTML vimwiki.txt /*:VimwikiAll2HTML*
|
||||||
|
:VimwikiDeleteLink vimwiki.txt /*:VimwikiDeleteLink*
|
||||||
|
:VimwikiDiaryNextDay vimwiki.txt /*:VimwikiDiaryNextDay*
|
||||||
|
:VimwikiDiaryPrevDay vimwiki.txt /*:VimwikiDiaryPrevDay*
|
||||||
|
:VimwikiFollowLink vimwiki.txt /*:VimwikiFollowLink*
|
||||||
|
:VimwikiGenerateLinks vimwiki.txt /*:VimwikiGenerateLinks*
|
||||||
|
:VimwikiGoBackLink vimwiki.txt /*:VimwikiGoBackLink*
|
||||||
|
:VimwikiGoto vimwiki.txt /*:VimwikiGoto*
|
||||||
|
:VimwikiIndex vimwiki.txt /*:VimwikiIndex*
|
||||||
|
:VimwikiMakeDiaryNote vimwiki.txt /*:VimwikiMakeDiaryNote*
|
||||||
|
:VimwikiNextLink vimwiki.txt /*:VimwikiNextLink*
|
||||||
|
:VimwikiPrevLink vimwiki.txt /*:VimwikiPrevLink*
|
||||||
|
:VimwikiRenameLink vimwiki.txt /*:VimwikiRenameLink*
|
||||||
|
:VimwikiSearch vimwiki.txt /*:VimwikiSearch*
|
||||||
|
:VimwikiSplitLink vimwiki.txt /*:VimwikiSplitLink*
|
||||||
|
:VimwikiTabIndex vimwiki.txt /*:VimwikiTabIndex*
|
||||||
|
:VimwikiTabMakeDiaryNote vimwiki.txt /*:VimwikiTabMakeDiaryNote*
|
||||||
|
:VimwikiTable vimwiki.txt /*:VimwikiTable*
|
||||||
|
:VimwikiTableMoveColumnLeft vimwiki.txt /*:VimwikiTableMoveColumnLeft*
|
||||||
|
:VimwikiTableMoveColumnRight vimwiki.txt /*:VimwikiTableMoveColumnRight*
|
||||||
|
:VimwikiToggleListItem vimwiki.txt /*:VimwikiToggleListItem*
|
||||||
|
:VimwikiUISelect vimwiki.txt /*:VimwikiUISelect*
|
||||||
|
:VimwikiVSplitLink vimwiki.txt /*:VimwikiVSplitLink*
|
||||||
|
<C-Y>, zencoding.txt /*<C-Y>,*
|
||||||
|
<C-Y>/ zencoding.txt /*<C-Y>\/*
|
||||||
|
<C-Y>A zencoding.txt /*<C-Y>A*
|
||||||
|
<C-Y>D zencoding.txt /*<C-Y>D*
|
||||||
|
<C-Y>N zencoding.txt /*<C-Y>N*
|
||||||
|
<C-Y>a zencoding.txt /*<C-Y>a*
|
||||||
|
<C-Y>d zencoding.txt /*<C-Y>d*
|
||||||
|
<C-Y>i zencoding.txt /*<C-Y>i*
|
||||||
|
<C-Y>j zencoding.txt /*<C-Y>j*
|
||||||
|
<C-Y>k zencoding.txt /*<C-Y>k*
|
||||||
|
<C-Y>n zencoding.txt /*<C-Y>n*
|
||||||
|
<S-D> CuteTodoList.txt /*<S-D>*
|
||||||
|
Analyze_CSV ft-csv.txt /*Analyze_CSV*
|
||||||
|
ArrangeColumn_CSV ft-csv.txt /*ArrangeColumn_CSV*
|
||||||
|
CSV-Funtions ft-csv.txt /*CSV-Funtions*
|
||||||
|
CSVFixed ft-csv.txt /*CSVFixed*
|
||||||
|
CSVPat() ft-csv.txt /*CSVPat()*
|
||||||
|
CSV_WCol ft-csv.txt /*CSV_WCol*
|
||||||
|
ConqueTerm conque_term.txt /*ConqueTerm*
|
||||||
|
ConvertData_CSV ft-csv.txt /*ConvertData_CSV*
|
||||||
|
Copy_CSV ft-csv.txt /*Copy_CSV*
|
||||||
|
CuteTodoList.txt CuteTodoList.txt /*CuteTodoList.txt*
|
||||||
|
DeleteColumn_CSV ft-csv.txt /*DeleteColumn_CSV*
|
||||||
|
Duplicate_CSV ft-csv.txt /*Duplicate_CSV*
|
||||||
|
ExtractSnips() snipMate.txt /*ExtractSnips()*
|
||||||
|
ExtractSnipsFile() snipMate.txt /*ExtractSnipsFile()*
|
||||||
|
Filename() snipMate.txt /*Filename()*
|
||||||
|
Filter_CSV ft-csv.txt /*Filter_CSV*
|
||||||
|
HeaderToggle_CSV ft-csv.txt /*HeaderToggle_CSV*
|
||||||
|
Header_CSV ft-csv.txt /*Header_CSV*
|
||||||
|
HiColumn_CSV ft-csv.txt /*HiColumn_CSV*
|
||||||
|
InitCSV ft-csv.txt /*InitCSV*
|
||||||
|
MoveCol_CSV ft-csv.txt /*MoveCol_CSV*
|
||||||
|
NERDAllowAnyVisualDelims NERD_commenter.txt /*NERDAllowAnyVisualDelims*
|
||||||
|
NERDBlockComIgnoreEmpty NERD_commenter.txt /*NERDBlockComIgnoreEmpty*
|
||||||
|
NERDComAlignedComment NERD_commenter.txt /*NERDComAlignedComment*
|
||||||
|
NERDComAltDelim NERD_commenter.txt /*NERDComAltDelim*
|
||||||
|
NERDComAppendComment NERD_commenter.txt /*NERDComAppendComment*
|
||||||
|
NERDComAuthor NERD_commenter.txt /*NERDComAuthor*
|
||||||
|
NERDComChangelog NERD_commenter.txt /*NERDComChangelog*
|
||||||
|
NERDComComment NERD_commenter.txt /*NERDComComment*
|
||||||
|
NERDComCredits NERD_commenter.txt /*NERDComCredits*
|
||||||
|
NERDComDefaultDelims NERD_commenter.txt /*NERDComDefaultDelims*
|
||||||
|
NERDComEOLComment NERD_commenter.txt /*NERDComEOLComment*
|
||||||
|
NERDComFiletypes NERD_commenter.txt /*NERDComFiletypes*
|
||||||
|
NERDComFunctionality NERD_commenter.txt /*NERDComFunctionality*
|
||||||
|
NERDComFunctionalityDetails NERD_commenter.txt /*NERDComFunctionalityDetails*
|
||||||
|
NERDComFunctionalitySummary NERD_commenter.txt /*NERDComFunctionalitySummary*
|
||||||
|
NERDComHeuristics NERD_commenter.txt /*NERDComHeuristics*
|
||||||
|
NERDComInsertComment NERD_commenter.txt /*NERDComInsertComment*
|
||||||
|
NERDComInvertComment NERD_commenter.txt /*NERDComInvertComment*
|
||||||
|
NERDComIssues NERD_commenter.txt /*NERDComIssues*
|
||||||
|
NERDComLicense NERD_commenter.txt /*NERDComLicense*
|
||||||
|
NERDComMappings NERD_commenter.txt /*NERDComMappings*
|
||||||
|
NERDComMinimalComment NERD_commenter.txt /*NERDComMinimalComment*
|
||||||
|
NERDComNERDComment NERD_commenter.txt /*NERDComNERDComment*
|
||||||
|
NERDComNestedComment NERD_commenter.txt /*NERDComNestedComment*
|
||||||
|
NERDComNesting NERD_commenter.txt /*NERDComNesting*
|
||||||
|
NERDComOptions NERD_commenter.txt /*NERDComOptions*
|
||||||
|
NERDComOptionsDetails NERD_commenter.txt /*NERDComOptionsDetails*
|
||||||
|
NERDComOptionsSummary NERD_commenter.txt /*NERDComOptionsSummary*
|
||||||
|
NERDComPrependComment NERD_commenter.txt /*NERDComPrependComment*
|
||||||
|
NERDComSexyComment NERD_commenter.txt /*NERDComSexyComment*
|
||||||
|
NERDComSexyComments NERD_commenter.txt /*NERDComSexyComments*
|
||||||
|
NERDComToggleComment NERD_commenter.txt /*NERDComToggleComment*
|
||||||
|
NERDComUncommentLine NERD_commenter.txt /*NERDComUncommentLine*
|
||||||
|
NERDComYankComment NERD_commenter.txt /*NERDComYankComment*
|
||||||
|
NERDCommentWholeLinesInVMode NERD_commenter.txt /*NERDCommentWholeLinesInVMode*
|
||||||
|
NERDCommenter NERD_commenter.txt /*NERDCommenter*
|
||||||
|
NERDCommenterContents NERD_commenter.txt /*NERDCommenterContents*
|
||||||
|
NERDCompactSexyComs NERD_commenter.txt /*NERDCompactSexyComs*
|
||||||
|
NERDDefaultNesting NERD_commenter.txt /*NERDDefaultNesting*
|
||||||
|
NERDLPlace NERD_commenter.txt /*NERDLPlace*
|
||||||
|
NERDMapleader NERD_commenter.txt /*NERDMapleader*
|
||||||
|
NERDMenuMode NERD_commenter.txt /*NERDMenuMode*
|
||||||
|
NERDRPlace NERD_commenter.txt /*NERDRPlace*
|
||||||
|
NERDRemoveAltComs NERD_commenter.txt /*NERDRemoveAltComs*
|
||||||
|
NERDRemoveExtraSpaces NERD_commenter.txt /*NERDRemoveExtraSpaces*
|
||||||
|
NERDShutUp NERD_commenter.txt /*NERDShutUp*
|
||||||
|
NERDSpaceDelims NERD_commenter.txt /*NERDSpaceDelims*
|
||||||
|
NERDUsePlaceHolders NERD_commenter.txt /*NERDUsePlaceHolders*
|
||||||
|
NERD_commenter.txt NERD_commenter.txt /*NERD_commenter.txt*
|
||||||
|
NewRecord_CSV ft-csv.txt /*NewRecord_CSV*
|
||||||
|
NewRecords_CSV ft-csv.txt /*NewRecords_CSV*
|
||||||
|
NrColumns_CSV ft-csv.txt /*NrColumns_CSV*
|
||||||
|
ResetSnippets() snipMate.txt /*ResetSnippets()*
|
||||||
|
RltvNmbr RltvNmbr.txt /*RltvNmbr*
|
||||||
|
RltvNmbr-contents RltvNmbr.txt /*RltvNmbr-contents*
|
||||||
|
RltvNmbr-copyright RltvNmbr.txt /*RltvNmbr-copyright*
|
||||||
|
RltvNmbr-history RltvNmbr.txt /*RltvNmbr-history*
|
||||||
|
RltvNmbr-manual RltvNmbr.txt /*RltvNmbr-manual*
|
||||||
|
RltvNmbr.txt RltvNmbr.txt /*RltvNmbr.txt*
|
||||||
|
SearchInColumn_CSV ft-csv.txt /*SearchInColumn_CSV*
|
||||||
|
Sort_CSV ft-csv.txt /*Sort_CSV*
|
||||||
|
SumCol_CSV ft-csv.txt /*SumCol_CSV*
|
||||||
|
Tlist_Get_Tag_Prototype_By_Line() taglist.txt /*Tlist_Get_Tag_Prototype_By_Line()*
|
||||||
|
Tlist_Get_Tagname_By_Line() taglist.txt /*Tlist_Get_Tagname_By_Line()*
|
||||||
|
Tlist_Set_App() taglist.txt /*Tlist_Set_App()*
|
||||||
|
Tlist_Update_File_Tags() taglist.txt /*Tlist_Update_File_Tags()*
|
||||||
|
Todo CuteTodoList.txt /*Todo*
|
||||||
|
TodoClose CuteTodoList.txt /*TodoClose*
|
||||||
|
TodoOpen CuteTodoList.txt /*TodoOpen*
|
||||||
|
Todog CuteTodoList.txt /*Todog*
|
||||||
|
Transpose_CSV ft-csv.txt /*Transpose_CSV*
|
||||||
|
TwitVim twitvim.txt /*TwitVim*
|
||||||
|
TwitVim-A-d twitvim.txt /*TwitVim-A-d*
|
||||||
|
TwitVim-A-g twitvim.txt /*TwitVim-A-g*
|
||||||
|
TwitVim-A-r twitvim.txt /*TwitVim-A-r*
|
||||||
|
TwitVim-A-t twitvim.txt /*TwitVim-A-t*
|
||||||
|
TwitVim-C-PageDown twitvim.txt /*TwitVim-C-PageDown*
|
||||||
|
TwitVim-C-PageUp twitvim.txt /*TwitVim-C-PageUp*
|
||||||
|
TwitVim-C-i twitvim.txt /*TwitVim-C-i*
|
||||||
|
TwitVim-C-o twitvim.txt /*TwitVim-C-o*
|
||||||
|
TwitVim-C-t twitvim.txt /*TwitVim-C-t*
|
||||||
|
TwitVim-Leader-@ twitvim.txt /*TwitVim-Leader-@*
|
||||||
|
TwitVim-Leader-Leader twitvim.txt /*TwitVim-Leader-Leader*
|
||||||
|
TwitVim-Leader-S-r twitvim.txt /*TwitVim-Leader-S-r*
|
||||||
|
TwitVim-Leader-X twitvim.txt /*TwitVim-Leader-X*
|
||||||
|
TwitVim-Leader-d twitvim.txt /*TwitVim-Leader-d*
|
||||||
|
TwitVim-Leader-e twitvim.txt /*TwitVim-Leader-e*
|
||||||
|
TwitVim-Leader-g twitvim.txt /*TwitVim-Leader-g*
|
||||||
|
TwitVim-Leader-p twitvim.txt /*TwitVim-Leader-p*
|
||||||
|
TwitVim-Leader-r twitvim.txt /*TwitVim-Leader-r*
|
||||||
|
TwitVim-LongURL twitvim.txt /*TwitVim-LongURL*
|
||||||
|
TwitVim-add twitvim.txt /*TwitVim-add*
|
||||||
|
TwitVim-cURL twitvim.txt /*TwitVim-cURL*
|
||||||
|
TwitVim-contents twitvim.txt /*TwitVim-contents*
|
||||||
|
TwitVim-credits twitvim.txt /*TwitVim-credits*
|
||||||
|
TwitVim-delete twitvim.txt /*TwitVim-delete*
|
||||||
|
TwitVim-direct-message twitvim.txt /*TwitVim-direct-message*
|
||||||
|
TwitVim-goto twitvim.txt /*TwitVim-goto*
|
||||||
|
TwitVim-highlight twitvim.txt /*TwitVim-highlight*
|
||||||
|
TwitVim-history twitvim.txt /*TwitVim-history*
|
||||||
|
TwitVim-hotkeys twitvim.txt /*TwitVim-hotkeys*
|
||||||
|
TwitVim-inreplyto twitvim.txt /*TwitVim-inreplyto*
|
||||||
|
TwitVim-install twitvim.txt /*TwitVim-install*
|
||||||
|
TwitVim-intro twitvim.txt /*TwitVim-intro*
|
||||||
|
TwitVim-line-length twitvim.txt /*TwitVim-line-length*
|
||||||
|
TwitVim-login-base64 twitvim.txt /*TwitVim-login-base64*
|
||||||
|
TwitVim-manual twitvim.txt /*TwitVim-manual*
|
||||||
|
TwitVim-mappings twitvim.txt /*TwitVim-mappings*
|
||||||
|
TwitVim-next twitvim.txt /*TwitVim-next*
|
||||||
|
TwitVim-non-cURL twitvim.txt /*TwitVim-non-cURL*
|
||||||
|
TwitVim-previous twitvim.txt /*TwitVim-previous*
|
||||||
|
TwitVim-profile twitvim.txt /*TwitVim-profile*
|
||||||
|
TwitVim-refresh twitvim.txt /*TwitVim-refresh*
|
||||||
|
TwitVim-reply twitvim.txt /*TwitVim-reply*
|
||||||
|
TwitVim-retweet twitvim.txt /*TwitVim-retweet*
|
||||||
|
TwitVim-ssl twitvim.txt /*TwitVim-ssl*
|
||||||
|
TwitVim-ssl-curl twitvim.txt /*TwitVim-ssl-curl*
|
||||||
|
TwitVim-ssl-perl twitvim.txt /*TwitVim-ssl-perl*
|
||||||
|
TwitVim-ssl-python twitvim.txt /*TwitVim-ssl-python*
|
||||||
|
TwitVim-ssl-ruby twitvim.txt /*TwitVim-ssl-ruby*
|
||||||
|
TwitVim-switch twitvim.txt /*TwitVim-switch*
|
||||||
|
TwitVim-timeline-commands twitvim.txt /*TwitVim-timeline-commands*
|
||||||
|
TwitVim-tips twitvim.txt /*TwitVim-tips*
|
||||||
|
TwitVim-update-commands twitvim.txt /*TwitVim-update-commands*
|
||||||
|
TwitVim-utility twitvim.txt /*TwitVim-utility*
|
||||||
|
UnArrangeColumn_CSV ft-csv.txt /*UnArrangeColumn_CSV*
|
||||||
|
VHeaderToggle_CSV ft-csv.txt /*VHeaderToggle_CSV*
|
||||||
|
VHeader_CSV ft-csv.txt /*VHeader_CSV*
|
||||||
|
VertFold_CSV ft-csv.txt /*VertFold_CSV*
|
||||||
|
VimwikiWeblinkHandler vimwiki.txt /*VimwikiWeblinkHandler*
|
||||||
|
Vjdegd vjde.txt /*Vjdegd*
|
||||||
|
Vjdeinfo vjde.txt /*Vjdeinfo*
|
||||||
|
WhatColumn_CSV ft-csv.txt /*WhatColumn_CSV*
|
||||||
|
config/rails.vim rails.txt /*config\/rails.vim*
|
||||||
|
conque_term-bugs conque_term.txt /*conque_term-bugs*
|
||||||
|
conque_term-changelog conque_term.txt /*conque_term-changelog*
|
||||||
|
conque_term-contribute conque_term.txt /*conque_term-contribute*
|
||||||
|
conque_term-requirements conque_term.txt /*conque_term-requirements*
|
||||||
|
conque_term-settings conque_term.txt /*conque_term-settings*
|
||||||
|
conque_term-todo conque_term.txt /*conque_term-todo*
|
||||||
|
conque_term-usage conque_term.txt /*conque_term-usage*
|
||||||
|
csv-aggregate-functions ft-csv.txt /*csv-aggregate-functions*
|
||||||
|
csv-analyze ft-csv.txt /*csv-analyze*
|
||||||
|
csv-arrange-autocmd ft-csv.txt /*csv-arrange-autocmd*
|
||||||
|
csv-changelog ft-csv.txt /*csv-changelog*
|
||||||
|
csv-column ft-csv.txt /*csv-column*
|
||||||
|
csv-commands ft-csv.txt /*csv-commands*
|
||||||
|
csv-comments ft-csv.txt /*csv-comments*
|
||||||
|
csv-conceal ft-csv.txt /*csv-conceal*
|
||||||
|
csv-configuration ft-csv.txt /*csv-configuration*
|
||||||
|
csv-convert ft-csv.txt /*csv-convert*
|
||||||
|
csv-delimiter ft-csv.txt /*csv-delimiter*
|
||||||
|
csv-filter ft-csv.txt /*csv-filter*
|
||||||
|
csv-fixedwidth ft-csv.txt /*csv-fixedwidth*
|
||||||
|
csv-header ft-csv.txt /*csv-header*
|
||||||
|
csv-hicol ft-csv.txt /*csv-hicol*
|
||||||
|
csv-higroup ft-csv.txt /*csv-higroup*
|
||||||
|
csv-installation ft-csv.txt /*csv-installation*
|
||||||
|
csv-intro ft-csv.txt /*csv-intro*
|
||||||
|
csv-mapping ft-csv.txt /*csv-mapping*
|
||||||
|
csv-mbyte ft-csv.txt /*csv-mbyte*
|
||||||
|
csv-move-folds ft-csv.txt /*csv-move-folds*
|
||||||
|
csv-newline ft-csv.txt /*csv-newline*
|
||||||
|
csv-nrformat ft-csv.txt /*csv-nrformat*
|
||||||
|
csv-slow ft-csv.txt /*csv-slow*
|
||||||
|
csv-stl ft-csv.txt /*csv-stl*
|
||||||
|
csv-strict ft-csv.txt /*csv-strict*
|
||||||
|
csv-syntax ft-csv.txt /*csv-syntax*
|
||||||
|
csv-syntax-error ft-csv.txt /*csv-syntax-error*
|
||||||
|
csv-tips ft-csv.txt /*csv-tips*
|
||||||
|
csv-toc ft-csv.txt /*csv-toc*
|
||||||
|
csv-transpose ft-csv.txt /*csv-transpose*
|
||||||
|
csv-vertfold ft-csv.txt /*csv-vertfold*
|
||||||
|
cuteBufferUsage CuteTodoList.txt /*cuteBufferUsage*
|
||||||
|
cuteTodoCommands CuteTodoList.txt /*cuteTodoCommands*
|
||||||
|
cuteTodoConfiguration CuteTodoList.txt /*cuteTodoConfiguration*
|
||||||
|
cuteTodoList CuteTodoList.txt /*cuteTodoList*
|
||||||
|
ft-csv.txt ft-csv.txt /*ft-csv.txt*
|
||||||
|
fugitive fugitive.txt /*fugitive*
|
||||||
|
fugitive#statusline() fugitive.txt /*fugitive#statusline()*
|
||||||
|
fugitive-:Gblame fugitive.txt /*fugitive-:Gblame*
|
||||||
|
fugitive-:Gcd fugitive.txt /*fugitive-:Gcd*
|
||||||
|
fugitive-:Gcommit fugitive.txt /*fugitive-:Gcommit*
|
||||||
|
fugitive-:Gdiff fugitive.txt /*fugitive-:Gdiff*
|
||||||
|
fugitive-:Ge fugitive.txt /*fugitive-:Ge*
|
||||||
|
fugitive-:Gedit fugitive.txt /*fugitive-:Gedit*
|
||||||
|
fugitive-:Ggrep fugitive.txt /*fugitive-:Ggrep*
|
||||||
|
fugitive-:Git fugitive.txt /*fugitive-:Git*
|
||||||
|
fugitive-:Glcd fugitive.txt /*fugitive-:Glcd*
|
||||||
|
fugitive-:Glog fugitive.txt /*fugitive-:Glog*
|
||||||
|
fugitive-:Gmove fugitive.txt /*fugitive-:Gmove*
|
||||||
|
fugitive-:Gpedit fugitive.txt /*fugitive-:Gpedit*
|
||||||
|
fugitive-:Gread fugitive.txt /*fugitive-:Gread*
|
||||||
|
fugitive-:Gread! fugitive.txt /*fugitive-:Gread!*
|
||||||
|
fugitive-:Gremove fugitive.txt /*fugitive-:Gremove*
|
||||||
|
fugitive-:Gsplit fugitive.txt /*fugitive-:Gsplit*
|
||||||
|
fugitive-:Gstatus fugitive.txt /*fugitive-:Gstatus*
|
||||||
|
fugitive-:Gtabedit fugitive.txt /*fugitive-:Gtabedit*
|
||||||
|
fugitive-:Gvsplit fugitive.txt /*fugitive-:Gvsplit*
|
||||||
|
fugitive-:Gwrite fugitive.txt /*fugitive-:Gwrite*
|
||||||
|
fugitive-<CR> fugitive.txt /*fugitive-<CR>*
|
||||||
|
fugitive-C fugitive.txt /*fugitive-C*
|
||||||
|
fugitive-O fugitive.txt /*fugitive-O*
|
||||||
|
fugitive-P fugitive.txt /*fugitive-P*
|
||||||
|
fugitive-a fugitive.txt /*fugitive-a*
|
||||||
|
fugitive-about fugitive.txt /*fugitive-about*
|
||||||
|
fugitive-author fugitive.txt /*fugitive-author*
|
||||||
|
fugitive-commands fugitive.txt /*fugitive-commands*
|
||||||
|
fugitive-mappings fugitive.txt /*fugitive-mappings*
|
||||||
|
fugitive-o fugitive.txt /*fugitive-o*
|
||||||
|
fugitive-revision fugitive.txt /*fugitive-revision*
|
||||||
|
fugitive-statusline fugitive.txt /*fugitive-statusline*
|
||||||
|
fugitive-~ fugitive.txt /*fugitive-~*
|
||||||
|
fugitive.txt fugitive.txt /*fugitive.txt*
|
||||||
|
g:loaded_rails rails.txt /*g:loaded_rails*
|
||||||
|
g:rails_abbreviations rails.txt /*g:rails_abbreviations*
|
||||||
|
g:rails_ctags_arguments rails.txt /*g:rails_ctags_arguments*
|
||||||
|
g:rails_dbext rails.txt /*g:rails_dbext*
|
||||||
|
g:rails_default_database rails.txt /*g:rails_default_database*
|
||||||
|
g:rails_default_file rails.txt /*g:rails_default_file*
|
||||||
|
g:rails_expensive rails.txt /*g:rails_expensive*
|
||||||
|
g:rails_gnu_screen rails.txt /*g:rails_gnu_screen*
|
||||||
|
g:rails_history_size rails.txt /*g:rails_history_size*
|
||||||
|
g:rails_mappings rails.txt /*g:rails_mappings*
|
||||||
|
g:rails_menu rails.txt /*g:rails_menu*
|
||||||
|
g:rails_modelines rails.txt /*g:rails_modelines*
|
||||||
|
g:rails_statusline rails.txt /*g:rails_statusline*
|
||||||
|
g:rails_syntax rails.txt /*g:rails_syntax*
|
||||||
|
g:rails_tabstop rails.txt /*g:rails_tabstop*
|
||||||
|
g:rails_url rails.txt /*g:rails_url*
|
||||||
|
g:snippets_dir snipMate.txt /*g:snippets_dir*
|
||||||
|
g:snips_author snipMate.txt /*g:snips_author*
|
||||||
|
g:todo_generate_auto CuteTodoList.txt /*g:todo_generate_auto*
|
||||||
|
g:todo_list_buff_name CuteTodoList.txt /*g:todo_list_buff_name*
|
||||||
|
g:todo_list_filename CuteTodoList.txt /*g:todo_list_filename*
|
||||||
|
g:todo_list_globfilename CuteTodoList.txt /*g:todo_list_globfilename*
|
||||||
|
g:vimwiki_CJK_length vimwiki.txt /*g:vimwiki_CJK_length*
|
||||||
|
g:vimwiki_auto_checkbox vimwiki.txt /*g:vimwiki_auto_checkbox*
|
||||||
|
g:vimwiki_badsyms vimwiki.txt /*g:vimwiki_badsyms*
|
||||||
|
g:vimwiki_browsers vimwiki.txt /*g:vimwiki_browsers*
|
||||||
|
g:vimwiki_camel_case vimwiki.txt /*g:vimwiki_camel_case*
|
||||||
|
g:vimwiki_conceallevel vimwiki.txt /*g:vimwiki_conceallevel*
|
||||||
|
g:vimwiki_dir_link vimwiki.txt /*g:vimwiki_dir_link*
|
||||||
|
g:vimwiki_file_exts vimwiki.txt /*g:vimwiki_file_exts*
|
||||||
|
g:vimwiki_fold_lists vimwiki.txt /*g:vimwiki_fold_lists*
|
||||||
|
g:vimwiki_fold_trailing_empty_lines vimwiki.txt /*g:vimwiki_fold_trailing_empty_lines*
|
||||||
|
g:vimwiki_folding vimwiki.txt /*g:vimwiki_folding*
|
||||||
|
g:vimwiki_global_ext vimwiki.txt /*g:vimwiki_global_ext*
|
||||||
|
g:vimwiki_hl_cb_checked vimwiki.txt /*g:vimwiki_hl_cb_checked*
|
||||||
|
g:vimwiki_hl_headers vimwiki.txt /*g:vimwiki_hl_headers*
|
||||||
|
g:vimwiki_html_header_numbering vimwiki.txt /*g:vimwiki_html_header_numbering*
|
||||||
|
g:vimwiki_html_header_numbering_sym vimwiki.txt /*g:vimwiki_html_header_numbering_sym*
|
||||||
|
g:vimwiki_list vimwiki.txt /*g:vimwiki_list*
|
||||||
|
g:vimwiki_list_ignore_newline vimwiki.txt /*g:vimwiki_list_ignore_newline*
|
||||||
|
g:vimwiki_listsyms vimwiki.txt /*g:vimwiki_listsyms*
|
||||||
|
g:vimwiki_lower vimwiki.txt /*g:vimwiki_lower*
|
||||||
|
g:vimwiki_menu vimwiki.txt /*g:vimwiki_menu*
|
||||||
|
g:vimwiki_stripsym vimwiki.txt /*g:vimwiki_stripsym*
|
||||||
|
g:vimwiki_table_auto_fmt vimwiki.txt /*g:vimwiki_table_auto_fmt*
|
||||||
|
g:vimwiki_upper vimwiki.txt /*g:vimwiki_upper*
|
||||||
|
g:vimwiki_use_calendar vimwiki.txt /*g:vimwiki_use_calendar*
|
||||||
|
g:vimwiki_use_mouse vimwiki.txt /*g:vimwiki_use_mouse*
|
||||||
|
g:vimwiki_valid_html_tags vimwiki.txt /*g:vimwiki_valid_html_tags*
|
||||||
|
g:vimwiki_w32_dir_enc vimwiki.txt /*g:vimwiki_w32_dir_enc*
|
||||||
|
g:vjde_taglib_uri vjde.txt /*g:vjde_taglib_uri*
|
||||||
|
hl-twitterLink twitvim.txt /*hl-twitterLink*
|
||||||
|
hl-twitterReply twitvim.txt /*hl-twitterReply*
|
||||||
|
hl-twitterTime twitvim.txt /*hl-twitterTime*
|
||||||
|
hl-twitterTitle twitvim.txt /*hl-twitterTitle*
|
||||||
|
hl-twitterUser twitvim.txt /*hl-twitterUser*
|
||||||
|
i_CTRL-R_<Tab> snipMate.txt /*i_CTRL-R_<Tab>*
|
||||||
|
im_1 imaps.txt /*im_1*
|
||||||
|
imaps-usage imaps.txt /*imaps-usage*
|
||||||
|
imaps.txt imaps.txt /*imaps.txt*
|
||||||
|
imaps.txt-toc imaps.txt /*imaps.txt-toc*
|
||||||
|
list-snippets snipMate.txt /*list-snippets*
|
||||||
|
loaded_nerd_comments NERD_commenter.txt /*loaded_nerd_comments*
|
||||||
|
loaded_potwiki potwiki.txt /*loaded_potwiki*
|
||||||
|
macros/rails.vim rails.txt /*macros\/rails.vim*
|
||||||
|
multi_snip snipMate.txt /*multi_snip*
|
||||||
|
potwiki potwiki.txt /*potwiki*
|
||||||
|
potwiki-auto-help potwiki.txt /*potwiki-auto-help*
|
||||||
|
potwiki-bugs potwiki.txt /*potwiki-bugs*
|
||||||
|
potwiki-commands potwiki.txt /*potwiki-commands*
|
||||||
|
potwiki-contents potwiki.txt /*potwiki-contents*
|
||||||
|
potwiki-customize potwiki.txt /*potwiki-customize*
|
||||||
|
potwiki-disable potwiki.txt /*potwiki-disable*
|
||||||
|
potwiki-install potwiki.txt /*potwiki-install*
|
||||||
|
potwiki-intro potwiki.txt /*potwiki-intro*
|
||||||
|
potwiki-mappings-override potwiki.txt /*potwiki-mappings-override*
|
||||||
|
potwiki-options potwiki.txt /*potwiki-options*
|
||||||
|
potwiki-requirements potwiki.txt /*potwiki-requirements*
|
||||||
|
potwiki-todo potwiki.txt /*potwiki-todo*
|
||||||
|
potwiki.txt potwiki.txt /*potwiki.txt*
|
||||||
|
potwiki_autowrite potwiki.txt /*potwiki_autowrite*
|
||||||
|
potwiki_home potwiki.txt /*potwiki_home*
|
||||||
|
potwiki_home_dir potwiki.txt /*potwiki_home_dir*
|
||||||
|
potwiki_ignore potwiki.txt /*potwiki_ignore*
|
||||||
|
potwiki_lower potwiki.txt /*potwiki_lower*
|
||||||
|
potwiki_other potwiki.txt /*potwiki_other*
|
||||||
|
potwiki_suffix potwiki.txt /*potwiki_suffix*
|
||||||
|
potwiki_upper potwiki.txt /*potwiki_upper*
|
||||||
|
rails rails.txt /*rails*
|
||||||
|
rails-'cfu' rails.txt /*rails-'cfu'*
|
||||||
|
rails-'completefunc' rails.txt /*rails-'completefunc'*
|
||||||
|
rails-'et' rails.txt /*rails-'et'*
|
||||||
|
rails-'expandtab' rails.txt /*rails-'expandtab'*
|
||||||
|
rails-'filetype' rails.txt /*rails-'filetype'*
|
||||||
|
rails-'ft' rails.txt /*rails-'ft'*
|
||||||
|
rails-'includeexpr' rails.txt /*rails-'includeexpr'*
|
||||||
|
rails-'inex' rails.txt /*rails-'inex'*
|
||||||
|
rails-'pa' rails.txt /*rails-'pa'*
|
||||||
|
rails-'path' rails.txt /*rails-'path'*
|
||||||
|
rails-'shiftwidth' rails.txt /*rails-'shiftwidth'*
|
||||||
|
rails-'softtabstop' rails.txt /*rails-'softtabstop'*
|
||||||
|
rails-'statusline' rails.txt /*rails-'statusline'*
|
||||||
|
rails-'stl' rails.txt /*rails-'stl'*
|
||||||
|
rails-'sts' rails.txt /*rails-'sts'*
|
||||||
|
rails-'sua' rails.txt /*rails-'sua'*
|
||||||
|
rails-'suffixesadd' rails.txt /*rails-'suffixesadd'*
|
||||||
|
rails-'sw' rails.txt /*rails-'sw'*
|
||||||
|
rails-:A rails.txt /*rails-:A*
|
||||||
|
rails-:AD rails.txt /*rails-:AD*
|
||||||
|
rails-:AE rails.txt /*rails-:AE*
|
||||||
|
rails-:AS rails.txt /*rails-:AS*
|
||||||
|
rails-:AT rails.txt /*rails-:AT*
|
||||||
|
rails-:AV rails.txt /*rails-:AV*
|
||||||
|
rails-:OpenURL rails.txt /*rails-:OpenURL*
|
||||||
|
rails-:R rails.txt /*rails-:R*
|
||||||
|
rails-:RD rails.txt /*rails-:RD*
|
||||||
|
rails-:RE rails.txt /*rails-:RE*
|
||||||
|
rails-:RS rails.txt /*rails-:RS*
|
||||||
|
rails-:RT rails.txt /*rails-:RT*
|
||||||
|
rails-:RV rails.txt /*rails-:RV*
|
||||||
|
rails-:Rabbrev rails.txt /*rails-:Rabbrev*
|
||||||
|
rails-:Rabbrev! rails.txt /*rails-:Rabbrev!*
|
||||||
|
rails-:Rails rails.txt /*rails-:Rails*
|
||||||
|
rails-:Rake rails.txt /*rails-:Rake*
|
||||||
|
rails-:Rake! rails.txt /*rails-:Rake!*
|
||||||
|
rails-:Rapi rails.txt /*rails-:Rapi*
|
||||||
|
rails-:Rcd rails.txt /*rails-:Rcd*
|
||||||
|
rails-:Rcommand rails.txt /*rails-:Rcommand*
|
||||||
|
rails-:Rconsole rails.txt /*rails-:Rconsole*
|
||||||
|
rails-:Rcontroller rails.txt /*rails-:Rcontroller*
|
||||||
|
rails-:Rdbext rails.txt /*rails-:Rdbext*
|
||||||
|
rails-:Rdestroy rails.txt /*rails-:Rdestroy*
|
||||||
|
rails-:Rdoc rails.txt /*rails-:Rdoc*
|
||||||
|
rails-:Rdoc! rails.txt /*rails-:Rdoc!*
|
||||||
|
rails-:Redit rails.txt /*rails-:Redit*
|
||||||
|
rails-:Renvironment rails.txt /*rails-:Renvironment*
|
||||||
|
rails-:Rextract rails.txt /*rails-:Rextract*
|
||||||
|
rails-:Rfind rails.txt /*rails-:Rfind*
|
||||||
|
rails-:Rfixtures rails.txt /*rails-:Rfixtures*
|
||||||
|
rails-:Rfunctionaltest rails.txt /*rails-:Rfunctionaltest*
|
||||||
|
rails-:Rgenerate rails.txt /*rails-:Rgenerate*
|
||||||
|
rails-:Rhelper rails.txt /*rails-:Rhelper*
|
||||||
|
rails-:Rinitializer rails.txt /*rails-:Rinitializer*
|
||||||
|
rails-:Rintegrationtest rails.txt /*rails-:Rintegrationtest*
|
||||||
|
rails-:Rinvert rails.txt /*rails-:Rinvert*
|
||||||
|
rails-:Rjavascript rails.txt /*rails-:Rjavascript*
|
||||||
|
rails-:Rlayout rails.txt /*rails-:Rlayout*
|
||||||
|
rails-:Rlcd rails.txt /*rails-:Rlcd*
|
||||||
|
rails-:Rlib rails.txt /*rails-:Rlib*
|
||||||
|
rails-:Rlocale rails.txt /*rails-:Rlocale*
|
||||||
|
rails-:Rlog rails.txt /*rails-:Rlog*
|
||||||
|
rails-:Rmetal rails.txt /*rails-:Rmetal*
|
||||||
|
rails-:Rmigration rails.txt /*rails-:Rmigration*
|
||||||
|
rails-:Rmodel rails.txt /*rails-:Rmodel*
|
||||||
|
rails-:Rnavcommand rails.txt /*rails-:Rnavcommand*
|
||||||
|
rails-:Robserver rails.txt /*rails-:Robserver*
|
||||||
|
rails-:Rp rails.txt /*rails-:Rp*
|
||||||
|
rails-:Rpartial rails.txt /*rails-:Rpartial*
|
||||||
|
rails-:Rplugin rails.txt /*rails-:Rplugin*
|
||||||
|
rails-:Rpp rails.txt /*rails-:Rpp*
|
||||||
|
rails-:Rpreview rails.txt /*rails-:Rpreview*
|
||||||
|
rails-:Rpreview! rails.txt /*rails-:Rpreview!*
|
||||||
|
rails-:Rproject rails.txt /*rails-:Rproject*
|
||||||
|
rails-:Rrefresh rails.txt /*rails-:Rrefresh*
|
||||||
|
rails-:Rrefresh! rails.txt /*rails-:Rrefresh!*
|
||||||
|
rails-:Rrunner rails.txt /*rails-:Rrunner*
|
||||||
|
rails-:Rscript rails.txt /*rails-:Rscript*
|
||||||
|
rails-:Rserver rails.txt /*rails-:Rserver*
|
||||||
|
rails-:Rserver! rails.txt /*rails-:Rserver!*
|
||||||
|
rails-:Rset rails.txt /*rails-:Rset*
|
||||||
|
rails-:Rspec rails.txt /*rails-:Rspec*
|
||||||
|
rails-:Rstylesheet rails.txt /*rails-:Rstylesheet*
|
||||||
|
rails-:Rtags rails.txt /*rails-:Rtags*
|
||||||
|
rails-:Rtask rails.txt /*rails-:Rtask*
|
||||||
|
rails-:Rtree rails.txt /*rails-:Rtree*
|
||||||
|
rails-:Runittest rails.txt /*rails-:Runittest*
|
||||||
|
rails-:Rview rails.txt /*rails-:Rview*
|
||||||
|
rails-:Ry rails.txt /*rails-:Ry*
|
||||||
|
rails-:autocmd rails.txt /*rails-:autocmd*
|
||||||
|
rails-@params rails.txt /*rails-@params*
|
||||||
|
rails-abbreviations rails.txt /*rails-abbreviations*
|
||||||
|
rails-about rails.txt /*rails-about*
|
||||||
|
rails-alternate rails.txt /*rails-alternate*
|
||||||
|
rails-alternate-related rails.txt /*rails-alternate-related*
|
||||||
|
rails-autocommands rails.txt /*rails-autocommands*
|
||||||
|
rails-commands rails.txt /*rails-commands*
|
||||||
|
rails-configuration rails.txt /*rails-configuration*
|
||||||
|
rails-controller-navigation rails.txt /*rails-controller-navigation*
|
||||||
|
rails-cream rails.txt /*rails-cream*
|
||||||
|
rails-custom-navigation rails.txt /*rails-custom-navigation*
|
||||||
|
rails-dbext rails.txt /*rails-dbext*
|
||||||
|
rails-gf rails.txt /*rails-gf*
|
||||||
|
rails-global-settings rails.txt /*rails-global-settings*
|
||||||
|
rails-install-plugin rails.txt /*rails-install-plugin*
|
||||||
|
rails-install-vim rails.txt /*rails-install-vim*
|
||||||
|
rails-installation rails.txt /*rails-installation*
|
||||||
|
rails-integration rails.txt /*rails-integration*
|
||||||
|
rails-introduction rails.txt /*rails-introduction*
|
||||||
|
rails-license rails.txt /*rails-license*
|
||||||
|
rails-menu rails.txt /*rails-menu*
|
||||||
|
rails-merb rails.txt /*rails-merb*
|
||||||
|
rails-migrations rails.txt /*rails-migrations*
|
||||||
|
rails-misc-navigation rails.txt /*rails-misc-navigation*
|
||||||
|
rails-model-navigation rails.txt /*rails-model-navigation*
|
||||||
|
rails-modelines rails.txt /*rails-modelines*
|
||||||
|
rails-navigation rails.txt /*rails-navigation*
|
||||||
|
rails-options rails.txt /*rails-options*
|
||||||
|
rails-partials rails.txt /*rails-partials*
|
||||||
|
rails-plugin-author rails.txt /*rails-plugin-author*
|
||||||
|
rails-rails-integration rails.txt /*rails-rails-integration*
|
||||||
|
rails-rake rails.txt /*rails-rake*
|
||||||
|
rails-rake-defaults rails.txt /*rails-rake-defaults*
|
||||||
|
rails-refactoring rails.txt /*rails-refactoring*
|
||||||
|
rails-related rails.txt /*rails-related*
|
||||||
|
rails-rspec rails.txt /*rails-rspec*
|
||||||
|
rails-screen rails.txt /*rails-screen*
|
||||||
|
rails-scripts rails.txt /*rails-scripts*
|
||||||
|
rails-slow rails.txt /*rails-slow*
|
||||||
|
rails-snippets rails.txt /*rails-snippets*
|
||||||
|
rails-surround rails.txt /*rails-surround*
|
||||||
|
rails-syntax rails.txt /*rails-syntax*
|
||||||
|
rails-syntax-assertions rails.txt /*rails-syntax-assertions*
|
||||||
|
rails-syntax-classes rails.txt /*rails-syntax-classes*
|
||||||
|
rails-syntax-deprecated rails.txt /*rails-syntax-deprecated*
|
||||||
|
rails-syntax-keywords rails.txt /*rails-syntax-keywords*
|
||||||
|
rails-syntax-strings rails.txt /*rails-syntax-strings*
|
||||||
|
rails-syntax-yaml rails.txt /*rails-syntax-yaml*
|
||||||
|
rails-tabs rails.txt /*rails-tabs*
|
||||||
|
rails-template-types rails.txt /*rails-template-types*
|
||||||
|
rails-vim-integration rails.txt /*rails-vim-integration*
|
||||||
|
rails.txt rails.txt /*rails.txt*
|
||||||
|
snipMate snipMate.txt /*snipMate*
|
||||||
|
snipMate-$# snipMate.txt /*snipMate-$#*
|
||||||
|
snipMate-${#:} snipMate.txt /*snipMate-${#:}*
|
||||||
|
snipMate-${#} snipMate.txt /*snipMate-${#}*
|
||||||
|
snipMate-author snipMate.txt /*snipMate-author*
|
||||||
|
snipMate-commands snipMate.txt /*snipMate-commands*
|
||||||
|
snipMate-contact snipMate.txt /*snipMate-contact*
|
||||||
|
snipMate-description snipMate.txt /*snipMate-description*
|
||||||
|
snipMate-disadvantages snipMate.txt /*snipMate-disadvantages*
|
||||||
|
snipMate-expandtab snipMate.txt /*snipMate-expandtab*
|
||||||
|
snipMate-features snipMate.txt /*snipMate-features*
|
||||||
|
snipMate-filename snipMate.txt /*snipMate-filename*
|
||||||
|
snipMate-indenting snipMate.txt /*snipMate-indenting*
|
||||||
|
snipMate-placeholders snipMate.txt /*snipMate-placeholders*
|
||||||
|
snipMate-remap snipMate.txt /*snipMate-remap*
|
||||||
|
snipMate-settings snipMate.txt /*snipMate-settings*
|
||||||
|
snipMate-usage snipMate.txt /*snipMate-usage*
|
||||||
|
snipMate.txt snipMate.txt /*snipMate.txt*
|
||||||
|
snippet snipMate.txt /*snippet*
|
||||||
|
snippet-syntax snipMate.txt /*snippet-syntax*
|
||||||
|
snippets snipMate.txt /*snippets*
|
||||||
|
taglist-commands taglist.txt /*taglist-commands*
|
||||||
|
taglist-debug taglist.txt /*taglist-debug*
|
||||||
|
taglist-extend taglist.txt /*taglist-extend*
|
||||||
|
taglist-faq taglist.txt /*taglist-faq*
|
||||||
|
taglist-functions taglist.txt /*taglist-functions*
|
||||||
|
taglist-install taglist.txt /*taglist-install*
|
||||||
|
taglist-internet taglist.txt /*taglist-internet*
|
||||||
|
taglist-intro taglist.txt /*taglist-intro*
|
||||||
|
taglist-keys taglist.txt /*taglist-keys*
|
||||||
|
taglist-license taglist.txt /*taglist-license*
|
||||||
|
taglist-menu taglist.txt /*taglist-menu*
|
||||||
|
taglist-options taglist.txt /*taglist-options*
|
||||||
|
taglist-requirements taglist.txt /*taglist-requirements*
|
||||||
|
taglist-session taglist.txt /*taglist-session*
|
||||||
|
taglist-todo taglist.txt /*taglist-todo*
|
||||||
|
taglist-using taglist.txt /*taglist-using*
|
||||||
|
taglist.txt taglist.txt /*taglist.txt*
|
||||||
|
textile-changelog textile.txt /*textile-changelog*
|
||||||
|
textile-commands textile.txt /*textile-commands*
|
||||||
|
textile-credits textile.txt /*textile-credits*
|
||||||
|
textile-requirements textile.txt /*textile-requirements*
|
||||||
|
textile.txt textile.txt /*textile.txt*
|
||||||
|
todo_+ CuteTodoList.txt /*todo_+*
|
||||||
|
todo_- CuteTodoList.txt /*todo_-*
|
||||||
|
todo_^ CuteTodoList.txt /*todo_^*
|
||||||
|
todo_generate_auto CuteTodoList.txt /*todo_generate_auto*
|
||||||
|
todo_list_buff_name CuteTodoList.txt /*todo_list_buff_name*
|
||||||
|
todo_list_filename CuteTodoList.txt /*todo_list_filename*
|
||||||
|
todo_list_globfilename CuteTodoList.txt /*todo_list_globfilename*
|
||||||
|
todo_m CuteTodoList.txt /*todo_m*
|
||||||
|
todo_o CuteTodoList.txt /*todo_o*
|
||||||
|
todo_s CuteTodoList.txt /*todo_s*
|
||||||
|
todo_u CuteTodoList.txt /*todo_u*
|
||||||
|
todo_v CuteTodoList.txt /*todo_v*
|
||||||
|
twitvim-identi.ca twitvim.txt /*twitvim-identi.ca*
|
||||||
|
twitvim.txt twitvim.txt /*twitvim.txt*
|
||||||
|
twitvim_api_root twitvim.txt /*twitvim_api_root*
|
||||||
|
twitvim_browser_cmd twitvim.txt /*twitvim_browser_cmd*
|
||||||
|
twitvim_cert_insecure twitvim.txt /*twitvim_cert_insecure*
|
||||||
|
twitvim_cligs_key twitvim.txt /*twitvim_cligs_key*
|
||||||
|
twitvim_count twitvim.txt /*twitvim_count*
|
||||||
|
twitvim_enable_perl twitvim.txt /*twitvim_enable_perl*
|
||||||
|
twitvim_enable_python twitvim.txt /*twitvim_enable_python*
|
||||||
|
twitvim_enable_ruby twitvim.txt /*twitvim_enable_ruby*
|
||||||
|
twitvim_enable_tcl twitvim.txt /*twitvim_enable_tcl*
|
||||||
|
twitvim_login twitvim.txt /*twitvim_login*
|
||||||
|
twitvim_login_b64 twitvim.txt /*twitvim_login_b64*
|
||||||
|
twitvim_proxy twitvim.txt /*twitvim_proxy*
|
||||||
|
twitvim_proxy_login twitvim.txt /*twitvim_proxy_login*
|
||||||
|
twitvim_proxy_login_b64 twitvim.txt /*twitvim_proxy_login_b64*
|
||||||
|
twitvim_retweet_format twitvim.txt /*twitvim_retweet_format*
|
||||||
|
twitvim_trim_login twitvim.txt /*twitvim_trim_login*
|
||||||
|
twitvim_urlborg_key twitvim.txt /*twitvim_urlborg_key*
|
||||||
|
v_<C-Y>, zencoding.txt /*v_<C-Y>,*
|
||||||
|
vcde vcde.txt /*vcde*
|
||||||
|
vimwiki vimwiki.txt /*vimwiki*
|
||||||
|
vimwiki-calendar vimwiki.txt /*vimwiki-calendar*
|
||||||
|
vimwiki-changelog vimwiki.txt /*vimwiki-changelog*
|
||||||
|
vimwiki-commands vimwiki.txt /*vimwiki-commands*
|
||||||
|
vimwiki-contents vimwiki.txt /*vimwiki-contents*
|
||||||
|
vimwiki-developers vimwiki.txt /*vimwiki-developers*
|
||||||
|
vimwiki-diary vimwiki.txt /*vimwiki-diary*
|
||||||
|
vimwiki-folding vimwiki.txt /*vimwiki-folding*
|
||||||
|
vimwiki-global-commands vimwiki.txt /*vimwiki-global-commands*
|
||||||
|
vimwiki-global-mappings vimwiki.txt /*vimwiki-global-mappings*
|
||||||
|
vimwiki-help vimwiki.txt /*vimwiki-help*
|
||||||
|
vimwiki-license vimwiki.txt /*vimwiki-license*
|
||||||
|
vimwiki-local-commands vimwiki.txt /*vimwiki-local-commands*
|
||||||
|
vimwiki-local-mappings vimwiki.txt /*vimwiki-local-mappings*
|
||||||
|
vimwiki-mappings vimwiki.txt /*vimwiki-mappings*
|
||||||
|
vimwiki-multiple-wikies vimwiki.txt /*vimwiki-multiple-wikies*
|
||||||
|
vimwiki-nohtml vimwiki.txt /*vimwiki-nohtml*
|
||||||
|
vimwiki-option-auto_export vimwiki.txt /*vimwiki-option-auto_export*
|
||||||
|
vimwiki-option-css_name vimwiki.txt /*vimwiki-option-css_name*
|
||||||
|
vimwiki-option-diary_header vimwiki.txt /*vimwiki-option-diary_header*
|
||||||
|
vimwiki-option-diary_index vimwiki.txt /*vimwiki-option-diary_index*
|
||||||
|
vimwiki-option-diary_link_count vimwiki.txt /*vimwiki-option-diary_link_count*
|
||||||
|
vimwiki-option-diary_rel_path vimwiki.txt /*vimwiki-option-diary_rel_path*
|
||||||
|
vimwiki-option-ext vimwiki.txt /*vimwiki-option-ext*
|
||||||
|
vimwiki-option-html_footer vimwiki.txt /*vimwiki-option-html_footer*
|
||||||
|
vimwiki-option-html_header vimwiki.txt /*vimwiki-option-html_header*
|
||||||
|
vimwiki-option-index vimwiki.txt /*vimwiki-option-index*
|
||||||
|
vimwiki-option-maxhi vimwiki.txt /*vimwiki-option-maxhi*
|
||||||
|
vimwiki-option-nested_syntaxes vimwiki.txt /*vimwiki-option-nested_syntaxes*
|
||||||
|
vimwiki-option-path vimwiki.txt /*vimwiki-option-path*
|
||||||
|
vimwiki-option-path_html vimwiki.txt /*vimwiki-option-path_html*
|
||||||
|
vimwiki-option-syntax vimwiki.txt /*vimwiki-option-syntax*
|
||||||
|
vimwiki-options vimwiki.txt /*vimwiki-options*
|
||||||
|
vimwiki-placeholders vimwiki.txt /*vimwiki-placeholders*
|
||||||
|
vimwiki-prerequisites vimwiki.txt /*vimwiki-prerequisites*
|
||||||
|
vimwiki-syntax vimwiki.txt /*vimwiki-syntax*
|
||||||
|
vimwiki-syntax-blockquotes vimwiki.txt /*vimwiki-syntax-blockquotes*
|
||||||
|
vimwiki-syntax-comments vimwiki.txt /*vimwiki-syntax-comments*
|
||||||
|
vimwiki-syntax-headers vimwiki.txt /*vimwiki-syntax-headers*
|
||||||
|
vimwiki-syntax-links vimwiki.txt /*vimwiki-syntax-links*
|
||||||
|
vimwiki-syntax-lists vimwiki.txt /*vimwiki-syntax-lists*
|
||||||
|
vimwiki-syntax-paragraphs vimwiki.txt /*vimwiki-syntax-paragraphs*
|
||||||
|
vimwiki-syntax-preformatted vimwiki.txt /*vimwiki-syntax-preformatted*
|
||||||
|
vimwiki-syntax-tables vimwiki.txt /*vimwiki-syntax-tables*
|
||||||
|
vimwiki-syntax-typefaces vimwiki.txt /*vimwiki-syntax-typefaces*
|
||||||
|
vimwiki-table-mappings vimwiki.txt /*vimwiki-table-mappings*
|
||||||
|
vimwiki-table-of-contents vimwiki.txt /*vimwiki-table-of-contents*
|
||||||
|
vimwiki-tables vimwiki.txt /*vimwiki-tables*
|
||||||
|
vimwiki-temporary-wiki vimwiki.txt /*vimwiki-temporary-wiki*
|
||||||
|
vimwiki-text-objects vimwiki.txt /*vimwiki-text-objects*
|
||||||
|
vimwiki-title vimwiki.txt /*vimwiki-title*
|
||||||
|
vimwiki-toc vimwiki.txt /*vimwiki-toc*
|
||||||
|
vimwiki-todo-lists vimwiki.txt /*vimwiki-todo-lists*
|
||||||
|
vimwiki.txt vimwiki.txt /*vimwiki.txt*
|
||||||
|
vimwiki_- vimwiki.txt /*vimwiki_-*
|
||||||
|
vimwiki_<A-Left> vimwiki.txt /*vimwiki_<A-Left>*
|
||||||
|
vimwiki_<A-Right> vimwiki.txt /*vimwiki_<A-Right>*
|
||||||
|
vimwiki_<Backspace> vimwiki.txt /*vimwiki_<Backspace>*
|
||||||
|
vimwiki_<C-CR> vimwiki.txt /*vimwiki_<C-CR>*
|
||||||
|
vimwiki_<C-Down> vimwiki.txt /*vimwiki_<C-Down>*
|
||||||
|
vimwiki_<C-Space> vimwiki.txt /*vimwiki_<C-Space>*
|
||||||
|
vimwiki_<C-Up> vimwiki.txt /*vimwiki_<C-Up>*
|
||||||
|
vimwiki_<CR> vimwiki.txt /*vimwiki_<CR>*
|
||||||
|
vimwiki_<Leader>wd vimwiki.txt /*vimwiki_<Leader>wd*
|
||||||
|
vimwiki_<Leader>wr vimwiki.txt /*vimwiki_<Leader>wr*
|
||||||
|
vimwiki_<S-CR> vimwiki.txt /*vimwiki_<S-CR>*
|
||||||
|
vimwiki_<S-Tab> vimwiki.txt /*vimwiki_<S-Tab>*
|
||||||
|
vimwiki_<Tab> vimwiki.txt /*vimwiki_<Tab>*
|
||||||
|
vimwiki_= vimwiki.txt /*vimwiki_=*
|
||||||
|
vimwiki_gqq vimwiki.txt /*vimwiki_gqq*
|
||||||
|
vimwiki_gww vimwiki.txt /*vimwiki_gww*
|
||||||
|
vimwiki_i_<CR> vimwiki.txt /*vimwiki_i_<CR>*
|
||||||
|
vimwiki_i_<S-CR> vimwiki.txt /*vimwiki_i_<S-CR>*
|
||||||
|
vimwiki_i_<Tab> vimwiki.txt /*vimwiki_i_<Tab>*
|
||||||
|
viwmiki-global-options vimwiki.txt /*viwmiki-global-options*
|
||||||
|
viwmiki-local-options vimwiki.txt /*viwmiki-local-options*
|
||||||
|
vjde vjde.txt /*vjde*
|
||||||
|
vjde-auto-comp vjde.txt /*vjde-auto-comp*
|
||||||
|
vjde-code vjde.txt /*vjde-code*
|
||||||
|
vjde-command vjde.txt /*vjde-command*
|
||||||
|
vjde-define vjde.txt /*vjde-define*
|
||||||
|
vjde-desc vjde.txt /*vjde-desc*
|
||||||
|
vjde-doc vjde.txt /*vjde-doc*
|
||||||
|
vjde-fix-ex vjde.txt /*vjde-fix-ex*
|
||||||
|
vjde-fix-im vjde.txt /*vjde-fix-im*
|
||||||
|
vjde-fix-th vjde.txt /*vjde-fix-th*
|
||||||
|
vjde-fix-tools vjde.txt /*vjde-fix-tools*
|
||||||
|
vjde-goto vjde.txt /*vjde-goto*
|
||||||
|
vjde-html vjde.txt /*vjde-html*
|
||||||
|
vjde-iabbr vjde.txt /*vjde-iabbr*
|
||||||
|
vjde-implements vjde.txt /*vjde-implements*
|
||||||
|
vjde-import-extract vjde.txt /*vjde-import-extract*
|
||||||
|
vjde-import-sort vjde.txt /*vjde-import-sort*
|
||||||
|
vjde-install vjde.txt /*vjde-install*
|
||||||
|
vjde-java vjde.txt /*vjde-java*
|
||||||
|
vjde-java-pkg vjde.txt /*vjde-java-pkg*
|
||||||
|
vjde-javadoc vjde.txt /*vjde-javadoc*
|
||||||
|
vjde-jsp vjde.txt /*vjde-jsp*
|
||||||
|
vjde-override vjde.txt /*vjde-override*
|
||||||
|
vjde-preview vjde.txt /*vjde-preview*
|
||||||
|
vjde-project vjde.txt /*vjde-project*
|
||||||
|
vjde-qa vjde.txt /*vjde-qa*
|
||||||
|
vjde-refactor vjde.txt /*vjde-refactor*
|
||||||
|
vjde-rft-arg vjde.txt /*vjde-rft-arg*
|
||||||
|
vjde-rft-const vjde.txt /*vjde-rft-const*
|
||||||
|
vjde-rft-field vjde.txt /*vjde-rft-field*
|
||||||
|
vjde-rft-local vjde.txt /*vjde-rft-local*
|
||||||
|
vjde-taglib vjde.txt /*vjde-taglib*
|
||||||
|
vjde-tasklist vjde.txt /*vjde-tasklist*
|
||||||
|
vjde-template vjde.txt /*vjde-template*
|
||||||
|
vjde-todolist vjde.txt /*vjde-todolist*
|
||||||
|
vjde-variable vjde.txt /*vjde-variable*
|
||||||
|
vjde-wizard vjde.txt /*vjde-wizard*
|
||||||
|
vjde-xdoclet vjde.txt /*vjde-xdoclet*
|
||||||
|
vjde-xml vjde.txt /*vjde-xml*
|
||||||
|
vjde-xmldata vjde.txt /*vjde-xmldata*
|
||||||
|
vjde.txt vjde.txt /*vjde.txt*
|
||||||
|
vjde_auto_mark vjde.txt /*vjde_auto_mark*
|
||||||
|
vjde_autoload_stl vjde.txt /*vjde_autoload_stl*
|
||||||
|
vjde_autoload_taglib vjde.txt /*vjde_autoload_taglib*
|
||||||
|
vjde_cfu_java_dot vjde.txt /*vjde_cfu_java_dot*
|
||||||
|
vjde_cfu_java_para vjde.txt /*vjde_cfu_java_para*
|
||||||
|
vjde_doc_gui_height vjde.txt /*vjde_doc_gui_height*
|
||||||
|
vjde_doc_gui_width vjde.txt /*vjde_doc_gui_width*
|
||||||
|
vjde_javadoc_path vjde.txt /*vjde_javadoc_path*
|
||||||
|
vjde_lib_path vjde.txt /*vjde_lib_path*
|
||||||
|
vjde_out_path vjde.txt /*vjde_out_path*
|
||||||
|
vjde_show_paras vjde.txt /*vjde_show_paras*
|
||||||
|
vjde_show_preview vjde.txt /*vjde_show_preview*
|
||||||
|
vjde_src_path vjde.txt /*vjde_src_path*
|
||||||
|
vjde_use_window vjde.txt /*vjde_use_window*
|
||||||
|
vjde_web_app vjde.txt /*vjde_web_app*
|
||||||
|
vjde_xml_advance vjde.txt /*vjde_xml_advance*
|
||||||
|
wiki potwiki.txt /*wiki*
|
||||||
|
zencoding zencoding.txt /*zencoding*
|
||||||
|
zencoding-balance-tag-inward zencoding.txt /*zencoding-balance-tag-inward*
|
||||||
|
zencoding-balance-tag-outward zencoding.txt /*zencoding-balance-tag-outward*
|
||||||
|
zencoding-complete-tag zencoding.txt /*zencoding-complete-tag*
|
||||||
|
zencoding-contents zencoding.txt /*zencoding-contents*
|
||||||
|
zencoding-customize zencoding.txt /*zencoding-customize*
|
||||||
|
zencoding-customize-keymappings zencoding.txt /*zencoding-customize-keymappings*
|
||||||
|
zencoding-define-tags-behavior zencoding.txt /*zencoding-define-tags-behavior*
|
||||||
|
zencoding-expandabbr zencoding.txt /*zencoding-expandabbr*
|
||||||
|
zencoding-goto-next-point zencoding.txt /*zencoding-goto-next-point*
|
||||||
|
zencoding-goto-previous-point zencoding.txt /*zencoding-goto-previous-point*
|
||||||
|
zencoding-indent-size zencoding.txt /*zencoding-indent-size*
|
||||||
|
zencoding-install zencoding.txt /*zencoding-install*
|
||||||
|
zencoding-introduction zencoding.txt /*zencoding-introduction*
|
||||||
|
zencoding-make-anchor-url zencoding.txt /*zencoding-make-anchor-url*
|
||||||
|
zencoding-merge-lines zencoding.txt /*zencoding-merge-lines*
|
||||||
|
zencoding-quoted-text-url zencoding.txt /*zencoding-quoted-text-url*
|
||||||
|
zencoding-remove-tag zencoding.txt /*zencoding-remove-tag*
|
||||||
|
zencoding-split-join-tag zencoding.txt /*zencoding-split-join-tag*
|
||||||
|
zencoding-todo zencoding.txt /*zencoding-todo*
|
||||||
|
zencoding-toggle-comment zencoding.txt /*zencoding-toggle-comment*
|
||||||
|
zencoding-tutorial zencoding.txt /*zencoding-tutorial*
|
||||||
|
zencoding-update-image-size zencoding.txt /*zencoding-update-image-size*
|
||||||
|
zencoding-wrap-wtih-abbreviation zencoding.txt /*zencoding-wrap-wtih-abbreviation*
|
||||||
|
zencoding.txt zencoding.txt /*zencoding.txt*
|
52
dot.vim/doc/textile.txt
Normal file
52
dot.vim/doc/textile.txt
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
*textile.txt* Textile for Vim Last Change: November 3, 2008
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
REQUIREMENTS *textile-requirements*
|
||||||
|
|
||||||
|
- ruby - http://ruby-lang.org/ (seperate executable, not compiled in)
|
||||||
|
- RedCloth - http://whytheluckystiff.net/ruby/redcloth/
|
||||||
|
|
||||||
|
Files with the extension *.textile will auto-detected. If editing a new file,
|
||||||
|
or otherwise, run ":setf textile" to enable textile commands.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
CHANGELOG *textile-changelog*
|
||||||
|
|
||||||
|
0.3 - Fixed keymappings in the documentation
|
||||||
|
0.2 - Added multiple colors for headers, and alternating colors for list
|
||||||
|
items
|
||||||
|
- Fixed error in the vim script for TextileRenderBufferToFile
|
||||||
|
- Changed shortcut keys from \tp to \rp (render preview instead of
|
||||||
|
textile preview, since it's file-type specific anyways)
|
||||||
|
0.1 - Initial Release
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
COMMANDS *textile-commands*
|
||||||
|
|
||||||
|
h2. Commands
|
||||||
|
|
||||||
|
:TextilePreview - Render the current buffer to a temp file, and open it in
|
||||||
|
your web browser (OSX only)
|
||||||
|
|
||||||
|
<Leader>rp
|
||||||
|
|
||||||
|
:TextileRenderTab - ... to a new tab
|
||||||
|
|
||||||
|
<Leader>rt
|
||||||
|
|
||||||
|
:TextileRenderFile - ... to a file
|
||||||
|
|
||||||
|
<Leader>rf
|
||||||
|
|
||||||
|
<Leader> is \ by default, so <Leader>rp == \rp
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
CREDITS *textile-credits*
|
||||||
|
|
||||||
|
- "Dominic Mitchell":http://happygiraffe.net/: initial syntax highlighting
|
||||||
|
- "Aaron Bieber":http://blog.aaronbieber.com/: improved syntax highlighting
|
||||||
|
- "Tim Harper":http://tim.theenchanter.com/ : improved syntax highlighting,
|
||||||
|
plugin
|
||||||
|
|
||||||
|
vim:tw=78:noet:wrap:ts=2:expandtab:ft=help:norl:
|
1312
dot.vim/doc/twitvim.txt
Normal file
1312
dot.vim/doc/twitvim.txt
Normal file
File diff suppressed because it is too large
Load diff
80
dot.vim/doc/vcde.txt
Normal file
80
dot.vim/doc/vcde.txt
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
*vcde*
|
||||||
|
|
||||||
|
|
||||||
|
Description~
|
||||||
|
VCDE is a c++ development support by VJDE framework.
|
||||||
|
|
||||||
|
Future~
|
||||||
|
Now, ctags file supported from two ways:
|
||||||
|
1. ruby parser,
|
||||||
|
2 readtags which come from ctag5.5.4
|
||||||
|
Default , use readtags , Once the $VIM_RUNTIME/plugin/vjde/readtags is
|
||||||
|
not runnable for you OS, use following in your .vimrc to disable it. >
|
||||||
|
let g:vjde_readtags=''
|
||||||
|
<
|
||||||
|
Then, ruby parser will be used.
|
||||||
|
Code completion in a gui window or a preview window for c++,simply
|
||||||
|
namespace and typedef support. >
|
||||||
|
string str;
|
||||||
|
str.find
|
||||||
|
^<c-space>
|
||||||
|
<
|
||||||
|
Parameter preview in a window while your input a <C-space> after a
|
||||||
|
'(' >
|
||||||
|
string str;
|
||||||
|
str.find_first_of(
|
||||||
|
^<c-space>
|
||||||
|
<
|
||||||
|
|
||||||
|
For quickly search the tag of c++ , you can generate a index for your
|
||||||
|
tags. Use the flowing command: >
|
||||||
|
:call VjdeCppGenerateIdx()
|
||||||
|
<
|
||||||
|
It's use |tags| parameter , then generate a index for each tag file,
|
||||||
|
named tags.vjde_idx
|
||||||
|
NOTE: for *inux user, you must make sure that the director is writable
|
||||||
|
for the user.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Setup~
|
||||||
|
To setup the completion for your own cpp files, you can set >
|
||||||
|
g:vjde_cpp_exts
|
||||||
|
<
|
||||||
|
which is seperated by ';' , It's treat as the extensions of c++/c
|
||||||
|
files , like >
|
||||||
|
let g:vjde_cpp_exts='cpp;c;cxx;h;hpp;hxx'
|
||||||
|
<
|
||||||
|
|
||||||
|
Smart pointer support~
|
||||||
|
Sometimes , We had use some smart pointer ,such as >
|
||||||
|
typedef auto_ptr<MyClass> MyClassPtr;
|
||||||
|
<
|
||||||
|
At that time , some coding support is read a MyClassPtr as auto_ptr, so , code
|
||||||
|
completion is not working correctly. So , add a file which is located : >
|
||||||
|
~/.vim/vjde/ptr.lst
|
||||||
|
<
|
||||||
|
Add the following line: >
|
||||||
|
auto_ptr
|
||||||
|
std::auto_ptr
|
||||||
|
<
|
||||||
|
Then , code completion will treat MyClassPtr as MyClass.
|
||||||
|
|
||||||
|
|
||||||
|
Other language Support ~
|
||||||
|
NOTE: Just now, use <c-x><c-o> omni completion instead of this
|
||||||
|
function.
|
||||||
|
VJDE support other language which is ctags supported.
|
||||||
|
Once you want to use with your language, setup the variable >
|
||||||
|
let g:vjde_ctags_exts='vim;rb'
|
||||||
|
<
|
||||||
|
Then, the vim and ruby file can be previewed!
|
||||||
|
|
||||||
|
Global Variables~
|
||||||
|
g:vjde_max_deeps
|
||||||
|
Search for member in Inheries .
|
||||||
|
g:vjde_max_tags
|
||||||
|
The tags number will be searched.
|
||||||
|
|
||||||
|
|
||||||
|
vim:ts=8 sw=8 noexpandtab tw=78 ft=help:
|
2147
dot.vim/doc/vimwiki.txt
Normal file
2147
dot.vim/doc/vimwiki.txt
Normal file
File diff suppressed because it is too large
Load diff
871
dot.vim/doc/vjde.txt
Normal file
871
dot.vim/doc/vjde.txt
Normal file
|
@ -0,0 +1,871 @@
|
||||||
|
*vjde.txt* Plugging for Java/? language
|
||||||
|
For Vim version 7.0
|
||||||
|
*vjde*
|
||||||
|
|
||||||
|
Comments:
|
||||||
|
|
||||||
|
Description |vjde-desc|
|
||||||
|
Install |vjde-install|
|
||||||
|
VJDE project |vjde-project|
|
||||||
|
search auto-completion |vjde-auto-comp|
|
||||||
|
java |vjde-java|
|
||||||
|
cpp |vcde|
|
||||||
|
ruby |vjde-ruby|
|
||||||
|
java |vjde-java-pkg|
|
||||||
|
jsp |vjde-jsp|
|
||||||
|
taglib |vjde-taglib|
|
||||||
|
xslt |vjde-xsl|
|
||||||
|
html |vjde-html|
|
||||||
|
xml |vjde-xml|
|
||||||
|
xdoclet |vjde-xdoclet|
|
||||||
|
javadoc |vjde-javadoc|
|
||||||
|
iabbr |vjde-iabbr|
|
||||||
|
document viewer |vjde-doc|
|
||||||
|
Preview window |vjde-preview|
|
||||||
|
Re factor tools |vjde-refactor|
|
||||||
|
extract local variable |vjde-rft-local|
|
||||||
|
extract member variable |vjde-rft-field|
|
||||||
|
extract argument |vjde-rft-arg|
|
||||||
|
extract constance |vjde-rft-const|
|
||||||
|
quick fix tools |vjde-fix-tools|
|
||||||
|
surround by try/catch |vjde-fix-ex|
|
||||||
|
add throws |vjde-fix-th|
|
||||||
|
Add import |vjde-fix-im|
|
||||||
|
Code tools |vjde-code|
|
||||||
|
override methods |vjde-override|
|
||||||
|
implements methods |vjde-implements|
|
||||||
|
sort imports |vjde-import-sort|
|
||||||
|
extract imports |vjde-import-extract|
|
||||||
|
wizard |vjde-wizard|
|
||||||
|
template define |vjde-template|
|
||||||
|
search definition |vjde-define|
|
||||||
|
goto definition |vjde-goto|
|
||||||
|
to-do list view |vjde-tasklist|
|
||||||
|
VJDE usefull command list |vjde-command|
|
||||||
|
VJDE variable |vjde-variable|
|
||||||
|
VJDE to-do list |vjde-todolist|
|
||||||
|
VJDE Q&A |vjde-qa|
|
||||||
|
|
||||||
|
*vjde-desc*
|
||||||
|
Desc~
|
||||||
|
Now , C++ supported with ruby and ctags. See |vcde| for detail.
|
||||||
|
Now , Csharp supported .
|
||||||
|
|
||||||
|
This tools wich is named "Vim Java Development Environment".
|
||||||
|
Current version, has two tools : Project and Auto Completion
|
||||||
|
Auto completion is available to :java ,jsp, taglib , html
|
||||||
|
|
||||||
|
Show Auto Completion in Preview window , and select or input in the
|
||||||
|
Preview window, <M-d> is map to show doc of current In Preview window.
|
||||||
|
See |vjde_javadoc_path| for how to setup a java document path to be shown in
|
||||||
|
the preview window.
|
||||||
|
|
||||||
|
Require : ruby , rexml for ruby
|
||||||
|
|
||||||
|
the future list is:
|
||||||
|
|
||||||
|
Some plug-in is already used for Vim JDE~
|
||||||
|
a. Project File Plug-in already
|
||||||
|
b. match it
|
||||||
|
c. auto import ok
|
||||||
|
d. getter setter ok
|
||||||
|
e. compiler
|
||||||
|
|
||||||
|
I will do:~
|
||||||
|
|
||||||
|
1. Project management ok
|
||||||
|
2. Auto completion ok
|
||||||
|
3. Template ok
|
||||||
|
4. Extend tool
|
||||||
|
5. Implementing tool ok
|
||||||
|
6. Getter/Setter ok
|
||||||
|
7. To-do List ok, but don't committed
|
||||||
|
|
||||||
|
|
||||||
|
*vjde-install*
|
||||||
|
Install~
|
||||||
|
For Windows , for the document viewer , must copy plugin/vjde/wspawn.exe
|
||||||
|
to you path, such as JAVA_HOME/bin ...
|
||||||
|
*vjde-project*
|
||||||
|
Project~
|
||||||
|
Project tools is used to save the VJDE variables, while you
|
||||||
|
change your variable,some command is useful to save and restore
|
||||||
|
the current settings.
|
||||||
|
|
||||||
|
Of course, you can add variable settings on the vimrc or anywhere
|
||||||
|
the vim can be found.
|
||||||
|
|
||||||
|
Load project
|
||||||
|
>
|
||||||
|
:Vjdeload filename
|
||||||
|
<Save project as a new project >
|
||||||
|
:Vjdeas filename
|
||||||
|
<Save the current project >
|
||||||
|
:Vjdesave
|
||||||
|
<
|
||||||
|
|
||||||
|
Auto completion ~
|
||||||
|
*vjde-auto-comp*
|
||||||
|
For c++ or other ctags supported language , see |vcde|
|
||||||
|
Setup custom completion function >
|
||||||
|
:set cfu=VjdeCompletionFun
|
||||||
|
<
|
||||||
|
Setup classpath variable: >
|
||||||
|
:let g:vjde_lib_path="lib/j2ee.jar:lib/struts.jar:build/classes"
|
||||||
|
<
|
||||||
|
*vjde-java*
|
||||||
|
Once you input something like : >
|
||||||
|
String str;
|
||||||
|
str.to<CTRL>-X<CTRL>-U
|
||||||
|
System.out.println(str.to<CTR>-X<CTR>-U
|
||||||
|
System.out.println(str.toUpperCase().<CTR>-X<CTR>-U
|
||||||
|
return str.to<CTRL>-X<CTRL>-U
|
||||||
|
new str.to<CTRL>-X<CTRL>-U
|
||||||
|
... [operator] str.to<CTRL>-X<CTRL>-U
|
||||||
|
... = str.to<CTRL>-X<CTRL>-U
|
||||||
|
<
|
||||||
|
Package completion~
|
||||||
|
*vjde-java-pkg*
|
||||||
|
Completion for package and classes: >
|
||||||
|
import java.<CTRL>-X<CTRL>-U
|
||||||
|
applet awt...
|
||||||
|
import java.util.<CTRL>-X<CTRL>-U
|
||||||
|
Abstract...
|
||||||
|
<
|
||||||
|
In source Code : >
|
||||||
|
java.util.<CTR>-x<CTRL>-u
|
||||||
|
Abstract..
|
||||||
|
<
|
||||||
|
|
||||||
|
Jsp file completion~
|
||||||
|
*vjde-jsp*
|
||||||
|
the same as for jsp files >
|
||||||
|
<%!
|
||||||
|
str.to<CTRL>-x<CTRL>-u
|
||||||
|
%>
|
||||||
|
<%
|
||||||
|
str.to<CTRL>-x<CTRL>-u
|
||||||
|
%>
|
||||||
|
<%= session.get<CTRL>-x<CTRL>-u %>
|
||||||
|
<
|
||||||
|
|
||||||
|
Taglib completion ~
|
||||||
|
*vjde-taglib*
|
||||||
|
I add the taglib completion for jsp developer.
|
||||||
|
Just now, completion with tld use xml-completion of |ft-xml-omni|.
|
||||||
|
|
||||||
|
For Example , I want to use completion for the following: >
|
||||||
|
<c:<CTR>-X<CTR>-U
|
||||||
|
out forEach...
|
||||||
|
<c:o<CTR>-X<CTR>-U
|
||||||
|
out
|
||||||
|
<c:out <CTR>-X<CTR>-U
|
||||||
|
value default ....
|
||||||
|
<jsp:<CTR>-x<CTR>-u
|
||||||
|
include useBean ....
|
||||||
|
|
||||||
|
<
|
||||||
|
|
||||||
|
At first , I had use this command : >
|
||||||
|
:XMLns stl_c c
|
||||||
|
< See |XMLns| for detail of this command.
|
||||||
|
I had generate xmldata for STL taglib, use the following name: >
|
||||||
|
stl_c
|
||||||
|
stl_sql
|
||||||
|
stl_fn
|
||||||
|
stl_fmt
|
||||||
|
stl_x
|
||||||
|
<
|
||||||
|
You had to use you own prefix , For example , your coding is: >
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
|
||||||
|
< You should use following command: >
|
||||||
|
:XMLns stl_sql sql
|
||||||
|
<
|
||||||
|
To generate your own taglib from the tld file , You can use the following
|
||||||
|
command. >
|
||||||
|
:VjdeTld2Data <a TLD file> <name>
|
||||||
|
< TLD file is your own TLD file. Name is used to identify your xmldata. See
|
||||||
|
|xml-omni-datafile| for Detail. I will generate the file at
|
||||||
|
$VJDE/autoload/xml/<name>.vim .
|
||||||
|
NOTE: This function is |ruby| required.
|
||||||
|
*vjde-html*
|
||||||
|
Html auto completion :~
|
||||||
|
use it like: >
|
||||||
|
<<CTR>-x<CTR>-u
|
||||||
|
% %= ....
|
||||||
|
<body <CTR>-x<CTR>-u
|
||||||
|
bgcolor fgcolor....
|
||||||
|
<body bgcolor=<CTR>-x<CTR>-u
|
||||||
|
aqua antiquewhit ....
|
||||||
|
<body bgcolor="<CTR>-x<CTR>-u
|
||||||
|
aqua" antiquewhit" ....
|
||||||
|
<
|
||||||
|
|
||||||
|
Xml auto completion:~
|
||||||
|
*vjde-xmldata* *vjde-xml*
|
||||||
|
Use the system xml completion for xml . See |ft-xml-omni| .
|
||||||
|
Vjde Has a tool to generate the data file. >
|
||||||
|
:VjdeDtd2Data <a dtd file> <name>
|
||||||
|
<
|
||||||
|
See |vjde-xmldata| for detail.
|
||||||
|
Note: This function is |ruby| required.
|
||||||
|
Xdoclet completion~
|
||||||
|
*vjde-xdoclet* *vjde-javadoc*
|
||||||
|
Xdoclet completion is used for xdoclet.
|
||||||
|
While coding comment ,use : >
|
||||||
|
/**
|
||||||
|
* @<CTR>-x<CTR>-u
|
||||||
|
author param return ... hibernate.class hibernate.subclass...
|
||||||
|
* @hibernate.class <CTR>-x<CTR>-u
|
||||||
|
lazy ...
|
||||||
|
* @hibernate.class lazy="<CTR>-x<CTR>-u
|
||||||
|
true" false"
|
||||||
|
<
|
||||||
|
Default , xdoclet support javadoc only.
|
||||||
|
Add you own part , such as ejb.* ,hibernate.* to >
|
||||||
|
~/.vim/vjde/xdoclet.def
|
||||||
|
<
|
||||||
|
while the xdoclet is enabled , automatically load the define from >
|
||||||
|
~/.vim/vjde/xdoclet.def
|
||||||
|
<
|
||||||
|
|
||||||
|
file format is simple , line which is started / or * is treated as comment. >
|
||||||
|
[private|public] enum BOOLEAN {
|
||||||
|
value1,value2
|
||||||
|
}
|
||||||
|
public tag tagname < tagparent1,parent2 {
|
||||||
|
attr [ATTRTYPE] attr1;
|
||||||
|
attr attr2 {
|
||||||
|
value1,value2
|
||||||
|
}
|
||||||
|
attr BOOLEAN attr3;
|
||||||
|
....
|
||||||
|
}
|
||||||
|
<
|
||||||
|
|
||||||
|
Note: once you change the xdoclet.def , backup is need for next time .
|
||||||
|
Update VJDE will recover it.
|
||||||
|
|
||||||
|
*vjde-doc*
|
||||||
|
Document viewer~
|
||||||
|
When you preview your code completion in a gui window, for some
|
||||||
|
delays, the document of this function or member will be shown.
|
||||||
|
It's depends on :
|
||||||
|
g:vjde_javadoc_path '/javadocs/api/'
|
||||||
|
g:vjde_doc_gui_height height of the window
|
||||||
|
g:vjde_doc_gui_width width of the window
|
||||||
|
g:vjde_doc_delay once a item selected ,delay how long.
|
||||||
|
(1/1000 seconds) default 2000
|
||||||
|
See |vjde-variable|
|
||||||
|
*vjde-iabbr*
|
||||||
|
Iabbr~
|
||||||
|
Iabbr is some codelet,just something like :
|
||||||
|
a while block, a for block ...
|
||||||
|
use <c-j> to invoke this tools on gui running
|
||||||
|
|
||||||
|
For example ,to use ruby with Iabbr
|
||||||
|
|
||||||
|
Install your own iabbr as ~/.vim/vjde/ruby.iab
|
||||||
|
setup g:vjde_iab_exts='rb'
|
||||||
|
|
||||||
|
so , for your ruby file which is used '.rb' as the extend
|
||||||
|
|
||||||
|
Iabbr define file is |vjde-template|, and use the first '|' as the
|
||||||
|
cursor position.
|
||||||
|
|
||||||
|
Refactor~
|
||||||
|
Note:Use g:vjde_utils_setup=0 to avoid command definition
|
||||||
|
|
||||||
|
*vjde-preview*
|
||||||
|
Vjde Preview window~
|
||||||
|
VJDE Preview window is a tool for preview in a gui tools for
|
||||||
|
selection.
|
||||||
|
I had Use this window to preview the VJDE completion and code template
|
||||||
|
.
|
||||||
|
In Java , html , It's use the completion cfu |cfu| to generate lines
|
||||||
|
to use. It's used like:
|
||||||
|
NOTE:
|
||||||
|
Preview.name ~
|
||||||
|
name of the previewer , must equals the variable name;
|
||||||
|
Preview.preview_buffer ~
|
||||||
|
The buffer to be shown, It's the first line is
|
||||||
|
a description of content , like >
|
||||||
|
java.lang.System:
|
||||||
|
<
|
||||||
|
or >
|
||||||
|
java.lang.System:c
|
||||||
|
element->:
|
||||||
|
body->attributes:
|
||||||
|
bgground->values:
|
||||||
|
<
|
||||||
|
Each line of the preview_buffer, the first word ( It's separated by a
|
||||||
|
space) is the type of the tag, the second word ( It's separated by ';' or '(')
|
||||||
|
it the tag name. All the other is trusted as comment. For example >
|
||||||
|
java.io.PrintStream in;
|
||||||
|
boolean equals(java.lang.Object);
|
||||||
|
...
|
||||||
|
element body;
|
||||||
|
element html;
|
||||||
|
....
|
||||||
|
<
|
||||||
|
previewer.onSelect ~
|
||||||
|
is called when use select a word in preview window.
|
||||||
|
Both GUI or Console preview are. It's has a parameter
|
||||||
|
which is the user selected word.
|
||||||
|
previewer.previewLinesFun ~
|
||||||
|
It's be called with a parameter
|
||||||
|
which is previewer self. like >
|
||||||
|
call previewer.PreviewLinesFun(self)
|
||||||
|
<
|
||||||
|
previewer.docLineFun ~
|
||||||
|
This function it's called to get the document preview window
|
||||||
|
line. It's would return a String , which is comma separated. like >
|
||||||
|
400;300;2000;java -cp vjde.jar vjde.completion.Document
|
||||||
|
/mnt/win_e/downloads/docs/api/ src
|
||||||
|
<
|
||||||
|
It's used as :
|
||||||
|
doc width ; doc height ; delay mills;command line to get document
|
||||||
|
I will add preview.preview_buffer[0] and the
|
||||||
|
user selected tag name at the end of command line , and call it , trust the
|
||||||
|
stdout as the document which to be shown.
|
||||||
|
|
||||||
|
previewer.CFU ~
|
||||||
|
At first , It's call the |cfu| function to complete code
|
||||||
|
complation.
|
||||||
|
Then , call previewer.previewLinesFun to get buffer would be
|
||||||
|
shown.
|
||||||
|
Third , call preview.docLineFun get the docment define line
|
||||||
|
Third, call the previewer.Preview to preview.
|
||||||
|
|
||||||
|
Four , call preview.onSelect to handle the user input.
|
||||||
|
|
||||||
|
NOTE:See vjde_preview.vim for detail.
|
||||||
|
>
|
||||||
|
|
||||||
|
let java_previewer = VjdePreviewWindow_New()
|
||||||
|
let java_previewer.name = 'java_previewer'
|
||||||
|
let java_previewer.onSelect='VjdeInsertWord'
|
||||||
|
let java_previewer.previewLinesFun='GetJavaCompletionLines'
|
||||||
|
let java_previewer.docLineFun='VjdeGetDocWindowLine'
|
||||||
|
|
||||||
|
|
||||||
|
au BufNewFile,BufRead,BufEnter *.java imap <buffer> <C-space> <Esc>:call java_previewer.CFU('<C-space>',1)<CR>a
|
||||||
|
<
|
||||||
|
NOTE:you can put you preview content to preview buffer >
|
||||||
|
call add(previewer.preview_buffer,'line1');
|
||||||
|
<
|
||||||
|
|
||||||
|
|
||||||
|
Used for the code template: >
|
||||||
|
|
||||||
|
let g:iab_previewer = VjdePreviewWindow_New()
|
||||||
|
let g:iab_previewer.name='iab_previewer'
|
||||||
|
let g:iab_previewer.onSelect='VjdePreviewIabSelect'
|
||||||
|
let g:iab_previewer.previewLinesFun=''
|
||||||
|
...
|
||||||
|
...
|
||||||
|
call g:iab_previewer.Preview(0)
|
||||||
|
<
|
||||||
|
See vjde_java_iab.vim for detail.
|
||||||
|
*vjde-refactor*
|
||||||
|
Variable refactoring~
|
||||||
|
normal mode:
|
||||||
|
put your cursor on the variable , use the following command
|
||||||
|
*vjde-rft-field*
|
||||||
|
>
|
||||||
|
<Leader>rf
|
||||||
|
< change current variable to member field.
|
||||||
|
*vjde-rft-local*
|
||||||
|
>
|
||||||
|
<Leader>rl
|
||||||
|
< change current variable as local variable.
|
||||||
|
*vjde-rft-arg*
|
||||||
|
>
|
||||||
|
<Leader>rp
|
||||||
|
< Add current variable as argument of method.
|
||||||
|
|
||||||
|
*vjde-rft-const*
|
||||||
|
Visula mode , a variable is selected ,only support
|
||||||
|
String , char ,int ,long,double
|
||||||
|
select a number or a quoited String , >
|
||||||
|
<Leader>rc
|
||||||
|
Make the current symbol as a private final static variable.
|
||||||
|
*vjde-fix-tools*
|
||||||
|
Vjde fix tools~
|
||||||
|
Fix tools is used for fix some minimal compile bugs. Now ,
|
||||||
|
unreported exception is supported
|
||||||
|
*vjde-fix-ex*
|
||||||
|
Vjde Exception fix is used for fix uncatched exception compile error
|
||||||
|
For example >
|
||||||
|
java.net.URLConnection con= new java.net.URL("").openConnection();
|
||||||
|
<
|
||||||
|
Once compile the code of above, two exception is not catched. >
|
||||||
|
:cc " move the cusor to current error line
|
||||||
|
<leader>ff
|
||||||
|
<
|
||||||
|
this line is change to : >
|
||||||
|
try {
|
||||||
|
java.net.URLConnection con ...
|
||||||
|
}
|
||||||
|
catch(UN... e1) {
|
||||||
|
}
|
||||||
|
catch(IOExce.. e5) {
|
||||||
|
}
|
||||||
|
<
|
||||||
|
It's a simple and useful tools.
|
||||||
|
|
||||||
|
*vjde-fix-th*
|
||||||
|
This tools is fix unreported exception to function declaration,use throws on
|
||||||
|
function to generate code .
|
||||||
|
|
||||||
|
*vjde-fix-im*
|
||||||
|
Automatically add import for Word under cursor. >
|
||||||
|
<leader>ai
|
||||||
|
<
|
||||||
|
|
||||||
|
|
||||||
|
See |quickfix| for more compile support.
|
||||||
|
|
||||||
|
|
||||||
|
*vjde-code*
|
||||||
|
Code tools~
|
||||||
|
This tools for code generation .
|
||||||
|
*vjde-override*
|
||||||
|
Override the parents method.
|
||||||
|
I the class , execute : >
|
||||||
|
:call Vjde_override(0)
|
||||||
|
<
|
||||||
|
list the class method , select the index of method, separated by comma or
|
||||||
|
space , then ,the code will generated on the end of class definition.
|
||||||
|
|
||||||
|
*vjde-implements*
|
||||||
|
Implements the methods of implements . >
|
||||||
|
:call Vjde_override(1)
|
||||||
|
<leader>oe
|
||||||
|
>
|
||||||
|
list the class method , select the index of method, separated by comma or
|
||||||
|
space , then ,the code will generated on the end of class definition.
|
||||||
|
|
||||||
|
*vjde-import-sort*
|
||||||
|
to sort the file imports lines , select the lines of import statement. >
|
||||||
|
:call Vjde_sort_import()
|
||||||
|
<leader>js
|
||||||
|
<
|
||||||
|
or >
|
||||||
|
:[range]call Vjde_sort_import()
|
||||||
|
<
|
||||||
|
the lines : >
|
||||||
|
import java.awt.*;
|
||||||
|
import com.abc.*;
|
||||||
|
import javax.applet.*;
|
||||||
|
import java.io.*;
|
||||||
|
import org.apache.*;
|
||||||
|
<
|
||||||
|
change to : >
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
import javax.applet.*;
|
||||||
|
|
||||||
|
import org.apache.*;
|
||||||
|
|
||||||
|
import com.abc.*
|
||||||
|
<
|
||||||
|
|
||||||
|
Extract import~
|
||||||
|
*vjde-import-extract*
|
||||||
|
This is a simple import tool. It's used to extract a import to define.
|
||||||
|
For example , a line: >
|
||||||
|
javax.servlet.http.HttpSession session = reqeust.....
|
||||||
|
<
|
||||||
|
put the cursor on the work "HttpSession" , use a key >
|
||||||
|
<Leader>je
|
||||||
|
<
|
||||||
|
the javax.servlet.http.HttpSession would be imported, >
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
<
|
||||||
|
and this line become: >
|
||||||
|
|
||||||
|
HttpSession session = request....
|
||||||
|
<
|
||||||
|
|
||||||
|
*vjde-wizard*
|
||||||
|
Wizard ~
|
||||||
|
Wizard is a tool template tools.
|
||||||
|
It's generated from a definition file and used by any language.
|
||||||
|
Default template file:
|
||||||
|
Note:$VIM/vimfiles/plugin/vjde/tlds/java.vjde
|
||||||
|
Everyone can define a new template and use it.
|
||||||
|
Wizard engines generate any lines from the template. >
|
||||||
|
< Generate a class >
|
||||||
|
:VjdeNclass
|
||||||
|
< Generate a class with a main >
|
||||||
|
:VjdeNmain
|
||||||
|
< Generate a interface >
|
||||||
|
:VjdeNinte
|
||||||
|
< Generate a property >
|
||||||
|
:VjdeNprop
|
||||||
|
<
|
||||||
|
*vjde-template*
|
||||||
|
Template file~
|
||||||
|
Template can be defined by you self.
|
||||||
|
this is a simple description for template file.
|
||||||
|
a template is started by the following commands
|
||||||
|
Define a template~
|
||||||
|
Definition a template started(^:the line of started): >
|
||||||
|
template {templatename} [;template desc]
|
||||||
|
<
|
||||||
|
Definition a parameter used by template( in a template , would zero or more >
|
||||||
|
parameter {parametername} [;parameter desc]
|
||||||
|
<
|
||||||
|
Definition a body of template ( followed by any text : >
|
||||||
|
body
|
||||||
|
<
|
||||||
|
End of a template >
|
||||||
|
endtemplate
|
||||||
|
<
|
||||||
|
Note:All of these worlds (template|temp , parameter|para , body, endtemplate|endt)
|
||||||
|
must at the beginning of a line.
|
||||||
|
Note: [;template desc] [;parameter desc] must started with a ';'
|
||||||
|
|
||||||
|
Template comment ~
|
||||||
|
the line is started with a '/' is comment : >
|
||||||
|
//this is a comment
|
||||||
|
/this is a comment too
|
||||||
|
<
|
||||||
|
Would be ignored
|
||||||
|
And , the line which is started with '\' will be handled:
|
||||||
|
remove the '\', leave all the following : >
|
||||||
|
\//abc
|
||||||
|
< treated as '//abc' , is not a comment ; >
|
||||||
|
\body
|
||||||
|
<treated as word 'body', not the body definition of above .
|
||||||
|
|
||||||
|
|
||||||
|
Template reference ~
|
||||||
|
Now , we say another two import element.
|
||||||
|
the line is math following , treated as a template reference : >
|
||||||
|
%AnthorTemplateName%
|
||||||
|
< Just like the entity of xml.
|
||||||
|
Well find the Template which named by "AnthorTemplateName" , and
|
||||||
|
insert the text of that template here.
|
||||||
|
|
||||||
|
Template Variable ~
|
||||||
|
Template variable once defined , can be used in template body. >
|
||||||
|
%{variablename}
|
||||||
|
<this pattern would be replaced by the value of variable which named "variable name"
|
||||||
|
or : >
|
||||||
|
%{Time.now}
|
||||||
|
< Can be a ruby command can be resolved by ruby eval() function.
|
||||||
|
Once you have to have the String like : >
|
||||||
|
%{notbetreatedasabove}
|
||||||
|
<
|
||||||
|
Can be writed as the following : >
|
||||||
|
%{"%"}{notbetreatedasabove}
|
||||||
|
<
|
||||||
|
|
||||||
|
Note See $VIM/vimfiles/plugin/vjde/tlds/java.vjde , template JUnitCase for
|
||||||
|
a powerfull ussage.
|
||||||
|
*Vjdeinfo* *vjde-define*
|
||||||
|
Search Definition~
|
||||||
|
This tool is used to find a variable info or function define.
|
||||||
|
For example (both java and jsp file is available):
|
||||||
|
Show class information >
|
||||||
|
System.out.println(....
|
||||||
|
^ place sursor here ,then execute:
|
||||||
|
:Vjdei
|
||||||
|
the constructor,fields,methods, and inner class will be echoed.
|
||||||
|
<
|
||||||
|
Show information of fields >
|
||||||
|
System.out.println(....
|
||||||
|
^ place cursor here, then execute:
|
||||||
|
:Vjdei
|
||||||
|
the field which is called "out" would be echoed. like:
|
||||||
|
class : java.lang.System
|
||||||
|
java.io.PrintWriter out;
|
||||||
|
<
|
||||||
|
Show information of methods >
|
||||||
|
System.out.println(....
|
||||||
|
^ cursor here
|
||||||
|
the method which name is started with "println" will be echoed.
|
||||||
|
like:
|
||||||
|
class : java.io.PrintWriter
|
||||||
|
public void print(bool);
|
||||||
|
public void print(int);
|
||||||
|
.....
|
||||||
|
would be printed
|
||||||
|
<
|
||||||
|
Show information of taglibs
|
||||||
|
for a tag definition >
|
||||||
|
<c:out
|
||||||
|
^ place cursor here, then execute:
|
||||||
|
:Vjdei
|
||||||
|
the defination of tag out is printed as:
|
||||||
|
<tag>\n<name>out</name>\n.....</tag>
|
||||||
|
<
|
||||||
|
For a tag attribute definition >
|
||||||
|
<c:out value
|
||||||
|
^ place cursor here, then execute:
|
||||||
|
:Vjdei
|
||||||
|
the defination of tag out is printed as:
|
||||||
|
<attribute>\n<name>value</name>\n.....</attribute>
|
||||||
|
|
||||||
|
<
|
||||||
|
|
||||||
|
*Vjdegd* *vjde-goto*
|
||||||
|
Goto Declaration ~
|
||||||
|
Goto the declaration of current works under cursor. It's search the
|
||||||
|
path for all source and goto the method or fields declaration. >
|
||||||
|
:Vjdegd
|
||||||
|
<
|
||||||
|
|
||||||
|
*vjde-tasklist*
|
||||||
|
We can find something like "//TODO Add something here" is a task list;
|
||||||
|
This tool is used to search task in a file quickly.
|
||||||
|
Just a command: >
|
||||||
|
:TDlist
|
||||||
|
<
|
||||||
|
|
||||||
|
|
||||||
|
*vjde-command*
|
||||||
|
command for normal mode:
|
||||||
|
<leader>\ai
|
||||||
|
Add import under cursor
|
||||||
|
<leader>\oe
|
||||||
|
extend some methods of class
|
||||||
|
<leader>\oi
|
||||||
|
implements some interface of current class
|
||||||
|
<leader>\fr
|
||||||
|
fix compiler errors with throws statement.
|
||||||
|
<leader>\ft
|
||||||
|
fix compiler errors with try-catch statement
|
||||||
|
<leader>\jc
|
||||||
|
generate constructor of class with all members.
|
||||||
|
<leader>\jt
|
||||||
|
surround line with try-catch statement
|
||||||
|
<leader>\jd
|
||||||
|
read the document of symbol that under cursor.
|
||||||
|
<leader>\jg
|
||||||
|
generate getter-setter of current member.
|
||||||
|
<leader>\je
|
||||||
|
add import for current line,it used for this line >
|
||||||
|
java.io.PrintWriter
|
||||||
|
>
|
||||||
|
would add import statement and change this line to >
|
||||||
|
PrintWriter
|
||||||
|
<
|
||||||
|
|
||||||
|
<leader>\ep
|
||||||
|
change current variable to function parameters.
|
||||||
|
<leader>\em
|
||||||
|
chnage current variable to member of class.
|
||||||
|
|
||||||
|
command for visul mode:
|
||||||
|
<leader>\js
|
||||||
|
sort the selected import statement.
|
||||||
|
<leader>\jt
|
||||||
|
surround the selected lines with try-catch statement.
|
||||||
|
<leader>\en
|
||||||
|
change the selected to a static const defination.
|
||||||
|
|
||||||
|
*vjde-variable*
|
||||||
|
Note:the define like : >
|
||||||
|
g:vjde_show_paras [0|1]
|
||||||
|
<
|
||||||
|
is indicate: the global variable g:vjde_show_paras accept two values , 0 or 1.
|
||||||
|
the first is the default value.
|
||||||
|
*vjde_use_window*
|
||||||
|
g:vjde_use_window [1|0]
|
||||||
|
sometimes , you want to show some infomation , for example, the document of
|
||||||
|
a method. your can use normal command >
|
||||||
|
\jd
|
||||||
|
<
|
||||||
|
to show the document the symbol under cursor. Just support for java
|
||||||
|
method,member. this function is dependented on g:vjde_javadoc_path
|
||||||
|
*vjde_show_paras*
|
||||||
|
g:vjde_show_paras [0|1]
|
||||||
|
while the auto completion is called, the parameter info display or
|
||||||
|
not.
|
||||||
|
*vjde_lib_path*
|
||||||
|
g:vjde_lib_path
|
||||||
|
the class search path form auto completion.
|
||||||
|
*vjde_out_path*
|
||||||
|
g:vjde_out_path
|
||||||
|
the output path for compile
|
||||||
|
*vjde_src_path*
|
||||||
|
g:vjde_src_path
|
||||||
|
the src path for code template
|
||||||
|
|
||||||
|
*vjde_web_app*
|
||||||
|
g:vjde_web_app
|
||||||
|
not used ,
|
||||||
|
*vjde_autoload_stl*
|
||||||
|
g:vjde_autoload_stl [1|0]
|
||||||
|
load the Standard Tag libray on startup
|
||||||
|
*vjde_autoload_taglib*
|
||||||
|
g:vjde_autoload_taglib [1|0]
|
||||||
|
load the Tag libray on startup
|
||||||
|
*g:vjde_taglib_uri*
|
||||||
|
g:vjde_taglib_uri
|
||||||
|
a dictory for relation-ship of xml-datafile and taglib uri. >
|
||||||
|
g:vjde_taglib_uri={'http://java.sun.com/jsp/jstl/core' : 'stl_c' ,
|
||||||
|
'http://java.sun.com/jsp/jstl/sql' : 'stl_sql' }
|
||||||
|
<
|
||||||
|
when this relation is exists, once you used taglib in your file : >
|
||||||
|
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core'%>
|
||||||
|
<
|
||||||
|
when your input like : >
|
||||||
|
<c:<c-x><c-u>
|
||||||
|
<
|
||||||
|
I whill call >
|
||||||
|
:XMLns stl_c c
|
||||||
|
<
|
||||||
|
so , autocompletion will do for you.
|
||||||
|
|
||||||
|
*vjde_auto_mark*
|
||||||
|
g:vjde_auto_mark [1|0]
|
||||||
|
Once Goto the declaration, see |Vjdegd|,mark current as J
|
||||||
|
|
||||||
|
*vjde_xml_advance*
|
||||||
|
g:vjde_xml_advance [1|0]
|
||||||
|
While completion for xml, search the dtd exactly for the children
|
||||||
|
elements or all elements.
|
||||||
|
|
||||||
|
*vjde_show_preview*
|
||||||
|
g:vjde_show_preview[1|0]
|
||||||
|
While Completion for java , split a preview window to show the full
|
||||||
|
information or not.
|
||||||
|
|
||||||
|
*vjde_cfu_java_dot*
|
||||||
|
g:vjde_cfu_java_dot [1|0]
|
||||||
|
setup auto command for "."(dot) or not . if ture while . is typed , show all of the completion in a preview window.
|
||||||
|
|
||||||
|
*vjde_cfu_java_para*
|
||||||
|
g:vjde_cfu_java_para [0|1]
|
||||||
|
setup auto command for "(" or not . if true, while ( is typed, show all
|
||||||
|
override function and parameter types and throws in a preview window.
|
||||||
|
|
||||||
|
*vjde_javadoc_path*
|
||||||
|
g:vjde_javadoc_path
|
||||||
|
setup the javadoc path, must be 'd:\javadocs\api\' , end with a
|
||||||
|
splash, and reference to the api document path.
|
||||||
|
*vjde_doc_gui_height*
|
||||||
|
g:vjde_doc_gui_height
|
||||||
|
document viewer height
|
||||||
|
|
||||||
|
*vjde_doc_gui_width*
|
||||||
|
g:vjde_doc_gui_width
|
||||||
|
document viewer width
|
||||||
|
|
||||||
|
g:vjde_doc_delay
|
||||||
|
timemillis to delay.
|
||||||
|
|
||||||
|
g:vjde_preview_gui [0|1]
|
||||||
|
setup the preview for gui.
|
||||||
|
Note:gtk+2.0 runtime is required.
|
||||||
|
|
||||||
|
g:vjde_preview_gui_width [350]
|
||||||
|
preview width for the gui window
|
||||||
|
|
||||||
|
g:vjde_preview_gui_height [170]
|
||||||
|
preview height for the gui window
|
||||||
|
|
||||||
|
g:vjde_use_project [0|1]
|
||||||
|
use project.vim as the project file manager. >
|
||||||
|
if g:vjde_use_project && !exist(':Project')
|
||||||
|
runtime plugin/vjde/project.vim
|
||||||
|
endif
|
||||||
|
<
|
||||||
|
While a vjde project is loaded , the project file manager is enabled >
|
||||||
|
if filereadable('.prj') && exists(':Project')
|
||||||
|
exec 'Project .prj'
|
||||||
|
endif
|
||||||
|
|
||||||
|
<
|
||||||
|
g:vjde_completion_key
|
||||||
|
Completion key for user completion. >
|
||||||
|
if has('gui_running')
|
||||||
|
let g:vjde_completion_key='<c-space>'
|
||||||
|
else
|
||||||
|
let g:vjde_completion_key='<c-l>'
|
||||||
|
endif
|
||||||
|
<
|
||||||
|
g:vjde_iab_exts
|
||||||
|
This variable is used for iab tools. All the extension is add can use
|
||||||
|
<c-j> to completion for code template. >
|
||||||
|
let g:vjde_iab_exts='cpp;h;c;hpp'
|
||||||
|
<
|
||||||
|
g:vjde_java_symbol
|
||||||
|
For fix tool to find a message.You can change it to your own local: >
|
||||||
|
if !exists('g:vjde_java_symbol')
|
||||||
|
let g:vjde_java_symbol= 'cannot find symbol\nsymbol\s*: class \([^ \t;\s]*\)\n'
|
||||||
|
endif
|
||||||
|
<
|
||||||
|
g:vjde_java_exception
|
||||||
|
For fix tool to find a exception message : >
|
||||||
|
if !exists('g:vjde_java_exception')
|
||||||
|
let g:vjde_java_exception = '\(unreported exception \)\([^ \t;]*\);'
|
||||||
|
endif
|
||||||
|
<
|
||||||
|
g:vjde_cs_libs
|
||||||
|
For completion with csharp, use this parameter, looks like >
|
||||||
|
let g:vjde_cs_libs='d:/mono-1.1.13.4/lib/mono/2.0/mscorlib.dll;..'
|
||||||
|
<
|
||||||
|
g:vjde_cs_cmd
|
||||||
|
For command line of csharp , looks like: >
|
||||||
|
let g:vjde_cs_cmd='mono.exe d:/vim/vimfiles/plugin/vjde/CSParser.exe'
|
||||||
|
<
|
||||||
|
Default value is : >
|
||||||
|
let g:vjde_cs_cmd='mono.exe '.g:vjde_install_path.'/vjde/CSParser.exe'
|
||||||
|
<
|
||||||
|
ruby
|
||||||
|
$java_command
|
||||||
|
the java command line, linux, is tested for "java",
|
||||||
|
for MS windows , "javaw" is recommend
|
||||||
|
$vjde_java_cfu
|
||||||
|
$vjde_java_cfu.found_class
|
||||||
|
the java completion function implements. It's contain
|
||||||
|
the last class which is be searched.
|
||||||
|
|
||||||
|
|
||||||
|
*vjde-todolist*
|
||||||
|
1. template
|
||||||
|
such as , new class , new interface,new ejb.... OK.
|
||||||
|
2. extends and implements
|
||||||
|
select a class and extend or implement it. OK.
|
||||||
|
3. some other tools
|
||||||
|
getter/setter generator OK.
|
||||||
|
auto import OK.
|
||||||
|
auto documention
|
||||||
|
|
||||||
|
*vjde-qa*
|
||||||
|
Note: Most of setting is auto command enabled .
|
||||||
|
see vjde.vim for detail.
|
||||||
|
|
||||||
|
Q1. I had install this plugin, but , when I use <CTR>-x<CTR>-u, it said, not
|
||||||
|
found, why?
|
||||||
|
A1. Check your |cfu| settings. "VjdeCompletionFun" is expected.
|
||||||
|
|
||||||
|
Q2. I had used this tool for a java code completion, but I can't use it for jsp,
|
||||||
|
why?
|
||||||
|
A2. Check your g:vjde_lib_path settings.The j2ee.jar or another is
|
||||||
|
include. like: >
|
||||||
|
let g:vjde_lib_path="/home/me/lib/j2ee.jar:build/classes"
|
||||||
|
<
|
||||||
|
Q3. I am MS Windows user, while I use <CTR>-x<CTR>-u, a command window is
|
||||||
|
occurred, how to avoid it?
|
||||||
|
A3. You must use "javaw" instead of "java", use this command: >
|
||||||
|
ruby $java_command="javaw"
|
||||||
|
<
|
||||||
|
Q4. I am MS Windows user, I can't see the document , although the
|
||||||
|
g:vjde_javadoc_path is correctly.
|
||||||
|
A3. Confirm the wspawn.exe is run enable from you command window.
|
||||||
|
|
||||||
|
for 2.00.01 later version. use this command: >
|
||||||
|
let g:vjde_java_command='javaw'
|
||||||
|
<
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================
|
||||||
|
vim:ts=8 sw=8 noexpandtab tw=78 ft=help:
|
383
dot.vim/doc/zencoding.txt
Normal file
383
dot.vim/doc/zencoding.txt
Normal file
|
@ -0,0 +1,383 @@
|
||||||
|
*zencoding.txt* ZenCoding for Vim
|
||||||
|
|
||||||
|
-------------------------------------------------------
|
||||||
|
ZenCoding: vim plugins for HTML and CSS hi-speed coding
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
Author: Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
||||||
|
WebSite: http://mattn.kaoriya.net/
|
||||||
|
Repository: http://github.com/mattn/zencoding-vim
|
||||||
|
Site: http://mattn.github.com/zencoding-vim
|
||||||
|
License: BSD style license
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
CONTENTS *zencoding-contents*
|
||||||
|
|
||||||
|
Introduction |zencoding-introduction|
|
||||||
|
Install |zencoding-install|
|
||||||
|
Tutorial |zencoding-tutorial|
|
||||||
|
1. Expand Abbreviation |zencoding-expandabbr|
|
||||||
|
2. Wrap with Abbreviation |zencoding-wrap-wtih-abbreviation|
|
||||||
|
3. Balance Tag Inward |zencoding-balance-tag-inward|
|
||||||
|
4. Balance Tag Outward |zencoding-balance-tag-outward|
|
||||||
|
5. Go to Next Edit Point |zencoding-goto-next-point| |<C-Y>n|
|
||||||
|
6. Go to Previous Edit Point |zencoding-goto-previous-point|
|
||||||
|
7. Update <img> Size |zencoding-update-image-size|
|
||||||
|
8. Merge Lines |zencoding-merge-lines|
|
||||||
|
9. Remove Tag |zencoding-remove-tag|
|
||||||
|
10. Split/Join Tag |zencoding-split-join-tag|
|
||||||
|
11. Toggle Comment |zencoding-toggle-comment|
|
||||||
|
12. Make anchor from URL |zencoding-make-anchor-url|
|
||||||
|
13. Make quoted text from URL |zencoding-quoted-text-url|
|
||||||
|
Customize |zencoding-customize|
|
||||||
|
1. Key Mappings |zencoding-customize-keymappings|
|
||||||
|
2. Indent Size |zencoding-indent-size|
|
||||||
|
3. Define Tag's Behavior |zencoding-define-tags-behavior|
|
||||||
|
4. Complete Tag |zencoding-complete-tag|
|
||||||
|
ToDo |zencoding-todo|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
INTRODUCTION *zencoding-introduction* *zencoding*
|
||||||
|
|
||||||
|
|ZenCoding| is an editor plugin for high-speed HTML, XML, XSL (or any other
|
||||||
|
structured code format) coding and editing. The core of this plugin is a
|
||||||
|
powerful abbreviation engine which allows you to expand expressions?similar to
|
||||||
|
CSS selectors?into HTML code:
|
||||||
|
>
|
||||||
|
div#page>div.logo+ul#navigation>li*5>a
|
||||||
|
<
|
||||||
|
...can be expanded into:
|
||||||
|
>
|
||||||
|
<div id="page">
|
||||||
|
<div class="logo"></div>
|
||||||
|
<ul id="navigation">
|
||||||
|
<li><a href=""></a></li>
|
||||||
|
<li><a href=""></a></li>
|
||||||
|
<li><a href=""></a></li>
|
||||||
|
<li><a href=""></a></li>
|
||||||
|
<li><a href=""></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<
|
||||||
|
Read more about current Zen Coding syntax
|
||||||
|
http://code.google.com/p/zen-coding/wiki/ZenHTMLSelectorsEn
|
||||||
|
|
||||||
|
Abbreviation engine has a modular structure which allows you to expand
|
||||||
|
abbreviations into different languages. Zen Coding currently supports CSS,
|
||||||
|
HTML, XML/XSL and HAML languages via filters.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
INSTALL *zencoding-install*
|
||||||
|
|
||||||
|
Install the distributed files into Vim runtime directory which is usually
|
||||||
|
~/.vim/, or $HOME/vimfiles on Windows.
|
||||||
|
|
||||||
|
If you install pathogen that provided from Tim Pope, you should extract the
|
||||||
|
file into 'bundle' directory.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
TUTORIAL *zencoding-tutorial*
|
||||||
|
|
||||||
|
If you are seeing this file as :help, then you can't edit this file.
|
||||||
|
You should copy this section and create new buffer, paste and write as
|
||||||
|
'zencoding-tutor.txt'. Formally, open the file to start tutorial.
|
||||||
|
|
||||||
|
1. Expand Abbreviation *zencoding-expandabbr* *<C-Y>,*
|
||||||
|
|
||||||
|
Type abbreviation as 'div>p#foo$*3>a' and type |<C-Y>,|.
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<p id="foo1">
|
||||||
|
<a href=""></a>
|
||||||
|
</p>
|
||||||
|
<p id="foo2">
|
||||||
|
<a href=""></a>
|
||||||
|
</p>
|
||||||
|
<p id="foo3">
|
||||||
|
<a href=""></a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<
|
||||||
|
2. Wrap with Abbreviation *zencoding-wrap-wtih-abbreviation* *v_<C-Y>,*
|
||||||
|
|
||||||
|
Write as below.
|
||||||
|
>
|
||||||
|
test1
|
||||||
|
test2
|
||||||
|
test3
|
||||||
|
<
|
||||||
|
Then do visual select(line wize) and type |<C-Y>,|.
|
||||||
|
If you request 'Tag:', then type 'ul>li*'.
|
||||||
|
>
|
||||||
|
<ul>
|
||||||
|
<li>test1</li>
|
||||||
|
<li>test2</li>
|
||||||
|
<li>test3</li>
|
||||||
|
</ul>
|
||||||
|
<
|
||||||
|
If you type tag as 'blockquote', then you'll see as following.
|
||||||
|
>
|
||||||
|
<blockquote>
|
||||||
|
test1
|
||||||
|
test2
|
||||||
|
test3
|
||||||
|
</blockquote>
|
||||||
|
<
|
||||||
|
3. Balance Tag Inward *zencoding-balance-tag-inward* *<C-Y>d*
|
||||||
|
|
||||||
|
To select inward of ul tag, type |<C-Y>d| in insert mode.
|
||||||
|
>
|
||||||
|
<ul>
|
||||||
|
* <li class="list1"></li>
|
||||||
|
<li class="list2"></li>
|
||||||
|
<li class="list3"></li>
|
||||||
|
</ul>
|
||||||
|
<
|
||||||
|
If cursor is at '*', |<C-Y>d| select from begin of <ul> to end of </ul>.
|
||||||
|
If cursor is at first of <li>, it select <li class="list1"></li>.
|
||||||
|
|
||||||
|
4. Balance Tag Outward *zencoding-balance-tag-outward* *<C-Y>D*
|
||||||
|
|
||||||
|
To select outward of ul tag, insert mode, type <C-Y>D in insert mode.
|
||||||
|
>
|
||||||
|
<ul>
|
||||||
|
* <li class="list1"></li>
|
||||||
|
<li class="list2"></li>
|
||||||
|
<li class="list3"></li>
|
||||||
|
</ul>
|
||||||
|
<
|
||||||
|
If cursor is at '*', |<C-Y>d| select from next letter of <ul> to previous
|
||||||
|
letter of </ul>.
|
||||||
|
If cursor is at first of <li>, it select <li class="list1"></li>.
|
||||||
|
|
||||||
|
5. Go to Next Edit Point *zencoding-goto-next-point* *<C-Y>n*
|
||||||
|
|
||||||
|
To jump next point that need to edit, type |<C-Y>n| in insert mode.
|
||||||
|
>
|
||||||
|
* <div id="foo" class="">foo</div>
|
||||||
|
<div id="bar" class="bar"></li>
|
||||||
|
<
|
||||||
|
If cursor is at '*', |<C-Y>n| move a cursor into attribute value of div
|
||||||
|
specified id as 'foo'. And type again |<C-Y>n| move a cursor into inner of
|
||||||
|
div specified id as 'bar'.
|
||||||
|
|
||||||
|
6. Go to Previous Edit Point *zencoding-goto-previous-point* *<C-Y>N*
|
||||||
|
|
||||||
|
To jump previous point that need to edit, type |<C-Y>N| in insert mode.
|
||||||
|
>
|
||||||
|
<div id="foo" class="">foo</div>
|
||||||
|
<div id="bar" class="bar"></li> *
|
||||||
|
<
|
||||||
|
If cursor is at '*', |<C-Y>N| move a cursor into div specified id as 'bar'.
|
||||||
|
And type again |<C-Y>N| move a cursor into attribute value of 'foo'.
|
||||||
|
|
||||||
|
7. Update <img> Size *zencoding-update-image-size* *<C-Y>i*
|
||||||
|
|
||||||
|
To expand or update size of image, type |<C-Y>i| on img tag
|
||||||
|
>
|
||||||
|
<img src="foo.png" />
|
||||||
|
<
|
||||||
|
Type '<c-y>i' on img tag
|
||||||
|
>
|
||||||
|
<img src="foo.png" width="32" height="32" />
|
||||||
|
<
|
||||||
|
If you change image, then type it again. it will be following.
|
||||||
|
>
|
||||||
|
<img src="foo-48.png" width="32" height="48" />
|
||||||
|
<
|
||||||
|
8. Merge Lines *zencoding-merge-lines*
|
||||||
|
|
||||||
|
To join multi line text like following, type |J|.
|
||||||
|
>
|
||||||
|
<ul>
|
||||||
|
<li class="list1"></li>
|
||||||
|
<li class="list2"></li>
|
||||||
|
<li class="list3"></li>
|
||||||
|
</ul>
|
||||||
|
<
|
||||||
|
If you select part of line include <li> and type |J|, it will be following.
|
||||||
|
>
|
||||||
|
<ul>
|
||||||
|
<li class="list1"></li><li class="list2"></li><li class="list3"></li>
|
||||||
|
</ul>
|
||||||
|
<
|
||||||
|
9. Remove Tag *zencoding-remove-tag* *<C-Y>k*
|
||||||
|
|
||||||
|
To remove tag in the block, type |<C-Y>k|.
|
||||||
|
>
|
||||||
|
<div class="foo">
|
||||||
|
<a>cursor is here</a>
|
||||||
|
</div>
|
||||||
|
<
|
||||||
|
Type |<C-Y>k| in insert mode, then
|
||||||
|
>
|
||||||
|
<div class="foo">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<
|
||||||
|
And type |<C-Y>k| in there again, then div will be removed.
|
||||||
|
|
||||||
|
10. Split/Join Tag *zencoding-split-join-tag* *<C-Y>j*
|
||||||
|
|
||||||
|
To join block, type |<C-Y>j|.
|
||||||
|
>
|
||||||
|
<div class="foo">
|
||||||
|
cursor is here
|
||||||
|
</div>
|
||||||
|
<
|
||||||
|
Type |<C-Y>j| in insert mode. then,
|
||||||
|
>
|
||||||
|
<div class="foo"/>
|
||||||
|
<
|
||||||
|
And type |<C-Y>j| in there again.
|
||||||
|
>
|
||||||
|
<div class="foo">
|
||||||
|
</div>
|
||||||
|
<
|
||||||
|
11. Toggle Comment *zencoding-toggle-comment* *<C-Y>/*
|
||||||
|
|
||||||
|
Move cursor to block
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
hello world
|
||||||
|
</div>
|
||||||
|
<
|
||||||
|
Type '<c-y>/' in insert mode.
|
||||||
|
>
|
||||||
|
<!-- <div>
|
||||||
|
hello world
|
||||||
|
</div> -->
|
||||||
|
<
|
||||||
|
Type '<c-y>/' in there again.
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
hello world
|
||||||
|
</div>
|
||||||
|
<
|
||||||
|
12. Make anchor from URL *zencoding-make-anchor-url* *<C-Y>a*
|
||||||
|
|
||||||
|
Move cursor to URL
|
||||||
|
>
|
||||||
|
http://www.google.com/
|
||||||
|
<
|
||||||
|
Type |<C-Y>a|
|
||||||
|
>
|
||||||
|
<a href="http://www.google.com/">Google</a>
|
||||||
|
<
|
||||||
|
13. Make quoted text from URL *zencoding-quoted-text-url* *<C-Y>A*
|
||||||
|
|
||||||
|
Move cursor to URL
|
||||||
|
>
|
||||||
|
http://github.com/
|
||||||
|
<
|
||||||
|
Type |<C-Y>A|
|
||||||
|
>
|
||||||
|
<blockquote class="quote">
|
||||||
|
<a href="http://github.com/">Secure source code hosting and collaborative development - GitHub</a><br />
|
||||||
|
<p>How does it work? Get up and running in seconds by forking a project, pushing an existing repository...</p>
|
||||||
|
<cite>http://github.com/</cite>
|
||||||
|
</blockquote>
|
||||||
|
<
|
||||||
|
==============================================================================
|
||||||
|
CUSTOMIZE *zencoding-customize*
|
||||||
|
|
||||||
|
1. Key Mapping *zencoding-customize-keymappings*
|
||||||
|
|
||||||
|
To specify leading key for expanding or balance tag, or for all,
|
||||||
|
Add this line in your vimrc: >
|
||||||
|
>
|
||||||
|
let g:user_zen_leader_key = '<c-y>'
|
||||||
|
<
|
||||||
|
Or if you prefer to map for each actions, then you set each variables.
|
||||||
|
|
||||||
|
'user_zen_expandabbr_key'
|
||||||
|
'user_zen_expandword_key'
|
||||||
|
'user_zen_balancetaginward_key'
|
||||||
|
'user_zen_balancetagoutward_key'
|
||||||
|
'user_zen_next_key'
|
||||||
|
'user_zen_prev_key'
|
||||||
|
'user_zen_imagesize_key'
|
||||||
|
'user_zen_togglecomment_key'
|
||||||
|
'user_zen_splitjointag_key'
|
||||||
|
'user_zen_removetag_key'
|
||||||
|
'user_zen_anchorizeurl_key'
|
||||||
|
'user_zen_anchorizesummary_key'
|
||||||
|
|
||||||
|
2. Indent Size *zencoding-indent-size*
|
||||||
|
|
||||||
|
To change indent size of html, add this code in your vimrc.
|
||||||
|
>
|
||||||
|
let g:user_zen_settings = {
|
||||||
|
\ 'html' : {
|
||||||
|
\ 'indentation' : ' '
|
||||||
|
\ },
|
||||||
|
\}
|
||||||
|
<
|
||||||
|
If you prefer to change global indent size then add this.
|
||||||
|
>
|
||||||
|
let g:user_zen_settings = {
|
||||||
|
\ 'indentation' : ' '
|
||||||
|
\}
|
||||||
|
<
|
||||||
|
3. Define Tag's Behavior *zencoding-define-tags-behavior*
|
||||||
|
|
||||||
|
zencoding.vim can change behavior of expanding abbreviation for each
|
||||||
|
filetypes as |Dictionary|. for details, see official site of zencoding.
|
||||||
|
for example, vimmer can add following.
|
||||||
|
>
|
||||||
|
let g:user_zen_settings = {
|
||||||
|
\ 'lang' : 'ja',
|
||||||
|
\ 'html' : {
|
||||||
|
\ 'filters' : 'html',
|
||||||
|
\ 'indentation' : ' '
|
||||||
|
\ },
|
||||||
|
\ 'perl' : {
|
||||||
|
\ 'indentation' : ' ',
|
||||||
|
\ 'aliases' : {
|
||||||
|
\ 'req' : "require '|'"
|
||||||
|
\ },
|
||||||
|
\ 'snippets' : {
|
||||||
|
\ 'use' : "use strict\nuse warnings\n\n",
|
||||||
|
\ 'w' : "warn \"${cursor}\";",
|
||||||
|
\ },
|
||||||
|
\ },
|
||||||
|
\ 'php' : {
|
||||||
|
\ 'extends' : 'html',
|
||||||
|
\ 'filters' : 'html,c',
|
||||||
|
\ },
|
||||||
|
\ 'css' : {
|
||||||
|
\ 'filters' : 'fc',
|
||||||
|
\ },
|
||||||
|
\ 'javascript' : {
|
||||||
|
\ 'snippets' : {
|
||||||
|
\ 'jq' : "$(function() {\n\t${cursor}${child}\n});",
|
||||||
|
\ 'jq:each' : "$.each(arr, function(index, item)\n\t${child}\n});",
|
||||||
|
\ 'fn' : "(function() {\n\t${cursor}\n})();",
|
||||||
|
\ 'tm' : "setTimeout(function() {\n\t${cursor}\n}, 100);",
|
||||||
|
\ },
|
||||||
|
\ },
|
||||||
|
\ 'java' : {
|
||||||
|
\ 'indentation' : ' ',
|
||||||
|
\ 'snippets' : {
|
||||||
|
\ 'main': "public static void main(String[] args) {\n\t|\n}",
|
||||||
|
\ 'println': "System.out.println(\"|\");",
|
||||||
|
\ 'class': "public class | {\n}\n",
|
||||||
|
\ },
|
||||||
|
\ },
|
||||||
|
\}
|
||||||
|
<
|
||||||
|
4. Complete Tag *zencoding-complete-tag*
|
||||||
|
|
||||||
|
If you want to complete tags using |ominifunc| then add this.
|
||||||
|
>
|
||||||
|
let g:use_zen_complete_tag = 1
|
||||||
|
<
|
||||||
|
==============================================================================
|
||||||
|
TODO *zencoding-todo*
|
||||||
|
* wrapping inline selected.
|
||||||
|
* more documents.
|
||||||
|
* more contributor.
|
||||||
|
* more time to improve zencodig.vim.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
vim:tw=78:ts=8:ft=help:norl:noet:fen:fdl=0:
|
6
dot.vim/ftdetect/csv.vim
Normal file
6
dot.vim/ftdetect/csv.vim
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
" Install Filetype detection for CSV files
|
||||||
|
augroup ftdetect_csv
|
||||||
|
au!
|
||||||
|
au BufRead,BufNewFile *.csv,*.dat,*.tsv,*.tab set filetype=csv
|
||||||
|
augroup END
|
||||||
|
|
2
dot.vim/ftdetect/haml.vim
Normal file
2
dot.vim/ftdetect/haml.vim
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
autocmd BufNewFile,BufRead *.haml setf haml
|
||||||
|
autocmd BufNewFile,BufRead *.sass setf sass
|
5
dot.vim/ftdetect/opa.vim
Normal file
5
dot.vim/ftdetect/opa.vim
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
augroup filetypedetect
|
||||||
|
au! BufRead,BufNewFile *.js.opa setfiletype opajs
|
||||||
|
au! BufRead,BufNewFile *.classic.opa setfiletype opa
|
||||||
|
au! BufRead,BufNewFile *.opa setfiletype opa
|
||||||
|
augroup END
|
1
dot.vim/ftdetect/scala.vim
Normal file
1
dot.vim/ftdetect/scala.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
au BufRead,BufNewFile *.scala set filetype=scala
|
70
dot.vim/ftplugin/README.rst
Normal file
70
dot.vim/ftplugin/README.rst
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
pyflakes-vim
|
||||||
|
============
|
||||||
|
|
||||||
|
A Vim plugin for checking Python code on the fly.
|
||||||
|
|
||||||
|
PyFlakes catches common Python errors like mistyping a variable name or
|
||||||
|
accessing a local before it is bound, and also gives warnings for things like
|
||||||
|
unused imports.
|
||||||
|
|
||||||
|
pyflakes-vim uses the output from PyFlakes to highlight errors in your code.
|
||||||
|
|
||||||
|
Make sure to check vim.org_ for the latest updates.
|
||||||
|
|
||||||
|
.. _pyflakes.vim: http://www.vim.org/scripts/script.php?script_id=2441
|
||||||
|
.. _vim.org: http://www.vim.org/scripts/script.php?script_id=2441
|
||||||
|
|
||||||
|
Quick Installation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
1. Make sure your ``.vimrc`` has::
|
||||||
|
|
||||||
|
filetype on " enables filetype detection
|
||||||
|
filetype plugin on " enables filetype specific plugins
|
||||||
|
|
||||||
|
2. Download the latest release_.
|
||||||
|
|
||||||
|
3. Unzip ``pyflakes.vim`` and the ``pyflakes`` directory into
|
||||||
|
``~/.vim/ftplugin/python`` (or somewhere similar on your
|
||||||
|
`runtime path`_ that will be sourced for Python files).
|
||||||
|
|
||||||
|
.. _release: http://www.vim.org/scripts/script.php?script_id=2441
|
||||||
|
.. _runtime path: http://vimdoc.sourceforge.net/htmldoc/options.html#'runtimepath'
|
||||||
|
|
||||||
|
Installation
|
||||||
|
------------
|
||||||
|
|
||||||
|
If you downloaded this from vim.org_, then just drop the contents of the zip
|
||||||
|
file into ``~/.vim/ftplugin/python``.
|
||||||
|
|
||||||
|
Otherwise, you'll need PyFlakes on your PYTHONPATH somewhere. I recommend
|
||||||
|
getting my PyFlakes_ fork, which uses the ``_ast`` module new to Python 2.5,
|
||||||
|
and is faster and more current than PyFlakes' old usage of the deprecated
|
||||||
|
``compiler`` module.
|
||||||
|
|
||||||
|
.. _vim.org: http://www.vim.org/scripts/script.php?script_id=2441
|
||||||
|
.. _PyFlakes: http://github.com/kevinw/pyflakes
|
||||||
|
|
||||||
|
Hacking
|
||||||
|
-------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
git clone git://github.com/kevinw/pyflakes-vim.git
|
||||||
|
cd pyflakes-vim
|
||||||
|
git clone git://github.com/kevinw/pyflakes.git
|
||||||
|
|
||||||
|
TODO
|
||||||
|
----
|
||||||
|
* signs_ support (show warning and error icons to left of the buffer area)
|
||||||
|
* configuration variables
|
||||||
|
* parse or intercept useful output from the warnings module
|
||||||
|
|
||||||
|
.. _signs: http://www.vim.org/htmldoc/sign.html
|
||||||
|
|
||||||
|
Changelog
|
||||||
|
---------
|
||||||
|
|
||||||
|
Please see http://www.vim.org/scripts/script.php?script_id=2441 for a history of
|
||||||
|
all changes.
|
||||||
|
|
2000
dot.vim/ftplugin/csv.vim
Normal file
2000
dot.vim/ftplugin/csv.vim
Normal file
File diff suppressed because it is too large
Load diff
66
dot.vim/ftplugin/haml.vim
Normal file
66
dot.vim/ftplugin/haml.vim
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
" Vim filetype plugin
|
||||||
|
" Language: Haml
|
||||||
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
|
||||||
|
|
||||||
|
" Only do this when not done yet for this buffer
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:save_cpo = &cpo
|
||||||
|
set cpo-=C
|
||||||
|
|
||||||
|
" Define some defaults in case the included ftplugins don't set them.
|
||||||
|
let s:undo_ftplugin = ""
|
||||||
|
let s:browsefilter = "All Files (*.*)\t*.*\n"
|
||||||
|
let s:match_words = ""
|
||||||
|
|
||||||
|
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||||
|
unlet! b:did_ftplugin
|
||||||
|
|
||||||
|
" Override our defaults if these were set by an included ftplugin.
|
||||||
|
if exists("b:undo_ftplugin")
|
||||||
|
let s:undo_ftplugin = b:undo_ftplugin
|
||||||
|
unlet b:undo_ftplugin
|
||||||
|
endif
|
||||||
|
if exists("b:browsefilter")
|
||||||
|
let s:browsefilter = b:browsefilter
|
||||||
|
unlet b:browsefilter
|
||||||
|
endif
|
||||||
|
if exists("b:match_words")
|
||||||
|
let s:match_words = b:match_words
|
||||||
|
unlet b:match_words
|
||||||
|
endif
|
||||||
|
|
||||||
|
runtime! ftplugin/ruby.vim ftplugin/ruby_*.vim ftplugin/ruby/*.vim
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
" Combine the new set of values with those previously included.
|
||||||
|
if exists("b:undo_ftplugin")
|
||||||
|
let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin
|
||||||
|
endif
|
||||||
|
if exists ("b:browsefilter")
|
||||||
|
let s:browsefilter = substitute(b:browsefilter,'\cAll Files (\*\.\*)\t\*\.\*\n','','') . s:browsefilter
|
||||||
|
endif
|
||||||
|
if exists("b:match_words")
|
||||||
|
let s:match_words = b:match_words . ',' . s:match_words
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Change the browse dialog on Win32 to show mainly Haml-related files
|
||||||
|
if has("gui_win32")
|
||||||
|
let b:browsefilter="Haml Files (*.haml)\t*.haml\nSass Files (*.sass)\t*.sass\n" . s:browsefilter
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Load the combined list of match_words for matchit.vim
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let b:match_words = s:match_words
|
||||||
|
endif
|
||||||
|
|
||||||
|
setlocal comments= commentstring=-#\ %s
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setl cms< com< "
|
||||||
|
\ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin
|
||||||
|
|
||||||
|
let &cpo = s:save_cpo
|
||||||
|
|
||||||
|
" vim:set sw=2:
|
10
dot.vim/ftplugin/html_snip_helper.vim
Normal file
10
dot.vim/ftplugin/html_snip_helper.vim
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
" Helper function for (x)html snippets
|
||||||
|
if exists('s:did_snip_helper') || &cp || !exists('loaded_snips')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let s:did_snip_helper = 1
|
||||||
|
|
||||||
|
" Automatically closes tag if in xhtml
|
||||||
|
fun! Close()
|
||||||
|
return stridx(&ft, 'xhtml') == -1 ? '' : ' /'
|
||||||
|
endf
|
203
dot.vim/ftplugin/pyflakes.vim
Normal file
203
dot.vim/ftplugin/pyflakes.vim
Normal file
|
@ -0,0 +1,203 @@
|
||||||
|
" pyflakes.vim - A script to highlight Python code on the fly with warnings
|
||||||
|
" from Pyflakes, a Python lint tool.
|
||||||
|
"
|
||||||
|
" Place this script and the accompanying pyflakes directory in
|
||||||
|
" .vim/after/ftplugin/python.
|
||||||
|
"
|
||||||
|
" See README for additional installation and information.
|
||||||
|
"
|
||||||
|
" Thanks to matlib.vim for ideas/code on interactive linting.
|
||||||
|
"
|
||||||
|
" Maintainer: Kevin Watters <kevin.watters@gmail.com>
|
||||||
|
" Version: 0.1
|
||||||
|
|
||||||
|
if exists("b:did_pyflakes_plugin")
|
||||||
|
finish " only load once
|
||||||
|
else
|
||||||
|
let b:did_pyflakes_plugin = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:pyflakes_builtins')
|
||||||
|
let g:pyflakes_builtins = []
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists("b:did_python_init")
|
||||||
|
python << EOF
|
||||||
|
import vim
|
||||||
|
import os.path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# get the directory this script is in: the pyflakes python module should be installed there.
|
||||||
|
scriptdir = os.path.join(os.path.dirname(vim.eval('expand("<sfile>")')), 'pyflakes')
|
||||||
|
sys.path.insert(0, scriptdir)
|
||||||
|
|
||||||
|
from pyflakes import checker, ast, messages
|
||||||
|
from operator import attrgetter
|
||||||
|
|
||||||
|
class SyntaxError(messages.Message):
|
||||||
|
message = 'could not compile: %s'
|
||||||
|
def __init__(self, filename, lineno, col, message):
|
||||||
|
messages.Message.__init__(self, filename, lineno, col)
|
||||||
|
self.message_args = (message,)
|
||||||
|
|
||||||
|
class blackhole(object):
|
||||||
|
write = flush = lambda *a, **k: None
|
||||||
|
|
||||||
|
def check(buffer):
|
||||||
|
filename = buffer.name
|
||||||
|
contents = '\n'.join(buffer[:])
|
||||||
|
|
||||||
|
builtins = []
|
||||||
|
try:
|
||||||
|
builtins = eval(vim.eval('string(g:pyflakes_builtins)'))
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
try:
|
||||||
|
# TODO: use warnings filters instead of ignoring stderr
|
||||||
|
old_stderr, sys.stderr = sys.stderr, blackhole()
|
||||||
|
try:
|
||||||
|
tree = ast.parse(contents, filename)
|
||||||
|
finally:
|
||||||
|
sys.stderr = old_stderr
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
value = sys.exc_info()[1]
|
||||||
|
lineno, offset, line = value[1][1:]
|
||||||
|
except IndexError:
|
||||||
|
lineno, offset, line = 1, 0, ''
|
||||||
|
if line.endswith("\n"):
|
||||||
|
line = line[:-1]
|
||||||
|
|
||||||
|
return [SyntaxError(filename, lineno, offset, str(value))]
|
||||||
|
else:
|
||||||
|
w = checker.Checker(tree, filename, builtins = builtins)
|
||||||
|
w.messages.sort(key = attrgetter('lineno'))
|
||||||
|
return w.messages
|
||||||
|
|
||||||
|
|
||||||
|
def vim_quote(s):
|
||||||
|
return s.replace("'", "''")
|
||||||
|
EOF
|
||||||
|
let b:did_python_init = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
au BufLeave <buffer> call s:ClearPyflakes()
|
||||||
|
|
||||||
|
au BufEnter <buffer> call s:RunPyflakes()
|
||||||
|
au InsertLeave <buffer> call s:RunPyflakes()
|
||||||
|
au InsertEnter <buffer> call s:RunPyflakes()
|
||||||
|
au BufWritePost <buffer> call s:RunPyflakes()
|
||||||
|
|
||||||
|
au CursorHold <buffer> call s:RunPyflakes()
|
||||||
|
au CursorHoldI <buffer> call s:RunPyflakes()
|
||||||
|
|
||||||
|
au CursorHold <buffer> call s:GetPyflakesMessage()
|
||||||
|
au CursorMoved <buffer> call s:GetPyflakesMessage()
|
||||||
|
|
||||||
|
if !exists("*s:PyflakesUpdate")
|
||||||
|
function s:PyflakesUpdate()
|
||||||
|
silent call s:RunPyflakes()
|
||||||
|
call s:GetPyflakesMessage()
|
||||||
|
endfunction
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Call this function in your .vimrc to update PyFlakes
|
||||||
|
if !exists(":PyflakesUpdate")
|
||||||
|
command PyflakesUpdate :call s:PyflakesUpdate()
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Hook common text manipulation commands to update PyFlakes
|
||||||
|
" TODO: is there a more general "text op" autocommand we could register
|
||||||
|
" for here?
|
||||||
|
noremap <buffer><silent> dd dd:PyflakesUpdate<CR>
|
||||||
|
noremap <buffer><silent> dw dw:PyflakesUpdate<CR>
|
||||||
|
noremap <buffer><silent> u u:PyflakesUpdate<CR>
|
||||||
|
noremap <buffer><silent> <C-R> <C-R>:PyflakesUpdate<CR>
|
||||||
|
|
||||||
|
" WideMsg() prints [long] message up to (&columns-1) length
|
||||||
|
" guaranteed without "Press Enter" prompt.
|
||||||
|
if !exists("*s:WideMsg")
|
||||||
|
function s:WideMsg(msg)
|
||||||
|
let x=&ruler | let y=&showcmd
|
||||||
|
set noruler noshowcmd
|
||||||
|
redraw
|
||||||
|
echo a:msg
|
||||||
|
let &ruler=x | let &showcmd=y
|
||||||
|
endfun
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists("*s:RunPyflakes")
|
||||||
|
function s:RunPyflakes()
|
||||||
|
highlight link PyFlakes SpellBad
|
||||||
|
|
||||||
|
if exists("b:cleared")
|
||||||
|
if b:cleared == 0
|
||||||
|
silent call s:ClearPyflakes()
|
||||||
|
let b:cleared = 1
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let b:cleared = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
let b:matched = []
|
||||||
|
let b:matchedlines = {}
|
||||||
|
python << EOF
|
||||||
|
for w in check(vim.current.buffer):
|
||||||
|
vim.command('let s:matchDict = {}')
|
||||||
|
vim.command("let s:matchDict['lineNum'] = " + str(w.lineno))
|
||||||
|
vim.command("let s:matchDict['message'] = '%s'" % vim_quote(w.message % w.message_args))
|
||||||
|
vim.command("let b:matchedlines[" + str(w.lineno) + "] = s:matchDict")
|
||||||
|
|
||||||
|
if w.col is None:
|
||||||
|
# without column information, just highlight the whole line
|
||||||
|
# (minus the newline)
|
||||||
|
vim.command(r"let s:mID = matchadd('PyFlakes', '\%" + str(w.lineno) + r"l\n\@!')")
|
||||||
|
else:
|
||||||
|
# with a column number, highlight the first keyword there
|
||||||
|
vim.command(r"let s:mID = matchadd('PyFlakes', '^\%" + str(w.lineno) + r"l\_.\{-}\zs\k\+\k\@!\%>" + str(w.col) + r"c')")
|
||||||
|
|
||||||
|
vim.command("call add(b:matched, s:matchDict)")
|
||||||
|
EOF
|
||||||
|
let b:cleared = 0
|
||||||
|
endfunction
|
||||||
|
end
|
||||||
|
|
||||||
|
" keep track of whether or not we are showing a message
|
||||||
|
let b:showing_message = 0
|
||||||
|
|
||||||
|
if !exists("*s:GetPyflakesMessage")
|
||||||
|
function s:GetPyflakesMessage()
|
||||||
|
let s:cursorPos = getpos(".")
|
||||||
|
|
||||||
|
" if there's a message for the line the cursor is currently on, echo
|
||||||
|
" it to the console
|
||||||
|
if has_key(b:matchedlines, s:cursorPos[1])
|
||||||
|
let s:pyflakesMatch = get(b:matchedlines, s:cursorPos[1])
|
||||||
|
call s:WideMsg(s:pyflakesMatch['message'])
|
||||||
|
let b:showing_message = 1
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
" otherwise, if we're showing a message, clear it
|
||||||
|
if b:showing_message == 1
|
||||||
|
echo
|
||||||
|
let b:showing_message = 0
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('*s:ClearPyflakes')
|
||||||
|
function s:ClearPyflakes()
|
||||||
|
let s:matches = getmatches()
|
||||||
|
for s:matchId in s:matches
|
||||||
|
if s:matchId['group'] == 'PyFlakes'
|
||||||
|
call matchdelete(s:matchId['id'])
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
let b:matched = []
|
||||||
|
let b:matchedlines = {}
|
||||||
|
let b:cleared = 1
|
||||||
|
endfunction
|
||||||
|
endif
|
||||||
|
|
21
dot.vim/ftplugin/pyflakes/LICENSE
Normal file
21
dot.vim/ftplugin/pyflakes/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
|
||||||
|
Copyright (c) 2005 Divmod, Inc., http://www.divmod.com/
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
36
dot.vim/ftplugin/pyflakes/README.rst
Normal file
36
dot.vim/ftplugin/pyflakes/README.rst
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
pyflakes
|
||||||
|
========
|
||||||
|
|
||||||
|
This version of PyFlakes_ has been improved to use Python's newer ``ast``
|
||||||
|
module, instead of ``compiler``. So code checking happens faster, and will stay
|
||||||
|
up to date with new language changes.
|
||||||
|
|
||||||
|
.. _PyFlakes: http://http://www.divmod.org/trac/wiki/DivmodPyflakes
|
||||||
|
|
||||||
|
TODO
|
||||||
|
----
|
||||||
|
|
||||||
|
Importing several modules from the same package results in unnecessary warnings:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
import a.b
|
||||||
|
import a.c # Redefinition of unused "a" from line 1
|
||||||
|
|
||||||
|
The following construct for defining a function differently depending on some
|
||||||
|
condition results in a redefinition warning:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
if some_condition:
|
||||||
|
def foo(): do_foo()
|
||||||
|
else:
|
||||||
|
def foo(): do_bar() # redefinition of function 'foo' from line 2
|
||||||
|
|
||||||
|
IDE Integration
|
||||||
|
---------------
|
||||||
|
|
||||||
|
* vim: pyflakes-vim_
|
||||||
|
|
||||||
|
.. _pyflakes-vim: http://github.com/kevinw/pyflakes-vim
|
||||||
|
|
4
dot.vim/ftplugin/pyflakes/bin/pyflakes
Normal file
4
dot.vim/ftplugin/pyflakes/bin/pyflakes
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
from pyflakes.scripts.pyflakes import main
|
||||||
|
main()
|
0
dot.vim/ftplugin/pyflakes/pyflakes/__init__.py
Normal file
0
dot.vim/ftplugin/pyflakes/pyflakes/__init__.py
Normal file
311
dot.vim/ftplugin/pyflakes/pyflakes/ast.py
Normal file
311
dot.vim/ftplugin/pyflakes/pyflakes/ast.py
Normal file
|
@ -0,0 +1,311 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
ast
|
||||||
|
~~~
|
||||||
|
|
||||||
|
The `ast` module helps Python applications to process trees of the Python
|
||||||
|
abstract syntax grammar. The abstract syntax itself might change with
|
||||||
|
each Python release; this module helps to find out programmatically what
|
||||||
|
the current grammar looks like and allows modifications of it.
|
||||||
|
|
||||||
|
An abstract syntax tree can be generated by passing `ast.PyCF_ONLY_AST` as
|
||||||
|
a flag to the `compile()` builtin function or by using the `parse()`
|
||||||
|
function from this module. The result will be a tree of objects whose
|
||||||
|
classes all inherit from `ast.AST`.
|
||||||
|
|
||||||
|
A modified abstract syntax tree can be compiled into a Python code object
|
||||||
|
using the built-in `compile()` function.
|
||||||
|
|
||||||
|
Additionally various helper functions are provided that make working with
|
||||||
|
the trees simpler. The main intention of the helper functions and this
|
||||||
|
module in general is to provide an easy to use interface for libraries
|
||||||
|
that work tightly with the python syntax (template engines for example).
|
||||||
|
|
||||||
|
|
||||||
|
:copyright: Copyright 2008 by Armin Ronacher.
|
||||||
|
:license: Python License.
|
||||||
|
"""
|
||||||
|
from _ast import *
|
||||||
|
from _ast import __version__
|
||||||
|
|
||||||
|
|
||||||
|
def parse(expr, filename='<unknown>', mode='exec'):
|
||||||
|
"""
|
||||||
|
Parse an expression into an AST node.
|
||||||
|
Equivalent to compile(expr, filename, mode, PyCF_ONLY_AST).
|
||||||
|
"""
|
||||||
|
return compile(expr, filename, mode, PyCF_ONLY_AST)
|
||||||
|
|
||||||
|
|
||||||
|
def literal_eval(node_or_string):
|
||||||
|
"""
|
||||||
|
Safely evaluate an expression node or a string containing a Python
|
||||||
|
expression. The string or node provided may only consist of the following
|
||||||
|
Python literal structures: strings, numbers, tuples, lists, dicts, booleans,
|
||||||
|
and None.
|
||||||
|
"""
|
||||||
|
_safe_names = {'None': None, 'True': True, 'False': False}
|
||||||
|
if isinstance(node_or_string, basestring):
|
||||||
|
node_or_string = parse(node_or_string, mode='eval')
|
||||||
|
if isinstance(node_or_string, Expression):
|
||||||
|
node_or_string = node_or_string.body
|
||||||
|
def _convert(node):
|
||||||
|
if isinstance(node, Str):
|
||||||
|
return node.s
|
||||||
|
elif isinstance(node, Num):
|
||||||
|
return node.n
|
||||||
|
elif isinstance(node, Tuple):
|
||||||
|
return tuple(map(_convert, node.elts))
|
||||||
|
elif isinstance(node, List):
|
||||||
|
return list(map(_convert, node.elts))
|
||||||
|
elif isinstance(node, Dict):
|
||||||
|
return dict((_convert(k), _convert(v)) for k, v
|
||||||
|
in zip(node.keys, node.values))
|
||||||
|
elif isinstance(node, Name):
|
||||||
|
if node.id in _safe_names:
|
||||||
|
return _safe_names[node.id]
|
||||||
|
raise ValueError('malformed string')
|
||||||
|
return _convert(node_or_string)
|
||||||
|
|
||||||
|
|
||||||
|
def dump(node, annotate_fields=True, include_attributes=False):
|
||||||
|
"""
|
||||||
|
Return a formatted dump of the tree in *node*. This is mainly useful for
|
||||||
|
debugging purposes. The returned string will show the names and the values
|
||||||
|
for fields. This makes the code impossible to evaluate, so if evaluation is
|
||||||
|
wanted *annotate_fields* must be set to False. Attributes such as line
|
||||||
|
numbers and column offsets are not dumped by default. If this is wanted,
|
||||||
|
*include_attributes* can be set to True.
|
||||||
|
"""
|
||||||
|
def _format(node):
|
||||||
|
if isinstance(node, AST):
|
||||||
|
fields = [(a, _format(b)) for a, b in iter_fields(node)]
|
||||||
|
rv = '%s(%s' % (node.__class__.__name__, ', '.join(
|
||||||
|
('%s=%s' % field for field in fields)
|
||||||
|
if annotate_fields else
|
||||||
|
(b for a, b in fields)
|
||||||
|
))
|
||||||
|
if include_attributes and node._attributes:
|
||||||
|
rv += fields and ', ' or ' '
|
||||||
|
rv += ', '.join('%s=%s' % (a, _format(getattr(node, a)))
|
||||||
|
for a in node._attributes)
|
||||||
|
return rv + ')'
|
||||||
|
elif isinstance(node, list):
|
||||||
|
return '[%s]' % ', '.join(_format(x) for x in node)
|
||||||
|
return repr(node)
|
||||||
|
if not isinstance(node, AST):
|
||||||
|
raise TypeError('expected AST, got %r' % node.__class__.__name__)
|
||||||
|
return _format(node)
|
||||||
|
|
||||||
|
|
||||||
|
def copy_location(new_node, old_node):
|
||||||
|
"""
|
||||||
|
Copy source location (`lineno` and `col_offset` attributes) from
|
||||||
|
*old_node* to *new_node* if possible, and return *new_node*.
|
||||||
|
"""
|
||||||
|
for attr in 'lineno', 'col_offset':
|
||||||
|
if attr in old_node._attributes and attr in new_node._attributes \
|
||||||
|
and hasattr(old_node, attr):
|
||||||
|
setattr(new_node, attr, getattr(old_node, attr))
|
||||||
|
return new_node
|
||||||
|
|
||||||
|
|
||||||
|
def fix_missing_locations(node):
|
||||||
|
"""
|
||||||
|
When you compile a node tree with compile(), the compiler expects lineno and
|
||||||
|
col_offset attributes for every node that supports them. This is rather
|
||||||
|
tedious to fill in for generated nodes, so this helper adds these attributes
|
||||||
|
recursively where not already set, by setting them to the values of the
|
||||||
|
parent node. It works recursively starting at *node*.
|
||||||
|
"""
|
||||||
|
def _fix(node, lineno, col_offset):
|
||||||
|
if 'lineno' in node._attributes:
|
||||||
|
if not hasattr(node, 'lineno'):
|
||||||
|
node.lineno = lineno
|
||||||
|
else:
|
||||||
|
lineno = node.lineno
|
||||||
|
if 'col_offset' in node._attributes:
|
||||||
|
if not hasattr(node, 'col_offset'):
|
||||||
|
node.col_offset = col_offset
|
||||||
|
else:
|
||||||
|
col_offset = node.col_offset
|
||||||
|
for child in iter_child_nodes(node):
|
||||||
|
_fix(child, lineno, col_offset)
|
||||||
|
_fix(node, 1, 0)
|
||||||
|
return node
|
||||||
|
|
||||||
|
def add_col_end(node):
|
||||||
|
def _fix(node, next):
|
||||||
|
children = list(iter_child_nodes(node))
|
||||||
|
for i, child in enumerate(children):
|
||||||
|
next_offset = children[i+1].col_offset if i < len(children) else next.col_offset
|
||||||
|
child.col_end = next_offset
|
||||||
|
|
||||||
|
|
||||||
|
def increment_lineno(node, n=1):
|
||||||
|
"""
|
||||||
|
Increment the line number of each node in the tree starting at *node* by *n*.
|
||||||
|
This is useful to "move code" to a different location in a file.
|
||||||
|
"""
|
||||||
|
if 'lineno' in node._attributes:
|
||||||
|
node.lineno = getattr(node, 'lineno', 0) + n
|
||||||
|
for child in walk(node):
|
||||||
|
if 'lineno' in child._attributes:
|
||||||
|
child.lineno = getattr(child, 'lineno', 0) + n
|
||||||
|
return node
|
||||||
|
|
||||||
|
|
||||||
|
def iter_fields(node):
|
||||||
|
"""
|
||||||
|
Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields``
|
||||||
|
that is present on *node*.
|
||||||
|
"""
|
||||||
|
if node._fields is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
for field in node._fields:
|
||||||
|
try:
|
||||||
|
yield field, getattr(node, field)
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def iter_child_nodes(node):
|
||||||
|
"""
|
||||||
|
Yield all direct child nodes of *node*, that is, all fields that are nodes
|
||||||
|
and all items of fields that are lists of nodes.
|
||||||
|
"""
|
||||||
|
for name, field in iter_fields(node):
|
||||||
|
if isinstance(field, AST):
|
||||||
|
yield field
|
||||||
|
elif isinstance(field, list):
|
||||||
|
for item in field:
|
||||||
|
if isinstance(item, AST):
|
||||||
|
yield item
|
||||||
|
|
||||||
|
|
||||||
|
def get_docstring(node, clean=True):
|
||||||
|
"""
|
||||||
|
Return the docstring for the given node or None if no docstring can
|
||||||
|
be found. If the node provided does not have docstrings a TypeError
|
||||||
|
will be raised.
|
||||||
|
"""
|
||||||
|
if not isinstance(node, (FunctionDef, ClassDef, Module)):
|
||||||
|
raise TypeError("%r can't have docstrings" % node.__class__.__name__)
|
||||||
|
if node.body and isinstance(node.body[0], Expr) and \
|
||||||
|
isinstance(node.body[0].value, Str):
|
||||||
|
if clean:
|
||||||
|
import inspect
|
||||||
|
return inspect.cleandoc(node.body[0].value.s)
|
||||||
|
return node.body[0].value.s
|
||||||
|
|
||||||
|
|
||||||
|
def walk(node):
|
||||||
|
"""
|
||||||
|
Recursively yield all child nodes of *node*, in no specified order. This is
|
||||||
|
useful if you only want to modify nodes in place and don't care about the
|
||||||
|
context.
|
||||||
|
"""
|
||||||
|
from collections import deque
|
||||||
|
todo = deque([node])
|
||||||
|
while todo:
|
||||||
|
node = todo.popleft()
|
||||||
|
todo.extend(iter_child_nodes(node))
|
||||||
|
yield node
|
||||||
|
|
||||||
|
|
||||||
|
class NodeVisitor(object):
|
||||||
|
"""
|
||||||
|
A node visitor base class that walks the abstract syntax tree and calls a
|
||||||
|
visitor function for every node found. This function may return a value
|
||||||
|
which is forwarded by the `visit` method.
|
||||||
|
|
||||||
|
This class is meant to be subclassed, with the subclass adding visitor
|
||||||
|
methods.
|
||||||
|
|
||||||
|
Per default the visitor functions for the nodes are ``'visit_'`` +
|
||||||
|
class name of the node. So a `TryFinally` node visit function would
|
||||||
|
be `visit_TryFinally`. This behavior can be changed by overriding
|
||||||
|
the `visit` method. If no visitor function exists for a node
|
||||||
|
(return value `None`) the `generic_visit` visitor is used instead.
|
||||||
|
|
||||||
|
Don't use the `NodeVisitor` if you want to apply changes to nodes during
|
||||||
|
traversing. For this a special visitor exists (`NodeTransformer`) that
|
||||||
|
allows modifications.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def visit(self, node):
|
||||||
|
"""Visit a node."""
|
||||||
|
method = 'visit_' + node.__class__.__name__
|
||||||
|
visitor = getattr(self, method, self.generic_visit)
|
||||||
|
return visitor(node)
|
||||||
|
|
||||||
|
def generic_visit(self, node):
|
||||||
|
"""Called if no explicit visitor function exists for a node."""
|
||||||
|
for field, value in iter_fields(node):
|
||||||
|
if isinstance(value, list):
|
||||||
|
for item in value:
|
||||||
|
if isinstance(item, AST):
|
||||||
|
self.visit(item)
|
||||||
|
elif isinstance(value, AST):
|
||||||
|
self.visit(value)
|
||||||
|
|
||||||
|
|
||||||
|
class NodeTransformer(NodeVisitor):
|
||||||
|
"""
|
||||||
|
A :class:`NodeVisitor` subclass that walks the abstract syntax tree and
|
||||||
|
allows modification of nodes.
|
||||||
|
|
||||||
|
The `NodeTransformer` will walk the AST and use the return value of the
|
||||||
|
visitor methods to replace or remove the old node. If the return value of
|
||||||
|
the visitor method is ``None``, the node will be removed from its location,
|
||||||
|
otherwise it is replaced with the return value. The return value may be the
|
||||||
|
original node in which case no replacement takes place.
|
||||||
|
|
||||||
|
Here is an example transformer that rewrites all occurrences of name lookups
|
||||||
|
(``foo``) to ``data['foo']``::
|
||||||
|
|
||||||
|
class RewriteName(NodeTransformer):
|
||||||
|
|
||||||
|
def visit_Name(self, node):
|
||||||
|
return copy_location(Subscript(
|
||||||
|
value=Name(id='data', ctx=Load()),
|
||||||
|
slice=Index(value=Str(s=node.id)),
|
||||||
|
ctx=node.ctx
|
||||||
|
), node)
|
||||||
|
|
||||||
|
Keep in mind that if the node you're operating on has child nodes you must
|
||||||
|
either transform the child nodes yourself or call the :meth:`generic_visit`
|
||||||
|
method for the node first.
|
||||||
|
|
||||||
|
For nodes that were part of a collection of statements (that applies to all
|
||||||
|
statement nodes), the visitor may also return a list of nodes rather than
|
||||||
|
just a single node.
|
||||||
|
|
||||||
|
Usually you use the transformer like this::
|
||||||
|
|
||||||
|
node = YourTransformer().visit(node)
|
||||||
|
"""
|
||||||
|
|
||||||
|
def generic_visit(self, node):
|
||||||
|
for field, old_value in iter_fields(node):
|
||||||
|
old_value = getattr(node, field, None)
|
||||||
|
if isinstance(old_value, list):
|
||||||
|
new_values = []
|
||||||
|
for value in old_value:
|
||||||
|
if isinstance(value, AST):
|
||||||
|
value = self.visit(value)
|
||||||
|
if value is None:
|
||||||
|
continue
|
||||||
|
elif not isinstance(value, AST):
|
||||||
|
new_values.extend(value)
|
||||||
|
continue
|
||||||
|
new_values.append(value)
|
||||||
|
old_value[:] = new_values
|
||||||
|
elif isinstance(old_value, AST):
|
||||||
|
new_node = self.visit(old_value)
|
||||||
|
if new_node is None:
|
||||||
|
delattr(node, field)
|
||||||
|
else:
|
||||||
|
setattr(node, field, new_node)
|
||||||
|
return node
|
389
dot.vim/ftplugin/pyflakes/pyflakes/checker.py
Normal file
389
dot.vim/ftplugin/pyflakes/pyflakes/checker.py
Normal file
|
@ -0,0 +1,389 @@
|
||||||
|
import ast
|
||||||
|
from pyflakes import messages
|
||||||
|
import __builtin__
|
||||||
|
|
||||||
|
|
||||||
|
allowed_before_future = (ast.Module, ast.ImportFrom, ast.Expr, ast.Str)
|
||||||
|
defined_names = set(('__file__', '__builtins__'))
|
||||||
|
|
||||||
|
class Binding(object):
|
||||||
|
"""
|
||||||
|
@ivar used: pair of (L{Scope}, line-number) indicating the scope and
|
||||||
|
line number that this binding was last used
|
||||||
|
"""
|
||||||
|
def __init__(self, name, source):
|
||||||
|
self.name = name
|
||||||
|
self.source = source
|
||||||
|
self.used = False
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return '<%s object %r from line %r at 0x%x>' % (self.__class__.__name__,
|
||||||
|
self.name,
|
||||||
|
self.source.lineno,
|
||||||
|
id(self))
|
||||||
|
|
||||||
|
class UnBinding(Binding):
|
||||||
|
'''Created by the 'del' operator.'''
|
||||||
|
|
||||||
|
class Importation(Binding):
|
||||||
|
def __init__(self, name, source):
|
||||||
|
name = name.split('.')[0]
|
||||||
|
super(Importation, self).__init__(name, source)
|
||||||
|
|
||||||
|
class Assignment(Binding):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class FunctionDefinition(Binding):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Scope(dict):
|
||||||
|
import_starred = False # set to True when import * is found
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return '<%s at 0x%x %s>' % (self.__class__.__name__, id(self), dict.__repr__(self))
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(Scope, self).__init__()
|
||||||
|
|
||||||
|
class ClassScope(Scope):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class FunctionScope(Scope):
|
||||||
|
"""
|
||||||
|
I represent a name scope for a function.
|
||||||
|
|
||||||
|
@ivar globals: Names declared 'global' in this function.
|
||||||
|
"""
|
||||||
|
def __init__(self):
|
||||||
|
super(FunctionScope, self).__init__()
|
||||||
|
self.globals = {}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class ModuleScope(Scope):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class Checker(ast.NodeVisitor):
|
||||||
|
def __init__(self, tree, filename='(none)', builtins = None):
|
||||||
|
ast.NodeVisitor.__init__(self)
|
||||||
|
|
||||||
|
self.deferred = []
|
||||||
|
self.dead_scopes = []
|
||||||
|
self.messages = []
|
||||||
|
self.filename = filename
|
||||||
|
self.scope_stack = [ModuleScope()]
|
||||||
|
self.futures_allowed = True
|
||||||
|
self.builtins = frozenset(builtins or [])
|
||||||
|
|
||||||
|
self.visit(tree)
|
||||||
|
for handler, scope in self.deferred:
|
||||||
|
self.scope_stack = scope
|
||||||
|
handler()
|
||||||
|
del self.scope_stack[1:]
|
||||||
|
self.pop_scope()
|
||||||
|
self.check_dead_scopes()
|
||||||
|
|
||||||
|
def defer(self, callable):
|
||||||
|
'''Schedule something to be called after just before completion.
|
||||||
|
|
||||||
|
This is used for handling function bodies, which must be deferred
|
||||||
|
because code later in the file might modify the global scope. When
|
||||||
|
`callable` is called, the scope at the time this is called will be
|
||||||
|
restored, however it will contain any new bindings added to it.
|
||||||
|
'''
|
||||||
|
self.deferred.append( (callable, self.scope_stack[:]) )
|
||||||
|
|
||||||
|
def check_dead_scopes(self):
|
||||||
|
# Check for modules that were imported but unused
|
||||||
|
for scope in self.dead_scopes:
|
||||||
|
for importation in scope.itervalues():
|
||||||
|
if isinstance(importation, Importation) and not importation.used:
|
||||||
|
self.report(messages.UnusedImport, importation.source.lineno, importation.name)
|
||||||
|
|
||||||
|
def push_function_scope(self):
|
||||||
|
self.scope_stack.append(FunctionScope())
|
||||||
|
|
||||||
|
def push_class_scope(self):
|
||||||
|
self.scope_stack.append(ClassScope())
|
||||||
|
|
||||||
|
def pop_scope(self):
|
||||||
|
scope = self.scope_stack.pop()
|
||||||
|
self.dead_scopes.append(scope)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def scope(self):
|
||||||
|
return self.scope_stack[-1]
|
||||||
|
|
||||||
|
def report(self, message_class, *args, **kwargs):
|
||||||
|
self.messages.append(message_class(self.filename, *args, **kwargs))
|
||||||
|
|
||||||
|
def visit_Import(self, node):
|
||||||
|
for name_node in node.names:
|
||||||
|
# "import bar as foo" -> name=bar, asname=foo
|
||||||
|
name = name_node.asname or name_node.name
|
||||||
|
self.add_binding(node, Importation(name, node))
|
||||||
|
|
||||||
|
def visit_GeneratorExp(self, node):
|
||||||
|
for generator in node.generators:
|
||||||
|
self.visit(generator.iter)
|
||||||
|
self.assign_vars(generator.target)
|
||||||
|
|
||||||
|
for generator in node.generators:
|
||||||
|
if hasattr(node, 'elt'):
|
||||||
|
self.visit(node.elt)
|
||||||
|
|
||||||
|
self.visit_nodes(generator.ifs)
|
||||||
|
|
||||||
|
visit_ListComp = visit_GeneratorExp
|
||||||
|
|
||||||
|
def visit_For(self, node):
|
||||||
|
'''
|
||||||
|
Process bindings for loop variables.
|
||||||
|
'''
|
||||||
|
self.visit_nodes(node.iter)
|
||||||
|
|
||||||
|
for var in self.flatten(node.target):
|
||||||
|
upval = self.scope.get(var.id)
|
||||||
|
if isinstance(upval, Importation) and upval.used:
|
||||||
|
self.report(messages.ImportShadowedByLoopVar,
|
||||||
|
node.lineno, node.col_offset, var.id, upval.source.lineno)
|
||||||
|
|
||||||
|
self.add_binding(var, Assignment(var.id, var))
|
||||||
|
|
||||||
|
self.visit_nodes(node.body + node.orelse)
|
||||||
|
|
||||||
|
def visit_FunctionDef(self, node):
|
||||||
|
|
||||||
|
try:
|
||||||
|
decorators = node.decorator_list
|
||||||
|
except AttributeError:
|
||||||
|
# Use .decorators for Python 2.5 compatibility
|
||||||
|
decorators = node.decorators
|
||||||
|
|
||||||
|
self.visit_nodes(decorators)
|
||||||
|
self.add_binding(node, FunctionDefinition(node.name, node))
|
||||||
|
self.visit_Lambda(node)
|
||||||
|
|
||||||
|
def visit_Lambda(self, node):
|
||||||
|
self.visit_nodes(node.args.defaults)
|
||||||
|
|
||||||
|
def run_function():
|
||||||
|
self.push_function_scope()
|
||||||
|
|
||||||
|
# Check for duplicate arguments
|
||||||
|
argnames = set()
|
||||||
|
for arg in self.flatten(node.args.args):
|
||||||
|
if arg.id in argnames:
|
||||||
|
self.report(messages.DuplicateArgument, arg.lineno, arg.col_offset, arg.id)
|
||||||
|
argnames.add(arg.id)
|
||||||
|
|
||||||
|
self.assign_vars(node.args.args, report_redef=False)
|
||||||
|
if node.args.vararg is not None:
|
||||||
|
self.add_binding(node, Assignment(node.args.vararg, node), False)
|
||||||
|
if node.args.kwarg is not None:
|
||||||
|
self.add_binding(node, Assignment(node.args.kwarg, node), False)
|
||||||
|
self.visit_nodes(node.body)
|
||||||
|
self.pop_scope()
|
||||||
|
|
||||||
|
self.defer(run_function)
|
||||||
|
|
||||||
|
def visit_Name(self, node):
|
||||||
|
'''
|
||||||
|
Locate names in locals / function / globals scopes.
|
||||||
|
'''
|
||||||
|
scope, name = self.scope, node.id
|
||||||
|
|
||||||
|
# try local scope
|
||||||
|
import_starred = scope.import_starred
|
||||||
|
try:
|
||||||
|
scope[name].used = (scope, node.lineno, node.col_offset)
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
|
||||||
|
# try enclosing function scopes
|
||||||
|
for func_scope in self.scope_stack[-2:0:-1]:
|
||||||
|
import_starred = import_starred or func_scope.import_starred
|
||||||
|
if not isinstance(func_scope, FunctionScope):
|
||||||
|
continue
|
||||||
|
try:
|
||||||
|
func_scope[name].used = (scope, node.lineno, node.col_offset)
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
|
||||||
|
# try global scope
|
||||||
|
import_starred = import_starred or self.scope_stack[0].import_starred
|
||||||
|
try:
|
||||||
|
self.scope_stack[0][node.id].used = (scope, node.lineno, node.col_offset)
|
||||||
|
except KeyError:
|
||||||
|
if not import_starred and not self.is_builtin(name):
|
||||||
|
self.report(messages.UndefinedName, node.lineno, node.col_offset, name)
|
||||||
|
|
||||||
|
def assign_vars(self, targets, report_redef=True):
|
||||||
|
scope = self.scope
|
||||||
|
|
||||||
|
for target in self.flatten(targets):
|
||||||
|
name = target.id
|
||||||
|
# if the name hasn't already been defined in the current scope
|
||||||
|
if isinstance(scope, FunctionScope) and name not in scope:
|
||||||
|
# for each function or module scope above us
|
||||||
|
for upscope in self.scope_stack[:-1]:
|
||||||
|
if not isinstance(upscope, (FunctionScope, ModuleScope)):
|
||||||
|
continue
|
||||||
|
|
||||||
|
upval = upscope.get(name)
|
||||||
|
# if the name was defined in that scope, and the name has
|
||||||
|
# been accessed already in the current scope, and hasn't
|
||||||
|
# been declared global
|
||||||
|
if upval is not None:
|
||||||
|
if upval.used and upval.used[0] is scope and name not in scope.globals:
|
||||||
|
# then it's probably a mistake
|
||||||
|
self.report(messages.UndefinedLocal,
|
||||||
|
upval.used[1], upval.used[2], name, upval.source.lineno, upval.source.col_offset)
|
||||||
|
|
||||||
|
self.add_binding(target, Assignment(name, target), report_redef)
|
||||||
|
|
||||||
|
def visit_Assign(self, node):
|
||||||
|
for target in node.targets:
|
||||||
|
self.visit_nodes(node.value)
|
||||||
|
self.assign_vars(node.targets)
|
||||||
|
|
||||||
|
def visit_Delete(self, node):
|
||||||
|
for target in self.flatten(node.targets):
|
||||||
|
if isinstance(self.scope, FunctionScope) and target.id in self.scope.globals:
|
||||||
|
del self.scope.globals[target.id]
|
||||||
|
else:
|
||||||
|
self.add_binding(target, UnBinding(target.id, target))
|
||||||
|
|
||||||
|
def visit_With(self, node):
|
||||||
|
self.visit(node.context_expr)
|
||||||
|
|
||||||
|
# handle new bindings made by optional "as" part
|
||||||
|
if node.optional_vars is not None:
|
||||||
|
self.assign_vars(node.optional_vars)
|
||||||
|
|
||||||
|
self.visit_nodes(node.body)
|
||||||
|
|
||||||
|
def visit_ImportFrom(self, node):
|
||||||
|
if node.module == '__future__':
|
||||||
|
if not self.futures_allowed:
|
||||||
|
self.report(messages.LateFutureImport, node.lineno, node.col_offset, [alias.name for alias in node.names])
|
||||||
|
else:
|
||||||
|
self.futures_allowed = False
|
||||||
|
|
||||||
|
for alias in node.names:
|
||||||
|
if alias.name == '*':
|
||||||
|
self.scope.import_starred = True
|
||||||
|
self.report(messages.ImportStarUsed, node.lineno, node.col_offset, node.module)
|
||||||
|
continue
|
||||||
|
name = alias.asname or alias.name
|
||||||
|
importation = Importation(name, node)
|
||||||
|
if node.module == '__future__':
|
||||||
|
importation.used = (self.scope, node.lineno, node.col_offset)
|
||||||
|
self.add_binding(node, importation)
|
||||||
|
|
||||||
|
def visit_Global(self, node):
|
||||||
|
'''
|
||||||
|
Keep track of global declarations.
|
||||||
|
'''
|
||||||
|
scope = self.scope
|
||||||
|
if isinstance(scope, FunctionScope):
|
||||||
|
scope.globals.update(dict.fromkeys(node.names))
|
||||||
|
|
||||||
|
def visit_ClassDef(self, node):
|
||||||
|
self.add_binding(node, Assignment(node.name, node))
|
||||||
|
self.visit_nodes(node.bases)
|
||||||
|
|
||||||
|
self.push_class_scope()
|
||||||
|
self.visit_nodes(node.body)
|
||||||
|
self.pop_scope()
|
||||||
|
|
||||||
|
def visit_excepthandler(self, node):
|
||||||
|
if node.type is not None:
|
||||||
|
self.visit(node.type)
|
||||||
|
if node.name is not None:
|
||||||
|
self.assign_vars(node.name)
|
||||||
|
self.visit_nodes(node.body)
|
||||||
|
|
||||||
|
visit_ExceptHandler = visit_excepthandler # in 2.6, this was CamelCased
|
||||||
|
|
||||||
|
def flatten(self, nodes):
|
||||||
|
if isinstance(nodes, ast.Attribute):
|
||||||
|
self.visit(nodes)
|
||||||
|
return []
|
||||||
|
elif isinstance(nodes, ast.Subscript):
|
||||||
|
self.visit(nodes.value)
|
||||||
|
self.visit(nodes.slice)
|
||||||
|
return []
|
||||||
|
elif isinstance(nodes, ast.Name):
|
||||||
|
return [nodes]
|
||||||
|
elif isinstance(nodes, (ast.Tuple, ast.List)):
|
||||||
|
return self.flatten(nodes.elts)
|
||||||
|
|
||||||
|
flattened_nodes = []
|
||||||
|
for node in nodes:
|
||||||
|
if hasattr(node, 'elts'):
|
||||||
|
flattened_nodes += self.flatten(node.elts)
|
||||||
|
elif node is not None:
|
||||||
|
flattened_nodes += self.flatten(node)
|
||||||
|
|
||||||
|
return flattened_nodes
|
||||||
|
|
||||||
|
def add_binding(self, node, value, report_redef=True):
|
||||||
|
line, col, scope, name = node.lineno, node.col_offset, self.scope, value.name
|
||||||
|
|
||||||
|
# Check for a redefined function
|
||||||
|
func = scope.get(name)
|
||||||
|
if (isinstance(func, FunctionDefinition) and isinstance(value, FunctionDefinition)):
|
||||||
|
self.report(messages.RedefinedFunction, line, name, func.source.lineno)
|
||||||
|
|
||||||
|
# Check for redefining an unused import
|
||||||
|
if report_redef and not isinstance(scope, ClassScope):
|
||||||
|
for up_scope in self.scope_stack[::-1]:
|
||||||
|
upval = up_scope.get(name)
|
||||||
|
if isinstance(upval, Importation) and not upval.used:
|
||||||
|
self.report(messages.RedefinedWhileUnused, line, col, name, upval.source.lineno)
|
||||||
|
|
||||||
|
# Check for "del undefined_name"
|
||||||
|
if isinstance(value, UnBinding):
|
||||||
|
try:
|
||||||
|
del scope[name]
|
||||||
|
except KeyError:
|
||||||
|
self.report(messages.UndefinedName, line, col, name)
|
||||||
|
else:
|
||||||
|
scope[name] = value
|
||||||
|
|
||||||
|
def visit(self, node):
|
||||||
|
if not isinstance(node, allowed_before_future):
|
||||||
|
self.futures_allowed = False
|
||||||
|
|
||||||
|
return super(Checker, self).visit(node)
|
||||||
|
|
||||||
|
def visit_nodes(self, nodes):
|
||||||
|
try:
|
||||||
|
nodes = list(getattr(nodes, 'elts', nodes))
|
||||||
|
except TypeError:
|
||||||
|
nodes = [nodes]
|
||||||
|
|
||||||
|
for node in nodes:
|
||||||
|
self.visit(node)
|
||||||
|
|
||||||
|
def is_builtin(self, name):
|
||||||
|
if hasattr(__builtin__, name):
|
||||||
|
return True
|
||||||
|
if name in defined_names:
|
||||||
|
return True
|
||||||
|
if name in self.builtins:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
77
dot.vim/ftplugin/pyflakes/pyflakes/messages.py
Normal file
77
dot.vim/ftplugin/pyflakes/pyflakes/messages.py
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
# (c) 2005 Divmod, Inc. See LICENSE file for details
|
||||||
|
|
||||||
|
class Message(object):
|
||||||
|
message = ''
|
||||||
|
message_args = ()
|
||||||
|
def __init__(self, filename, lineno, col = None):
|
||||||
|
self.filename = filename
|
||||||
|
self.lineno = lineno
|
||||||
|
self.col = col
|
||||||
|
def __str__(self):
|
||||||
|
if self.col is not None:
|
||||||
|
return '%s:%s(%d): %s' % (self.filename, self.lineno, self.col, self.message % self.message_args)
|
||||||
|
else:
|
||||||
|
return '%s:%s: %s' % (self.filename, self.lineno, self.message % self.message_args)
|
||||||
|
|
||||||
|
|
||||||
|
class UnusedImport(Message):
|
||||||
|
message = '%r imported but unused'
|
||||||
|
def __init__(self, filename, lineno, name):
|
||||||
|
Message.__init__(self, filename, lineno)
|
||||||
|
self.message_args = (name,)
|
||||||
|
|
||||||
|
|
||||||
|
class RedefinedWhileUnused(Message):
|
||||||
|
message = 'redefinition of unused %r from line %r'
|
||||||
|
def __init__(self, filename, lineno, col, name, orig_lineno):
|
||||||
|
Message.__init__(self, filename, lineno)
|
||||||
|
self.message_args = (name, orig_lineno)
|
||||||
|
|
||||||
|
|
||||||
|
class ImportShadowedByLoopVar(Message):
|
||||||
|
message = 'import %r from line %r shadowed by loop variable'
|
||||||
|
def __init__(self, filename, lineno, col, name, orig_lineno):
|
||||||
|
Message.__init__(self, filename, lineno, col)
|
||||||
|
self.message_args = (name, orig_lineno)
|
||||||
|
|
||||||
|
|
||||||
|
class ImportStarUsed(Message):
|
||||||
|
message = "'from %s import *' used; unable to detect undefined names"
|
||||||
|
def __init__(self, filename, lineno, col, modname):
|
||||||
|
Message.__init__(self, filename, lineno, col)
|
||||||
|
self.message_args = (modname,)
|
||||||
|
|
||||||
|
|
||||||
|
class UndefinedName(Message):
|
||||||
|
message = 'undefined name %r'
|
||||||
|
def __init__(self, filename, lineno, col, name):
|
||||||
|
Message.__init__(self, filename, lineno, col)
|
||||||
|
self.message_args = (name,)
|
||||||
|
|
||||||
|
|
||||||
|
class UndefinedLocal(Message):
|
||||||
|
message = "local variable %r (defined in enclosing scope on line %r) referenced before assignment"
|
||||||
|
def __init__(self, filename, lineno, col, name, orig_lineno, orig_col):
|
||||||
|
Message.__init__(self, filename, lineno)
|
||||||
|
self.message_args = (name, orig_lineno)
|
||||||
|
|
||||||
|
|
||||||
|
class DuplicateArgument(Message):
|
||||||
|
message = 'duplicate argument %r in function definition'
|
||||||
|
def __init__(self, filename, lineno, col, name):
|
||||||
|
Message.__init__(self, filename, lineno, col)
|
||||||
|
self.message_args = (name,)
|
||||||
|
|
||||||
|
|
||||||
|
class RedefinedFunction(Message):
|
||||||
|
message = 'redefinition of function %r from line %r'
|
||||||
|
def __init__(self, filename, lineno, name, orig_lineno):
|
||||||
|
Message.__init__(self, filename, lineno)
|
||||||
|
self.message_args = (name, orig_lineno)
|
||||||
|
|
||||||
|
|
||||||
|
class LateFutureImport(Message):
|
||||||
|
message = 'future import(s) %r after other statements'
|
||||||
|
def __init__(self, filename, lineno, col, names):
|
||||||
|
Message.__init__(self, filename, lineno)
|
||||||
|
self.message_args = (names,)
|
0
dot.vim/ftplugin/pyflakes/pyflakes/scripts/__init__.py
Normal file
0
dot.vim/ftplugin/pyflakes/pyflakes/scripts/__init__.py
Normal file
63
dot.vim/ftplugin/pyflakes/pyflakes/scripts/pyflakes.py
Normal file
63
dot.vim/ftplugin/pyflakes/pyflakes/scripts/pyflakes.py
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
|
||||||
|
"""
|
||||||
|
Implementation of the command-line I{pyflakes} tool.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import _ast
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
checker = __import__('pyflakes.checker').checker
|
||||||
|
|
||||||
|
def check(codeString, filename):
|
||||||
|
try:
|
||||||
|
tree = compile(codeString, filename, 'exec', _ast.PyCF_ONLY_AST)
|
||||||
|
except (SyntaxError, IndentationError):
|
||||||
|
value = sys.exc_info()[1]
|
||||||
|
try:
|
||||||
|
(lineno, offset, line) = value[1][1:]
|
||||||
|
except IndexError:
|
||||||
|
print >> sys.stderr, 'could not compile %r' % (filename,)
|
||||||
|
return 1
|
||||||
|
if line.endswith("\n"):
|
||||||
|
line = line[:-1]
|
||||||
|
print >> sys.stderr, '%s:%d: could not compile' % (filename, lineno)
|
||||||
|
print >> sys.stderr, line
|
||||||
|
print >> sys.stderr, " " * (offset-2), "^"
|
||||||
|
return 1
|
||||||
|
else:
|
||||||
|
w = checker.Checker(tree, filename)
|
||||||
|
w.messages.sort(lambda a, b: cmp(a.lineno, b.lineno))
|
||||||
|
for warning in w.messages:
|
||||||
|
print warning
|
||||||
|
return len(w.messages)
|
||||||
|
|
||||||
|
|
||||||
|
def checkPath(filename):
|
||||||
|
"""
|
||||||
|
Check the given path, printing out any warnings detected.
|
||||||
|
|
||||||
|
@return: the number of warnings printed
|
||||||
|
"""
|
||||||
|
if os.path.exists(filename):
|
||||||
|
return check(file(filename, 'U').read() + '\n', filename)
|
||||||
|
else:
|
||||||
|
print >> sys.stderr, '%s: no such file' % (filename,)
|
||||||
|
return 1
|
||||||
|
|
||||||
|
def main():
|
||||||
|
warnings = 0
|
||||||
|
args = sys.argv[1:]
|
||||||
|
if args:
|
||||||
|
for arg in args:
|
||||||
|
if os.path.isdir(arg):
|
||||||
|
for dirpath, dirnames, filenames in os.walk(arg):
|
||||||
|
for filename in filenames:
|
||||||
|
if filename.endswith('.py'):
|
||||||
|
warnings += checkPath(os.path.join(dirpath, filename))
|
||||||
|
else:
|
||||||
|
warnings += checkPath(arg)
|
||||||
|
else:
|
||||||
|
warnings += check(sys.stdin.read(), '<stdin>')
|
||||||
|
|
||||||
|
raise SystemExit(warnings > 0)
|
0
dot.vim/ftplugin/pyflakes/pyflakes/test/__init__.py
Normal file
0
dot.vim/ftplugin/pyflakes/pyflakes/test/__init__.py
Normal file
24
dot.vim/ftplugin/pyflakes/pyflakes/test/harness.py
Normal file
24
dot.vim/ftplugin/pyflakes/pyflakes/test/harness.py
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
import textwrap
|
||||||
|
|
||||||
|
from twisted.trial import unittest
|
||||||
|
|
||||||
|
from pyflakes import checker, ast
|
||||||
|
|
||||||
|
|
||||||
|
class Test(unittest.TestCase):
|
||||||
|
|
||||||
|
def flakes(self, input, *expectedOutputs):
|
||||||
|
w = checker.Checker(ast.parse(textwrap.dedent(input)))
|
||||||
|
outputs = [type(o) for o in w.messages]
|
||||||
|
expectedOutputs = list(expectedOutputs)
|
||||||
|
outputs.sort()
|
||||||
|
expectedOutputs.sort()
|
||||||
|
self.assert_(outputs == expectedOutputs, '''\
|
||||||
|
for input:
|
||||||
|
%s
|
||||||
|
expected outputs:
|
||||||
|
%s
|
||||||
|
but got:
|
||||||
|
%s''' % (input, repr(expectedOutputs), '\n'.join([str(o) for o in w.messages])))
|
||||||
|
return w
|
512
dot.vim/ftplugin/pyflakes/pyflakes/test/test_imports.py
Normal file
512
dot.vim/ftplugin/pyflakes/pyflakes/test/test_imports.py
Normal file
|
@ -0,0 +1,512 @@
|
||||||
|
|
||||||
|
from sys import version_info
|
||||||
|
|
||||||
|
from pyflakes import messages as m
|
||||||
|
from pyflakes.test import harness
|
||||||
|
|
||||||
|
class Test(harness.Test):
|
||||||
|
|
||||||
|
def test_unusedImport(self):
|
||||||
|
self.flakes('import fu, bar', m.UnusedImport, m.UnusedImport)
|
||||||
|
self.flakes('from baz import fu, bar', m.UnusedImport, m.UnusedImport)
|
||||||
|
|
||||||
|
def test_aliasedImport(self):
|
||||||
|
self.flakes('import fu as FU, bar as FU', m.RedefinedWhileUnused, m.UnusedImport)
|
||||||
|
self.flakes('from moo import fu as FU, bar as FU', m.RedefinedWhileUnused, m.UnusedImport)
|
||||||
|
|
||||||
|
def test_usedImport(self):
|
||||||
|
self.flakes('import fu; print fu')
|
||||||
|
self.flakes('from baz import fu; print fu')
|
||||||
|
|
||||||
|
def test_redefinedWhileUnused(self):
|
||||||
|
self.flakes('import fu; fu = 3', m.RedefinedWhileUnused)
|
||||||
|
self.flakes('import fu; del fu', m.RedefinedWhileUnused)
|
||||||
|
self.flakes('import fu; fu, bar = 3', m.RedefinedWhileUnused)
|
||||||
|
self.flakes('import fu; [fu, bar] = 3', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
def test_redefinedByFunction(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def fu():
|
||||||
|
pass
|
||||||
|
''', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
def test_redefinedInNestedFunction(self):
|
||||||
|
"""
|
||||||
|
Test that shadowing a global name with a nested function definition
|
||||||
|
generates a warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def bar():
|
||||||
|
def baz():
|
||||||
|
def fu():
|
||||||
|
pass
|
||||||
|
''', m.RedefinedWhileUnused, m.UnusedImport)
|
||||||
|
|
||||||
|
def test_redefinedByClass(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
class fu:
|
||||||
|
pass
|
||||||
|
''', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
def test_redefinedInClass(self):
|
||||||
|
"""
|
||||||
|
Test that shadowing a global with a class attribute does not produce a
|
||||||
|
warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
class bar:
|
||||||
|
fu = 1
|
||||||
|
print fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInFunction(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def fun():
|
||||||
|
print fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_shadowedByParameter(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def fun(fu):
|
||||||
|
print fu
|
||||||
|
''', m.UnusedImport)
|
||||||
|
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def fun(fu):
|
||||||
|
print fu
|
||||||
|
print fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_newAssignment(self):
|
||||||
|
self.flakes('fu = None')
|
||||||
|
|
||||||
|
def test_usedInGetattr(self):
|
||||||
|
self.flakes('import fu; fu.bar.baz')
|
||||||
|
self.flakes('import fu; "bar".fu.baz', m.UnusedImport)
|
||||||
|
|
||||||
|
def test_usedInSlice(self):
|
||||||
|
self.flakes('import fu; print fu.bar[1:]')
|
||||||
|
|
||||||
|
def test_usedInIfBody(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
if True: print fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInIfConditional(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
if fu: pass
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInElifConditional(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
if False: pass
|
||||||
|
elif fu: pass
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInElse(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
if False: pass
|
||||||
|
else: print fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInCall(self):
|
||||||
|
self.flakes('import fu; fu.bar()')
|
||||||
|
|
||||||
|
def test_usedInClass(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
class bar:
|
||||||
|
bar = fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInClassBase(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
class bar(object, fu.baz):
|
||||||
|
pass
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_notUsedInNestedScope(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def bleh():
|
||||||
|
pass
|
||||||
|
print fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInFor(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
for bar in range(9):
|
||||||
|
print fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInForElse(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
for bar in range(10):
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
print fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_redefinedByFor(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
for fu in range(2):
|
||||||
|
pass
|
||||||
|
''', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
def test_shadowedByFor(self):
|
||||||
|
"""
|
||||||
|
Test that shadowing a global name with a for loop variable generates a
|
||||||
|
warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
fu.bar()
|
||||||
|
for fu in ():
|
||||||
|
pass
|
||||||
|
''', m.ImportShadowedByLoopVar)
|
||||||
|
|
||||||
|
def test_shadowedByForDeep(self):
|
||||||
|
"""
|
||||||
|
Test that shadowing a global name with a for loop variable nested in a
|
||||||
|
tuple unpack generates a warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
fu.bar()
|
||||||
|
for (x, y, z, (a, b, c, (fu,))) in ():
|
||||||
|
pass
|
||||||
|
''', m.ImportShadowedByLoopVar)
|
||||||
|
|
||||||
|
def test_usedInReturn(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def fun():
|
||||||
|
return fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInOperators(self):
|
||||||
|
self.flakes('import fu; 3 + fu.bar')
|
||||||
|
self.flakes('import fu; 3 % fu.bar')
|
||||||
|
self.flakes('import fu; 3 - fu.bar')
|
||||||
|
self.flakes('import fu; 3 * fu.bar')
|
||||||
|
self.flakes('import fu; 3 ** fu.bar')
|
||||||
|
self.flakes('import fu; 3 / fu.bar')
|
||||||
|
self.flakes('import fu; 3 // fu.bar')
|
||||||
|
self.flakes('import fu; -fu.bar')
|
||||||
|
self.flakes('import fu; ~fu.bar')
|
||||||
|
self.flakes('import fu; 1 == fu.bar')
|
||||||
|
self.flakes('import fu; 1 | fu.bar')
|
||||||
|
self.flakes('import fu; 1 & fu.bar')
|
||||||
|
self.flakes('import fu; 1 ^ fu.bar')
|
||||||
|
self.flakes('import fu; 1 >> fu.bar')
|
||||||
|
self.flakes('import fu; 1 << fu.bar')
|
||||||
|
|
||||||
|
def test_usedInAssert(self):
|
||||||
|
self.flakes('import fu; assert fu.bar')
|
||||||
|
|
||||||
|
def test_usedInSubscript(self):
|
||||||
|
self.flakes('import fu; fu.bar[1]')
|
||||||
|
|
||||||
|
def test_usedInLogic(self):
|
||||||
|
self.flakes('import fu; fu and False')
|
||||||
|
self.flakes('import fu; fu or False')
|
||||||
|
self.flakes('import fu; not fu.bar')
|
||||||
|
|
||||||
|
def test_usedInList(self):
|
||||||
|
self.flakes('import fu; [fu]')
|
||||||
|
|
||||||
|
def test_usedInTuple(self):
|
||||||
|
self.flakes('import fu; (fu,)')
|
||||||
|
|
||||||
|
def test_usedInTry(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
try: fu
|
||||||
|
except: pass
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInExcept(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
try: fu
|
||||||
|
except: pass
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_redefinedByExcept(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
try: pass
|
||||||
|
except Exception, fu: pass
|
||||||
|
''', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
def test_usedInRaise(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
raise fu.bar
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInYield(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def gen():
|
||||||
|
yield fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInDict(self):
|
||||||
|
self.flakes('import fu; {fu:None}')
|
||||||
|
self.flakes('import fu; {1:fu}')
|
||||||
|
|
||||||
|
def test_usedInParameterDefault(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def f(bar=fu):
|
||||||
|
pass
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInAttributeAssign(self):
|
||||||
|
self.flakes('import fu; fu.bar = 1')
|
||||||
|
|
||||||
|
def test_usedInKeywordArg(self):
|
||||||
|
self.flakes('import fu; fu.bar(stuff=fu)')
|
||||||
|
|
||||||
|
def test_usedInAssignment(self):
|
||||||
|
self.flakes('import fu; bar=fu')
|
||||||
|
self.flakes('import fu; n=0; n+=fu')
|
||||||
|
|
||||||
|
def test_usedInListComp(self):
|
||||||
|
self.flakes('import fu; [fu for _ in range(1)]')
|
||||||
|
self.flakes('import fu; [1 for _ in range(1) if fu]')
|
||||||
|
|
||||||
|
def test_redefinedByListComp(self):
|
||||||
|
self.flakes('import fu; [1 for fu in range(1)]', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
|
||||||
|
def test_usedInTryFinally(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
try: pass
|
||||||
|
finally: fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
try: fu
|
||||||
|
finally: pass
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInWhile(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
while 0:
|
||||||
|
fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
while fu: pass
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_usedInGlobal(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def f(): global fu
|
||||||
|
''', m.UnusedImport)
|
||||||
|
|
||||||
|
def test_usedInBackquote(self):
|
||||||
|
self.flakes('import fu; `fu`')
|
||||||
|
|
||||||
|
def test_usedInExec(self):
|
||||||
|
self.flakes('import fu; exec "print 1" in fu.bar')
|
||||||
|
|
||||||
|
def test_usedInLambda(self):
|
||||||
|
self.flakes('import fu; lambda: fu')
|
||||||
|
|
||||||
|
def test_shadowedByLambda(self):
|
||||||
|
self.flakes('import fu; lambda fu: fu', m.UnusedImport)
|
||||||
|
|
||||||
|
def test_usedInSliceObj(self):
|
||||||
|
self.flakes('import fu; "meow"[::fu]')
|
||||||
|
|
||||||
|
def test_unusedInNestedScope(self):
|
||||||
|
self.flakes('''
|
||||||
|
def bar():
|
||||||
|
import fu
|
||||||
|
fu
|
||||||
|
''', m.UnusedImport, m.UndefinedName)
|
||||||
|
|
||||||
|
def test_methodsDontUseClassScope(self):
|
||||||
|
self.flakes('''
|
||||||
|
class bar:
|
||||||
|
import fu
|
||||||
|
def fun(self):
|
||||||
|
fu
|
||||||
|
''', m.UnusedImport, m.UndefinedName)
|
||||||
|
|
||||||
|
def test_nestedFunctionsNestScope(self):
|
||||||
|
self.flakes('''
|
||||||
|
def a():
|
||||||
|
def b():
|
||||||
|
fu
|
||||||
|
import fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_nestedClassAndFunctionScope(self):
|
||||||
|
self.flakes('''
|
||||||
|
def a():
|
||||||
|
import fu
|
||||||
|
class b:
|
||||||
|
def c(self):
|
||||||
|
print fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_importStar(self):
|
||||||
|
self.flakes('from fu import *', m.ImportStarUsed)
|
||||||
|
|
||||||
|
def test_packageImport(self):
|
||||||
|
self.flakes('import fu.bar; fu.bar')
|
||||||
|
test_packageImport.todo = "this has been hacked to treat 'import fu.bar' as just 'import fu'"
|
||||||
|
|
||||||
|
def test_assignRHSFirst(self):
|
||||||
|
self.flakes('import fu; fu = fu')
|
||||||
|
self.flakes('import fu; fu, bar = fu')
|
||||||
|
self.flakes('import fu; [fu, bar] = fu')
|
||||||
|
self.flakes('import fu; fu += fu')
|
||||||
|
|
||||||
|
def test_tryingMultipleImports(self):
|
||||||
|
self.flakes('''
|
||||||
|
try:
|
||||||
|
import fu
|
||||||
|
except ImportError:
|
||||||
|
import bar as fu
|
||||||
|
''')
|
||||||
|
test_tryingMultipleImports.todo = ''
|
||||||
|
|
||||||
|
def test_nonGlobalDoesNotRedefine(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def a():
|
||||||
|
fu = 3
|
||||||
|
fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_functionsRunLater(self):
|
||||||
|
self.flakes('''
|
||||||
|
def a():
|
||||||
|
fu
|
||||||
|
import fu
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_functionNamesAreBoundNow(self):
|
||||||
|
self.flakes('''
|
||||||
|
import fu
|
||||||
|
def fu():
|
||||||
|
fu
|
||||||
|
fu
|
||||||
|
''', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
def test_ignoreNonImportRedefinitions(self):
|
||||||
|
self.flakes('a = 1; a = 2')
|
||||||
|
|
||||||
|
def test_importingForImportError(self):
|
||||||
|
self.flakes('''
|
||||||
|
try:
|
||||||
|
import fu
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
''')
|
||||||
|
test_importingForImportError.todo = ''
|
||||||
|
|
||||||
|
def test_explicitlyPublic(self):
|
||||||
|
'''imports mentioned in __all__ are not unused'''
|
||||||
|
self.flakes('import fu; __all__ = ["fu"]')
|
||||||
|
test_explicitlyPublic.todo = "this would require importing the module or doing smarter parsing"
|
||||||
|
|
||||||
|
def test_importedInClass(self):
|
||||||
|
'''Imports in class scope can be used through self'''
|
||||||
|
self.flakes('''
|
||||||
|
class c:
|
||||||
|
import i
|
||||||
|
def __init__(self):
|
||||||
|
self.i
|
||||||
|
''')
|
||||||
|
test_importedInClass.todo = 'requires evaluating attribute access'
|
||||||
|
|
||||||
|
def test_futureImport(self):
|
||||||
|
'''__future__ is special'''
|
||||||
|
self.flakes('from __future__ import division')
|
||||||
|
|
||||||
|
def test_futureImportFirst(self):
|
||||||
|
"""
|
||||||
|
__future__ imports must come before anything else.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
x = 5
|
||||||
|
from __future__ import division
|
||||||
|
''', m.LateFutureImport)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Python24Tests(harness.Test):
|
||||||
|
"""
|
||||||
|
Tests for checking of syntax which is valid in Python 2.4 and newer.
|
||||||
|
"""
|
||||||
|
if version_info < (2, 4):
|
||||||
|
skip = "Python 2.4 required for generator expression and decorator tests."
|
||||||
|
|
||||||
|
|
||||||
|
def test_usedInGenExp(self):
|
||||||
|
"""
|
||||||
|
Using a global in a generator expression results in no warnings.
|
||||||
|
"""
|
||||||
|
self.flakes('import fu; (fu for _ in range(1))')
|
||||||
|
self.flakes('import fu; (1 for _ in range(1) if fu)')
|
||||||
|
|
||||||
|
|
||||||
|
def test_redefinedByGenExp(self):
|
||||||
|
"""
|
||||||
|
Re-using a global name as the loop variable for a generator
|
||||||
|
expression results in a redefinition warning.
|
||||||
|
"""
|
||||||
|
self.flakes('import fu; (1 for fu in range(1))', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
|
||||||
|
def test_usedAsDecorator(self):
|
||||||
|
"""
|
||||||
|
Using a global name in a decorator statement results in no warnings,
|
||||||
|
but using an undefined name in a decorator statement results in an
|
||||||
|
undefined name warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from interior import decorate
|
||||||
|
@decorate
|
||||||
|
def f():
|
||||||
|
return "hello"
|
||||||
|
''')
|
||||||
|
|
||||||
|
self.flakes('''
|
||||||
|
from interior import decorate
|
||||||
|
@decorate('value')
|
||||||
|
def f():
|
||||||
|
return "hello"
|
||||||
|
''')
|
||||||
|
|
||||||
|
self.flakes('''
|
||||||
|
@decorate
|
||||||
|
def f():
|
||||||
|
return "hello"
|
||||||
|
''', m.UndefinedName)
|
234
dot.vim/ftplugin/pyflakes/pyflakes/test/test_other.py
Normal file
234
dot.vim/ftplugin/pyflakes/pyflakes/test/test_other.py
Normal file
|
@ -0,0 +1,234 @@
|
||||||
|
# (c) 2005-2008 Divmod, Inc.
|
||||||
|
# See LICENSE file for details
|
||||||
|
|
||||||
|
"""
|
||||||
|
Tests for various Pyflakes behavior.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from sys import version_info
|
||||||
|
|
||||||
|
from pyflakes import messages as m
|
||||||
|
from pyflakes.test import harness
|
||||||
|
|
||||||
|
|
||||||
|
class Test(harness.Test):
|
||||||
|
|
||||||
|
def test_duplicateArgs(self):
|
||||||
|
self.flakes('def fu(bar, bar): pass', m.DuplicateArgument)
|
||||||
|
|
||||||
|
def test_localReferencedBeforeAssignment(self):
|
||||||
|
self.flakes('''
|
||||||
|
a = 1
|
||||||
|
def f():
|
||||||
|
a; a=1
|
||||||
|
f()
|
||||||
|
''', m.UndefinedName)
|
||||||
|
test_localReferencedBeforeAssignment.todo = 'this requires finding all assignments in the function body first'
|
||||||
|
|
||||||
|
def test_redefinedFunction(self):
|
||||||
|
"""
|
||||||
|
Test that shadowing a function definition with another one raises a
|
||||||
|
warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
def a(): pass
|
||||||
|
def a(): pass
|
||||||
|
''', m.RedefinedFunction)
|
||||||
|
|
||||||
|
def test_redefinedClassFunction(self):
|
||||||
|
"""
|
||||||
|
Test that shadowing a function definition in a class suite with another
|
||||||
|
one raises a warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
class A:
|
||||||
|
def a(): pass
|
||||||
|
def a(): pass
|
||||||
|
''', m.RedefinedFunction)
|
||||||
|
|
||||||
|
def test_functionDecorator(self):
|
||||||
|
"""
|
||||||
|
Test that shadowing a function definition with a decorated version of
|
||||||
|
that function does not raise a warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from somewhere import somedecorator
|
||||||
|
|
||||||
|
def a(): pass
|
||||||
|
a = somedecorator(a)
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_classFunctionDecorator(self):
|
||||||
|
"""
|
||||||
|
Test that shadowing a function definition in a class suite with a
|
||||||
|
decorated version of that function does not raise a warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
class A:
|
||||||
|
def a(): pass
|
||||||
|
a = classmethod(a)
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_unaryPlus(self):
|
||||||
|
'''Don't die on unary +'''
|
||||||
|
self.flakes('+1')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Python25Test(harness.Test):
|
||||||
|
"""
|
||||||
|
Tests for checking of syntax only available in Python 2.5 and newer.
|
||||||
|
"""
|
||||||
|
if version_info < (2, 5):
|
||||||
|
skip = "Python 2.5 required for if-else and with tests"
|
||||||
|
|
||||||
|
def test_ifexp(self):
|
||||||
|
"""
|
||||||
|
Test C{foo if bar else baz} statements.
|
||||||
|
"""
|
||||||
|
self.flakes("a = 'moo' if True else 'oink'")
|
||||||
|
self.flakes("a = foo if True else 'oink'", m.UndefinedName)
|
||||||
|
self.flakes("a = 'moo' if True else bar", m.UndefinedName)
|
||||||
|
|
||||||
|
|
||||||
|
def test_withStatementNoNames(self):
|
||||||
|
"""
|
||||||
|
No warnings are emitted for using inside or after a nameless C{with}
|
||||||
|
statement a name defined beforehand.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
bar = None
|
||||||
|
with open("foo"):
|
||||||
|
bar
|
||||||
|
bar
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_withStatementSingleName(self):
|
||||||
|
"""
|
||||||
|
No warnings are emitted for using a name defined by a C{with} statement
|
||||||
|
within the suite or afterwards.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
with open('foo') as bar:
|
||||||
|
bar
|
||||||
|
bar
|
||||||
|
''')
|
||||||
|
|
||||||
|
|
||||||
|
def test_withStatementTupleNames(self):
|
||||||
|
"""
|
||||||
|
No warnings are emitted for using any of the tuple of names defined by
|
||||||
|
a C{with} statement within the suite or afterwards.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
with open('foo') as (bar, baz):
|
||||||
|
bar, baz
|
||||||
|
bar, baz
|
||||||
|
''')
|
||||||
|
|
||||||
|
|
||||||
|
def test_withStatementSingleNameUndefined(self):
|
||||||
|
"""
|
||||||
|
An undefined name warning is emitted if the name first defined by a
|
||||||
|
C{with} statement is used before the C{with} statement.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
bar
|
||||||
|
with open('foo') as bar:
|
||||||
|
pass
|
||||||
|
''', m.UndefinedName)
|
||||||
|
|
||||||
|
|
||||||
|
def test_withStatementTupleNamesUndefined(self):
|
||||||
|
"""
|
||||||
|
An undefined name warning is emitted if a name first defined by a the
|
||||||
|
tuple-unpacking form of the C{with} statement is used before the
|
||||||
|
C{with} statement.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
baz
|
||||||
|
with open('foo') as (bar, baz):
|
||||||
|
pass
|
||||||
|
''', m.UndefinedName)
|
||||||
|
|
||||||
|
|
||||||
|
def test_withStatementSingleNameRedefined(self):
|
||||||
|
"""
|
||||||
|
A redefined name warning is emitted if a name bound by an import is
|
||||||
|
rebound by the name defined by a C{with} statement.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
import bar
|
||||||
|
with open('foo') as bar:
|
||||||
|
pass
|
||||||
|
''', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
|
||||||
|
def test_withStatementTupleNamesRedefined(self):
|
||||||
|
"""
|
||||||
|
A redefined name warning is emitted if a name bound by an import is
|
||||||
|
rebound by one of the names defined by the tuple-unpacking form of a
|
||||||
|
C{with} statement.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
import bar
|
||||||
|
with open('foo') as (bar, baz):
|
||||||
|
pass
|
||||||
|
''', m.RedefinedWhileUnused)
|
||||||
|
|
||||||
|
|
||||||
|
def test_withStatementUndefinedInside(self):
|
||||||
|
"""
|
||||||
|
An undefined name warning is emitted if a name is used inside the
|
||||||
|
body of a C{with} statement without first being bound.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
with open('foo') as bar:
|
||||||
|
baz
|
||||||
|
''', m.UndefinedName)
|
||||||
|
|
||||||
|
|
||||||
|
def test_withStatementNameDefinedInBody(self):
|
||||||
|
"""
|
||||||
|
A name defined in the body of a C{with} statement can be used after
|
||||||
|
the body ends without warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
with open('foo') as bar:
|
||||||
|
baz = 10
|
||||||
|
baz
|
||||||
|
''')
|
||||||
|
|
||||||
|
|
||||||
|
def test_withStatementUndefinedInExpression(self):
|
||||||
|
"""
|
||||||
|
An undefined name warning is emitted if a name in the I{test}
|
||||||
|
expression of a C{with} statement is undefined.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
with bar as baz:
|
||||||
|
pass
|
||||||
|
''', m.UndefinedName)
|
||||||
|
|
||||||
|
self.flakes('''
|
||||||
|
from __future__ import with_statement
|
||||||
|
with bar as bar:
|
||||||
|
pass
|
||||||
|
''', m.UndefinedName)
|
||||||
|
|
||||||
|
def test_listNestedListComprehension(self):
|
||||||
|
self.flakes('''
|
||||||
|
root = [['213', '123'], ['4354']]
|
||||||
|
foo = [int(c) for group in root for c in group]
|
||||||
|
''')
|
||||||
|
|
48
dot.vim/ftplugin/pyflakes/pyflakes/test/test_script.py
Normal file
48
dot.vim/ftplugin/pyflakes/pyflakes/test/test_script.py
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
|
||||||
|
"""
|
||||||
|
Tests for L{pyflakes.scripts.pyflakes}.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from StringIO import StringIO
|
||||||
|
|
||||||
|
from twisted.python.filepath import FilePath
|
||||||
|
from twisted.trial.unittest import TestCase
|
||||||
|
|
||||||
|
from pyflakes.scripts.pyflakes import checkPath
|
||||||
|
|
||||||
|
def withStderrTo(stderr, f):
|
||||||
|
"""
|
||||||
|
Call C{f} with C{sys.stderr} redirected to C{stderr}.
|
||||||
|
"""
|
||||||
|
(outer, sys.stderr) = (sys.stderr, stderr)
|
||||||
|
try:
|
||||||
|
return f()
|
||||||
|
finally:
|
||||||
|
sys.stderr = outer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class CheckTests(TestCase):
|
||||||
|
"""
|
||||||
|
Tests for L{check} and L{checkPath} which check a file for flakes.
|
||||||
|
"""
|
||||||
|
def test_missingTrailingNewline(self):
|
||||||
|
"""
|
||||||
|
Source which doesn't end with a newline shouldn't cause any
|
||||||
|
exception to be raised nor an error indicator to be returned by
|
||||||
|
L{check}.
|
||||||
|
"""
|
||||||
|
fName = self.mktemp()
|
||||||
|
FilePath(fName).setContent("def foo():\n\tpass\n\t")
|
||||||
|
self.assertFalse(checkPath(fName))
|
||||||
|
|
||||||
|
|
||||||
|
def test_checkPathNonExisting(self):
|
||||||
|
"""
|
||||||
|
L{checkPath} handles non-existing files.
|
||||||
|
"""
|
||||||
|
err = StringIO()
|
||||||
|
count = withStderrTo(err, lambda: checkPath('extremo'))
|
||||||
|
self.assertEquals(err.getvalue(), 'extremo: no such file\n')
|
||||||
|
self.assertEquals(count, 1)
|
182
dot.vim/ftplugin/pyflakes/pyflakes/test/test_undefined_names.py
Normal file
182
dot.vim/ftplugin/pyflakes/pyflakes/test/test_undefined_names.py
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
|
||||||
|
from sys import version_info
|
||||||
|
|
||||||
|
from pyflakes import messages as m
|
||||||
|
from pyflakes.test import harness
|
||||||
|
|
||||||
|
|
||||||
|
class Test(harness.Test):
|
||||||
|
def test_undefined(self):
|
||||||
|
self.flakes('bar', m.UndefinedName)
|
||||||
|
|
||||||
|
def test_definedInListComp(self):
|
||||||
|
self.flakes('[a for a in range(10) if a]')
|
||||||
|
|
||||||
|
|
||||||
|
def test_functionsNeedGlobalScope(self):
|
||||||
|
self.flakes('''
|
||||||
|
class a:
|
||||||
|
def b():
|
||||||
|
fu
|
||||||
|
fu = 1
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_builtins(self):
|
||||||
|
self.flakes('range(10)')
|
||||||
|
|
||||||
|
def test_magic_globals(self):
|
||||||
|
self.flakes('__file__')
|
||||||
|
|
||||||
|
def test_globalImportStar(self):
|
||||||
|
'''Can't find undefined names with import *'''
|
||||||
|
self.flakes('from fu import *; bar', m.ImportStarUsed)
|
||||||
|
|
||||||
|
def test_localImportStar(self):
|
||||||
|
'''A local import * still allows undefined names to be found in upper scopes'''
|
||||||
|
self.flakes('''
|
||||||
|
def a():
|
||||||
|
from fu import *
|
||||||
|
bar
|
||||||
|
''', m.ImportStarUsed, m.UndefinedName)
|
||||||
|
|
||||||
|
def test_unpackedParameter(self):
|
||||||
|
'''Unpacked function parameters create bindings'''
|
||||||
|
self.flakes('''
|
||||||
|
def a((bar, baz)):
|
||||||
|
bar; baz
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_definedByGlobal(self):
|
||||||
|
'''"global" can make an otherwise undefined name in another function defined'''
|
||||||
|
self.flakes('''
|
||||||
|
def a(): global fu; fu = 1
|
||||||
|
def b(): fu
|
||||||
|
''')
|
||||||
|
test_definedByGlobal.todo = ''
|
||||||
|
|
||||||
|
def test_del(self):
|
||||||
|
'''del deletes bindings'''
|
||||||
|
self.flakes('a = 1; del a; a', m.UndefinedName)
|
||||||
|
|
||||||
|
def test_delGlobal(self):
|
||||||
|
'''del a global binding from a function'''
|
||||||
|
self.flakes('''
|
||||||
|
a = 1
|
||||||
|
def f():
|
||||||
|
global a
|
||||||
|
del a
|
||||||
|
a
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_delUndefined(self):
|
||||||
|
'''del an undefined name'''
|
||||||
|
self.flakes('del a', m.UndefinedName)
|
||||||
|
|
||||||
|
def test_globalFromNestedScope(self):
|
||||||
|
'''global names are available from nested scopes'''
|
||||||
|
self.flakes('''
|
||||||
|
a = 1
|
||||||
|
def b():
|
||||||
|
def c():
|
||||||
|
a
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_laterRedefinedGlobalFromNestedScope(self):
|
||||||
|
"""
|
||||||
|
Test that referencing a local name that shadows a global, before it is
|
||||||
|
defined, generates a warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
a = 1
|
||||||
|
def fun():
|
||||||
|
a
|
||||||
|
a = 2
|
||||||
|
''', m.UndefinedLocal)
|
||||||
|
|
||||||
|
def test_laterRedefinedGlobalFromNestedScope2(self):
|
||||||
|
"""
|
||||||
|
Test that referencing a local name in a nested scope that shadows a
|
||||||
|
global declared in an enclosing scope, before it is defined, generates
|
||||||
|
a warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
a = 1
|
||||||
|
def fun():
|
||||||
|
global a
|
||||||
|
def fun2():
|
||||||
|
a
|
||||||
|
a = 2
|
||||||
|
''', m.UndefinedLocal)
|
||||||
|
|
||||||
|
|
||||||
|
def test_doubleNestingReportsClosestName(self):
|
||||||
|
"""
|
||||||
|
Test that referencing a local name in a nested scope that shadows a
|
||||||
|
variable declared in two different outer scopes before it is defined
|
||||||
|
in the innermost scope generates an UnboundLocal warning which
|
||||||
|
refers to the nearest shadowed name.
|
||||||
|
"""
|
||||||
|
exc = self.flakes('''
|
||||||
|
def a():
|
||||||
|
x = 1
|
||||||
|
def b():
|
||||||
|
x = 2 # line 5
|
||||||
|
def c():
|
||||||
|
x
|
||||||
|
x = 3
|
||||||
|
''', m.UndefinedLocal).messages[0]
|
||||||
|
self.assertEqual(exc.message_args, ('x', 5))
|
||||||
|
|
||||||
|
|
||||||
|
def test_laterRedefinedGlobalFromNestedScope3(self):
|
||||||
|
"""
|
||||||
|
Test that referencing a local name in a nested scope that shadows a
|
||||||
|
global, before it is defined, generates a warning.
|
||||||
|
"""
|
||||||
|
self.flakes('''
|
||||||
|
def fun():
|
||||||
|
a = 1
|
||||||
|
def fun2():
|
||||||
|
a
|
||||||
|
a = 1
|
||||||
|
''', m.UndefinedLocal)
|
||||||
|
|
||||||
|
def test_nestedClass(self):
|
||||||
|
'''nested classes can access enclosing scope'''
|
||||||
|
self.flakes('''
|
||||||
|
def f(foo):
|
||||||
|
class C:
|
||||||
|
bar = foo
|
||||||
|
def f(self):
|
||||||
|
return foo
|
||||||
|
return C()
|
||||||
|
|
||||||
|
f(123).f()
|
||||||
|
''')
|
||||||
|
|
||||||
|
def test_badNestedClass(self):
|
||||||
|
'''free variables in nested classes must bind at class creation'''
|
||||||
|
self.flakes('''
|
||||||
|
def f():
|
||||||
|
class C:
|
||||||
|
bar = foo
|
||||||
|
foo = 456
|
||||||
|
|
||||||
|
f()
|
||||||
|
''', m.UndefinedName)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Python24Test(harness.Test):
|
||||||
|
"""
|
||||||
|
Tests for checking of syntax which is valid in Python 2.4 and newer.
|
||||||
|
"""
|
||||||
|
if version_info < (2, 4):
|
||||||
|
skip = "Python 2.4 required for generator expression tests."
|
||||||
|
|
||||||
|
def test_definedInGenExp(self):
|
||||||
|
"""
|
||||||
|
Using the loop variable of a generator expression results in no
|
||||||
|
warnings.
|
||||||
|
"""
|
||||||
|
self.flakes('(a for a in xrange(10) if a)')
|
19
dot.vim/ftplugin/pyflakes/setup.py
Normal file
19
dot.vim/ftplugin/pyflakes/setup.py
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
# (c) 2005 Divmod, Inc. See LICENSE file for details
|
||||||
|
|
||||||
|
from distutils.core import setup
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="pyflakes",
|
||||||
|
license="MIT",
|
||||||
|
version="0.2.1",
|
||||||
|
description="passive checker of Python programs",
|
||||||
|
author="Phil Frost",
|
||||||
|
maintainer="Moe Aboulkheir",
|
||||||
|
maintainer_email="moe@divmod.com",
|
||||||
|
url="http://www.divmod.org/projects/pyflakes",
|
||||||
|
packages=["pyflakes", "pyflakes.scripts"],
|
||||||
|
scripts=["bin/pyflakes"],
|
||||||
|
long_description="""Pyflakes is program to analyze Python programs and detect various errors. It
|
||||||
|
works by parsing the source file, not importing it, so it is safe to use on
|
||||||
|
modules with side effects. It's also much faster.""")
|
250
dot.vim/ftplugin/python_ifold.c.vim
Normal file
250
dot.vim/ftplugin/python_ifold.c.vim
Normal file
|
@ -0,0 +1,250 @@
|
||||||
|
" Vim folding file
|
||||||
|
" Language: Python
|
||||||
|
" Author: Jorrit Wiersma (foldexpr), Max Ischenko (foldtext), Robert,
|
||||||
|
" Ames (line counts), Jean-Pierre Chauvel (bugfixes and improvements)
|
||||||
|
" Last Change: 2008 Apr 20
|
||||||
|
" Version: 2.9.c
|
||||||
|
" Bugfixes: Jean-Pierre Chauvel
|
||||||
|
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
if !exists("g:ifold_mode")
|
||||||
|
let g:ifold_mode = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" map <buffer> f :call ToggleFold()<CR>
|
||||||
|
|
||||||
|
set tabstop=4
|
||||||
|
set softtabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
set expandtab
|
||||||
|
set autoindent
|
||||||
|
set foldcolumn=1
|
||||||
|
|
||||||
|
let w:nestinglevel = 0
|
||||||
|
let w:signature = 0
|
||||||
|
let w:is_folded = 1
|
||||||
|
|
||||||
|
function! PythonFoldText()
|
||||||
|
let line = getline(v:foldstart)
|
||||||
|
let nnum = nextnonblank(v:foldstart + 1)
|
||||||
|
let nextline = getline(nnum)
|
||||||
|
if nextline =~ '^\s\+"""$'
|
||||||
|
let line = line . getline(nnum + 1)
|
||||||
|
elseif nextline =~ '^\s\+"""'
|
||||||
|
let line = line . ' ' . matchstr(nextline, '"""\zs.\{-}\ze\("""\)\?$')
|
||||||
|
elseif nextline =~ '^\s\+"[^"]\+"$'
|
||||||
|
let line = line . ' ' . matchstr(nextline, '"\zs.*\ze"')
|
||||||
|
elseif nextline =~ '^\s\+pass\s*$'
|
||||||
|
let line = line . ' pass'
|
||||||
|
endif
|
||||||
|
let size = 1 + v:foldend - v:foldstart
|
||||||
|
if size < 10
|
||||||
|
let size = " " . size
|
||||||
|
endif
|
||||||
|
if size < 100
|
||||||
|
let size = " " . size
|
||||||
|
endif
|
||||||
|
if size < 1000
|
||||||
|
let size = " " . size
|
||||||
|
endif
|
||||||
|
return size . " lines: " . line
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetPythonFold(lnum)
|
||||||
|
let line = getline(a:lnum - 1)
|
||||||
|
|
||||||
|
" Classes and functions get their own folds
|
||||||
|
if line =~ '^\s*\(class\|def\)\s'
|
||||||
|
" Verify if the next line is a class or function definition
|
||||||
|
" as well
|
||||||
|
let imm_nnum = a:lnum + 1
|
||||||
|
let nnum = nextnonblank(imm_nnum)
|
||||||
|
if nnum - imm_nnum < 2
|
||||||
|
let nind = indent(nnum)
|
||||||
|
let pind = indent(a:lnum - 1)
|
||||||
|
if pind >= nind
|
||||||
|
let nline = getline(nnum)
|
||||||
|
let w:nestinglevel = nind
|
||||||
|
return "<" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let w:nestinglevel = indent(a:lnum - 1)
|
||||||
|
return ">" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If next line has less or equal indentation than the first one,
|
||||||
|
" we end a fold.
|
||||||
|
let nind = indent(nextnonblank(a:lnum + 1))
|
||||||
|
if nind <= w:nestinglevel
|
||||||
|
let w:nestinglevel = nind
|
||||||
|
return "<" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
else
|
||||||
|
let ind = indent(a:lnum)
|
||||||
|
if ind == (w:nestinglevel + &sw)
|
||||||
|
if nind < ind
|
||||||
|
let w:nestinglevel = nind
|
||||||
|
return "<" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If none of the above apply, keep the indentation
|
||||||
|
return "="
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetPythonFoldBest(lnum)
|
||||||
|
" Determine folding level in Python source
|
||||||
|
"
|
||||||
|
let line = getline(a:lnum - 1)
|
||||||
|
|
||||||
|
" Handle Support markers
|
||||||
|
if line =~ '{{{'
|
||||||
|
return "a1"
|
||||||
|
elseif line =~ '}}}'
|
||||||
|
return "s1"
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Classes and functions get their own folds
|
||||||
|
if line =~ '^\s*\(class\|def\)\s'
|
||||||
|
" Verify if the next line is a class or function definition
|
||||||
|
" as well
|
||||||
|
let imm_nnum = a:lnum + 1
|
||||||
|
let nnum = nextnonblank(imm_nnum)
|
||||||
|
let nind = indent(nnum)
|
||||||
|
let pind = indent(a:lnum - 1)
|
||||||
|
if pind >= nind
|
||||||
|
let nline = getline(nnum)
|
||||||
|
let w:nestinglevel = nind
|
||||||
|
return "<" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
endif
|
||||||
|
let w:nestinglevel = indent(a:lnum - 1)
|
||||||
|
return ">" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If next line has less or equal indentation than the first one,
|
||||||
|
" we end a fold.
|
||||||
|
let nnonblank = nextnonblank(a:lnum + 1)
|
||||||
|
let nextline = getline(nnonblank)
|
||||||
|
if (nextline !~ '^#\+.*')
|
||||||
|
let nind = indent(nnonblank)
|
||||||
|
if nind <= w:nestinglevel
|
||||||
|
let w:nestinglevel = nind
|
||||||
|
return "<" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
else
|
||||||
|
let ind = indent(a:lnum)
|
||||||
|
if ind == (w:nestinglevel + &sw)
|
||||||
|
if nind < ind
|
||||||
|
let w:nestinglevel = nind
|
||||||
|
return "<" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If none of the above apply, keep the indentation
|
||||||
|
return "="
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetPythonFoldExperimental(lnum)
|
||||||
|
" Determine folding level in Python source
|
||||||
|
"
|
||||||
|
let line = getline(a:lnum - 1)
|
||||||
|
|
||||||
|
" Handle suport markers
|
||||||
|
if line =~ '{{{'
|
||||||
|
return "a1"
|
||||||
|
elseif line =~ '}}}'
|
||||||
|
return "s1"
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Classes and functions get their own folds
|
||||||
|
if line =~ '^\s*\(class\|def\)\s'
|
||||||
|
" Verify if the next line is a class or function definition
|
||||||
|
" as well
|
||||||
|
let imm_nnum = a:lnum + 1
|
||||||
|
let nnum = nextnonblank(imm_nnum)
|
||||||
|
let nind = indent(nnum)
|
||||||
|
let pind = indent(a:lnum - 1)
|
||||||
|
if pind >= nind
|
||||||
|
let nline = getline(nnum)
|
||||||
|
let w:nestinglevel = nind
|
||||||
|
return "<" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
endif
|
||||||
|
let w:signature = 1
|
||||||
|
let w:nestinglevel = indent(a:lnum - 1)
|
||||||
|
endif
|
||||||
|
|
||||||
|
if line =~ '^.*:' && w:signature
|
||||||
|
let w:signature = 0
|
||||||
|
return ">" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If next line has less or equal indentation than the first one,
|
||||||
|
" we end a fold.
|
||||||
|
let nnonblank = nextnonblank(a:lnum + 1)
|
||||||
|
let nextline = getline(nnonblank)
|
||||||
|
if (nextline !~ '^#\+.*')
|
||||||
|
let nind = indent(nnonblank)
|
||||||
|
if nind <= w:nestinglevel
|
||||||
|
let w:nestinglevel = nind
|
||||||
|
return "<" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
else
|
||||||
|
let ind = indent(a:lnum)
|
||||||
|
if ind == (w:nestinglevel + &sw)
|
||||||
|
if nind < ind
|
||||||
|
let w:nestinglevel = nind
|
||||||
|
return "<" . ((w:nestinglevel + &sw) / &sw)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If none of the above apply, keep the indentation
|
||||||
|
return "="
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ToggleFold()
|
||||||
|
let w:nestinglevel = 0
|
||||||
|
let w:signature = 0
|
||||||
|
if w:is_folded
|
||||||
|
set foldexpr=0
|
||||||
|
let w:is_folded = 0
|
||||||
|
else
|
||||||
|
call ReFold()
|
||||||
|
" Open the fold we are in
|
||||||
|
exec 'norm! zO'
|
||||||
|
let w:is_folded = 1
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" In case folding breaks down
|
||||||
|
function! ReFold()
|
||||||
|
set foldmethod=expr
|
||||||
|
set foldexpr=0
|
||||||
|
set foldmethod=expr
|
||||||
|
if g:ifold_mode == 0
|
||||||
|
set foldexpr=GetPythonFold(v:lnum)
|
||||||
|
else
|
||||||
|
if g:ifold_mode == 1
|
||||||
|
set foldexpr=GetPythonFoldBest(v:lnum)
|
||||||
|
else
|
||||||
|
if g:ifold_mode == 2
|
||||||
|
set foldexpr=GetPythonFoldExperimental(v:lnum)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:ifold_mode
|
||||||
|
set foldtext=PythonFoldText()
|
||||||
|
else
|
||||||
|
set foldtext='Folded\ code'
|
||||||
|
endif
|
||||||
|
echo
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
call ReFold()
|
18
dot.vim/ftplugin/sass.vim
Normal file
18
dot.vim/ftplugin/sass.vim
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
" Vim filetype plugin
|
||||||
|
" Language: Sass
|
||||||
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
|
||||||
|
|
||||||
|
" Only do this when not done yet for this buffer
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setl cms< inc< ofu<"
|
||||||
|
|
||||||
|
setlocal commentstring=//\ %s
|
||||||
|
setlocal omnifunc=csscomplete#CompleteCSS
|
||||||
|
|
||||||
|
let &l:include = '^\s*@import\s\+\%(url(\)\='
|
||||||
|
|
||||||
|
" vim:set sw=2:
|
51
dot.vim/ftplugin/textile.vim
Normal file
51
dot.vim/ftplugin/textile.vim
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
" textile.vim
|
||||||
|
"
|
||||||
|
" Tim Harper (tim.theenchanter.com)
|
||||||
|
|
||||||
|
command! -nargs=0 TextileRenderFile call TextileRenderBufferToFile()
|
||||||
|
command! -nargs=0 TextileRenderTab call TextileRenderBufferToTab()
|
||||||
|
command! -nargs=0 TextilePreview call TextileRenderBufferToPreview()
|
||||||
|
noremap <buffer> <Leader>rp :TextilePreview<CR>
|
||||||
|
noremap <buffer> <Leader>rf :TextileRenderFile<CR>
|
||||||
|
noremap <buffer> <Leader>rt :TextileRenderTab<CR>
|
||||||
|
setlocal ignorecase
|
||||||
|
setlocal wrap
|
||||||
|
setlocal lbr
|
||||||
|
|
||||||
|
function! TextileRender(lines)
|
||||||
|
if (system('which ruby') == "")
|
||||||
|
throw "Could not find ruby!"
|
||||||
|
end
|
||||||
|
|
||||||
|
let text = join(a:lines, "\n")
|
||||||
|
let html = system("ruby -e \"def e(msg); puts msg; exit 1; end; begin; require 'rubygems'; rescue LoadError; e('rubygems not found'); end; begin; require 'redcloth'; rescue LoadError; e('RedCloth gem not installed. Run this from the terminal: sudo gem install RedCloth'); end; puts(RedCloth.new(\\$stdin.read).to_html(:textile))\"", text)
|
||||||
|
return html
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! TextileRenderFile(lines, filename)
|
||||||
|
let html = TextileRender(getbufline(bufname("%"), 1, '$'))
|
||||||
|
let html = "<html><head><title>" . bufname("%") . "</title><body>\n" . html . "\n</body></html>"
|
||||||
|
return writefile(split(html, "\n"), a:filename)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! TextileRenderBufferToPreview()
|
||||||
|
let filename = "/tmp/textile-preview.html"
|
||||||
|
call TextileRenderFile(getbufline(bufname("%"), 1, '$'), filename)
|
||||||
|
|
||||||
|
" Modify this line to make it compatible on other platforms
|
||||||
|
call system("open -a Safari ". filename)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! TextileRenderBufferToFile()
|
||||||
|
let filename = input("Filename:", substitute(bufname("%"), "textile$", "html", ""), "file")
|
||||||
|
call TextileRenderFile(getbufline(bufname("%"), 1, '$'), filename)
|
||||||
|
echo "Rendered to '" . filename . "'"
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! TextileRenderBufferToTab()
|
||||||
|
let html = TextileRender(getbufline(bufname("%"), 1, '$'))
|
||||||
|
tabnew
|
||||||
|
call append("^", split(html, "\n"))
|
||||||
|
set syntax=html
|
||||||
|
endfunction
|
||||||
|
|
384
dot.vim/ftplugin/vimwiki.vim
Normal file
384
dot.vim/ftplugin/vimwiki.vim
Normal file
|
@ -0,0 +1,384 @@
|
||||||
|
" vim:tabstop=2:shiftwidth=2:expandtab:foldmethod=marker:textwidth=79
|
||||||
|
" Vimwiki filetype plugin file
|
||||||
|
" Author: Maxim Kim <habamax@gmail.com>
|
||||||
|
" Home: http://code.google.com/p/vimwiki/
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1 " Don't load another plugin for this buffer
|
||||||
|
|
||||||
|
" UNDO list {{{
|
||||||
|
" Reset the following options to undo this plugin.
|
||||||
|
let b:undo_ftplugin = "setlocal ".
|
||||||
|
\ "suffixesadd< isfname< comments< ".
|
||||||
|
\ "autowriteall< ".
|
||||||
|
\ "formatoptions< foldtext< ".
|
||||||
|
\ "foldmethod< foldexpr< commentstring< "
|
||||||
|
" UNDO }}}
|
||||||
|
|
||||||
|
" MISC STUFF {{{
|
||||||
|
|
||||||
|
setlocal autowriteall
|
||||||
|
setlocal commentstring=<!--%s-->
|
||||||
|
|
||||||
|
if g:vimwiki_conceallevel && exists("+conceallevel")
|
||||||
|
let &conceallevel = g:vimwiki_conceallevel
|
||||||
|
endif
|
||||||
|
|
||||||
|
" MISC }}}
|
||||||
|
|
||||||
|
" GOTO FILE: gf {{{
|
||||||
|
execute 'setlocal suffixesadd='.VimwikiGet('ext')
|
||||||
|
setlocal isfname-=[,]
|
||||||
|
" gf}}}
|
||||||
|
|
||||||
|
" Autocreate list items {{{
|
||||||
|
" for list items, and list items with checkboxes
|
||||||
|
if VimwikiGet('syntax') == 'default'
|
||||||
|
setl comments=b:*,b:#,b:-
|
||||||
|
setl formatlistpat=^\\s*[*#-]\\s*
|
||||||
|
else
|
||||||
|
setl comments=n:*,n:#
|
||||||
|
endif
|
||||||
|
setlocal formatoptions=tnro
|
||||||
|
|
||||||
|
if !empty(&langmap)
|
||||||
|
" Valid only if langmap is a comma separated pairs of chars
|
||||||
|
let l_o = matchstr(&langmap, '\C,\zs.\zeo,')
|
||||||
|
if l_o
|
||||||
|
exe 'nnoremap <buffer> '.l_o.' :call vimwiki_lst#kbd_oO("o")<CR>a'
|
||||||
|
endif
|
||||||
|
|
||||||
|
let l_O = matchstr(&langmap, '\C,\zs.\zeO,')
|
||||||
|
if l_O
|
||||||
|
exe 'nnoremap <buffer> '.l_O.' :call vimwiki_lst#kbd_oO("O")<CR>a'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" COMMENTS }}}
|
||||||
|
|
||||||
|
" FOLDING for headers and list items using expr fold method. {{{
|
||||||
|
function! VimwikiFoldLevel(lnum) "{{{
|
||||||
|
let line = getline(a:lnum)
|
||||||
|
|
||||||
|
" Header folding...
|
||||||
|
if line =~ g:vimwiki_rxHeader
|
||||||
|
let n = vimwiki#count_first_sym(line)
|
||||||
|
return '>'.n
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:vimwiki_fold_trailing_empty_lines == 0
|
||||||
|
if line =~ '^\s*$'
|
||||||
|
let nnline = getline(nextnonblank(a:lnum + 1))
|
||||||
|
if nnline =~ g:vimwiki_rxHeader
|
||||||
|
let n = vimwiki#count_first_sym(nnline)
|
||||||
|
return '<'.n
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" List item folding...
|
||||||
|
if g:vimwiki_fold_lists
|
||||||
|
let base_level = s:get_base_level(a:lnum)
|
||||||
|
|
||||||
|
let rx_list_item = '\('.
|
||||||
|
\ g:vimwiki_rxListBullet.'\|'.g:vimwiki_rxListNumber.
|
||||||
|
\ '\)'
|
||||||
|
|
||||||
|
|
||||||
|
if line =~ rx_list_item
|
||||||
|
let [nnum, nline] = s:find_forward(rx_list_item, a:lnum)
|
||||||
|
let level = s:get_li_level(a:lnum)
|
||||||
|
let leveln = s:get_li_level(nnum)
|
||||||
|
let adj = s:get_li_level(s:get_start_list(rx_list_item, a:lnum))
|
||||||
|
|
||||||
|
if leveln > level
|
||||||
|
return ">".(base_level+leveln-adj)
|
||||||
|
else
|
||||||
|
return (base_level+level-adj)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" process multilined list items
|
||||||
|
let [pnum, pline] = s:find_backward(rx_list_item, a:lnum)
|
||||||
|
if pline =~ rx_list_item
|
||||||
|
if indent(a:lnum) > indent(pnum)
|
||||||
|
let level = s:get_li_level(pnum)
|
||||||
|
let adj = s:get_li_level(s:get_start_list(rx_list_item, pnum))
|
||||||
|
|
||||||
|
let [nnum, nline] = s:find_forward(rx_list_item, a:lnum)
|
||||||
|
if nline =~ rx_list_item
|
||||||
|
let leveln = s:get_li_level(nnum)
|
||||||
|
if leveln > level
|
||||||
|
return (base_level+leveln-adj)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
return (base_level+level-adj)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
return base_level
|
||||||
|
endif
|
||||||
|
|
||||||
|
return -1
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_base_level(lnum) "{{{
|
||||||
|
let lnum = a:lnum - 1
|
||||||
|
while lnum > 0
|
||||||
|
if getline(lnum) =~ g:vimwiki_rxHeader
|
||||||
|
return vimwiki#count_first_sym(getline(lnum))
|
||||||
|
endif
|
||||||
|
let lnum -= 1
|
||||||
|
endwhile
|
||||||
|
return 0
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:find_forward(rx_item, lnum) "{{{
|
||||||
|
let lnum = a:lnum + 1
|
||||||
|
|
||||||
|
while lnum <= line('$')
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ a:rx_item
|
||||||
|
\ || line =~ '^\S'
|
||||||
|
\ || line =~ g:vimwiki_rxHeader
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum += 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
return [lnum, getline(lnum)]
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:find_backward(rx_item, lnum) "{{{
|
||||||
|
let lnum = a:lnum - 1
|
||||||
|
|
||||||
|
while lnum > 1
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ a:rx_item
|
||||||
|
\ || line =~ '^\S'
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum -= 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
return [lnum, getline(lnum)]
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_li_level(lnum) "{{{
|
||||||
|
if VimwikiGet('syntax') == 'media'
|
||||||
|
let level = vimwiki#count_first_sym(getline(a:lnum))
|
||||||
|
else
|
||||||
|
let level = (indent(a:lnum) / &sw)
|
||||||
|
endif
|
||||||
|
return level
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_start_list(rx_item, lnum) "{{{
|
||||||
|
let lnum = a:lnum
|
||||||
|
while lnum >= 1
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line !~ a:rx_item && line =~ '^\S'
|
||||||
|
return nextnonblank(lnum + 1)
|
||||||
|
endif
|
||||||
|
let lnum -= 1
|
||||||
|
endwhile
|
||||||
|
return 0
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! VimwikiFoldText() "{{{
|
||||||
|
let line = substitute(getline(v:foldstart), '\t',
|
||||||
|
\ repeat(' ', &tabstop), 'g')
|
||||||
|
return line.' ['.(v:foldend - v:foldstart).']'
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" FOLDING }}}
|
||||||
|
|
||||||
|
" COMMANDS {{{
|
||||||
|
command! -buffer Vimwiki2HTML
|
||||||
|
\ call vimwiki_html#Wiki2HTML(expand(VimwikiGet('path_html')),
|
||||||
|
\ expand('%'))
|
||||||
|
command! -buffer VimwikiAll2HTML
|
||||||
|
\ call vimwiki_html#WikiAll2HTML(expand(VimwikiGet('path_html')))
|
||||||
|
|
||||||
|
command! -buffer VimwikiNextLink call vimwiki#find_next_link()
|
||||||
|
command! -buffer VimwikiPrevLink call vimwiki#find_prev_link()
|
||||||
|
command! -buffer VimwikiDeleteLink call vimwiki#delete_link()
|
||||||
|
command! -buffer VimwikiRenameLink call vimwiki#rename_link()
|
||||||
|
command! -buffer VimwikiFollowLink call vimwiki#follow_link('nosplit')
|
||||||
|
command! -buffer VimwikiGoBackLink call vimwiki#go_back_link()
|
||||||
|
command! -buffer VimwikiSplitLink call vimwiki#follow_link('split')
|
||||||
|
command! -buffer VimwikiVSplitLink call vimwiki#follow_link('vsplit')
|
||||||
|
|
||||||
|
command! -buffer -range VimwikiToggleListItem call vimwiki_lst#ToggleListItem(<line1>, <line2>)
|
||||||
|
|
||||||
|
command! -buffer VimwikiGenerateLinks call vimwiki#generate_links()
|
||||||
|
|
||||||
|
exe 'command! -buffer -nargs=* VimwikiSearch vimgrep <args> '.
|
||||||
|
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
||||||
|
|
||||||
|
exe 'command! -buffer -nargs=* VWS vimgrep <args> '.
|
||||||
|
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
||||||
|
|
||||||
|
command! -buffer -nargs=1 VimwikiGoto call vimwiki#goto("<args>")
|
||||||
|
|
||||||
|
" table commands
|
||||||
|
command! -buffer -nargs=* VimwikiTable call vimwiki_tbl#create(<f-args>)
|
||||||
|
command! -buffer VimwikiTableAlignQ call vimwiki_tbl#align_or_cmd('gqq')
|
||||||
|
command! -buffer VimwikiTableAlignW call vimwiki_tbl#align_or_cmd('gww')
|
||||||
|
command! -buffer VimwikiTableMoveColumnLeft call vimwiki_tbl#move_column_left()
|
||||||
|
command! -buffer VimwikiTableMoveColumnRight call vimwiki_tbl#move_column_right()
|
||||||
|
|
||||||
|
" diary commands
|
||||||
|
command! -buffer VimwikiDiaryNextDay call vimwiki_diary#goto_next_day()
|
||||||
|
command! -buffer VimwikiDiaryPrevDay call vimwiki_diary#goto_prev_day()
|
||||||
|
|
||||||
|
" COMMANDS }}}
|
||||||
|
|
||||||
|
" KEYBINDINGS {{{
|
||||||
|
if g:vimwiki_use_mouse
|
||||||
|
nmap <buffer> <S-LeftMouse> <NOP>
|
||||||
|
nmap <buffer> <C-LeftMouse> <NOP>
|
||||||
|
noremap <silent><buffer> <2-LeftMouse> :VimwikiFollowLink<CR>
|
||||||
|
noremap <silent><buffer> <S-2-LeftMouse> <LeftMouse>:VimwikiSplitLink<CR>
|
||||||
|
noremap <silent><buffer> <C-2-LeftMouse> <LeftMouse>:VimwikiVSplitLink<CR>
|
||||||
|
noremap <silent><buffer> <RightMouse><LeftMouse> :VimwikiGoBackLink<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiFollowLink')
|
||||||
|
nmap <silent><buffer> <CR> <Plug>VimwikiFollowLink
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiFollowLink :VimwikiFollowLink<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiSplitLink')
|
||||||
|
nmap <silent><buffer> <S-CR> <Plug>VimwikiSplitLink
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiSplitLink :VimwikiSplitLink<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiVSplitLink')
|
||||||
|
nmap <silent><buffer> <C-CR> <Plug>VimwikiVSplitLink
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiVSplitLink :VimwikiVSplitLink<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiGoBackLink')
|
||||||
|
nmap <silent><buffer> <BS> <Plug>VimwikiGoBackLink
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiGoBackLink :VimwikiGoBackLink<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiNextLink')
|
||||||
|
nmap <silent><buffer> <TAB> <Plug>VimwikiNextLink
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiNextLink :VimwikiNextLink<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiPrevLink')
|
||||||
|
nmap <silent><buffer> <S-TAB> <Plug>VimwikiPrevLink
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiPrevLink :VimwikiPrevLink<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiDeleteLink')
|
||||||
|
nmap <silent><buffer> <Leader>wd <Plug>VimwikiDeleteLink
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiDeleteLink :VimwikiDeleteLink<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiRenameLink')
|
||||||
|
nmap <silent><buffer> <Leader>wr <Plug>VimwikiRenameLink
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiRenameLink :VimwikiRenameLink<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiToggleListItem')
|
||||||
|
nmap <silent><buffer> <C-Space> <Plug>VimwikiToggleListItem
|
||||||
|
vmap <silent><buffer> <C-Space> <Plug>VimwikiToggleListItem
|
||||||
|
if has("unix")
|
||||||
|
nmap <silent><buffer> <C-@> <Plug>VimwikiToggleListItem
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiToggleListItem :VimwikiToggleListItem<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiDiaryNextDay')
|
||||||
|
nmap <silent><buffer> <C-Down> <Plug>VimwikiDiaryNextDay
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiDiaryNextDay :VimwikiDiaryNextDay<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiDiaryPrevDay')
|
||||||
|
nmap <silent><buffer> <C-Up> <Plug>VimwikiDiaryPrevDay
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiDiaryPrevDay :VimwikiDiaryPrevDay<CR>
|
||||||
|
|
||||||
|
function! s:CR() "{{{
|
||||||
|
let res = vimwiki_lst#kbd_cr()
|
||||||
|
if res == "\<CR>" && g:vimwiki_table_auto_fmt
|
||||||
|
let res = vimwiki_tbl#kbd_cr()
|
||||||
|
endif
|
||||||
|
return res
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" List and Table <CR> mapping
|
||||||
|
inoremap <buffer> <expr> <CR> <SID>CR()
|
||||||
|
|
||||||
|
" List mappings
|
||||||
|
nnoremap <buffer> o :call vimwiki_lst#kbd_oO('o')<CR>a
|
||||||
|
nnoremap <buffer> O :call vimwiki_lst#kbd_oO('O')<CR>a
|
||||||
|
|
||||||
|
" Table mappings
|
||||||
|
if g:vimwiki_table_auto_fmt
|
||||||
|
inoremap <expr> <buffer> <Tab> vimwiki_tbl#kbd_tab()
|
||||||
|
inoremap <expr> <buffer> <S-Tab> vimwiki_tbl#kbd_shift_tab()
|
||||||
|
endif
|
||||||
|
|
||||||
|
nnoremap <buffer> gqq :VimwikiTableAlignQ<CR>
|
||||||
|
nnoremap <buffer> gww :VimwikiTableAlignW<CR>
|
||||||
|
nnoremap <buffer> <A-Left> :VimwikiTableMoveColumnLeft<CR>
|
||||||
|
nnoremap <buffer> <A-Right> :VimwikiTableMoveColumnRight<CR>
|
||||||
|
|
||||||
|
" Misc mappings
|
||||||
|
inoremap <buffer> <S-CR> <br /><CR>
|
||||||
|
|
||||||
|
|
||||||
|
" Text objects {{{
|
||||||
|
onoremap <silent><buffer> ah :<C-U>call vimwiki#TO_header(0, 0)<CR>
|
||||||
|
vnoremap <silent><buffer> ah :<C-U>call vimwiki#TO_header(0, 1)<CR>
|
||||||
|
|
||||||
|
onoremap <silent><buffer> ih :<C-U>call vimwiki#TO_header(1, 0)<CR>
|
||||||
|
vnoremap <silent><buffer> ih :<C-U>call vimwiki#TO_header(1, 1)<CR>
|
||||||
|
|
||||||
|
onoremap <silent><buffer> a\ :<C-U>call vimwiki#TO_table_cell(0, 0)<CR>
|
||||||
|
vnoremap <silent><buffer> a\ :<C-U>call vimwiki#TO_table_cell(0, 1)<CR>
|
||||||
|
|
||||||
|
onoremap <silent><buffer> i\ :<C-U>call vimwiki#TO_table_cell(1, 0)<CR>
|
||||||
|
vnoremap <silent><buffer> i\ :<C-U>call vimwiki#TO_table_cell(1, 1)<CR>
|
||||||
|
|
||||||
|
onoremap <silent><buffer> ac :<C-U>call vimwiki#TO_table_col(0, 0)<CR>
|
||||||
|
vnoremap <silent><buffer> ac :<C-U>call vimwiki#TO_table_col(0, 1)<CR>
|
||||||
|
|
||||||
|
onoremap <silent><buffer> ic :<C-U>call vimwiki#TO_table_col(1, 0)<CR>
|
||||||
|
vnoremap <silent><buffer> ic :<C-U>call vimwiki#TO_table_col(1, 1)<CR>
|
||||||
|
|
||||||
|
noremap <silent><buffer> = :call vimwiki#AddHeaderLevel()<CR>
|
||||||
|
noremap <silent><buffer> - :call vimwiki#RemoveHeaderLevel()<CR>
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" KEYBINDINGS }}}
|
||||||
|
|
||||||
|
" AUTOCOMMANDS {{{
|
||||||
|
if VimwikiGet('auto_export')
|
||||||
|
" Automatically generate HTML on page write.
|
||||||
|
augroup vimwiki
|
||||||
|
au BufWritePost <buffer> Vimwiki2HTML
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
|
||||||
|
" AUTOCOMMANDS }}}
|
10
dot.vim/headers/article.haml
Normal file
10
dot.vim/headers/article.haml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
:insert
|
||||||
|
- @title = "empty article"
|
||||||
|
- @abstract = "this is an empty article"
|
||||||
|
- @lang = "en"
|
||||||
|
- @tags = %w()
|
||||||
|
|
||||||
|
:textile
|
||||||
|
no content
|
||||||
|
|
||||||
|
.
|
9
dot.vim/headers/c
Normal file
9
dot.vim/headers/c
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
:insert
|
||||||
|
/***
|
||||||
|
File Name :
|
||||||
|
Purpose :
|
||||||
|
Creation Date :
|
||||||
|
Last Modified :
|
||||||
|
Created By :
|
||||||
|
***/
|
||||||
|
.
|
40
dot.vim/headers/html
Normal file
40
dot.vim/headers/html
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
:insert
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
|
<title></title>
|
||||||
|
|
||||||
|
<meta name="author" content="Norman Köhring" />
|
||||||
|
<meta name="DC.title" content="" />
|
||||||
|
|
||||||
|
<!-- GeoURL -->
|
||||||
|
<meta name="ICBM" content="51.3333, 12.4167" />
|
||||||
|
<meta name="geo.position" content="51.3333; 12.4167" />
|
||||||
|
<meta name="geo.region" content="DE" />
|
||||||
|
|
||||||
|
<link rel="author" href="mailto:me@nkoehring.de" />
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
font: 17pt/22pt "Helvetica Neue", Arial, sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
letter-spacing: -0.75pt;
|
||||||
|
margin: 2em 2.3em;
|
||||||
|
color: #AAA;
|
||||||
|
background-color: #333;
|
||||||
|
min-width: 20em;
|
||||||
|
max-width: 23.5em;
|
||||||
|
}
|
||||||
|
h1 { display: block; font-size: 1em; border-bottom: 1px solid #AAA; }
|
||||||
|
a { color: #DDD; text-decoration: none; }
|
||||||
|
a:visited { color: #777; }
|
||||||
|
a:hover { color: #FFF; }
|
||||||
|
p { max-width: 23.5em; }
|
||||||
|
.big { font-size: 1.5em; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>TITLE</h1>
|
||||||
|
<p>Text</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
.
|
14
dot.vim/headers/py
Normal file
14
dot.vim/headers/py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
:insert
|
||||||
|
#!/usr/bin/python
|
||||||
|
# -*- encoding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# File Name :
|
||||||
|
# Purpose :
|
||||||
|
# Creation Date :
|
||||||
|
# Last Modified :
|
||||||
|
# Created By :
|
||||||
|
#
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
.
|
18
dot.vim/headers/syntaxhighlighterbrush.js
Normal file
18
dot.vim/headers/syntaxhighlighterbrush.js
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
:insert
|
||||||
|
SyntaxHighlighter.brushes.Custom = function()
|
||||||
|
{
|
||||||
|
var funcs = '';
|
||||||
|
var keywords = '';
|
||||||
|
var operators = '';
|
||||||
|
|
||||||
|
this.regexList = [
|
||||||
|
{ regex: /--(.*)$/gm, css: 'comments' },
|
||||||
|
{ regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' },
|
||||||
|
{ regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'color2' },
|
||||||
|
{ regex: new RegExp(this.getKeywords(operators), 'gmi'), css: 'color1' },
|
||||||
|
{ regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
SyntaxHighlighter.brushes.Custom.prototype = new SyntaxHighlighter.Highlighter();
|
||||||
|
SyntaxHighlighter.brushes.Custom.aliases = ['custom', 'ctm', 'ct'];
|
||||||
|
.
|
54
dot.vim/headers/tex
Normal file
54
dot.vim/headers/tex
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
:insert
|
||||||
|
%Vorlage von Jürgen Fenn
|
||||||
|
|
||||||
|
\\documentclass[11pt]{dinbrief}
|
||||||
|
|
||||||
|
\\usepackage{german}
|
||||||
|
|
||||||
|
\\usepackage[T1]{fontenc}
|
||||||
|
|
||||||
|
\\usepackage[utf8]{inputenc}
|
||||||
|
|
||||||
|
\\usepackage{mathpazo} % Fuer Palatino auf 11pt umstellen!
|
||||||
|
|
||||||
|
\\usepackage{url}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\\backaddress{Back Address}
|
||||||
|
|
||||||
|
\\nowindowrules %% keine Rahmen um das Adreßfenster
|
||||||
|
|
||||||
|
|
||||||
|
\\begin{document}
|
||||||
|
|
||||||
|
\\begin{letter} {HerrnFrauFirma\\ \\Straße\\9999 Stadt}
|
||||||
|
|
||||||
|
\\centeraddress %% Vertikeles Zentrieren der Anschrift
|
||||||
|
|
||||||
|
% \setreflinetop{120mm} %% Oberkante Bezugszeichenzeile = Briefanfang
|
||||||
|
% \yourmail{Empfänger & Co. } %% Ihr Zeichen
|
||||||
|
% \sign{Meine Firma} %% Unser Zeichen
|
||||||
|
% \phone{12345}{ 67890} %% Unsere Durchwahl
|
||||||
|
|
||||||
|
|
||||||
|
\\subject{Subject}
|
||||||
|
|
||||||
|
\\opening{Sehr geehrte Damen und Herren,}
|
||||||
|
|
||||||
|
|
||||||
|
%\pagebreak %% Seitenumbruch bei Bedarf
|
||||||
|
|
||||||
|
|
||||||
|
\\closing{Mit freundlichen Grüßen,}
|
||||||
|
|
||||||
|
%\ps{} %% PS:
|
||||||
|
%\encl{} %% Anlagen
|
||||||
|
%\cc{} %% Verteiler
|
||||||
|
|
||||||
|
\\end{letter}
|
||||||
|
|
||||||
|
|
||||||
|
\\end{document}
|
||||||
|
|
||||||
|
.
|
73
dot.vim/indent/haml.vim
Normal file
73
dot.vim/indent/haml.vim
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
" Vim indent file
|
||||||
|
" Language: HAML
|
||||||
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
|
||||||
|
" Last Change: 2008 Sep 11
|
||||||
|
|
||||||
|
if exists("b:did_indent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
runtime! indent/ruby.vim
|
||||||
|
unlet! b:did_indent
|
||||||
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
setlocal autoindent sw=2 et
|
||||||
|
setlocal indentexpr=GetHamlIndent()
|
||||||
|
setlocal indentkeys=o,O,*<Return>,},],0),!^F,=end,=else,=elsif,=rescue,=ensure,=when
|
||||||
|
|
||||||
|
" Only define the function once.
|
||||||
|
if exists("*GetHamlIndent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:attributes = '\%({.\{-\}}\|\[.\{-\}\]\)'
|
||||||
|
let s:tag = '\%([%.#][[:alnum:]_-]\+\|'.s:attributes.'\)*[<>]*'
|
||||||
|
|
||||||
|
if !exists('g:haml_self_closing_tags')
|
||||||
|
let g:haml_self_closing_tags = 'meta|link|img|hr|br'
|
||||||
|
endif
|
||||||
|
|
||||||
|
function! GetHamlIndent()
|
||||||
|
let lnum = prevnonblank(v:lnum-1)
|
||||||
|
if lnum == 0
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
let line = substitute(getline(lnum),'\s\+$','','')
|
||||||
|
let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','')
|
||||||
|
let lastcol = strlen(line)
|
||||||
|
let line = substitute(line,'^\s\+','','')
|
||||||
|
let indent = indent(lnum)
|
||||||
|
let cindent = indent(v:lnum)
|
||||||
|
if cline =~# '\v^-\s*%(elsif|else|when)>'
|
||||||
|
let indent = cindent < indent ? cindent : indent - &sw
|
||||||
|
endif
|
||||||
|
let increase = indent + &sw
|
||||||
|
if indent == indent(lnum)
|
||||||
|
let indent = cindent <= indent ? -1 : increase
|
||||||
|
endif
|
||||||
|
"let indent = indent == indent(lnum) ? -1 : indent
|
||||||
|
"let indent = indent > indent(lnum) + &sw ? indent(lnum) + &sw : indent
|
||||||
|
|
||||||
|
let group = synIDattr(synID(lnum,lastcol,1),'name')
|
||||||
|
|
||||||
|
if line =~ '^!!!'
|
||||||
|
return indent
|
||||||
|
elseif line =~ '^/\%(\[[^]]*\]\)\=$'
|
||||||
|
return increase
|
||||||
|
elseif line =~ '^:'
|
||||||
|
return increase
|
||||||
|
elseif line =~ '^'.s:tag.'[=~-]\s*\%(\%(if\|else\|elsif\|unless\|case\|when\|while\|until\|for\|begin\|module\|class\|def\)\>\%(.*\<end\>\)\@!\|.*do\%(\s*|[^|]*|\)\=\s*$\)'
|
||||||
|
return increase
|
||||||
|
elseif line == '-#'
|
||||||
|
return increase
|
||||||
|
elseif group =~? '\v^(hamlSelfCloser)$' || line =~? '^%\v%('.g:haml_self_closing_tags.')>'
|
||||||
|
return indent
|
||||||
|
elseif group =~? '\v^%(hamlTag|hamlAttributesDelimiter|hamlObjectDelimiter|hamlClass|hamlId|htmlTagName|htmlSpecialTagName)$'
|
||||||
|
return increase
|
||||||
|
elseif synIDattr(synID(v:lnum,1,1),'name') ==? 'hamlRubyFilter'
|
||||||
|
return GetRubyIndent()
|
||||||
|
else
|
||||||
|
return indent
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim:set sw=2:
|
196
dot.vim/indent/python.vim
Normal file
196
dot.vim/indent/python.vim
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
" Python indent file
|
||||||
|
" Language: Python
|
||||||
|
" Maintainer: Eric Mc Sween <em@tomcom.de>
|
||||||
|
" Original Author: David Bustos <bustos@caltech.edu>
|
||||||
|
" Last Change: 2004 Jun 07
|
||||||
|
|
||||||
|
" Only load this indent file when no other was loaded.
|
||||||
|
if exists("b:did_indent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
setlocal expandtab
|
||||||
|
setlocal nolisp
|
||||||
|
setlocal autoindent
|
||||||
|
setlocal indentexpr=GetPythonIndent(v:lnum)
|
||||||
|
setlocal indentkeys=!^F,o,O,<:>,0),0],0},=elif,=except
|
||||||
|
|
||||||
|
let s:maxoff = 50
|
||||||
|
|
||||||
|
" Find backwards the closest open parenthesis/bracket/brace.
|
||||||
|
function! s:SearchParensPair()
|
||||||
|
let line = line('.')
|
||||||
|
let col = col('.')
|
||||||
|
|
||||||
|
" Skip strings and comments and don't look too far
|
||||||
|
let skip = "line('.') < " . (line - s:maxoff) . " ? dummy :" .
|
||||||
|
\ 'synIDattr(synID(line("."), col("."), 0), "name") =~? ' .
|
||||||
|
\ '"string\\|comment"'
|
||||||
|
|
||||||
|
" Search for parentheses
|
||||||
|
call cursor(line, col)
|
||||||
|
let parlnum = searchpair('(', '', ')', 'bW', skip)
|
||||||
|
let parcol = col('.')
|
||||||
|
|
||||||
|
" Search for brackets
|
||||||
|
call cursor(line, col)
|
||||||
|
let par2lnum = searchpair('\[', '', '\]', 'bW', skip)
|
||||||
|
let par2col = col('.')
|
||||||
|
|
||||||
|
" Search for braces
|
||||||
|
call cursor(line, col)
|
||||||
|
let par3lnum = searchpair('{', '', '}', 'bW', skip)
|
||||||
|
let par3col = col('.')
|
||||||
|
|
||||||
|
" Get the closest match
|
||||||
|
if par2lnum > parlnum || (par2lnum == parlnum && par2col > parcol)
|
||||||
|
let parlnum = par2lnum
|
||||||
|
let parcol = par2col
|
||||||
|
endif
|
||||||
|
if par3lnum > parlnum || (par3lnum == parlnum && par3col > parcol)
|
||||||
|
let parlnum = par3lnum
|
||||||
|
let parcol = par3col
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Put the cursor on the match
|
||||||
|
if parlnum > 0
|
||||||
|
call cursor(parlnum, parcol)
|
||||||
|
endif
|
||||||
|
return parlnum
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Find the start of a multi-line statement
|
||||||
|
function! s:StatementStart(lnum)
|
||||||
|
let lnum = a:lnum
|
||||||
|
while 1
|
||||||
|
if getline(lnum - 1) =~ '\\$'
|
||||||
|
let lnum = lnum - 1
|
||||||
|
else
|
||||||
|
call cursor(lnum, 1)
|
||||||
|
let maybe_lnum = s:SearchParensPair()
|
||||||
|
if maybe_lnum < 1
|
||||||
|
return lnum
|
||||||
|
else
|
||||||
|
let lnum = maybe_lnum
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Find the block starter that matches the current line
|
||||||
|
function! s:BlockStarter(lnum, block_start_re)
|
||||||
|
let lnum = a:lnum
|
||||||
|
let maxindent = 10000 " whatever
|
||||||
|
while lnum > 1
|
||||||
|
let lnum = prevnonblank(lnum - 1)
|
||||||
|
if indent(lnum) < maxindent
|
||||||
|
if getline(lnum) =~ a:block_start_re
|
||||||
|
return lnum
|
||||||
|
else
|
||||||
|
let maxindent = indent(lnum)
|
||||||
|
" It's not worth going further if we reached the top level
|
||||||
|
if maxindent == 0
|
||||||
|
return -1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
return -1
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetPythonIndent(lnum)
|
||||||
|
|
||||||
|
" First line has indent 0
|
||||||
|
if a:lnum == 1
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If we can find an open parenthesis/bracket/brace, line up with it.
|
||||||
|
call cursor(a:lnum, 1)
|
||||||
|
let parlnum = s:SearchParensPair()
|
||||||
|
if parlnum > 0
|
||||||
|
let parcol = col('.')
|
||||||
|
let closing_paren = match(getline(a:lnum), '^\s*[])}]') != -1
|
||||||
|
if match(getline(parlnum), '[([{]\s*$', parcol - 1) != -1
|
||||||
|
if closing_paren
|
||||||
|
return indent(parlnum)
|
||||||
|
else
|
||||||
|
return indent(parlnum) + &shiftwidth
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if closing_paren
|
||||||
|
return parcol - 1
|
||||||
|
else
|
||||||
|
return parcol
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Examine this line
|
||||||
|
let thisline = getline(a:lnum)
|
||||||
|
let thisindent = indent(a:lnum)
|
||||||
|
|
||||||
|
" If the line starts with 'elif' or 'else', line up with 'if' or 'elif'
|
||||||
|
if thisline =~ '^\s*\(elif\|else\)\>'
|
||||||
|
let bslnum = s:BlockStarter(a:lnum, '^\s*\(if\|elif\)\>')
|
||||||
|
if bslnum > 0
|
||||||
|
return indent(bslnum)
|
||||||
|
else
|
||||||
|
return -1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If the line starts with 'except' or 'finally', line up with 'try'
|
||||||
|
" or 'except'
|
||||||
|
if thisline =~ '^\s*\(except\|finally\)\>'
|
||||||
|
let bslnum = s:BlockStarter(a:lnum, '^\s*\(try\|except\)\>')
|
||||||
|
if bslnum > 0
|
||||||
|
return indent(bslnum)
|
||||||
|
else
|
||||||
|
return -1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Examine previous line
|
||||||
|
let plnum = a:lnum - 1
|
||||||
|
let pline = getline(plnum)
|
||||||
|
let sslnum = s:StatementStart(plnum)
|
||||||
|
|
||||||
|
" If the previous line is blank, keep the same indentation
|
||||||
|
if pline =~ '^\s*$'
|
||||||
|
return -1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If this line is explicitly joined, try to find an indentation that looks
|
||||||
|
" good.
|
||||||
|
if pline =~ '\\$'
|
||||||
|
let compound_statement = '^\s*\(if\|while\|for\s.*\sin\|except\)\s*'
|
||||||
|
let maybe_indent = matchend(getline(sslnum), compound_statement)
|
||||||
|
if maybe_indent != -1
|
||||||
|
return maybe_indent
|
||||||
|
else
|
||||||
|
return indent(sslnum) + &sw * 2
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If the previous line ended with a colon, indent relative to
|
||||||
|
" statement start.
|
||||||
|
if pline =~ ':\s*$'
|
||||||
|
return indent(sslnum) + &sw
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If the previous line was a stop-execution statement or a pass
|
||||||
|
if getline(sslnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\)\>'
|
||||||
|
" See if the user has already dedented
|
||||||
|
if indent(a:lnum) > indent(sslnum) - &sw
|
||||||
|
" If not, recommend one dedent
|
||||||
|
return indent(sslnum) - &sw
|
||||||
|
endif
|
||||||
|
" Otherwise, trust the user
|
||||||
|
return -1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" In all other cases, line up with the start of the previous statement.
|
||||||
|
return indent(sslnum)
|
||||||
|
endfunction
|
39
dot.vim/indent/sass.vim
Normal file
39
dot.vim/indent/sass.vim
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
" Vim indent file
|
||||||
|
" Language: SASS
|
||||||
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
|
||||||
|
" Last Change: 2007 Dec 16
|
||||||
|
|
||||||
|
if exists("b:did_indent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
setlocal autoindent sw=2 et
|
||||||
|
setlocal indentexpr=GetSassIndent()
|
||||||
|
setlocal indentkeys=o,O,*<Return>,<:>,!^F
|
||||||
|
|
||||||
|
" Only define the function once.
|
||||||
|
if exists("*GetSassIndent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:property = '^\s*:\|^\s*[[:alnum:]-]\+\%(:\|\s*=\)'
|
||||||
|
|
||||||
|
function! GetSassIndent()
|
||||||
|
let lnum = prevnonblank(v:lnum-1)
|
||||||
|
let line = substitute(getline(lnum),'\s\+$','','')
|
||||||
|
let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','')
|
||||||
|
let lastcol = strlen(line)
|
||||||
|
let line = substitute(line,'^\s\+','','')
|
||||||
|
let indent = indent(lnum)
|
||||||
|
let cindent = indent(v:lnum)
|
||||||
|
if line !~ s:property && cline =~ s:property
|
||||||
|
return indent + &sw
|
||||||
|
"elseif line =~ s:property && cline !~ s:property
|
||||||
|
"return indent - &sw
|
||||||
|
else
|
||||||
|
return -1
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim:set sw=2:
|
83
dot.vim/indent/scala.vim
Normal file
83
dot.vim/indent/scala.vim
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
" Vim indent file
|
||||||
|
" Language : Scala (http://scala-lang.org/)
|
||||||
|
" Maintainer : Stefan Matthias Aust
|
||||||
|
" Last Change: 2006 Apr 13
|
||||||
|
|
||||||
|
if exists("b:did_indent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
setlocal indentexpr=GetScalaIndent()
|
||||||
|
|
||||||
|
setlocal indentkeys=0{,0},0),!^F,<>>,<CR>
|
||||||
|
|
||||||
|
setlocal autoindent sw=2 et
|
||||||
|
|
||||||
|
if exists("*GetScalaIndent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
function! CountParens(line)
|
||||||
|
let line = substitute(a:line, '"\(.\|\\"\)*"', '', 'g')
|
||||||
|
let open = substitute(line, '[^(]', '', 'g')
|
||||||
|
let close = substitute(line, '[^)]', '', 'g')
|
||||||
|
return strlen(open) - strlen(close)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetScalaIndent()
|
||||||
|
" Find a non-blank line above the current line.
|
||||||
|
let lnum = prevnonblank(v:lnum - 1)
|
||||||
|
|
||||||
|
" Hit the start of the file, use zero indent.
|
||||||
|
if lnum == 0
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
let ind = indent(lnum)
|
||||||
|
let prevline = getline(lnum)
|
||||||
|
|
||||||
|
"Indent html literals
|
||||||
|
if prevline !~ '/>\s*$' && prevline =~ '^\s*<[a-zA-Z][^>]*>\s*$'
|
||||||
|
return ind + &shiftwidth
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Add a 'shiftwidth' after lines that start a block
|
||||||
|
" If if, for or while end with ), this is a one-line block
|
||||||
|
" If val, var, def end with =, this is a one-line block
|
||||||
|
if prevline =~ '^\s*\<\(\(else\s\+\)\?if\|for\|while\|va[lr]\|def\)\>.*[)=]\s*$'
|
||||||
|
\ || prevline =~ '^\s*\<else\>\s*$'
|
||||||
|
\ || prevline =~ '{\s*$'
|
||||||
|
let ind = ind + &shiftwidth
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If parenthesis are unbalanced, indent or dedent
|
||||||
|
let c = CountParens(prevline)
|
||||||
|
echo c
|
||||||
|
if c > 0
|
||||||
|
let ind = ind + &shiftwidth
|
||||||
|
elseif c < 0
|
||||||
|
let ind = ind - &shiftwidth
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Dedent after if, for, while and val, var, def without block
|
||||||
|
let pprevline = getline(prevnonblank(lnum - 1))
|
||||||
|
if pprevline =~ '^\s*\<\(\(else\s\+\)\?if\|for\|while\|va[lr]\|def\)\>.*[)=]\s*$'
|
||||||
|
\ || pprevline =~ '^\s*\<else\>\s*$'
|
||||||
|
let ind = ind - &shiftwidth
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Align 'for' clauses nicely
|
||||||
|
if prevline =~ '^\s*\<for\> (.*;\s*$'
|
||||||
|
let ind = ind - &shiftwidth + 5
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Subtract a 'shiftwidth' on '}' or html
|
||||||
|
let thisline = getline(v:lnum)
|
||||||
|
if thisline =~ '^\s*[})]'
|
||||||
|
\ || thisline =~ '^\s*</[a-zA-Z][^>]*>'
|
||||||
|
let ind = ind - &shiftwidth
|
||||||
|
endif
|
||||||
|
|
||||||
|
return ind
|
||||||
|
endfunction
|
139
dot.vim/indent/tex.vim
Normal file
139
dot.vim/indent/tex.vim
Normal file
|
@ -0,0 +1,139 @@
|
||||||
|
" Vim indent file
|
||||||
|
" Language: LaTeX
|
||||||
|
" Maintainer: Johannes Tanzler <jtanzler@yline.com>
|
||||||
|
" Created: Sat, 16 Feb 2002 16:50:19 +0100
|
||||||
|
" Last Change: Sun, 17 Feb 2002 00:09:11 +0100
|
||||||
|
" Last Update: 18th feb 2002, by LH :
|
||||||
|
" (*) better support for the option
|
||||||
|
" (*) use some regex instead of several '||'.
|
||||||
|
" Version: 0.02
|
||||||
|
" URL: comming soon: http://www.unet.univie.ac.at/~a9925098/vim/indent/tex.vim
|
||||||
|
|
||||||
|
" --> If you're a Vim guru & and you find something that could be done in a
|
||||||
|
" better (perhaps in a more Vim-ish or Vi-ish) way, please let me know!
|
||||||
|
|
||||||
|
" Options: {{{
|
||||||
|
"
|
||||||
|
" To set the following options (ok, currently it's just one), add a line like
|
||||||
|
" let g:tex_indent_items = 1
|
||||||
|
" to your ~/.vimrc.
|
||||||
|
"
|
||||||
|
" * g:tex_indent_items
|
||||||
|
"
|
||||||
|
" If this variable is set, item-environments are indented like Emacs does
|
||||||
|
" it, i.e., continuation lines are indented with a shiftwidth.
|
||||||
|
"
|
||||||
|
" NOTE: I've already set the variable below; delete the corresponding line
|
||||||
|
" if you don't like this behaviour.
|
||||||
|
"
|
||||||
|
" Per default, it is unset.
|
||||||
|
"
|
||||||
|
" set unset
|
||||||
|
" ----------------------------------------------------------------
|
||||||
|
" \begin{itemize} \begin{itemize}
|
||||||
|
" \item blablabla \item blablabla
|
||||||
|
" bla bla bla bla bla bla
|
||||||
|
" \item blablabla \item blablabla
|
||||||
|
" bla bla bla bla bla bla
|
||||||
|
" \end{itemize} \end{itemize}
|
||||||
|
"
|
||||||
|
"
|
||||||
|
" This option applies to itemize, description, enumerate, and
|
||||||
|
" thebibliography.
|
||||||
|
"
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" Delete the next line to avoid the special indention of items
|
||||||
|
if !exists("g:tex_indent_items")
|
||||||
|
let g:tex_indent_items = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists("b:did_indent") | finish
|
||||||
|
endif
|
||||||
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
|
||||||
|
setlocal indentexpr=GetTeXIndent()
|
||||||
|
setlocal nolisp
|
||||||
|
setlocal nosmartindent
|
||||||
|
setlocal autoindent
|
||||||
|
setlocal indentkeys+=},=\\item,=\\bibitem
|
||||||
|
|
||||||
|
|
||||||
|
" Only define the function once
|
||||||
|
if exists("*GetTeXIndent") | finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function GetTeXIndent()
|
||||||
|
|
||||||
|
" Find a non-blank line above the current line.
|
||||||
|
let lnum = prevnonblank(v:lnum - 1)
|
||||||
|
|
||||||
|
" At the start of the file use zero indent.
|
||||||
|
if lnum == 0 | return 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
let ind = indent(lnum)
|
||||||
|
let line = getline(lnum) " last line
|
||||||
|
let cline = getline(v:lnum) " current line
|
||||||
|
|
||||||
|
" Do not change indentation of commented lines.
|
||||||
|
if line =~ '^\s*%'
|
||||||
|
return ind
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Add a 'shiftwidth' after beginning of environments.
|
||||||
|
" Don't add it for \begin{document} and \begin{verbatim}
|
||||||
|
""if line =~ '^\s*\\begin{\(.*\)}' && line !~ 'verbatim'
|
||||||
|
" LH modification : \begin does not always start a line
|
||||||
|
if line =~ '\\begin{\(.*\)}' && line !~ 'verbatim'
|
||||||
|
\ && line !~ 'document'
|
||||||
|
|
||||||
|
let ind = ind + &sw
|
||||||
|
|
||||||
|
if g:tex_indent_items == 1
|
||||||
|
" Add another sw for item-environments
|
||||||
|
if line =~ 'itemize\|description\|enumerate\|thebibliography'
|
||||||
|
let ind = ind + &sw
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
" Subtract a 'shiftwidth' when an environment ends
|
||||||
|
if cline =~ '^\s*\\end' && cline !~ 'verbatim'
|
||||||
|
\&& cline !~ 'document'
|
||||||
|
|
||||||
|
if g:tex_indent_items == 1
|
||||||
|
" Remove another sw for item-environments
|
||||||
|
if cline =~ 'itemize\|description\|enumerate\|thebibliography'
|
||||||
|
let ind = ind - &sw
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
let ind = ind - &sw
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
" Special treatment for 'item'
|
||||||
|
" ----------------------------
|
||||||
|
|
||||||
|
if g:tex_indent_items == 1
|
||||||
|
|
||||||
|
" '\item' or '\bibitem' itself:
|
||||||
|
if cline =~ '^\s*\\\(bib\)\=item'
|
||||||
|
let ind = ind - &sw
|
||||||
|
endif
|
||||||
|
|
||||||
|
" lines following to '\item' are intented once again:
|
||||||
|
if line =~ '^\s*\\\(bib\)\=item'
|
||||||
|
let ind = ind + &sw
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
return ind
|
||||||
|
endfunction
|
||||||
|
|
78
dot.vim/ltags
Executable file
78
dot.vim/ltags
Executable file
|
@ -0,0 +1,78 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
# Author: Dimitri Antoniou <dimitri@risc2.aecom.yu.edu>
|
||||||
|
# usage: ltags filename
|
||||||
|
# handles: \label and \cite{ } with one or more arguments
|
||||||
|
# fails if arguments of cite spread over more than one line
|
||||||
|
# also searches in files that are \include or \input in the main file
|
||||||
|
|
||||||
|
# get main LaTeX source file from command line:
|
||||||
|
$mainfile = shift;
|
||||||
|
|
||||||
|
# get names of included files and store them in an array
|
||||||
|
open MAIN, $mainfile or die "$!" ;
|
||||||
|
@mainfile=<MAIN>;
|
||||||
|
@allsrcfiles = map{ /^\\(?:input|include){(.*?)}/ } @mainfile;
|
||||||
|
unshift @allsrcfiles, $mainfile;
|
||||||
|
|
||||||
|
# loop over all source files
|
||||||
|
for $srcfile (@allsrcfiles) {
|
||||||
|
# if \input{fname} append .tex to fname
|
||||||
|
unless ( $srcfile =~ m/\.tex/ ) { $srcfile = $srcfile . "\.tex" }
|
||||||
|
open SRC, $srcfile or die "$!" ;
|
||||||
|
# store contents of source file in array @texfile
|
||||||
|
@texfile=<SRC>;
|
||||||
|
|
||||||
|
# store lines with \label and \cite (or \citeonline) in arrays
|
||||||
|
@labelList = grep{ /\\label{/ } @texfile;
|
||||||
|
@citeList = grep{ /\\(cite|citeonline){/ } @texfile;
|
||||||
|
|
||||||
|
# see if we use an external database; if yes, store its name in $bibfile
|
||||||
|
($dbase) = grep{ /^\\bibliography{/ } @texfile;
|
||||||
|
if ($dbase) {
|
||||||
|
$dbase =~ m/\\bibliography{(.*?)}/;
|
||||||
|
$bibfile = $1;
|
||||||
|
}
|
||||||
|
|
||||||
|
# write \bibitem in tags file
|
||||||
|
@mrefs=();
|
||||||
|
@refs=();
|
||||||
|
@multirefs=();
|
||||||
|
foreach (@citeList) {
|
||||||
|
while ( m/\\(?:cite|citeonline){(.*?)}/g ) {
|
||||||
|
$refs = $1;
|
||||||
|
# if \cite has more than one argument, split them:
|
||||||
|
if ($refs =~ /,/) {
|
||||||
|
@mrefs = split /,/, $refs;
|
||||||
|
# there might be more than one \cite in a line:
|
||||||
|
push (@multirefs, @mrefs);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
@refs = ($refs);
|
||||||
|
push (@multirefs, @refs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# in BibTeX, format is @ARTICLE{Name, }; in source file, \bibitem{Name}
|
||||||
|
for $ref (@multirefs) {
|
||||||
|
if ( $dbase ) {
|
||||||
|
push @unsorttag, "$ref\t$bibfile\t/{$ref,/\n"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
push @unsorttag, "$ref\t$srcfile\t/bibitem{$ref}/\n"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# write \label in tag file
|
||||||
|
foreach (@labelList) {
|
||||||
|
m/\\label{(.*?)}/;
|
||||||
|
push @unsorttag, "$1\t$srcfile\t/label{$1}/\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# sort tag file; then, eliminate duplicates
|
||||||
|
@sortedtag = sort @unsorttag;
|
||||||
|
%seen = ();
|
||||||
|
@uniqtag = grep { ! $seen{$_} ++ } @sortedtag;
|
||||||
|
|
||||||
|
open(TAGS, "> tags");
|
||||||
|
print TAGS @uniqtag;
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue