mirror of https://github.com/akelge/vim
Added trac support
This commit is contained in:
parent
ad45c77370
commit
0294ea6dab
|
@ -1,2 +1,3 @@
|
||||||
textformat.vba: call delete('/Users/andre/.vim/autoload/textformat.vim')|call delete('/Users/andre/.vim/doc/textformat.txt')|call delete('/Users/andre/.vim/plugin/textformat.vim')
|
textformat.vba: call delete('/Users/andre/.vim/autoload/textformat.vim')|call delete('/Users/andre/.vim/doc/textformat.txt')|call delete('/Users/andre/.vim/plugin/textformat.vim')
|
||||||
conque_2.0.vba: call delete('/Users/andre/.vim/doc/conque_term.txt')|call delete('/Users/andre/.vim/syntax/conque_term.vim')|call delete('/Users/andre/.vim/autoload/conque_term/conque_screen.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_win32_util.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_shared_memory.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_wrapper.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_communicator.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_globals.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term.vim')|call delete('/Users/andre/.vim/plugin/conque_term.vim')
|
conque_2.0.vba: call delete('/Users/andre/.vim/doc/conque_term.txt')|call delete('/Users/andre/.vim/syntax/conque_term.vim')|call delete('/Users/andre/.vim/autoload/conque_term/conque_screen.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_win32_util.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_shared_memory.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_wrapper.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_communicator.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_globals.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term.vim')|call delete('/Users/andre/.vim/plugin/conque_term.vim')
|
||||||
|
Align.vba: call delete('/Users/andre/.vim/plugin/AlignPlugin.vim')|call delete('/Users/andre/.vim/plugin/AlignMapsPlugin.vim')|call delete('/Users/andre/.vim/plugin/cecutil.vim')|call delete('/Users/andre/.vim/doc/Align.txt')|call delete('/Users/andre/.vim/autoload/Align.vim')|call delete('/Users/andre/.vim/autoload/AlignMaps.vim')
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,330 @@
|
||||||
|
" AlignMaps.vim : support functions for AlignMaps
|
||||||
|
" Author: Charles E. Campbell, Jr.
|
||||||
|
" Date: Mar 03, 2009
|
||||||
|
" Version: 41
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Load Once: {{{1
|
||||||
|
if &cp || exists("g:loaded_AlignMaps")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_AlignMaps= "v41"
|
||||||
|
let s:keepcpo = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
" =====================================================================
|
||||||
|
" Functions: {{{1
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" AlignMaps#WrapperStart: {{{2
|
||||||
|
fun! AlignMaps#WrapperStart(vis) range
|
||||||
|
" call Dfunc("AlignMaps#WrapperStart(vis=".a:vis.")")
|
||||||
|
|
||||||
|
if a:vis
|
||||||
|
norm! '<ma'>
|
||||||
|
endif
|
||||||
|
|
||||||
|
if line("'y") == 0 || line("'z") == 0 || !exists("s:alignmaps_wrapcnt") || s:alignmaps_wrapcnt <= 0
|
||||||
|
" call Decho("wrapper initialization")
|
||||||
|
let s:alignmaps_wrapcnt = 1
|
||||||
|
let s:alignmaps_keepgd = &gdefault
|
||||||
|
let s:alignmaps_keepsearch = @/
|
||||||
|
let s:alignmaps_keepch = &ch
|
||||||
|
let s:alignmaps_keepmy = SaveMark("'y")
|
||||||
|
let s:alignmaps_keepmz = SaveMark("'z")
|
||||||
|
let s:alignmaps_posn = SaveWinPosn(0)
|
||||||
|
" set up fencepost blank lines
|
||||||
|
put =''
|
||||||
|
norm! mz'a
|
||||||
|
put! =''
|
||||||
|
ky
|
||||||
|
let s:alignmaps_zline = line("'z")
|
||||||
|
exe "'y,'zs/@/\177/ge"
|
||||||
|
else
|
||||||
|
" call Decho("embedded wrapper")
|
||||||
|
let s:alignmaps_wrapcnt = s:alignmaps_wrapcnt + 1
|
||||||
|
norm! 'yjma'zk
|
||||||
|
endif
|
||||||
|
|
||||||
|
" change some settings to align-standard values
|
||||||
|
set nogd
|
||||||
|
set ch=2
|
||||||
|
AlignPush
|
||||||
|
norm! 'zk
|
||||||
|
" call Dret("AlignMaps#WrapperStart : alignmaps_wrapcnt=".s:alignmaps_wrapcnt." my=".line("'y")." mz=".line("'z"))
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" AlignMaps#WrapperEnd: {{{2
|
||||||
|
fun! AlignMaps#WrapperEnd() range
|
||||||
|
" call Dfunc("AlignMaps#WrapperEnd() alignmaps_wrapcnt=".s:alignmaps_wrapcnt." my=".line("'y")." mz=".line("'z"))
|
||||||
|
|
||||||
|
" remove trailing white space introduced by whatever in the modification zone
|
||||||
|
'y,'zs/ \+$//e
|
||||||
|
|
||||||
|
" restore AlignCtrl settings
|
||||||
|
AlignPop
|
||||||
|
|
||||||
|
let s:alignmaps_wrapcnt= s:alignmaps_wrapcnt - 1
|
||||||
|
if s:alignmaps_wrapcnt <= 0
|
||||||
|
" initial wrapper ending
|
||||||
|
exe "'y,'zs/\177/@/ge"
|
||||||
|
|
||||||
|
" if the 'z line hasn't moved, then go ahead and restore window position
|
||||||
|
let zstationary= s:alignmaps_zline == line("'z")
|
||||||
|
|
||||||
|
" remove fencepost blank lines.
|
||||||
|
" restore 'a
|
||||||
|
norm! 'yjmakdd'zdd
|
||||||
|
|
||||||
|
" restore original 'y, 'z, and window positioning
|
||||||
|
call RestoreMark(s:alignmaps_keepmy)
|
||||||
|
call RestoreMark(s:alignmaps_keepmz)
|
||||||
|
if zstationary > 0
|
||||||
|
call RestoreWinPosn(s:alignmaps_posn)
|
||||||
|
" call Decho("restored window positioning")
|
||||||
|
endif
|
||||||
|
|
||||||
|
" restoration of options
|
||||||
|
let &gd= s:alignmaps_keepgd
|
||||||
|
let &ch= s:alignmaps_keepch
|
||||||
|
let @/ = s:alignmaps_keepsearch
|
||||||
|
|
||||||
|
" remove script variables
|
||||||
|
unlet s:alignmaps_keepch
|
||||||
|
unlet s:alignmaps_keepsearch
|
||||||
|
unlet s:alignmaps_keepmy
|
||||||
|
unlet s:alignmaps_keepmz
|
||||||
|
unlet s:alignmaps_keepgd
|
||||||
|
unlet s:alignmaps_posn
|
||||||
|
endif
|
||||||
|
|
||||||
|
" call Dret("AlignMaps#WrapperEnd : alignmaps_wrapcnt=".s:alignmaps_wrapcnt." my=".line("'y")." mz=".line("'z"))
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" AlignMaps#StdAlign: some semi-standard align calls {{{2
|
||||||
|
fun! AlignMaps#StdAlign(mode) range
|
||||||
|
" call Dfunc("AlignMaps#StdAlign(mode=".a:mode.")")
|
||||||
|
if a:mode == 1
|
||||||
|
" align on @
|
||||||
|
" call Decho("align on @")
|
||||||
|
AlignCtrl mIp1P1=l @
|
||||||
|
'a,.Align
|
||||||
|
elseif a:mode == 2
|
||||||
|
" align on @, retaining all initial white space on each line
|
||||||
|
" call Decho("align on @, retaining all initial white space on each line")
|
||||||
|
AlignCtrl mWp1P1=l @
|
||||||
|
'a,.Align
|
||||||
|
elseif a:mode == 3
|
||||||
|
" like mode 2, but ignore /* */-style comments
|
||||||
|
" call Decho("like mode 2, but ignore /* */-style comments")
|
||||||
|
AlignCtrl v ^\s*/[/*]
|
||||||
|
AlignCtrl mWp1P1=l @
|
||||||
|
'a,.Align
|
||||||
|
else
|
||||||
|
echoerr "(AlignMaps) AlignMaps#StdAlign doesn't support mode#".a:mode
|
||||||
|
endif
|
||||||
|
" call Dret("AlignMaps#StdAlign")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" AlignMaps#CharJoiner: joins lines which end in the given character (spaces {{{2
|
||||||
|
" at end are ignored)
|
||||||
|
fun! AlignMaps#CharJoiner(chr)
|
||||||
|
" call Dfunc("AlignMaps#CharJoiner(chr=".a:chr.")")
|
||||||
|
let aline = line("'a")
|
||||||
|
let rep = line(".") - aline
|
||||||
|
while rep > 0
|
||||||
|
norm! 'a
|
||||||
|
while match(getline(aline),a:chr . "\s*$") != -1 && rep >= 0
|
||||||
|
" while = at end-of-line, delete it and join with next
|
||||||
|
norm! 'a$
|
||||||
|
j!
|
||||||
|
let rep = rep - 1
|
||||||
|
endwhile
|
||||||
|
" update rep(eat) count
|
||||||
|
let rep = rep - 1
|
||||||
|
if rep <= 0
|
||||||
|
" terminate loop if at end-of-block
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
" prepare for next line
|
||||||
|
norm! jma
|
||||||
|
let aline = line("'a")
|
||||||
|
endwhile
|
||||||
|
" call Dret("AlignMaps#CharJoiner")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" AlignMaps#Equals: supports \t= and \T= {{{2
|
||||||
|
fun! AlignMaps#Equals() range
|
||||||
|
" call Dfunc("AlignMaps#Equals()")
|
||||||
|
'a,'zs/\s\+\([*/+\-%|&\~^]\==\)/ \1/e
|
||||||
|
'a,'zs@ \+\([*/+\-%|&\~^]\)=@\1=@ge
|
||||||
|
'a,'zs/==/\="\<Char-0x0f>\<Char-0x0f>"/ge
|
||||||
|
'a,'zs/\([!<>:]\)=/\=submatch(1)."\<Char-0x0f>"/ge
|
||||||
|
norm g'zk
|
||||||
|
AlignCtrl mIp1P1=l =
|
||||||
|
AlignCtrl g =
|
||||||
|
'a,'z-1Align
|
||||||
|
'a,'z-1s@\([*/+\-%|&\~^!=]\)\( \+\)=@\2\1=@ge
|
||||||
|
'a,'z-1s/\( \+\);/;\1/ge
|
||||||
|
if &ft == "c" || &ft == "cpp"
|
||||||
|
" call Decho("exception for ".&ft)
|
||||||
|
'a,'z-1v/^\s*\/[*/]/s/\/[*/]/@&@/e
|
||||||
|
'a,'z-1v/^\s*\/[*/]/s/\*\//@&/e
|
||||||
|
if exists("g:mapleader")
|
||||||
|
exe "norm 'zk"
|
||||||
|
call AlignMaps#StdAlign(1)
|
||||||
|
else
|
||||||
|
exe "norm 'zk"
|
||||||
|
call AlignMaps#StdAlign(1)
|
||||||
|
endif
|
||||||
|
'y,'zs/^\(\s*\) @/\1/e
|
||||||
|
endif
|
||||||
|
'a,'z-1s/\%x0f/=/ge
|
||||||
|
'y,'zs/ @//eg
|
||||||
|
" call Dret("AlignMaps#Equals")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" AlignMaps#Afnc: useful for splitting one-line function beginnings {{{2
|
||||||
|
" into one line per argument format
|
||||||
|
fun! AlignMaps#Afnc()
|
||||||
|
" call Dfunc("AlignMaps#Afnc()")
|
||||||
|
|
||||||
|
" keep display quiet
|
||||||
|
let chkeep = &ch
|
||||||
|
let gdkeep = &gd
|
||||||
|
let vekeep = &ve
|
||||||
|
set ch=2 nogd ve=
|
||||||
|
|
||||||
|
" will use marks y,z ; save current values
|
||||||
|
let mykeep = SaveMark("'y")
|
||||||
|
let mzkeep = SaveMark("'z")
|
||||||
|
|
||||||
|
" Find beginning of function -- be careful to skip over comments
|
||||||
|
let cmmntid = synIDtrans(hlID("Comment"))
|
||||||
|
let stringid = synIDtrans(hlID("String"))
|
||||||
|
exe "norm! ]]"
|
||||||
|
while search(")","bW") != 0
|
||||||
|
" call Decho("line=".line(".")." col=".col("."))
|
||||||
|
let parenid= synIDtrans(synID(line("."),col("."),1))
|
||||||
|
if parenid != cmmntid && parenid != stringid
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
norm! %my
|
||||||
|
s/(\s*\(\S\)/(\r \1/e
|
||||||
|
exe "norm! `y%"
|
||||||
|
s/)\s*\(\/[*/]\)/)\r\1/e
|
||||||
|
exe "norm! `y%mz"
|
||||||
|
'y,'zs/\s\+$//e
|
||||||
|
'y,'zs/^\s\+//e
|
||||||
|
'y+1,'zs/^/ /
|
||||||
|
|
||||||
|
" insert newline after every comma only one parenthesis deep
|
||||||
|
sil! exe "norm! `y\<right>h"
|
||||||
|
let parens = 1
|
||||||
|
let cmmnt = 0
|
||||||
|
let cmmntline= -1
|
||||||
|
while parens >= 1
|
||||||
|
" call Decho("parens=".parens." @a=".@a)
|
||||||
|
exe 'norm! ma "ay`a '
|
||||||
|
if @a == "("
|
||||||
|
let parens= parens + 1
|
||||||
|
elseif @a == ")"
|
||||||
|
let parens= parens - 1
|
||||||
|
|
||||||
|
" comment bypass: /* ... */ or //...
|
||||||
|
elseif cmmnt == 0 && @a == '/'
|
||||||
|
let cmmnt= 1
|
||||||
|
elseif cmmnt == 1
|
||||||
|
if @a == '/'
|
||||||
|
let cmmnt = 2 " //...
|
||||||
|
let cmmntline= line(".")
|
||||||
|
elseif @a == '*'
|
||||||
|
let cmmnt= 3 " /*...
|
||||||
|
else
|
||||||
|
let cmmnt= 0
|
||||||
|
endif
|
||||||
|
elseif cmmnt == 2 && line(".") != cmmntline
|
||||||
|
let cmmnt = 0
|
||||||
|
let cmmntline= -1
|
||||||
|
elseif cmmnt == 3 && @a == '*'
|
||||||
|
let cmmnt= 4
|
||||||
|
elseif cmmnt == 4
|
||||||
|
if @a == '/'
|
||||||
|
let cmmnt= 0 " ...*/
|
||||||
|
elseif @a != '*'
|
||||||
|
let cmmnt= 3
|
||||||
|
endif
|
||||||
|
|
||||||
|
elseif @a == "," && parens == 1 && cmmnt == 0
|
||||||
|
exe "norm! i\<CR>\<Esc>"
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
norm! `y%mz%
|
||||||
|
sil! 'y,'zg/^\s*$/d
|
||||||
|
|
||||||
|
" perform substitutes to mark fields for Align
|
||||||
|
sil! 'y+1,'zv/^\//s/^\s\+\(\S\)/ \1/e
|
||||||
|
sil! 'y+1,'zv/^\//s/\(\S\)\s\+/\1 /eg
|
||||||
|
sil! 'y+1,'zv/^\//s/\* \+/*/ge
|
||||||
|
sil! 'y+1,'zv/^\//s/\w\zs\s*\*/ */ge
|
||||||
|
" func
|
||||||
|
" ws <- declaration -> <-ptr -> <-var-> <-[array][] -> <-glop-> <-end->
|
||||||
|
sil! 'y+1,'zv/^\//s/^\s*\(\(\K\k*\s*\)\+\)\s\+\([(*]*\)\s*\(\K\k*\)\s*\(\(\[.\{-}]\)*\)\s*\(.\{-}\)\=\s*\([,)]\)\s*$/ \1@#\3@\4\5@\7\8/e
|
||||||
|
sil! 'y+1,'z+1g/^\s*\/[*/]/norm! kJ
|
||||||
|
sil! 'y+1,'z+1s%/[*/]%@&@%ge
|
||||||
|
sil! 'y+1,'z+1s%*/%@&%ge
|
||||||
|
AlignCtrl mIp0P0=l @
|
||||||
|
sil! 'y+1,'zAlign
|
||||||
|
sil! 'y,'zs%@\(/[*/]\)@%\t\1 %e
|
||||||
|
sil! 'y,'zs%@\*/% */%e
|
||||||
|
sil! 'y,'zs/@\([,)]\)/\1/
|
||||||
|
sil! 'y,'zs/@/ /
|
||||||
|
AlignCtrl mIlrp0P0= # @
|
||||||
|
sil! 'y+1,'zAlign
|
||||||
|
sil! 'y+1,'zs/#/ /
|
||||||
|
sil! 'y+1,'zs/@//
|
||||||
|
sil! 'y+1,'zs/\(\s\+\)\([,)]\)/\2\1/e
|
||||||
|
|
||||||
|
" Restore
|
||||||
|
call RestoreMark(mykeep)
|
||||||
|
call RestoreMark(mzkeep)
|
||||||
|
let &ch= chkeep
|
||||||
|
let &gd= gdkeep
|
||||||
|
let &ve= vekeep
|
||||||
|
|
||||||
|
" call Dret("AlignMaps#Afnc")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" AlignMaps#FixMultiDec: converts a type arg,arg,arg; line to multiple lines {{{2
|
||||||
|
fun! AlignMaps#FixMultiDec()
|
||||||
|
" call Dfunc("AlignMaps#FixMultiDec()")
|
||||||
|
|
||||||
|
" save register x
|
||||||
|
let xkeep = @x
|
||||||
|
let curline = getline(".")
|
||||||
|
" call Decho("curline<".curline.">")
|
||||||
|
|
||||||
|
" Get the type. I'm assuming one type per line (ie. int x; double y; on one line will not be handled properly)
|
||||||
|
let @x=substitute(curline,'^\(\s*[a-zA-Z_ \t][a-zA-Z0-9_ \t]*\)\s\+[(*]*\h.*$','\1','')
|
||||||
|
" call Decho("@x<".@x.">")
|
||||||
|
|
||||||
|
" transform line
|
||||||
|
exe 's/,/;\r'.@x.' /ge'
|
||||||
|
|
||||||
|
"restore register x
|
||||||
|
let @x= xkeep
|
||||||
|
|
||||||
|
" call Dret("AlignMaps#FixMultiDec : my=".line("'y")." mz=".line("'z"))
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Restore: {{{1
|
||||||
|
let &cpo= s:keepcpo
|
||||||
|
unlet s:keepcpo
|
||||||
|
" vim: ts=4 fdm=marker
|
File diff suppressed because it is too large
Load Diff
171
vim/doc/tags
171
vim/doc/tags
|
@ -75,6 +75,46 @@
|
||||||
:NERDTreeFromBookmark NERD_tree.txt /*:NERDTreeFromBookmark*
|
:NERDTreeFromBookmark NERD_tree.txt /*:NERDTreeFromBookmark*
|
||||||
:NERDTreeMirror NERD_tree.txt /*:NERDTreeMirror*
|
:NERDTreeMirror NERD_tree.txt /*:NERDTreeMirror*
|
||||||
:NERDTreeToggle NERD_tree.txt /*:NERDTreeToggle*
|
:NERDTreeToggle NERD_tree.txt /*:NERDTreeToggle*
|
||||||
|
:TChangesetOpen trac.txt /*:TChangesetOpen*
|
||||||
|
:TTAddComment trac.txt /*:TTAddComment*
|
||||||
|
:TTClearAllFilters trac.txt /*:TTClearAllFilters*
|
||||||
|
:TTClearFilter trac.txt /*:TTClearFilter*
|
||||||
|
:TTFilterComponent trac.txt /*:TTFilterComponent*
|
||||||
|
:TTFilterMilestone trac.txt /*:TTFilterMilestone*
|
||||||
|
:TTFilterNoMilestone trac.txt /*:TTFilterNoMilestone*
|
||||||
|
:TTFilterNoOwner trac.txt /*:TTFilterNoOwner*
|
||||||
|
:TTFilterOwner trac.txt /*:TTFilterOwner*
|
||||||
|
:TTFilterPriority trac.txt /*:TTFilterPriority*
|
||||||
|
:TTFilterResolution trac.txt /*:TTFilterResolution*
|
||||||
|
:TTFilterSeverity trac.txt /*:TTFilterSeverity*
|
||||||
|
:TTFilterStatus trac.txt /*:TTFilterStatus*
|
||||||
|
:TTFilterType trac.txt /*:TTFilterType*
|
||||||
|
:TTIgnoreComponent trac.txt /*:TTIgnoreComponent*
|
||||||
|
:TTIgnoreMilestone trac.txt /*:TTIgnoreMilestone*
|
||||||
|
:TTIgnoreNoMilestone trac.txt /*:TTIgnoreNoMilestone*
|
||||||
|
:TTIgnoreNoOwner trac.txt /*:TTIgnoreNoOwner*
|
||||||
|
:TTIgnoreOwner trac.txt /*:TTIgnoreOwner*
|
||||||
|
:TTIgnorePriority trac.txt /*:TTIgnorePriority*
|
||||||
|
:TTIgnoreResolution trac.txt /*:TTIgnoreResolution*
|
||||||
|
:TTIgnoreSeverity trac.txt /*:TTIgnoreSeverity*
|
||||||
|
:TTIgnoreStatus trac.txt /*:TTIgnoreStatus*
|
||||||
|
:TTIgnoreType trac.txt /*:TTIgnoreType*
|
||||||
|
:TTLServer trac.txt /*:TTLServer*
|
||||||
|
:TTListFilters trac.txt /*:TTListFilters*
|
||||||
|
:TTOpen trac.txt /*:TTOpen*
|
||||||
|
:TTPreview trac.txt /*:TTPreview*
|
||||||
|
:TTServer trac.txt /*:TTServer*
|
||||||
|
:TTSet trac.txt /*:TTSet*
|
||||||
|
:TTSortby trac.txt /*:TTSortby*
|
||||||
|
:TTUpdateDescrption trac.txt /*:TTUpdateDescrption*
|
||||||
|
:TTimelineOpen trac.txt /*:TTimelineOpen*
|
||||||
|
:TWAddAttachment trac.txt /*:TWAddAttachment*
|
||||||
|
:TWGetAttachment trac.txt /*:TWGetAttachment*
|
||||||
|
:TWOpen trac.txt /*:TWOpen*
|
||||||
|
:TWPreview trac.txt /*:TWPreview*
|
||||||
|
:TWSave trac.txt /*:TWSave*
|
||||||
|
:TWServer trac.txt /*:TWServer*
|
||||||
|
:TWVimDiff trac.txt /*:TWVimDiff*
|
||||||
:TlistAddFiles taglist.txt /*:TlistAddFiles*
|
:TlistAddFiles taglist.txt /*:TlistAddFiles*
|
||||||
:TlistAddFilesRecursive taglist.txt /*:TlistAddFilesRecursive*
|
:TlistAddFilesRecursive taglist.txt /*:TlistAddFilesRecursive*
|
||||||
:TlistClose taglist.txt /*:TlistClose*
|
:TlistClose taglist.txt /*:TlistClose*
|
||||||
|
@ -108,6 +148,7 @@
|
||||||
:VCSUnlock vcscommand.txt /*:VCSUnlock*
|
:VCSUnlock vcscommand.txt /*:VCSUnlock*
|
||||||
:VCSUpdate vcscommand.txt /*:VCSUpdate*
|
:VCSUpdate vcscommand.txt /*:VCSUpdate*
|
||||||
:VCSVimDiff vcscommand.txt /*:VCSVimDiff*
|
:VCSVimDiff vcscommand.txt /*:VCSVimDiff*
|
||||||
|
Align-copyright Align.txt /*Align-copyright*
|
||||||
ConqueTerm conque_term.txt /*ConqueTerm*
|
ConqueTerm conque_term.txt /*ConqueTerm*
|
||||||
ConqueTerm_CWInsert conque_term.txt /*ConqueTerm_CWInsert*
|
ConqueTerm_CWInsert conque_term.txt /*ConqueTerm_CWInsert*
|
||||||
ConqueTerm_CloseOnEnd conque_term.txt /*ConqueTerm_CloseOnEnd*
|
ConqueTerm_CloseOnEnd conque_term.txt /*ConqueTerm_CloseOnEnd*
|
||||||
|
@ -210,6 +251,13 @@ NERD_commenter.txt NERD_commenter.txt /*NERD_commenter.txt*
|
||||||
NERD_tree.txt NERD_tree.txt /*NERD_tree.txt*
|
NERD_tree.txt NERD_tree.txt /*NERD_tree.txt*
|
||||||
OpenFilemanager open_terminal.txt /*OpenFilemanager*
|
OpenFilemanager open_terminal.txt /*OpenFilemanager*
|
||||||
OpenTerminal open_terminal.txt /*OpenTerminal*
|
OpenTerminal open_terminal.txt /*OpenTerminal*
|
||||||
|
TSearch trac.txt /*TSearch*
|
||||||
|
TTAddAttachment trac.txt /*TTAddAttachment*
|
||||||
|
TTCreateDefect trac.txt /*TTCreateDefect*
|
||||||
|
TTCreateEnhancement trac.txt /*TTCreateEnhancement*
|
||||||
|
TTCreateTask trac.txt /*TTCreateTask*
|
||||||
|
TTLoadTicketSession trac.txt /*TTLoadTicketSession*
|
||||||
|
TTSaveTicketSession trac.txt /*TTSaveTicketSession*
|
||||||
Tlist_Get_Tag_Prototype_By_Line() taglist.txt /*Tlist_Get_Tag_Prototype_By_Line()*
|
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_Get_Tagname_By_Line() taglist.txt /*Tlist_Get_Tagname_By_Line()*
|
||||||
Tlist_Set_App() taglist.txt /*Tlist_Set_App()*
|
Tlist_Set_App() taglist.txt /*Tlist_Set_App()*
|
||||||
|
@ -234,6 +282,90 @@ VCSCommandSVNDiffOpt vcscommand.txt /*VCSCommandSVNDiffOpt*
|
||||||
VCSCommandSVNExec vcscommand.txt /*VCSCommandSVNExec*
|
VCSCommandSVNExec vcscommand.txt /*VCSCommandSVNExec*
|
||||||
VCSCommandSplit vcscommand.txt /*VCSCommandSplit*
|
VCSCommandSplit vcscommand.txt /*VCSCommandSplit*
|
||||||
VCSCommandVCSTypeOverride vcscommand.txt /*VCSCommandVCSTypeOverride*
|
VCSCommandVCSTypeOverride vcscommand.txt /*VCSCommandVCSTypeOverride*
|
||||||
|
align Align.txt /*align*
|
||||||
|
align-align Align.txt /*align-align*
|
||||||
|
align-codepoint Align.txt /*align-codepoint*
|
||||||
|
align-command Align.txt /*align-command*
|
||||||
|
align-commands Align.txt /*align-commands*
|
||||||
|
align-concept Align.txt /*align-concept*
|
||||||
|
align-concepts Align.txt /*align-concepts*
|
||||||
|
align-contents Align.txt /*align-contents*
|
||||||
|
align-control Align.txt /*align-control*
|
||||||
|
align-history Align.txt /*align-history*
|
||||||
|
align-manual Align.txt /*align-manual*
|
||||||
|
align-maps Align.txt /*align-maps*
|
||||||
|
align-multibyte Align.txt /*align-multibyte*
|
||||||
|
align-option Align.txt /*align-option*
|
||||||
|
align-options Align.txt /*align-options*
|
||||||
|
align-strlen Align.txt /*align-strlen*
|
||||||
|
align-usage Align.txt /*align-usage*
|
||||||
|
align-userguide Align.txt /*align-userguide*
|
||||||
|
align-utf Align.txt /*align-utf*
|
||||||
|
align-utf8 Align.txt /*align-utf8*
|
||||||
|
align.txt Align.txt /*align.txt*
|
||||||
|
alignctrl Align.txt /*alignctrl*
|
||||||
|
alignctrl- Align.txt /*alignctrl-*
|
||||||
|
alignctrl-+ Align.txt /*alignctrl-+*
|
||||||
|
alignctrl-- Align.txt /*alignctrl--*
|
||||||
|
alignctrl-: Align.txt /*alignctrl-:*
|
||||||
|
alignctrl-< Align.txt /*alignctrl-<*
|
||||||
|
alignctrl-= Align.txt /*alignctrl-=*
|
||||||
|
alignctrl-> Align.txt /*alignctrl->*
|
||||||
|
alignctrl-C Align.txt /*alignctrl-C*
|
||||||
|
alignctrl-I Align.txt /*alignctrl-I*
|
||||||
|
alignctrl-P Align.txt /*alignctrl-P*
|
||||||
|
alignctrl-W Align.txt /*alignctrl-W*
|
||||||
|
alignctrl-c Align.txt /*alignctrl-c*
|
||||||
|
alignctrl-g Align.txt /*alignctrl-g*
|
||||||
|
alignctrl-l Align.txt /*alignctrl-l*
|
||||||
|
alignctrl-m Align.txt /*alignctrl-m*
|
||||||
|
alignctrl-no-option Align.txt /*alignctrl-no-option*
|
||||||
|
alignctrl-p Align.txt /*alignctrl-p*
|
||||||
|
alignctrl-r Align.txt /*alignctrl-r*
|
||||||
|
alignctrl-separators Align.txt /*alignctrl-separators*
|
||||||
|
alignctrl-settings Align.txt /*alignctrl-settings*
|
||||||
|
alignctrl-v Align.txt /*alignctrl-v*
|
||||||
|
alignctrl-w Align.txt /*alignctrl-w*
|
||||||
|
alignman Align.txt /*alignman*
|
||||||
|
alignmanual Align.txt /*alignmanual*
|
||||||
|
alignmap-Htd Align.txt /*alignmap-Htd*
|
||||||
|
alignmap-T= Align.txt /*alignmap-T=*
|
||||||
|
alignmap-Tsp Align.txt /*alignmap-Tsp*
|
||||||
|
alignmap-a( Align.txt /*alignmap-a(*
|
||||||
|
alignmap-a, Align.txt /*alignmap-a,*
|
||||||
|
alignmap-a< Align.txt /*alignmap-a<*
|
||||||
|
alignmap-a= Align.txt /*alignmap-a=*
|
||||||
|
alignmap-a? Align.txt /*alignmap-a?*
|
||||||
|
alignmap-abox Align.txt /*alignmap-abox*
|
||||||
|
alignmap-acom Align.txt /*alignmap-acom*
|
||||||
|
alignmap-adcom Align.txt /*alignmap-adcom*
|
||||||
|
alignmap-adec Align.txt /*alignmap-adec*
|
||||||
|
alignmap-adef Align.txt /*alignmap-adef*
|
||||||
|
alignmap-afnc Align.txt /*alignmap-afnc*
|
||||||
|
alignmap-anum Align.txt /*alignmap-anum*
|
||||||
|
alignmap-aocom Align.txt /*alignmap-aocom*
|
||||||
|
alignmap-ascom Align.txt /*alignmap-ascom*
|
||||||
|
alignmap-history Align.txt /*alignmap-history*
|
||||||
|
alignmap-m= Align.txt /*alignmap-m=*
|
||||||
|
alignmap-t# Align.txt /*alignmap-t#*
|
||||||
|
alignmap-t, Align.txt /*alignmap-t,*
|
||||||
|
alignmap-t: Align.txt /*alignmap-t:*
|
||||||
|
alignmap-t; Align.txt /*alignmap-t;*
|
||||||
|
alignmap-t< Align.txt /*alignmap-t<*
|
||||||
|
alignmap-t= Align.txt /*alignmap-t=*
|
||||||
|
alignmap-t? Align.txt /*alignmap-t?*
|
||||||
|
alignmap-tab Align.txt /*alignmap-tab*
|
||||||
|
alignmap-tml Align.txt /*alignmap-tml*
|
||||||
|
alignmap-ts, Align.txt /*alignmap-ts,*
|
||||||
|
alignmap-ts: Align.txt /*alignmap-ts:*
|
||||||
|
alignmap-ts< Align.txt /*alignmap-ts<*
|
||||||
|
alignmap-ts= Align.txt /*alignmap-ts=*
|
||||||
|
alignmap-tsp Align.txt /*alignmap-tsp*
|
||||||
|
alignmap-tsq Align.txt /*alignmap-tsq*
|
||||||
|
alignmap-tt Align.txt /*alignmap-tt*
|
||||||
|
alignmap-t~ Align.txt /*alignmap-t~*
|
||||||
|
alignmaps Align.txt /*alignmaps*
|
||||||
|
alignusage Align.txt /*alignusage*
|
||||||
b:VCSCommandCommand vcscommand.txt /*b:VCSCommandCommand*
|
b:VCSCommandCommand vcscommand.txt /*b:VCSCommandCommand*
|
||||||
b:VCSCommandOriginalBuffer vcscommand.txt /*b:VCSCommandOriginalBuffer*
|
b:VCSCommandOriginalBuffer vcscommand.txt /*b:VCSCommandOriginalBuffer*
|
||||||
b:VCSCommandSourceFile vcscommand.txt /*b:VCSCommandSourceFile*
|
b:VCSCommandSourceFile vcscommand.txt /*b:VCSCommandSourceFile*
|
||||||
|
@ -312,6 +444,45 @@ textformat-history textformat.txt /*textformat-history*
|
||||||
textformat-keymap textformat.txt /*textformat-keymap*
|
textformat-keymap textformat.txt /*textformat-keymap*
|
||||||
textformat-start textformat.txt /*textformat-start*
|
textformat-start textformat.txt /*textformat-start*
|
||||||
textformat.txt textformat.txt /*textformat.txt*
|
textformat.txt textformat.txt /*textformat.txt*
|
||||||
|
trac-changeset-view trac.txt /*trac-changeset-view*
|
||||||
|
trac-format trac.txt /*trac-format*
|
||||||
|
trac-format-blockquotes trac.txt /*trac-format-blockquotes*
|
||||||
|
trac-format-definition trac.txt /*trac-format-definition*
|
||||||
|
trac-format-discussion trac.txt /*trac-format-discussion*
|
||||||
|
trac-format-font trac.txt /*trac-format-font*
|
||||||
|
trac-format-headings trac.txt /*trac-format-headings*
|
||||||
|
trac-format-images trac.txt /*trac-format-images*
|
||||||
|
trac-format-links trac.txt /*trac-format-links*
|
||||||
|
trac-format-lists trac.txt /*trac-format-lists*
|
||||||
|
trac-format-macros trac.txt /*trac-format-macros*
|
||||||
|
trac-format-misc trac.txt /*trac-format-misc*
|
||||||
|
trac-format-nolink trac.txt /*trac-format-nolink*
|
||||||
|
trac-format-notes trac.txt /*trac-format-notes*
|
||||||
|
trac-format-paragraphs trac.txt /*trac-format-paragraphs*
|
||||||
|
trac-format-preformatted trac.txt /*trac-format-preformatted*
|
||||||
|
trac-format-processors trac.txt /*trac-format-processors*
|
||||||
|
trac-format-tables trac.txt /*trac-format-tables*
|
||||||
|
trac-format-traclinks trac.txt /*trac-format-traclinks*
|
||||||
|
trac-requirements trac.txt /*trac-requirements*
|
||||||
|
trac-search-view trac.txt /*trac-search-view*
|
||||||
|
trac-server trac.txt /*trac-server*
|
||||||
|
trac-setup trac.txt /*trac-setup*
|
||||||
|
trac-ticket-attachments trac.txt /*trac-ticket-attachments*
|
||||||
|
trac-ticket-changes trac.txt /*trac-ticket-changes*
|
||||||
|
trac-ticket-comments trac.txt /*trac-ticket-comments*
|
||||||
|
trac-ticket-create trac.txt /*trac-ticket-create*
|
||||||
|
trac-ticket-filters trac.txt /*trac-ticket-filters*
|
||||||
|
trac-ticket-session trac.txt /*trac-ticket-session*
|
||||||
|
trac-ticket-sorting trac.txt /*trac-ticket-sorting*
|
||||||
|
trac-ticket-view trac.txt /*trac-ticket-view*
|
||||||
|
trac-timeline-view trac.txt /*trac-timeline-view*
|
||||||
|
trac-wiki-attachments trac.txt /*trac-wiki-attachments*
|
||||||
|
trac-wiki-diff trac.txt /*trac-wiki-diff*
|
||||||
|
trac-wiki-editing trac.txt /*trac-wiki-editing*
|
||||||
|
trac-wiki-htmlpreview trac.txt /*trac-wiki-htmlpreview*
|
||||||
|
trac-wiki-save trac.txt /*trac-wiki-save*
|
||||||
|
trac-wiki-view trac.txt /*trac-wiki-view*
|
||||||
|
trac.txt trac.txt /*trac.txt*
|
||||||
vcscommand vcscommand.txt /*vcscommand*
|
vcscommand vcscommand.txt /*vcscommand*
|
||||||
vcscommand-buffer-management vcscommand.txt /*vcscommand-buffer-management*
|
vcscommand-buffer-management vcscommand.txt /*vcscommand-buffer-management*
|
||||||
vcscommand-buffer-variables vcscommand.txt /*vcscommand-buffer-variables*
|
vcscommand-buffer-variables vcscommand.txt /*vcscommand-buffer-variables*
|
||||||
|
|
|
@ -0,0 +1,627 @@
|
||||||
|
*trac.txt*
|
||||||
|
|
||||||
|
Vimtrac Usage Notes
|
||||||
|
|
||||||
|
1. System Requirements |trac-requirements|
|
||||||
|
2. Setup |trac-setup|
|
||||||
|
3. Server Selection |trac-server|
|
||||||
|
4. Wiki Viewing / Editing |trac-wiki-view|
|
||||||
|
4.1 Wiki Browsing/Editing |trac-wiki-editing|
|
||||||
|
4.2. Adding/ Retrieving an Attachment |trac-wiki-attachments|
|
||||||
|
4.3. HTML Preview |trac-wiki-htmlpreview|
|
||||||
|
4.4. Saving Wiki's |trac-wiki-save|
|
||||||
|
4.5 Wiki Vim Diffs |trac-wiki-diff|
|
||||||
|
5. Trac Ticket View |trac-ticket-view|
|
||||||
|
5.1 Ticket Filters |trac-ticket-filters|
|
||||||
|
5.1.1 Ticket Sorting |trac-ticket-sorting|
|
||||||
|
5.2. Adding Comments |trac-ticket-comments|
|
||||||
|
5.3. Changing ticket states |trac-ticket-changes|
|
||||||
|
5.4. Creating Tickets |trac-ticket-create|
|
||||||
|
5.5. Adding/Retrieving attachments |trac-ticket-attachments|
|
||||||
|
5.6 Ticket Sessions |trac-ticket-session|
|
||||||
|
6. Trac Search View |trac-search-view|
|
||||||
|
7. Changeset View |trac-changeset-view|
|
||||||
|
8. Timeline View |trac-timeline-view|
|
||||||
|
9. WikiFormatting |trac-wiki-formatting|
|
||||||
|
9.1 Font Styles |trac-format-font|
|
||||||
|
9.1 Notes: |trac-format-notes|
|
||||||
|
9.2 Headings |trac-format-headings|
|
||||||
|
9.3 Paragraphs |trac-format-paragraphs|
|
||||||
|
9.4 Lists |trac-format-lists|
|
||||||
|
9.4 Definition Lists |trac-format-definition|
|
||||||
|
9.5 Preformatted Text |trac-format-preformatted|
|
||||||
|
9.6 Blockquotes |trac-format-blockquotes|
|
||||||
|
9.7 Discussion Citations |trac-format-discussion|
|
||||||
|
9.8 Tables |trac-format-tables|
|
||||||
|
9.9 Links |trac-format-links|
|
||||||
|
9.9.1 Trac Links |trac-format-traclinks|
|
||||||
|
9.10 Escaping Links and WikiPageNames |trac-format-nolink|
|
||||||
|
9.11 Images |trac-format-images|
|
||||||
|
9.12 Macros |trac-format-macros|
|
||||||
|
9.13 Processors |trac-format-processors|
|
||||||
|
9.14 Miscellaneous |trac-format-misc|
|
||||||
|
================================================================================
|
||||||
|
1. System Requirements *trac-requirements*
|
||||||
|
|
||||||
|
You must have a working Trac repository version 0.10 or later complete with
|
||||||
|
the xmlrpc plugin and a user with suitable access rights.
|
||||||
|
|
||||||
|
Vim must be compiled with python support and your client must have python
|
||||||
|
2.4.4 or later
|
||||||
|
|
||||||
|
To use the summary view you need to have the Align plugin installed for the
|
||||||
|
layout.
|
||||||
|
|
||||||
|
http://www.vim.org/scripts/script.php?script_id=294
|
||||||
|
================================================================================
|
||||||
|
2. Setup *trac-setup*
|
||||||
|
|
||||||
|
You need to create a list of trac servers using this format in your vimrc.
|
||||||
|
|
||||||
|
"let g:tracServerList = {}
|
||||||
|
"let g:tracServerList['(Server Name)'] =
|
||||||
|
\'http://(user):(password)@(trac serverpath)/login/xmlrpc'
|
||||||
|
|
||||||
|
Check out
|
||||||
|
|
||||||
|
http://www.ascetinteractive.com.au/vimtrac/wiki/UsageNotes and
|
||||||
|
http://www.ascetinteractive.com.au/vimtrac/wiki/TricksAndTips
|
||||||
|
|
||||||
|
for more up to date notes
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
3. Server Selection *trac-server*
|
||||||
|
|
||||||
|
|
||||||
|
:TWServer [ServerName] *:TWServer*
|
||||||
|
:TTServer [ServerName] *:TTServer*
|
||||||
|
:TTLServer [ServerName] *:TTLServer*
|
||||||
|
|
||||||
|
Sets the current trac server where the
|
||||||
|
The <tab> key will cycle through available servers.
|
||||||
|
|
||||||
|
The wiki (TW), ticket (TT) and timeline (TTL) vaiations will open the
|
||||||
|
respective views
|
||||||
|
================================================================================
|
||||||
|
4. Wiki Viewing / Editing *trac-wiki-view*
|
||||||
|
|
||||||
|
The Trac Wiki view is for browsing an editing a trac websites wiki pages.
|
||||||
|
|
||||||
|
*:TWOpen*
|
||||||
|
|
||||||
|
To open the wiki view use the command :TWOpen [OptionalWikiPage]
|
||||||
|
|
||||||
|
If no page argument is given the plugin will open the main page WikiStart
|
||||||
|
by default
|
||||||
|
|
||||||
|
4.1. Browsing/Editing *trac-wiki-editing*
|
||||||
|
|
||||||
|
The WIKITOC_WINDOW will show a list of pages. Scrolling up and down and
|
||||||
|
Pressing <return> on a page will open the selected page in the WIKI_WINDOW
|
||||||
|
|
||||||
|
Pressing <space> over the page in the WIKITOC_WINDOW will display the page
|
||||||
|
in a browser
|
||||||
|
|
||||||
|
Trac sites usually have a bunch of in built pages Trac* or Wiki* you can
|
||||||
|
hide these from view by setting the global variable in your vimrc. let
|
||||||
|
g:tracHideTracWiki = 'yes'
|
||||||
|
|
||||||
|
At the moment this is done with a simple regexp so if you name your own
|
||||||
|
pages Trac... or Wiki... they will not appear on the Table of Contents.
|
||||||
|
|
||||||
|
You can also load a page by pressing the usual tag jump <c-]> to open the
|
||||||
|
page under the cursor. At the moment theres no page name validation so it
|
||||||
|
will throw an error if you try an open a nonexistant page.
|
||||||
|
|
||||||
|
4.2. Adding/ Retrieving an Attachment *trac-wiki-attachments*
|
||||||
|
|
||||||
|
:TWAddAttachment [file_path] *:TWAddAttachment*
|
||||||
|
|
||||||
|
adds an attachment to the current active wiki page
|
||||||
|
|
||||||
|
:TWGetAttachment [file] *:TWGetAttachment*
|
||||||
|
|
||||||
|
gets an attachment from the active Wiki Page and save it to the current
|
||||||
|
working directory.
|
||||||
|
|
||||||
|
If a Wiki page opened contains attachments The Wiki Attachment window will
|
||||||
|
appear. Attachments can be downloaded by hovering over the desired
|
||||||
|
attachment and pressing <enter>
|
||||||
|
|
||||||
|
4.3. HTML Preview *trac-wiki-htmlpreview*
|
||||||
|
|
||||||
|
:TTPreview *:TWPreview* *:TTPreview*
|
||||||
|
|
||||||
|
displays the current wiki in html preview (only tested on lynx set
|
||||||
|
g:tracBrowser)
|
||||||
|
|
||||||
|
You can also use the shortcut <leader>tp
|
||||||
|
|
||||||
|
4.4. Saving Wiki's *trac-wiki-save*
|
||||||
|
|
||||||
|
To save a page you can type in the command view
|
||||||
|
:TWSave [optional_wiki_update_comment] *:TWSave*
|
||||||
|
|
||||||
|
Alternatively you can quickly save a page with your regular :wq<cr> or :w<cr>
|
||||||
|
which I've mapped to perform the TWSave? command.
|
||||||
|
|
||||||
|
Exiting Trac Wiki View
|
||||||
|
|
||||||
|
Exiting is done by either the command
|
||||||
|
|
||||||
|
:TClose, :wq<cr> or :q<cr> in either of the wiki windows
|
||||||
|
|
||||||
|
4.5 Wiki Vim Diffs *trac-wiki-diff*
|
||||||
|
|
||||||
|
:TWVimDiff <revision no> *:TWVimDiff*
|
||||||
|
|
||||||
|
Opens a vertical split diff The current wiki's <revision no>. If theres
|
||||||
|
no argument supplied it will be the previous revision.
|
||||||
|
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
5. Trac Ticket View *trac-ticket-view*
|
||||||
|
|
||||||
|
The Trac ticket view is you browse trac tickets
|
||||||
|
|
||||||
|
Opening
|
||||||
|
|
||||||
|
:TTOpen [optional_ticket_id] *:TTOpen*
|
||||||
|
|
||||||
|
Browsing
|
||||||
|
|
||||||
|
You can scroll up and down the ticket list. Pressing enter will load the
|
||||||
|
ticket id under the cursor.
|
||||||
|
|
||||||
|
|
||||||
|
5.1 Ticket Filters *trac-ticket-filters*
|
||||||
|
|
||||||
|
:TTFilterMilestone [Milestone] *:TTFilterMilestone*
|
||||||
|
:TTFilterType [Type] *:TTFilterType*
|
||||||
|
:TTFilterStatus [Status] *:TTFilterStatus*
|
||||||
|
:TTFilterResolution [Resolution *:TTFilterResolution*
|
||||||
|
:TTFilterPriority [Priority] *:TTFilterPriority*
|
||||||
|
:TTFilterSeverity [Severity] *:TTFilterSeverity*
|
||||||
|
:TTFilterComponent [Component] *:TTFilterComponent*
|
||||||
|
:TTFilterOwner [Owner] *:TTFilterOwner*
|
||||||
|
|
||||||
|
For filtering on respective ticket attributes. Allows a tab complete option
|
||||||
|
for Filter acts as a whitelist ignoring all other tickets not matching the
|
||||||
|
attribute
|
||||||
|
|
||||||
|
:TTIgnoreMilestone [Milestone] *:TTIgnoreMilestone*
|
||||||
|
:TTIgnoreType [Type] *:TTIgnoreType*
|
||||||
|
:TTIgnoreStatus [Status] *:TTIgnoreStatus*
|
||||||
|
:TTIgnoreResolution [Resolution *:TTIgnoreResolution*
|
||||||
|
:TTIgnorePriority [Priority] *:TTIgnorePriority*
|
||||||
|
:TTIgnoreSeverity [Severity] *:TTIgnoreSeverity*
|
||||||
|
:TTIgnoreComponent [Component] *:TTIgnoreComponent*
|
||||||
|
:TTIgnoreOwner [Owner] *:TTIgnoreOwner*
|
||||||
|
|
||||||
|
The Opposite of TTFilter... acts as a blacklist filter on tickets.
|
||||||
|
|
||||||
|
:TTIgnoreNoMilestone [NoMilestone] *:TTIgnoreNoMilestone*
|
||||||
|
:TTIgnoreNoOwner [NoOwner] *:TTIgnoreNoOwner*
|
||||||
|
:TTFilterNoMilestone [NoMilestone] *:TTFilterNoMilestone*
|
||||||
|
:TTFilterNoOwner [NoOwner] *:TTFilterNoOwner*
|
||||||
|
|
||||||
|
Special filters for tickets not owned or categorised
|
||||||
|
|
||||||
|
:TTClearAllFilters *:TTClearAllFilters*
|
||||||
|
Resets the filter list to blank
|
||||||
|
:TTClearFilter [filter no] *:TTClearFilter*
|
||||||
|
Filter numbers and descriptions are displayed at the top of the ticket
|
||||||
|
list. Using this filter will remove the filter number
|
||||||
|
:TTListFilters *:TTListFilters*
|
||||||
|
|
||||||
|
5.1.2 Ticket Sorting *trac-ticket-sorting*
|
||||||
|
|
||||||
|
:TTSortby [sort_option] *:TTSortby*
|
||||||
|
|
||||||
|
Tickets can either be sorted according to milestone or priority. Milestones
|
||||||
|
will appear in order of due date and ticket priority is arranged according
|
||||||
|
to the trac-admin priority settings.
|
||||||
|
|
||||||
|
5.2. Adding Comments *trac-ticket-comments*
|
||||||
|
|
||||||
|
The TICKET_COMMENT window is for adding comments. To commit a comment write
|
||||||
|
the message first and then type
|
||||||
|
|
||||||
|
:TTAddComment *:TTAddComment*
|
||||||
|
|
||||||
|
5.3. Changing ticket states *trac-ticket-changes*
|
||||||
|
|
||||||
|
Trac current ticket option modifications (use tab complete)
|
||||||
|
|
||||||
|
:TTSetMilestone [Milestone] *:TTSet*
|
||||||
|
:TTSetType [Type]
|
||||||
|
:TTSetStatus [Status]
|
||||||
|
:TTSetResolution [Resolution]
|
||||||
|
:TTSetPriority [Priority]
|
||||||
|
:TTSetSeverity [Severity]
|
||||||
|
:TTSetComponent [Component]
|
||||||
|
:TTSetSummary [Summary]
|
||||||
|
|
||||||
|
The setting will immediately be sent to the server.
|
||||||
|
|
||||||
|
|
||||||
|
:TTUpdateDescrption *:TTUpdateDescrption*
|
||||||
|
|
||||||
|
Takes the text from the TICKET_COMMENT_WINDOW and updates a tickets
|
||||||
|
description. It will prompt for confirmation before committing
|
||||||
|
|
||||||
|
5.4. Creating Tickets *trac-ticket-create*
|
||||||
|
|
||||||
|
This is still a bit of a hack. If you add a description in the
|
||||||
|
TICKET_COMMENT window and type the command
|
||||||
|
|
||||||
|
:TTCreateTask [ticket_summary] *TTCreateTask*
|
||||||
|
:TTCreateDefect [ticket_summary] *TTCreateDefect*
|
||||||
|
:TTCreateEnhancement [ticket_summary] *TTCreateEnhancement*
|
||||||
|
|
||||||
|
A new ticket will be created with the default attributes (set in trac.ini).
|
||||||
|
When creating a ticket you can create a description initially in the
|
||||||
|
TICKET_COMMENT_WINDOW or alternatively you can add a description later
|
||||||
|
using |TTUpdateDescrption|.
|
||||||
|
|
||||||
|
5.5. Adding/Retrieving attachments *trac-ticket-attachments*
|
||||||
|
|
||||||
|
:TTAddAttachment [file_path] *TTAddAttachment*
|
||||||
|
|
||||||
|
Adds a ticket to the current open ticket
|
||||||
|
:TTGetAttachment [file]
|
||||||
|
|
||||||
|
Retrieves an atteched file and saves it to the current working directory.
|
||||||
|
File options for the current ticket may be viewed with <tab> completion.
|
||||||
|
|
||||||
|
5.6. Ticket Sessions *trac-ticket-session*
|
||||||
|
|
||||||
|
It's possible to associate a list of open files with a trac ticket on the
|
||||||
|
local server which can be handy for reopening tickets another day to make
|
||||||
|
further changes.
|
||||||
|
|
||||||
|
Note: the plugin needs a directory to write to by default it is
|
||||||
|
let g:tracSessionDirectory = expand ('$HOME') . '/.vimtrac_session'
|
||||||
|
|
||||||
|
TTSaveTicketSession *TTSaveTicketSession*
|
||||||
|
Saves the open files and line numbers to the active ticket. You must
|
||||||
|
have a ticket open in the ticket view for this to take effect.
|
||||||
|
|
||||||
|
TTLoadTicketSession *TTLoadTicketSession*
|
||||||
|
|
||||||
|
Loads the Tickets Session information
|
||||||
|
|
||||||
|
5.7. Exiting
|
||||||
|
|
||||||
|
:TClose
|
||||||
|
|
||||||
|
or :q<cr> in either of the Ticket windows will close the view
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
6. Trac Search View *trac-search-view*
|
||||||
|
|
||||||
|
*TSearch*
|
||||||
|
:TSearch [search_term]
|
||||||
|
|
||||||
|
Opening Trac Search View
|
||||||
|
|
||||||
|
Will open search view containing matching wiki/ticket/changesets along with
|
||||||
|
basic descrriptions
|
||||||
|
|
||||||
|
:TClose will close this view or a ticket/wiki view will open if an item is
|
||||||
|
selected
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
7. Changeset View *trac-changeset-view*
|
||||||
|
|
||||||
|
:TChangesetOpen [changeset_id] *:TChangesetOpen*
|
||||||
|
|
||||||
|
opens a unified diff changeset view in a split window
|
||||||
|
|
||||||
|
You can also open a changeset by pressing <enter> on a matching
|
||||||
|
Changeset:>> line in the Trac Seatch window
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
8. Timeline View *trac-timeline-view*
|
||||||
|
|
||||||
|
Timeline view requires feedparser.py installed.
|
||||||
|
|
||||||
|
http://www.feedparser.org/
|
||||||
|
|
||||||
|
The timeline view grabs the rss feed from a trac server.
|
||||||
|
|
||||||
|
:TTimelineOpen *:TTimelineOpen*
|
||||||
|
|
||||||
|
You can also open tickets, wikis and changesets by pressing <enter> on a
|
||||||
|
matching Changeset:>>, Wiki:>> and Ticket:>> line
|
||||||
|
================================================================================
|
||||||
|
9. Trac Wiki Formatting *trac-format*
|
||||||
|
|
||||||
|
This reference is based on the trac wiki information provided with trac.
|
||||||
|
(WikiFormatting) Made easier to read within vim. I'd suggest you read the
|
||||||
|
document in your browser and use this as a quick refresher
|
||||||
|
|
||||||
|
Access this file with :TWikiFormat
|
||||||
|
|
||||||
|
|
||||||
|
Wiki markup is a core feature in Trac, tightly integrating all the other
|
||||||
|
parts of Trac into a flexible and powerful whole.
|
||||||
|
|
||||||
|
Trac has a built in small and powerful wiki rendering engine. This wiki
|
||||||
|
engine implements an ever growing subset of the commands from other popular
|
||||||
|
Wikis, especially [http://moinmoin.wikiwikiweb.de/ MoinMoin].
|
||||||
|
|
||||||
|
|
||||||
|
This page demonstrates the formatting syntax available anywhere
|
||||||
|
WikiFormatting is allowed.
|
||||||
|
|
||||||
|
|
||||||
|
9.1 Font Styles *trac-format-font*
|
||||||
|
|
||||||
|
The Trac wiki supports the following font styles:
|
||||||
|
{{{
|
||||||
|
* '''bold''', '''!''' can be bold too''', and '''! '''
|
||||||
|
* ''italic''
|
||||||
|
* '''''bold italic'''''
|
||||||
|
* __underline__
|
||||||
|
* {{{monospace}}} or `monospace`
|
||||||
|
* ~~strike-through~~
|
||||||
|
* ^superscript^
|
||||||
|
* ,,subscript,,
|
||||||
|
}}}
|
||||||
|
|
||||||
|
|
||||||
|
9.1 Notes: *trac-format-notes*
|
||||||
|
|
||||||
|
`{{{...}}}` and {{{`...`}}} commands not only select a monospace font, but
|
||||||
|
also treat their content as verbatim text, meaning that no further wiki
|
||||||
|
processing is done on this text.
|
||||||
|
|
||||||
|
{{{ ! }}} tells wiki parser to not take the following characters as wiki
|
||||||
|
format, so pay attention to put a space after !, e.g. when ending bold.
|
||||||
|
|
||||||
|
9.2 Headings *trac-format-headings*
|
||||||
|
|
||||||
|
You can create heading by starting a line with one up to five ''equal''
|
||||||
|
characters ("=") followed by a single space and the headline text. The line
|
||||||
|
should end with a space followed by the same number of ''='' characters.
|
||||||
|
The heading might optionally be followed by an explicit id. If not, an
|
||||||
|
implicit but nevertheless readable id will be generated.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
= Heading =
|
||||||
|
== Subheading ==
|
||||||
|
=== About ''this'' ===
|
||||||
|
=== Explicit id === #using-explicit-id-in-heading
|
||||||
|
}}}
|
||||||
|
|
||||||
|
9.3 Paragraphs *trac-format-paragraphs*
|
||||||
|
|
||||||
|
A new text paragraph is created whenever two blocks of text are separated
|
||||||
|
by one or more empty lines.
|
||||||
|
|
||||||
|
A forced line break can also be inserted, using:
|
||||||
|
{{{
|
||||||
|
Line 1[[BR]]Line 2
|
||||||
|
}}}
|
||||||
|
|
||||||
|
|
||||||
|
9.4 Lists *trac-format-lists*
|
||||||
|
|
||||||
|
The wiki supports both ordered/numbered and unordered lists.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
* Item 1
|
||||||
|
* Item 1.1
|
||||||
|
* Item 2
|
||||||
|
|
||||||
|
1. Item 1
|
||||||
|
a. Item 1.a
|
||||||
|
a. Item 1.b
|
||||||
|
i. Item 1.b.i
|
||||||
|
i. Item 1.b.ii
|
||||||
|
1. Item 2
|
||||||
|
And numbered lists can also be given an explicit number:
|
||||||
|
3. Item 3
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Note that there must be one or more spaces preceding the list item markers,
|
||||||
|
otherwise the list will be treated as a normal paragraph.
|
||||||
|
|
||||||
|
|
||||||
|
9.4 Definition Lists *trac-format-definition*
|
||||||
|
|
||||||
|
The wiki also supports definition lists.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
llama::
|
||||||
|
some kind of mammal, with hair
|
||||||
|
ppython::
|
||||||
|
some kind of reptile, without hair
|
||||||
|
(can you spot the typo?)
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Note that you need a space in front of the defined term.
|
||||||
|
|
||||||
|
|
||||||
|
9.5 Preformatted Text *trac-format-preformatted*
|
||||||
|
|
||||||
|
Block containing preformatted text are suitable for source code snippets,
|
||||||
|
notes and examples. Use three ''curly braces'' wrapped around the text to
|
||||||
|
define a block quote. The curly braces need to be on a separate line.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
{{{
|
||||||
|
def HelloWorld():
|
||||||
|
print "Hello World"
|
||||||
|
}}}
|
||||||
|
}}}
|
||||||
|
|
||||||
|
9.6 Blockquotes *trac-format-blockquotes*
|
||||||
|
|
||||||
|
In order to mark a paragraph as blockquote, indent that paragraph with two
|
||||||
|
spaces.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
This text is a quote from someone else.
|
||||||
|
}}}
|
||||||
|
|
||||||
|
9.7 Discussion Citations *trac-format-discussion*
|
||||||
|
|
||||||
|
To delineate a citation in an ongoing discussion thread, such as the ticket
|
||||||
|
comment area, e-mail-like citation marks (">", ">>", etc.) may be used.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
>> Someone's original text
|
||||||
|
> Someone else's reply text
|
||||||
|
My reply text
|
||||||
|
}}}
|
||||||
|
|
||||||
|
|
||||||
|
''Note: Some WikiFormatting elements, such as lists and preformatted text,
|
||||||
|
are lost in the citation area. Some reformatting may be necessary to
|
||||||
|
create a clear citation.''
|
||||||
|
|
||||||
|
9.8 Tables *trac-format-tables*
|
||||||
|
|
||||||
|
Simple tables can be created like this:
|
||||||
|
{{{
|
||||||
|
||Cell 1||Cell 2||Cell 3||
|
||||||
|
||Cell 4||Cell 5||Cell 6||
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Note that more complex tables can be created using
|
||||||
|
[wiki:WikiRestructuredText#BiggerReSTExample reStructuredText].
|
||||||
|
|
||||||
|
|
||||||
|
9.9 Links *trac-format-links*
|
||||||
|
|
||||||
|
Hyperlinks are automatically created for WikiPageNames and URLs.
|
||||||
|
!WikiPageLinks can be disabled by prepending an exclamation mark "!"
|
||||||
|
character, such as {{{!WikiPageLink}}}.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
TitleIndex, http://www.edgewall.com/, !NotAlink
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Links can be given a more descriptive title by writing the link followed by
|
||||||
|
a space and a title and all this inside square brackets. If the
|
||||||
|
descriptive title is omitted, then the explicit prefix is discarded, unless
|
||||||
|
the link is an external link. This can be useful for wiki pages not
|
||||||
|
adhering to the WikiPageNames convention.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
* [http://www.edgewall.com/ Edgewall Software]
|
||||||
|
* [wiki:TitleIndex Title Index]
|
||||||
|
* [wiki:ISO9000]
|
||||||
|
}}}
|
||||||
|
|
||||||
|
9.9.1 Trac Links *trac-format-traclinks*
|
||||||
|
|
||||||
|
Wiki pages can link directly to other parts of the Trac system. Pages can
|
||||||
|
refer to tickets, reports, changesets, milestones, source files and other
|
||||||
|
Wiki pages using the following notations:
|
||||||
|
|
||||||
|
{{{
|
||||||
|
* Tickets: #1 or ticket:1
|
||||||
|
* Reports: {1} or report:1
|
||||||
|
* Changesets: r1, [1] or changeset:1
|
||||||
|
* ...
|
||||||
|
}}}
|
||||||
|
|
||||||
|
See TracLinks for more in-depth information.
|
||||||
|
|
||||||
|
|
||||||
|
9.10 Escaping Links and WikiPageNames *trac-format-nolink*
|
||||||
|
|
||||||
|
You may avoid making hyperlinks out of TracLinks by preceding an expression
|
||||||
|
with a single "!" (exclamation mark).
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
!NoHyperLink
|
||||||
|
!#42 is not a link
|
||||||
|
}}}
|
||||||
|
|
||||||
|
9.11 Images *trac-format-images*
|
||||||
|
|
||||||
|
Urls ending with `.png`, `.gif` or `.jpg` are no longer automatically
|
||||||
|
interpreted as image links, and converted to `<img>` tags.
|
||||||
|
|
||||||
|
You now have to use the ![[Image]] macro (see below).
|
||||||
|
|
||||||
|
|
||||||
|
9.12 Macros *trac-format-macros*
|
||||||
|
|
||||||
|
Macros are ''custom functions'' to insert dynamic content in a page.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
[[Timestamp]]
|
||||||
|
}}}
|
||||||
|
|
||||||
|
|
||||||
|
See WikiMacros for more information, and a list of installed macros.
|
||||||
|
|
||||||
|
|
||||||
|
9.13 Processors *trac-format-processors*
|
||||||
|
|
||||||
|
Trac supports alternative markup formats using WikiProcessors. For example,
|
||||||
|
processors are used to write pages in
|
||||||
|
[wiki:WikiRestructuredText reStructuredText] or [wiki:WikiHtml HTML].
|
||||||
|
|
||||||
|
Example 1:
|
||||||
|
{{{
|
||||||
|
#!html
|
||||||
|
<pre class="wiki">{{{
|
||||||
|
#!html
|
||||||
|
<h1 style="text-align: right; color: blue">HTML Test</h1>
|
||||||
|
}}}</pre>
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
#!html
|
||||||
|
<pre class="wiki">{{{
|
||||||
|
#!python
|
||||||
|
class Test:
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
print "Hello World"
|
||||||
|
if __name__ == '__main__':
|
||||||
|
Test()
|
||||||
|
}}}</pre>
|
||||||
|
}}}
|
||||||
|
|
||||||
|
|
||||||
|
Perl:
|
||||||
|
{{{
|
||||||
|
#!perl
|
||||||
|
my ($test) = 0;
|
||||||
|
if ($test > 0) {
|
||||||
|
print "hello";
|
||||||
|
}
|
||||||
|
}}}
|
||||||
|
|
||||||
|
See WikiProcessors for more information.
|
||||||
|
|
||||||
|
|
||||||
|
9.14 Miscellaneous *trac-format-misc*
|
||||||
|
|
||||||
|
Four or more dashes will be replaced by a horizontal line (<HR>)
|
||||||
|
|
||||||
|
Example:
|
||||||
|
{{{
|
||||||
|
----
|
||||||
|
}}}
|
||||||
|
|
||||||
|
See also: TracLinks, TracGuide, WikiHtml, WikiMacros, WikiProcessors,
|
||||||
|
TracSyntaxColoring.
|
|
@ -0,0 +1,242 @@
|
||||||
|
" AlignMapsPlugin: Alignment maps based upon <Align.vim> and <AlignMaps.vim>
|
||||||
|
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||||
|
" Date: Mar 03, 2009
|
||||||
|
"
|
||||||
|
" NOTE: the code herein needs vim 6.0 or later
|
||||||
|
" needs <Align.vim> v6 or later
|
||||||
|
" needs <cecutil.vim> v5 or later
|
||||||
|
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
|
||||||
|
" Permission is hereby granted to use and distribute this code,
|
||||||
|
" with or without modifications, provided that this copyright
|
||||||
|
" notice is copied with it. Like anything else that's free,
|
||||||
|
" AlignMaps.vim is provided *as is* and comes with no warranty
|
||||||
|
" of any kind, either expressed or implied. By using this
|
||||||
|
" plugin, you agree that in no event will the copyright
|
||||||
|
" holder be liable for any damages resulting from the use
|
||||||
|
" of this software.
|
||||||
|
"
|
||||||
|
" Usage: {{{1
|
||||||
|
" Use 'a to mark beginning of to-be-aligned region, Alternative: use V
|
||||||
|
" move cursor to end of region, and execute map. (linewise visual mode) to
|
||||||
|
" The maps also set up marks 'y and 'z, and retain mark region, execute same
|
||||||
|
" 'a at the beginning of region. map. Uses 'a, 'y, and 'z.
|
||||||
|
"
|
||||||
|
" The start/end wrappers save and restore marks 'y and 'z.
|
||||||
|
"
|
||||||
|
" Although the comments indicate the maps use a leading backslash,
|
||||||
|
" actually they use <Leader> (:he mapleader), so the user can
|
||||||
|
" specify that the maps start how he or she prefers.
|
||||||
|
"
|
||||||
|
" Note: these maps all use <Align.vim>.
|
||||||
|
"
|
||||||
|
" Romans 1:20 For the invisible things of Him since the creation of the {{{1
|
||||||
|
" world are clearly seen, being perceived through the things that are
|
||||||
|
" made, even His everlasting power and divinity; that they may be
|
||||||
|
" without excuse.
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Load Once: {{{1
|
||||||
|
if &cp || exists("g:loaded_AlignMapsPlugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let s:keepcpo = &cpo
|
||||||
|
let g:loaded_AlignMapsPlugin = "v41"
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
" =====================================================================
|
||||||
|
" Maps: {{{1
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" WS: wrapper start map (internal) {{{2
|
||||||
|
" Produces a blank line above and below, marks with 'y and 'z
|
||||||
|
if !hasmapto('<Plug>WrapperStart')
|
||||||
|
map <unique> <SID>WS <Plug>AlignMapsWrapperStart
|
||||||
|
endif
|
||||||
|
nmap <silent> <script> <Plug>AlignMapsWrapperStart :set lz<CR>:call AlignMaps#WrapperStart(0)<CR>
|
||||||
|
vmap <silent> <script> <Plug>AlignMapsWrapperStart :<c-u>set lz<CR>:call AlignMaps#WrapperStart(1)<CR>
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" WE: wrapper end (internal) {{{2
|
||||||
|
" Removes guard lines, restores marks y and z, and restores search pattern
|
||||||
|
if !hasmapto('<Plug>WrapperEnd')
|
||||||
|
nmap <unique> <SID>WE <Plug>AlignMapsWrapperEnd
|
||||||
|
endif
|
||||||
|
nmap <silent> <script> <Plug>AlignMapsWrapperEnd :call AlignMaps#WrapperEnd()<CR>:set nolz<CR>
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Complex C-code alignment maps: {{{2
|
||||||
|
if !hasmapto('<Plug>AM_a?') |map <unique> <Leader>a? <Plug>AM_a?|endif
|
||||||
|
if !hasmapto('<Plug>AM_a,') |map <unique> <Leader>a, <Plug>AM_a,|endif
|
||||||
|
if !hasmapto('<Plug>AM_a<') |map <unique> <Leader>a< <Plug>AM_a<|endif
|
||||||
|
if !hasmapto('<Plug>AM_a=') |map <unique> <Leader>a= <Plug>AM_a=|endif
|
||||||
|
if !hasmapto('<Plug>AM_a(') |map <unique> <Leader>a( <Plug>AM_a(|endif
|
||||||
|
if !hasmapto('<Plug>AM_abox') |map <unique> <Leader>abox <Plug>AM_abox|endif
|
||||||
|
if !hasmapto('<Plug>AM_acom') |map <unique> <Leader>acom <Plug>AM_acom|endif
|
||||||
|
if !hasmapto('<Plug>AM_adcom')|map <unique> <Leader>adcom <Plug>AM_adcom|endif
|
||||||
|
if !hasmapto('<Plug>AM_aocom')|map <unique> <Leader>aocom <Plug>AM_aocom|endif
|
||||||
|
if !hasmapto('<Plug>AM_ascom')|map <unique> <Leader>ascom <Plug>AM_ascom|endif
|
||||||
|
if !hasmapto('<Plug>AM_adec') |map <unique> <Leader>adec <Plug>AM_adec|endif
|
||||||
|
if !hasmapto('<Plug>AM_adef') |map <unique> <Leader>adef <Plug>AM_adef|endif
|
||||||
|
if !hasmapto('<Plug>AM_afnc') |map <unique> <Leader>afnc <Plug>AM_afnc|endif
|
||||||
|
if !hasmapto('<Plug>AM_afnc') |map <unique> <Leader>afnc <Plug>AM_afnc|endif
|
||||||
|
if !hasmapto('<Plug>AM_aunum')|map <unique> <Leader>aunum <Plug>AM_aenum|endif
|
||||||
|
if !hasmapto('<Plug>AM_aenum')|map <unique> <Leader>aenum <Plug>AM_aunum|endif
|
||||||
|
if exists("g:alignmaps_euronumber") && !exists("g:alignmaps_usanumber")
|
||||||
|
if !hasmapto('<Plug>AM_anum')|map <unique> <Leader>anum <Plug>AM_aenum|endif
|
||||||
|
else
|
||||||
|
if !hasmapto('<Plug>AM_anum')|map <unique> <Leader>anum <Plug>AM_aunum|endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
map <silent> <script> <Plug>AM_a? <SID>WS:AlignCtrl mIp1P1lC ? : : : : <CR>:'a,.Align<CR>:'a,'z-1s/\(\s\+\)? /?\1/e<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_a, <SID>WS:'y,'zs/\(\S\)\s\+/\1 /ge<CR>'yjma'zk:call AlignMaps#CharJoiner(",")<cr>:silent 'y,'zg/,/call AlignMaps#FixMultiDec()<CR>'z:exe "norm \<Plug>AM_adec"<cr><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_a< <SID>WS:AlignCtrl mIp1P1=l << >><CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_a( <SID>WS:AlignCtrl mIp0P1=l<CR>:'a,.Align [(,]<CR>:sil 'y+1,'z-1s/\(\s\+\),/,\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_a= <SID>WS:AlignCtrl mIp1P1=l<CR>:AlignCtrl g :=<CR>:'a,'zAlign :\==<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_abox <SID>WS:let g:alignmaps_iws=substitute(getline("'a"),'^\(\s*\).*$','\1','e')<CR>:'a,'z-1s/^\s\+//e<CR>:'a,'z-1s/^.*$/@&@/<CR>:AlignCtrl m=p01P0w @<CR>:'a,.Align<CR>:'a,'z-1s/@/ * /<CR>:'a,'z-1s/@$/*/<CR>'aYP:s/./*/g<CR>0r/'zkYp:s/./*/g<CR>0r A/<Esc>:exe "'a-1,'z-1s/^/".g:alignmaps_iws."/e"<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_acom <SID>WS:'a,.s/\/[*/]\/\=/@&@/e<CR>:'a,.s/\*\//@&/e<CR>:'y,'zs/^\( *\) @/\1@/e<CR>'zk:call AlignMaps#StdAlign(2)<CR>:'y,'zs/^\(\s*\) @/\1/e<CR>:'y,'zs/ @//eg<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_adcom <SID>WS:'a,.v/^\s*\/[/*]/s/\/[*/]\*\=/@&@/e<CR>:'a,.v/^\s*\/[/*]/s/\*\//@&/e<CR>:'y,'zv/^\s*\/[/*]/s/^\( *\) @/\1@/e<CR>'zk:call AlignMaps#StdAlign(3)<cr>:'y,'zv/^\s*\/[/*]/s/^\(\s*\) @/\1/e<CR>:'y,'zs/ @//eg<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_aocom <SID>WS:AlignPush<CR>:AlignCtrl g /[*/]<CR>:exe "norm \<Plug>AM_acom"<cr>:AlignPop<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_ascom <SID>WS:'a,.s/\/[*/]/@&@/e<CR>:'a,.s/\*\//@&/e<CR>:silent! 'a,.g/^\s*@\/[*/]/s/@//ge<CR>:AlignCtrl v ^\s*\/[*/]<CR>:AlignCtrl g \/[*/]<CR>'zk:call AlignMaps#StdAlign(2)<cr>:'y,'zs/^\(\s*\) @/\1/e<CR>:'y,'zs/ @//eg<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_adec <SID>WS:'a,'zs/\([^ \t/(]\)\([*&]\)/\1 \2/e<CR>:'y,'zv/^\//s/\([^ \t]\)\s\+/\1 /ge<CR>:'y,'zv/^\s*[*/]/s/\([^/][*&]\)\s\+/\1/ge<CR>:'y,'zv/^\s*[*/]/s/^\(\s*\%(\K\k*\s\+\%([a-zA-Z_*(&]\)\@=\)\+\)\([*(&]*\)\s*\([a-zA-Z0-9_()]\+\)\s*\(\(\[.\{-}]\)*\)\s*\(=\)\=\s*\(.\{-}\)\=\s*;/\1@\2#@\3\4@\6@\7;@/e<CR>:'y,'zv/^\s*[*/]/s/\*\/\s*$/@*\//e<CR>:'y,'zv/^\s*[*/]/s/^\s\+\*/@@@@@* /e<CR>:'y,'zv/^\s*[*/]/s/^@@@@@\*\(.*[^*/]\)$/&@*/e<CR>'yjma'zk:AlignCtrl v ^\s*[*/#]<CR>:call AlignMaps#StdAlign(1)<cr>:'y,'zv/^\s*[*/]/s/@ //ge<CR>:'y,'zv/^\s*[*/]/s/\(\s*\);/;\1/e<CR>:'y,'zv/^#/s/# //e<CR>:'y,'zv/^\s\+[*/#]/s/\([^/*]\)\(\*\+\)\( \+\)/\1\3\2/e<CR>:'y,'zv/^\s\+[*/#]/s/\((\+\)\( \+\)\*/\2\1*/e<CR>:'y,'zv/^\s\+[*/#]/s/^\(\s\+\) \*/\1*/e<CR>:'y,'zv/^\s\+[*/#]/s/[ \t@]*$//e<CR>:'y,'zs/^[*]/ */e<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_adef <SID>WS:AlignPush<CR>:AlignCtrl v ^\s*\(\/\*\<bar>\/\/\)<CR>:'a,.v/^\s*\(\/\*\<bar>\/\/\)/s/^\(\s*\)#\(\s\)*define\s*\(\I[a-zA-Z_0-9(),]*\)\s*\(.\{-}\)\($\<Bar>\/\*\)/#\1\2define @\3@\4@\5/e<CR>:'a,.v/^\s*\(\/\*\<bar>\/\/\)/s/\($\<Bar>\*\/\)/@&/e<CR>'zk:call AlignMaps#StdAlign(1)<cr>'yjma'zk:'a,.v/^\s*\(\/\*\<bar>\/\/\)/s/ @//g<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_afnc :<c-u>set lz<CR>:silent call AlignMaps#Afnc()<CR>:set nolz<CR>
|
||||||
|
map <silent> <script> <Plug>AM_aunum <SID>WS:'a,'zs/\%([0-9.]\)\s\+\zs\([-+.]\=\d\)/@\1/ge<CR>:'a,'zs/\(\(^\|\s\)\d\+\)\(\s\+\)@/\1@\3@/ge<CR>:'a,'zs/\.@/\.0@/ge<CR>:AlignCtrl wmp0P0r<CR>:'a,'zAlign [.@]<CR>:'a,'zs/@/ /ge<CR>:'a,'zs/\(\.\)\(\s\+\)\([0-9.,eE+]\+\)/\1\3\2/ge<CR>:'a,'zs/\([eE]\)\(\s\+\)\([0-9+\-+]\+\)/\1\3\2/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_aenum <SID>WS:'a,'zs/\%([0-9.]\)\s\+\([-+]\=\d\)/\1@\2/ge<CR>:'a,'zs/\.@/\.0@/ge<CR>:AlignCtrl wmp0P0r<CR>:'a,'zAlign [,@]<CR>:'a,'zs/@/ /ge<CR>:'a,'zs/\(,\)\(\s\+\)\([-0-9.,eE+]\+\)/\1\3\2/ge<CR>:'a,'zs/\([eE]\)\(\s\+\)\([0-9+\-+]\+\)/\1\3\2/ge<CR><SID>WE
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" html table alignment {{{2
|
||||||
|
if !hasmapto('<Plug>AM_Htd')|map <unique> <Leader>Htd <Plug>AM_Htd|endif
|
||||||
|
map <silent> <script> <Plug>AM_Htd <SID>WS:'y,'zs%<[tT][rR]><[tT][dD][^>]\{-}>\<Bar></[tT][dD]><[tT][dD][^>]\{-}>\<Bar></[tT][dD]></[tT][rR]>%@&@%g<CR>'yjma'zk:AlignCtrl m=Ilp1P0 @<CR>:'a,.Align<CR>:'y,'zs/ @/@/<CR>:'y,'zs/@ <[tT][rR]>/<[tT][rR]>/ge<CR>:'y,'zs/@//ge<CR><SID>WE
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" character-based right-justified alignment maps {{{2
|
||||||
|
if !hasmapto('<Plug>AM_T|')|map <unique> <Leader>T| <Plug>AM_T||endif
|
||||||
|
if !hasmapto('<Plug>AM_T#') |map <unique> <Leader>T# <Plug>AM_T#|endif
|
||||||
|
if !hasmapto('<Plug>AM_T,') |map <unique> <Leader>T, <Plug>AM_T,o|endif
|
||||||
|
if !hasmapto('<Plug>AM_Ts,') |map <unique> <Leader>Ts, <Plug>AM_Ts,|endif
|
||||||
|
if !hasmapto('<Plug>AM_T:') |map <unique> <Leader>T: <Plug>AM_T:|endif
|
||||||
|
if !hasmapto('<Plug>AM_T;') |map <unique> <Leader>T; <Plug>AM_T;|endif
|
||||||
|
if !hasmapto('<Plug>AM_T<') |map <unique> <Leader>T< <Plug>AM_T<|endif
|
||||||
|
if !hasmapto('<Plug>AM_T=') |map <unique> <Leader>T= <Plug>AM_T=|endif
|
||||||
|
if !hasmapto('<Plug>AM_T?') |map <unique> <Leader>T? <Plug>AM_T?|endif
|
||||||
|
if !hasmapto('<Plug>AM_T@') |map <unique> <Leader>T@ <Plug>AM_T@|endif
|
||||||
|
if !hasmapto('<Plug>AM_Tab') |map <unique> <Leader>Tab <Plug>AM_Tab|endif
|
||||||
|
if !hasmapto('<Plug>AM_Tsp') |map <unique> <Leader>Tsp <Plug>AM_Tsp|endif
|
||||||
|
if !hasmapto('<Plug>AM_T~') |map <unique> <Leader>T~ <Plug>AM_T~|endif
|
||||||
|
|
||||||
|
map <silent> <script> <Plug>AM_T| <SID>WS:AlignCtrl mIp0P0=r <Bar><CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_T# <SID>WS:AlignCtrl mIp0P0=r #<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_T, <SID>WS:AlignCtrl mIp0P1=r ,<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_Ts, <SID>WS:AlignCtrl mIp0P1=r ,<CR>:'a,.Align<CR>:'a,.s/\(\s*\),/,\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_T: <SID>WS:AlignCtrl mIp1P1=r :<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_T; <SID>WS:AlignCtrl mIp0P0=r ;<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_T< <SID>WS:AlignCtrl mIp0P0=r <<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_T= <SID>WS:'a,'z-1s/\s\+\([*/+\-%<Bar>&\~^]\==\)/ \1/e<CR>:'a,'z-1s@ \+\([*/+\-%<Bar>&\~^]\)=@\1=@ge<CR>:'a,'z-1s/; */;@/e<CR>:'a,'z-1s/==/\="\<Char-0x0f>\<Char-0x0f>"/ge<CR>:'a,'z-1s/!=/\x="!\<Char-0x0f>"/ge<CR>:AlignCtrl mIp1P1=r = @<CR>:AlignCtrl g =<CR>:'a,'z-1Align<CR>:'a,'z-1s/; *@/;/e<CR>:'a,'z-1s/; *$/;/e<CR>:'a,'z-1s@\([*/+\-%<Bar>&\~^]\)\( \+\)=@\2\1=@ge<CR>:'a,'z-1s/\( \+\);/;\1/ge<CR>:'a,'z-1s/\xff/=/ge<CR><SID>WE:exe "norm <Plug>acom"
|
||||||
|
map <silent> <script> <Plug>AM_T? <SID>WS:AlignCtrl mIp0P0=r ?<CR>:'a,.Align<CR>:'y,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_T@ <SID>WS:AlignCtrl mIp0P0=r @<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_Tab <SID>WS:'a,.s/^\(\t*\)\(.*\)/\=submatch(1).escape(substitute(submatch(2),'\t','@','g'),'\')/<CR>:AlignCtrl mI=r @<CR>:'a,.Align<CR>:'y+1,'z-1s/@/ /g<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_Tsp <SID>WS:'a,.s/^\(\s*\)\(.*\)/\=submatch(1).escape(substitute(submatch(2),'\s\+','@','g'),'\')/<CR>:AlignCtrl mI=r @<CR>:'a,.Align<CR>:'y+1,'z-1s/@/ /g<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_T~ <SID>WS:AlignCtrl mIp0P0=r ~<CR>:'a,.Align<CR>:'y,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" character-based left-justified alignment maps {{{2
|
||||||
|
if !hasmapto('<Plug>AM_t|') |map <unique> <Leader>t| <Plug>AM_t||endif
|
||||||
|
if !hasmapto('<Plug>AM_t#') |map <unique> <Leader>t# <Plug>AM_t#|endif
|
||||||
|
if !hasmapto('<Plug>AM_t,') |map <unique> <Leader>t, <Plug>AM_t,|endif
|
||||||
|
if !hasmapto('<Plug>AM_t:') |map <unique> <Leader>t: <Plug>AM_t:|endif
|
||||||
|
if !hasmapto('<Plug>AM_t;') |map <unique> <Leader>t; <Plug>AM_t;|endif
|
||||||
|
if !hasmapto('<Plug>AM_t<') |map <unique> <Leader>t< <Plug>AM_t<|endif
|
||||||
|
if !hasmapto('<Plug>AM_t=') |map <unique> <Leader>t= <Plug>AM_t=|endif
|
||||||
|
if !hasmapto('<Plug>AM_ts,') |map <unique> <Leader>ts, <Plug>AM_ts,|endif
|
||||||
|
if !hasmapto('<Plug>AM_ts:') |map <unique> <Leader>ts: <Plug>AM_ts:|endif
|
||||||
|
if !hasmapto('<Plug>AM_ts;') |map <unique> <Leader>ts; <Plug>AM_ts;|endif
|
||||||
|
if !hasmapto('<Plug>AM_ts<') |map <unique> <Leader>ts< <Plug>AM_ts<|endif
|
||||||
|
if !hasmapto('<Plug>AM_ts=') |map <unique> <Leader>ts= <Plug>AM_ts=|endif
|
||||||
|
if !hasmapto('<Plug>AM_w=') |map <unique> <Leader>w= <Plug>AM_w=|endif
|
||||||
|
if !hasmapto('<Plug>AM_t?') |map <unique> <Leader>t? <Plug>AM_t?|endif
|
||||||
|
if !hasmapto('<Plug>AM_t~') |map <unique> <Leader>t~ <Plug>AM_t~|endif
|
||||||
|
if !hasmapto('<Plug>AM_t@') |map <unique> <Leader>t@ <Plug>AM_t@|endif
|
||||||
|
if !hasmapto('<Plug>AM_m=') |map <unique> <Leader>m= <Plug>AM_m=|endif
|
||||||
|
if !hasmapto('<Plug>AM_tab') |map <unique> <Leader>tab <Plug>AM_tab|endif
|
||||||
|
if !hasmapto('<Plug>AM_tml') |map <unique> <Leader>tml <Plug>AM_tml|endif
|
||||||
|
if !hasmapto('<Plug>AM_tsp') |map <unique> <Leader>tsp <Plug>AM_tsp|endif
|
||||||
|
if !hasmapto('<Plug>AM_tsq') |map <unique> <Leader>tsq <Plug>AM_tsq|endif
|
||||||
|
" if !hasmapto('<Plug>AM_tt') |map <unique> <Leader>tt <Plug>AM_tt|endif
|
||||||
|
|
||||||
|
map <silent> <script> <Plug>AM_t| <SID>WS:AlignCtrl mIp0P0=l <Bar><CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_t# <SID>WS:AlignCtrl mIp0P0=l #<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_t, <SID>WS:AlignCtrl mIp0P1=l ,<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_t: <SID>WS:AlignCtrl mIp1P1=l :<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_t; <SID>WS:AlignCtrl mIp0P1=l ;<CR>:'a,.Align<CR>:sil 'y,'zs/\( *\);/;\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_t< <SID>WS:AlignCtrl mIp0P0=l <<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_t= <SID>WS:call AlignMaps#Equals()<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_ts, <SID>WS:AlignCtrl mIp0P1=l #<CR>:'a,.Align<CR>:sil 'y+1,'z-1s/\(\s*\)#/,\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_ts, <SID>WS:AlignCtrl mIp0P1=l ,<CR>:'a,.Align<CR>:sil 'y+1,'z-1s/\(\s*\),/,\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_ts: <SID>WS:AlignCtrl mIp1P1=l :<CR>:'a,.Align<CR>:sil 'y+1,'z-1s/\(\s*\):/:\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_ts; <SID>WS:AlignCtrl mIp1P1=l ;<CR>:'a,.Align<CR>:sil 'y+1,'z-1s/\(\s*\);/;\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_ts< <SID>WS:AlignCtrl mIp1P1=l <<CR>:'a,.Align<CR>:sil 'y+1,'z-1s/\(\s*\)</<\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_ts= <SID>WS:AlignCtrl mIp1P1=l =<CR>:'a,.Align<CR>:sil 'y+1,'z-1s/\(\s*\)=/=\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_w= <SID>WS:'a,'zg/=/s/\s\+\([*/+\-%<Bar>&\~^]\==\)/ \1/e<CR>:'a,'zg/=/s@ \+\([*/+\-%<Bar>&\~^]\)=@\1=@ge<CR>:'a,'zg/=/s/==/\="\<Char-0x0f>\<Char-0x0f>"/ge<CR>:'a,'zg/=/s/!=/\="!\<Char-0x0f>"/ge<CR>'zk:AlignCtrl mWp1P1=l =<CR>:AlignCtrl g =<CR>:'a,'z-1g/=/Align<CR>:'a,'z-1g/=/s@\([*/+\-%<Bar>&\~^!=]\)\( \+\)=@\2\1=@ge<CR>:'a,'z-1g/=/s/\( \+\);/;\1/ge<CR>:'a,'z-1v/^\s*\/[*/]/s/\/[*/]/@&@/e<CR>:'a,'z-1v/^\s*\/[*/]/s/\*\//@&/e<CR>'zk:call AlignMaps#StdAlign(1)<cr>:'y,'zs/^\(\s*\) @/\1/e<CR>:'a,'z-1g/=/s/\xff/=/ge<CR>:'y,'zg/=/s/ @//eg<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_t? <SID>WS:AlignCtrl mIp0P0=l ?<CR>:'a,.Align<CR>:.,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_t~ <SID>WS:AlignCtrl mIp0P0=l ~<CR>:'a,.Align<CR>:'y,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_t@ <SID>WS::call AlignMaps#StdAlign(1)<cr>:<SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_m= <SID>WS:'a,'zs/\s\+\([*/+\-%<Bar>&\~^]\==\)/ \1/e<CR>:'a,'zs@ \+\([*/+\-%<Bar>&\~^]\)=@\1=@ge<CR>:'a,'zs/==/\="\<Char-0x0f>\<Char-0x0f>"/ge<CR>:'a,'zs/!=/\="!\<Char-0x0f>"/ge<CR>'zk:AlignCtrl mIp1P1=l =<CR>:AlignCtrl g =<CR>:'a,'z-1Align<CR>:'a,'z-1s@\([*/+\-%<Bar>&\~^!=]\)\( \+\)=@\2\1=@ge<CR>:'a,'z-1s/\( \+\);/;\1/ge<CR>:'a,'z-s/%\ze[^=]/ @%@ /e<CR>'zk:call AlignMaps#StdAlign(1)<cr>:'y,'zs/^\(\s*\) @/\1/e<CR>:'a,'z-1s/\xff/=/ge<CR>:'y,'zs/ @//eg<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_tab <SID>WS:'a,.s/^\(\t*\)\(.*\)$/\=submatch(1).escape(substitute(submatch(2),'\t',"\<Char-0x0f>",'g'),'\')/<CR>:if &ts == 1<bar>exe "AlignCtrl mI=lp0P0 \<Char-0x0f>"<bar>else<bar>exe "AlignCtrl mI=l \<Char-0x0f>"<bar>endif<CR>:'a,.Align<CR>:exe "'y+1,'z-1s/\<Char-0x0f>/".((&ts == 1)? '\t' : ' ')."/g"<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_tml <SID>WS:AlignCtrl mWp1P0=l \\\@<!\\\s*$<CR>:'a,.Align<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_tsp <SID>WS:'a,.s/^\(\s*\)\(.*\)/\=submatch(1).escape(substitute(submatch(2),'\s\+','@','g'),'\')/<CR>:AlignCtrl mI=lp0P0 @<CR>:'a,.Align<CR>:'y+1,'z-1s/@/ /g<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_tsq <SID>WS:'a,.AlignReplaceQuotedSpaces<CR>:'a,.s/^\(\s*\)\(.*\)/\=submatch(1).substitute(submatch(2),'\s\+','@','g')/<CR>:AlignCtrl mIp0P0=l @<CR>:'a,.Align<CR>:'y+1,'z-1s/[%@]/ /g<CR><SID>WE
|
||||||
|
map <silent> <script> <Plug>AM_tt <SID>WS:AlignCtrl mIp1P1=l \\\@<!& \\\\<CR>:'a,.Align<CR><SID>WE
|
||||||
|
|
||||||
|
" =====================================================================
|
||||||
|
" Menu Support: {{{1
|
||||||
|
" ma ..move.. use menu
|
||||||
|
" v V or ctrl-v ..move.. use menu
|
||||||
|
if has("menu") && has("gui_running") && &go =~ 'm' && !exists("s:firstmenu")
|
||||||
|
let s:firstmenu= 1
|
||||||
|
if !exists("g:DrChipTopLvlMenu")
|
||||||
|
let g:DrChipTopLvlMenu= "DrChip."
|
||||||
|
endif
|
||||||
|
if g:DrChipTopLvlMenu != ""
|
||||||
|
let s:mapleader = exists("g:mapleader")? g:mapleader : '\'
|
||||||
|
let s:emapleader= escape(s:mapleader,'\ ')
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.<<\ and\ >><tab>'.s:emapleader.'a< '.s:mapleader.'a<'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Assignment\ =<tab>'.s:emapleader.'t= '.s:mapleader.'t='
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Assignment\ :=<tab>'.s:emapleader.'a= '.s:mapleader.'a='
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Backslashes<tab>'.s:emapleader.'tml '.s:mapleader.'tml'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Breakup\ Comma\ Declarations<tab>'.s:emapleader.'a, '.s:mapleader.'a,'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.C\ Comment\ Box<tab>'.s:emapleader.'abox '.s:mapleader.'abox'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Commas<tab>'.s:emapleader.'t, '.s:mapleader.'t,'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Commas<tab>'.s:emapleader.'ts, '.s:mapleader.'ts,'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Commas\ With\ Strings<tab>'.s:emapleader.'tsq '.s:mapleader.'tsq'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Comments<tab>'.s:emapleader.'acom '.s:mapleader.'acom'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Comments\ Only<tab>'.s:emapleader.'aocom '.s:mapleader.'aocom'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Declaration\ Comments<tab>'.s:emapleader.'adcom '.s:mapleader.'adcom'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Declarations<tab>'.s:emapleader.'adec '.s:mapleader.'adec'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Definitions<tab>'.s:emapleader.'adef '.s:mapleader.'adef'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Function\ Header<tab>'.s:emapleader.'afnc '.s:mapleader.'afnc'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Html\ Tables<tab>'.s:emapleader.'Htd '.s:mapleader.'Htd'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.(\.\.\.)?\.\.\.\ :\ \.\.\.<tab>'.s:emapleader.'a? '.s:mapleader.'a?'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Numbers<tab>'.s:emapleader.'anum '.s:mapleader.'anum'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Numbers\ (American-Style)<tab>'.s:emapleader.'aunum <Leader>aunum '.s:mapleader.'aunum <Leader>aunum'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Numbers\ (Euro-Style)<tab>'.s:emapleader.'aenum '.s:mapleader.'aenum'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Spaces\ (Left\ Justified)<tab>'.s:emapleader.'tsp '.s:mapleader.'tsp'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Spaces\ (Right\ Justified)<tab>'.s:emapleader.'Tsp '.s:mapleader.'Tsp'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Statements\ With\ Percent\ Style\ Comments<tab>'.s:emapleader.'m= '.s:mapleader.'m='
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Symbol\ <<tab>'.s:emapleader.'t< '.s:mapleader.'t<'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Symbol\ \|<tab>'.s:emapleader.'t\| '.s:mapleader.'t|'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Symbol\ @<tab>'.s:emapleader.'t@ '.s:mapleader.'t@'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Symbol\ #<tab>'.s:emapleader.'t# '.s:mapleader.'t#'
|
||||||
|
exe 'menu '.g:DrChipTopLvlMenu.'AlignMaps.Tabs<tab>'.s:emapleader.'tab '.s:mapleader.'tab'
|
||||||
|
unlet s:mapleader
|
||||||
|
unlet s:emapleader
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" =====================================================================
|
||||||
|
" Restore: {{{1
|
||||||
|
let &cpo= s:keepcpo
|
||||||
|
unlet s:keepcpo
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Modelines: {{{1
|
||||||
|
" vim: ts=4 nowrap fdm=marker
|
|
@ -0,0 +1,41 @@
|
||||||
|
" AlignPlugin: tool to align multiple fields based on one or more separators
|
||||||
|
" Author: Charles E. Campbell, Jr.
|
||||||
|
" Date: Nov 02, 2008
|
||||||
|
" GetLatestVimScripts: 294 1 :AutoInstall: Align.vim
|
||||||
|
" GetLatestVimScripts: 1066 1 :AutoInstall: cecutil.vim
|
||||||
|
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
|
||||||
|
" Permission is hereby granted to use and distribute this code,
|
||||||
|
" with or without modifications, provided that this copyright
|
||||||
|
" notice is copied with it. Like anything else that's free,
|
||||||
|
" Align.vim is provided *as is* and comes with no warranty
|
||||||
|
" of any kind, either expressed or implied. By using this
|
||||||
|
" plugin, you agree that in no event will the copyright
|
||||||
|
" holder be liable for any damages resulting from the use
|
||||||
|
" of this software.
|
||||||
|
"
|
||||||
|
" Romans 1:16,17a : For I am not ashamed of the gospel of Christ, for it is {{{1
|
||||||
|
" the power of God for salvation for everyone who believes; for the Jew first,
|
||||||
|
" and also for the Greek. For in it is revealed God's righteousness from
|
||||||
|
" faith to faith.
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Load Once: {{{1
|
||||||
|
if &cp || exists("g:loaded_AlignPlugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_AlignPlugin = "v35"
|
||||||
|
let s:keepcpo = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Public Interface: {{{1
|
||||||
|
com! -bang -range -nargs=* Align <line1>,<line2>call Align#Align(<bang>0,<q-args>)
|
||||||
|
com! -range -nargs=0 AlignReplaceQuotedSpaces <line1>,<line2>call Align#AlignReplaceQuotedSpaces()
|
||||||
|
com! -nargs=* AlignCtrl call Align#AlignCtrl(<q-args>)
|
||||||
|
com! -nargs=0 AlignPush call Align#AlignPush()
|
||||||
|
com! -nargs=0 AlignPop call Align#AlignPop()
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Restore: {{{1
|
||||||
|
let &cpo= s:keepcpo
|
||||||
|
unlet s:keepcpo
|
||||||
|
" vim: ts=4 fdm=marker
|
|
@ -0,0 +1,510 @@
|
||||||
|
" cecutil.vim : save/restore window position
|
||||||
|
" save/restore mark position
|
||||||
|
" save/restore selected user maps
|
||||||
|
" Author: Charles E. Campbell, Jr.
|
||||||
|
" Version: 18b ASTRO-ONLY
|
||||||
|
" Date: Aug 27, 2008
|
||||||
|
"
|
||||||
|
" Saving Restoring Destroying Marks: {{{1
|
||||||
|
" call SaveMark(markname) let savemark= SaveMark(markname)
|
||||||
|
" call RestoreMark(markname) call RestoreMark(savemark)
|
||||||
|
" call DestroyMark(markname)
|
||||||
|
" commands: SM RM DM
|
||||||
|
"
|
||||||
|
" Saving Restoring Destroying Window Position: {{{1
|
||||||
|
" call SaveWinPosn() let winposn= SaveWinPosn()
|
||||||
|
" call RestoreWinPosn() call RestoreWinPosn(winposn)
|
||||||
|
" \swp : save current window/buffer's position
|
||||||
|
" \rwp : restore current window/buffer's previous position
|
||||||
|
" commands: SWP RWP
|
||||||
|
"
|
||||||
|
" Saving And Restoring User Maps: {{{1
|
||||||
|
" call SaveUserMaps(mapmode,maplead,mapchx,suffix)
|
||||||
|
" call RestoreUserMaps(suffix)
|
||||||
|
"
|
||||||
|
" GetLatestVimScripts: 1066 1 :AutoInstall: cecutil.vim
|
||||||
|
"
|
||||||
|
" You believe that God is one. You do well. The demons also {{{1
|
||||||
|
" believe, and shudder. But do you want to know, vain man, that
|
||||||
|
" faith apart from works is dead? (James 2:19,20 WEB)
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Load Once: {{{1
|
||||||
|
if &cp || exists("g:loaded_cecutil")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_cecutil = "v18b"
|
||||||
|
let s:keepcpo = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
"DechoTabOn
|
||||||
|
|
||||||
|
" =======================
|
||||||
|
" Public Interface: {{{1
|
||||||
|
" =======================
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Map Interface: {{{2
|
||||||
|
if !hasmapto('<Plug>SaveWinPosn')
|
||||||
|
map <unique> <Leader>swp <Plug>SaveWinPosn
|
||||||
|
endif
|
||||||
|
if !hasmapto('<Plug>RestoreWinPosn')
|
||||||
|
map <unique> <Leader>rwp <Plug>RestoreWinPosn
|
||||||
|
endif
|
||||||
|
nmap <silent> <Plug>SaveWinPosn :call SaveWinPosn()<CR>
|
||||||
|
nmap <silent> <Plug>RestoreWinPosn :call RestoreWinPosn()<CR>
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Command Interface: {{{2
|
||||||
|
com! -bar -nargs=0 SWP call SaveWinPosn()
|
||||||
|
com! -bar -nargs=0 RWP call RestoreWinPosn()
|
||||||
|
com! -bar -nargs=1 SM call SaveMark(<q-args>)
|
||||||
|
com! -bar -nargs=1 RM call RestoreMark(<q-args>)
|
||||||
|
com! -bar -nargs=1 DM call DestroyMark(<q-args>)
|
||||||
|
|
||||||
|
if v:version < 630
|
||||||
|
let s:modifier= "sil "
|
||||||
|
else
|
||||||
|
let s:modifier= "sil keepj "
|
||||||
|
endif
|
||||||
|
|
||||||
|
" ===============
|
||||||
|
" Functions: {{{1
|
||||||
|
" ===============
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" SaveWinPosn: {{{2
|
||||||
|
" let winposn= SaveWinPosn() will save window position in winposn variable
|
||||||
|
" call SaveWinPosn() will save window position in b:cecutil_winposn{b:cecutil_iwinposn}
|
||||||
|
" let winposn= SaveWinPosn(0) will *only* save window position in winposn variable (no stacking done)
|
||||||
|
fun! SaveWinPosn(...)
|
||||||
|
" call Dfunc("SaveWinPosn() a:0=".a:0)
|
||||||
|
if line(".") == 1 && getline(1) == ""
|
||||||
|
" call Dfunc("SaveWinPosn : empty buffer")
|
||||||
|
return ""
|
||||||
|
endif
|
||||||
|
let so_keep = &l:so
|
||||||
|
let siso_keep = &siso
|
||||||
|
let ss_keep = &l:ss
|
||||||
|
setlocal so=0 siso=0 ss=0
|
||||||
|
|
||||||
|
let swline = line(".")
|
||||||
|
let swcol = col(".")
|
||||||
|
let swwline = winline() - 1
|
||||||
|
let swwcol = virtcol(".") - wincol()
|
||||||
|
let savedposn = "call GoWinbufnr(".winbufnr(0).")|silent ".swline
|
||||||
|
let savedposn = savedposn."|".s:modifier."norm! 0z\<cr>"
|
||||||
|
if swwline > 0
|
||||||
|
let savedposn= savedposn.":".s:modifier."norm! ".swwline."\<c-y>\<cr>"
|
||||||
|
endif
|
||||||
|
if swwcol > 0
|
||||||
|
let savedposn= savedposn.":".s:modifier."norm! 0".swwcol."zl\<cr>"
|
||||||
|
endif
|
||||||
|
let savedposn = savedposn.":".s:modifier."call cursor(".swline.",".swcol.")\<cr>"
|
||||||
|
|
||||||
|
" save window position in
|
||||||
|
" b:cecutil_winposn_{iwinposn} (stack)
|
||||||
|
" only when SaveWinPosn() is used
|
||||||
|
if a:0 == 0
|
||||||
|
if !exists("b:cecutil_iwinposn")
|
||||||
|
let b:cecutil_iwinposn= 1
|
||||||
|
else
|
||||||
|
let b:cecutil_iwinposn= b:cecutil_iwinposn + 1
|
||||||
|
endif
|
||||||
|
" call Decho("saving posn to SWP stack")
|
||||||
|
let b:cecutil_winposn{b:cecutil_iwinposn}= savedposn
|
||||||
|
endif
|
||||||
|
|
||||||
|
let &l:so = so_keep
|
||||||
|
let &siso = siso_keep
|
||||||
|
let &l:ss = ss_keep
|
||||||
|
|
||||||
|
" if exists("b:cecutil_iwinposn") " Decho
|
||||||
|
" call Decho("b:cecutil_winpos{".b:cecutil_iwinposn."}[".b:cecutil_winposn{b:cecutil_iwinposn}."]")
|
||||||
|
" else " Decho
|
||||||
|
" call Decho("b:cecutil_iwinposn doesn't exist")
|
||||||
|
" endif " Decho
|
||||||
|
" call Dret("SaveWinPosn [".savedposn."]")
|
||||||
|
return savedposn
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" RestoreWinPosn: {{{2
|
||||||
|
" call RestoreWinPosn()
|
||||||
|
" call RestoreWinPosn(winposn)
|
||||||
|
fun! RestoreWinPosn(...)
|
||||||
|
" call Dfunc("RestoreWinPosn() a:0=".a:0)
|
||||||
|
" call Decho("getline(1)<".getline(1).">")
|
||||||
|
" call Decho("line(.)=".line("."))
|
||||||
|
if line(".") == 1 && getline(1) == ""
|
||||||
|
" call Dfunc("RestoreWinPosn : empty buffer")
|
||||||
|
return ""
|
||||||
|
endif
|
||||||
|
let so_keep = &l:so
|
||||||
|
let siso_keep = &l:siso
|
||||||
|
let ss_keep = &l:ss
|
||||||
|
setlocal so=0 siso=0 ss=0
|
||||||
|
|
||||||
|
if a:0 == 0 || a:1 == ""
|
||||||
|
" use saved window position in b:cecutil_winposn{b:cecutil_iwinposn} if it exists
|
||||||
|
if exists("b:cecutil_iwinposn") && exists("b:cecutil_winposn{b:cecutil_iwinposn}")
|
||||||
|
" call Decho("using stack b:cecutil_winposn{".b:cecutil_iwinposn."}<".b:cecutil_winposn{b:cecutil_iwinposn}.">")
|
||||||
|
try
|
||||||
|
exe "silent! ".b:cecutil_winposn{b:cecutil_iwinposn}
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E749/
|
||||||
|
" ignore empty buffer error messages
|
||||||
|
endtry
|
||||||
|
" normally drop top-of-stack by one
|
||||||
|
" but while new top-of-stack doesn't exist
|
||||||
|
" drop top-of-stack index by one again
|
||||||
|
if b:cecutil_iwinposn >= 1
|
||||||
|
unlet b:cecutil_winposn{b:cecutil_iwinposn}
|
||||||
|
let b:cecutil_iwinposn= b:cecutil_iwinposn - 1
|
||||||
|
while b:cecutil_iwinposn >= 1 && !exists("b:cecutil_winposn{b:cecutil_iwinposn}")
|
||||||
|
let b:cecutil_iwinposn= b:cecutil_iwinposn - 1
|
||||||
|
endwhile
|
||||||
|
if b:cecutil_iwinposn < 1
|
||||||
|
unlet b:cecutil_iwinposn
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
echohl WarningMsg
|
||||||
|
echomsg "***warning*** need to SaveWinPosn first!"
|
||||||
|
echohl None
|
||||||
|
endif
|
||||||
|
|
||||||
|
else " handle input argument
|
||||||
|
" call Decho("using input a:1<".a:1.">")
|
||||||
|
" use window position passed to this function
|
||||||
|
exe "silent ".a:1
|
||||||
|
" remove a:1 pattern from b:cecutil_winposn{b:cecutil_iwinposn} stack
|
||||||
|
if exists("b:cecutil_iwinposn")
|
||||||
|
let jwinposn= b:cecutil_iwinposn
|
||||||
|
while jwinposn >= 1 " search for a:1 in iwinposn..1
|
||||||
|
if exists("b:cecutil_winposn{jwinposn}") " if it exists
|
||||||
|
if a:1 == b:cecutil_winposn{jwinposn} " and the pattern matches
|
||||||
|
unlet b:cecutil_winposn{jwinposn} " unlet it
|
||||||
|
if jwinposn == b:cecutil_iwinposn " if at top-of-stack
|
||||||
|
let b:cecutil_iwinposn= b:cecutil_iwinposn - 1 " drop stacktop by one
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let jwinposn= jwinposn - 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Seems to be something odd: vertical motions after RWP
|
||||||
|
" cause jump to first column. The following fixes that.
|
||||||
|
" Note: was using wincol()>1, but with signs, a cursor
|
||||||
|
" at column 1 yields wincol()==3. Beeping ensued.
|
||||||
|
if virtcol('.') > 1
|
||||||
|
silent norm! hl
|
||||||
|
elseif virtcol(".") < virtcol("$")
|
||||||
|
silent norm! lh
|
||||||
|
endif
|
||||||
|
|
||||||
|
let &l:so = so_keep
|
||||||
|
let &l:siso = siso_keep
|
||||||
|
let &l:ss = ss_keep
|
||||||
|
|
||||||
|
" call Dret("RestoreWinPosn")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" GoWinbufnr: go to window holding given buffer (by number) {{{2
|
||||||
|
" Prefers current window; if its buffer number doesn't match,
|
||||||
|
" then will try from topleft to bottom right
|
||||||
|
fun! GoWinbufnr(bufnum)
|
||||||
|
" call Dfunc("GoWinbufnr(".a:bufnum.")")
|
||||||
|
if winbufnr(0) == a:bufnum
|
||||||
|
" call Dret("GoWinbufnr : winbufnr(0)==a:bufnum")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
winc t
|
||||||
|
let first=1
|
||||||
|
while winbufnr(0) != a:bufnum && (first || winnr() != 1)
|
||||||
|
winc w
|
||||||
|
let first= 0
|
||||||
|
endwhile
|
||||||
|
" call Dret("GoWinbufnr")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" SaveMark: sets up a string saving a mark position. {{{2
|
||||||
|
" For example, SaveMark("a")
|
||||||
|
" Also sets up a global variable, g:savemark_{markname}
|
||||||
|
fun! SaveMark(markname)
|
||||||
|
" call Dfunc("SaveMark(markname<".a:markname.">)")
|
||||||
|
let markname= a:markname
|
||||||
|
if strpart(markname,0,1) !~ '\a'
|
||||||
|
let markname= strpart(markname,1,1)
|
||||||
|
endif
|
||||||
|
" call Decho("markname=".markname)
|
||||||
|
|
||||||
|
let lzkeep = &lz
|
||||||
|
set lz
|
||||||
|
|
||||||
|
if 1 <= line("'".markname) && line("'".markname) <= line("$")
|
||||||
|
let winposn = SaveWinPosn(0)
|
||||||
|
exe s:modifier."norm! `".markname
|
||||||
|
let savemark = SaveWinPosn(0)
|
||||||
|
let g:savemark_{markname} = savemark
|
||||||
|
let savemark = markname.savemark
|
||||||
|
call RestoreWinPosn(winposn)
|
||||||
|
else
|
||||||
|
let g:savemark_{markname} = ""
|
||||||
|
let savemark = ""
|
||||||
|
endif
|
||||||
|
|
||||||
|
let &lz= lzkeep
|
||||||
|
|
||||||
|
" call Dret("SaveMark : savemark<".savemark.">")
|
||||||
|
return savemark
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" RestoreMark: {{{2
|
||||||
|
" call RestoreMark("a") -or- call RestoreMark(savemark)
|
||||||
|
fun! RestoreMark(markname)
|
||||||
|
" call Dfunc("RestoreMark(markname<".a:markname.">)")
|
||||||
|
|
||||||
|
if strlen(a:markname) <= 0
|
||||||
|
" call Dret("RestoreMark : no such mark")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let markname= strpart(a:markname,0,1)
|
||||||
|
if markname !~ '\a'
|
||||||
|
" handles 'a -> a styles
|
||||||
|
let markname= strpart(a:markname,1,1)
|
||||||
|
endif
|
||||||
|
" call Decho("markname=".markname." strlen(a:markname)=".strlen(a:markname))
|
||||||
|
|
||||||
|
let lzkeep = &lz
|
||||||
|
set lz
|
||||||
|
let winposn = SaveWinPosn(0)
|
||||||
|
|
||||||
|
if strlen(a:markname) <= 2
|
||||||
|
if exists("g:savemark_{markname}") && strlen(g:savemark_{markname}) != 0
|
||||||
|
" use global variable g:savemark_{markname}
|
||||||
|
" call Decho("use savemark list")
|
||||||
|
call RestoreWinPosn(g:savemark_{markname})
|
||||||
|
exe "norm! m".markname
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" markname is a savemark command (string)
|
||||||
|
" call Decho("use savemark command")
|
||||||
|
let markcmd= strpart(a:markname,1)
|
||||||
|
call RestoreWinPosn(markcmd)
|
||||||
|
exe "norm! m".markname
|
||||||
|
endif
|
||||||
|
|
||||||
|
call RestoreWinPosn(winposn)
|
||||||
|
let &lz = lzkeep
|
||||||
|
|
||||||
|
" call Dret("RestoreMark")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" DestroyMark: {{{2
|
||||||
|
" call DestroyMark("a") -- destroys mark
|
||||||
|
fun! DestroyMark(markname)
|
||||||
|
" call Dfunc("DestroyMark(markname<".a:markname.">)")
|
||||||
|
|
||||||
|
" save options and set to standard values
|
||||||
|
let reportkeep= &report
|
||||||
|
let lzkeep = &lz
|
||||||
|
set lz report=10000
|
||||||
|
|
||||||
|
let markname= strpart(a:markname,0,1)
|
||||||
|
if markname !~ '\a'
|
||||||
|
" handles 'a -> a styles
|
||||||
|
let markname= strpart(a:markname,1,1)
|
||||||
|
endif
|
||||||
|
" call Decho("markname=".markname)
|
||||||
|
|
||||||
|
let curmod = &mod
|
||||||
|
let winposn = SaveWinPosn(0)
|
||||||
|
1
|
||||||
|
let lineone = getline(".")
|
||||||
|
exe "k".markname
|
||||||
|
d
|
||||||
|
put! =lineone
|
||||||
|
let &mod = curmod
|
||||||
|
call RestoreWinPosn(winposn)
|
||||||
|
|
||||||
|
" restore options to user settings
|
||||||
|
let &report = reportkeep
|
||||||
|
let &lz = lzkeep
|
||||||
|
|
||||||
|
" call Dret("DestroyMark")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" QArgSplitter: to avoid \ processing by <f-args>, <q-args> is needed. {{{2
|
||||||
|
" However, <q-args> doesn't split at all, so this one returns a list
|
||||||
|
" with splits at all whitespace (only!), plus a leading length-of-list.
|
||||||
|
" The resulting list: qarglist[0] corresponds to a:0
|
||||||
|
" qarglist[i] corresponds to a:{i}
|
||||||
|
fun! QArgSplitter(qarg)
|
||||||
|
" call Dfunc("QArgSplitter(qarg<".a:qarg.">)")
|
||||||
|
let qarglist = split(a:qarg)
|
||||||
|
let qarglistlen = len(qarglist)
|
||||||
|
let qarglist = insert(qarglist,qarglistlen)
|
||||||
|
" call Dret("QArgSplitter ".string(qarglist))
|
||||||
|
return qarglist
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" ListWinPosn: {{{2
|
||||||
|
"fun! ListWinPosn() " Decho
|
||||||
|
" if !exists("b:cecutil_iwinposn") || b:cecutil_iwinposn == 0 " Decho
|
||||||
|
" call Decho("nothing on SWP stack") " Decho
|
||||||
|
" else " Decho
|
||||||
|
" let jwinposn= b:cecutil_iwinposn " Decho
|
||||||
|
" while jwinposn >= 1 " Decho
|
||||||
|
" if exists("b:cecutil_winposn{jwinposn}") " Decho
|
||||||
|
" call Decho("winposn{".jwinposn."}<".b:cecutil_winposn{jwinposn}.">") " Decho
|
||||||
|
" else " Decho
|
||||||
|
" call Decho("winposn{".jwinposn."} -- doesn't exist") " Decho
|
||||||
|
" endif " Decho
|
||||||
|
" let jwinposn= jwinposn - 1 " Decho
|
||||||
|
" endwhile " Decho
|
||||||
|
" endif " Decho
|
||||||
|
"endfun " Decho
|
||||||
|
"com! -nargs=0 LWP call ListWinPosn() " Decho
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" SaveUserMaps: this function sets up a script-variable (s:restoremap) {{{2
|
||||||
|
" which can be used to restore user maps later with
|
||||||
|
" call RestoreUserMaps()
|
||||||
|
"
|
||||||
|
" mapmode - see :help maparg for details (n v o i c l "")
|
||||||
|
" ex. "n" = Normal
|
||||||
|
" The letters "b" and "u" are optional prefixes;
|
||||||
|
" The "u" means that the map will also be unmapped
|
||||||
|
" The "b" means that the map has a <buffer> qualifier
|
||||||
|
" ex. "un" = Normal + unmapping
|
||||||
|
" ex. "bn" = Normal + <buffer>
|
||||||
|
" ex. "bun" = Normal + <buffer> + unmapping
|
||||||
|
" ex. "ubn" = Normal + <buffer> + unmapping
|
||||||
|
" maplead - see mapchx
|
||||||
|
" mapchx - "<something>" handled as a single map item.
|
||||||
|
" ex. "<left>"
|
||||||
|
" - "string" a string of single letters which are actually
|
||||||
|
" multiple two-letter maps (using the maplead:
|
||||||
|
" maplead . each_character_in_string)
|
||||||
|
" ex. maplead="\" and mapchx="abc" saves user mappings for
|
||||||
|
" \a, \b, and \c
|
||||||
|
" Of course, if maplead is "", then for mapchx="abc",
|
||||||
|
" mappings for a, b, and c are saved.
|
||||||
|
" - :something handled as a single map item, w/o the ":"
|
||||||
|
" ex. mapchx= ":abc" will save a mapping for "abc"
|
||||||
|
" suffix - a string unique to your plugin
|
||||||
|
" ex. suffix= "DrawIt"
|
||||||
|
fun! SaveUserMaps(mapmode,maplead,mapchx,suffix)
|
||||||
|
" call Dfunc("SaveUserMaps(mapmode<".a:mapmode."> maplead<".a:maplead."> mapchx<".a:mapchx."> suffix<".a:suffix.">)")
|
||||||
|
|
||||||
|
if !exists("s:restoremap_{a:suffix}")
|
||||||
|
" initialize restoremap_suffix to null string
|
||||||
|
let s:restoremap_{a:suffix}= ""
|
||||||
|
endif
|
||||||
|
|
||||||
|
" set up dounmap: if 1, then save and unmap (a:mapmode leads with a "u")
|
||||||
|
" if 0, save only
|
||||||
|
let mapmode = a:mapmode
|
||||||
|
let dounmap = 0
|
||||||
|
let dobuffer = ""
|
||||||
|
while mapmode =~ '^[bu]'
|
||||||
|
if mapmode =~ '^u'
|
||||||
|
let dounmap= 1
|
||||||
|
let mapmode= strpart(a:mapmode,1)
|
||||||
|
elseif mapmode =~ '^b'
|
||||||
|
let dobuffer= "<buffer> "
|
||||||
|
let mapmode= strpart(a:mapmode,1)
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
" call Decho("dounmap=".dounmap." dobuffer<".dobuffer.">")
|
||||||
|
|
||||||
|
" save single map :...something...
|
||||||
|
if strpart(a:mapchx,0,1) == ':'
|
||||||
|
" call Decho("save single map :...something...")
|
||||||
|
let amap= strpart(a:mapchx,1)
|
||||||
|
if amap == "|" || amap == "\<c-v>"
|
||||||
|
let amap= "\<c-v>".amap
|
||||||
|
endif
|
||||||
|
let amap = a:maplead.amap
|
||||||
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|:silent! ".mapmode."unmap ".dobuffer.amap
|
||||||
|
if maparg(amap,mapmode) != ""
|
||||||
|
let maprhs = substitute(maparg(amap,mapmode),'|','<bar>','ge')
|
||||||
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|:".mapmode."map ".dobuffer.amap." ".maprhs
|
||||||
|
endif
|
||||||
|
if dounmap
|
||||||
|
exe "silent! ".mapmode."unmap ".dobuffer.amap
|
||||||
|
endif
|
||||||
|
|
||||||
|
" save single map <something>
|
||||||
|
elseif strpart(a:mapchx,0,1) == '<'
|
||||||
|
" call Decho("save single map <something>")
|
||||||
|
let amap = a:mapchx
|
||||||
|
if amap == "|" || amap == "\<c-v>"
|
||||||
|
let amap= "\<c-v>".amap
|
||||||
|
" call Decho("amap[[".amap."]]")
|
||||||
|
endif
|
||||||
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|silent! ".mapmode."unmap ".dobuffer.amap
|
||||||
|
if maparg(a:mapchx,mapmode) != ""
|
||||||
|
let maprhs = substitute(maparg(amap,mapmode),'|','<bar>','ge')
|
||||||
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|".mapmode."map ".amap." ".dobuffer.maprhs
|
||||||
|
endif
|
||||||
|
if dounmap
|
||||||
|
exe "silent! ".mapmode."unmap ".dobuffer.amap
|
||||||
|
endif
|
||||||
|
|
||||||
|
" save multiple maps
|
||||||
|
else
|
||||||
|
" call Decho("save multiple maps")
|
||||||
|
let i= 1
|
||||||
|
while i <= strlen(a:mapchx)
|
||||||
|
let amap= a:maplead.strpart(a:mapchx,i-1,1)
|
||||||
|
if amap == "|" || amap == "\<c-v>"
|
||||||
|
let amap= "\<c-v>".amap
|
||||||
|
endif
|
||||||
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|silent! ".mapmode."unmap ".dobuffer.amap
|
||||||
|
if maparg(amap,mapmode) != ""
|
||||||
|
let maprhs = substitute(maparg(amap,mapmode),'|','<bar>','ge')
|
||||||
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|".mapmode."map ".amap." ".dobuffer.maprhs
|
||||||
|
endif
|
||||||
|
if dounmap
|
||||||
|
exe "silent! ".mapmode."unmap ".dobuffer.amap
|
||||||
|
endif
|
||||||
|
let i= i + 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
" call Dret("SaveUserMaps : restoremap_".a:suffix.": ".s:restoremap_{a:suffix})
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" RestoreUserMaps: {{{2
|
||||||
|
" Used to restore user maps saved by SaveUserMaps()
|
||||||
|
fun! RestoreUserMaps(suffix)
|
||||||
|
" call Dfunc("RestoreUserMaps(suffix<".a:suffix.">)")
|
||||||
|
if exists("s:restoremap_{a:suffix}")
|
||||||
|
let s:restoremap_{a:suffix}= substitute(s:restoremap_{a:suffix},'|\s*$','','e')
|
||||||
|
if s:restoremap_{a:suffix} != ""
|
||||||
|
" call Decho("exe ".s:restoremap_{a:suffix})
|
||||||
|
exe "silent! ".s:restoremap_{a:suffix}
|
||||||
|
endif
|
||||||
|
unlet s:restoremap_{a:suffix}
|
||||||
|
endif
|
||||||
|
" call Dret("RestoreUserMaps")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ==============
|
||||||
|
" Restore: {{{1
|
||||||
|
" ==============
|
||||||
|
let &cpo= s:keepcpo
|
||||||
|
unlet s:keepcpo
|
||||||
|
|
||||||
|
" ================
|
||||||
|
" Modelines: {{{1
|
||||||
|
" ================
|
||||||
|
" vim: ts=4 fdm=marker
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,511 @@
|
||||||
|
" Trac client: A interface to a Trac Wiki Repository
|
||||||
|
"
|
||||||
|
" Script Info and Documentation {{{
|
||||||
|
"=============================================================================
|
||||||
|
" Copyright: Copyright (C) 2008 Michael Brown
|
||||||
|
" License: The MIT License
|
||||||
|
"
|
||||||
|
" 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.
|
||||||
|
" Name Of File: trac.vim , trac.py
|
||||||
|
" Description: Wiki Client to the Trac Project Manager (trac.edgewall.org)
|
||||||
|
" Maintainer: Michael Brown <michael <at> ascetinteractive.com>
|
||||||
|
" Contributors: Brad Fritz
|
||||||
|
" Last Change:
|
||||||
|
" URL:
|
||||||
|
" Version: 0.3.6
|
||||||
|
"
|
||||||
|
" Usage:
|
||||||
|
"
|
||||||
|
" You must have a working Trac repository version 0.10 or later
|
||||||
|
" complete with the xmlrpc plugin and a user with suitable
|
||||||
|
" access rights.
|
||||||
|
"
|
||||||
|
" To use the summary view you need to have the Align plugin
|
||||||
|
" installed for the layout.
|
||||||
|
"
|
||||||
|
" http://www.vim.org/scripts/script.php?script_id=294
|
||||||
|
"
|
||||||
|
" Fill in the server login details in the config section below.
|
||||||
|
"
|
||||||
|
" Defatult key mappings:
|
||||||
|
"
|
||||||
|
" <leader>to : Opens the Trac wiki view
|
||||||
|
" <leader>tq : Closes the Trac wiki View
|
||||||
|
" <leader>tw : Writes the Current Wiki Page (Uses default update
|
||||||
|
" Comment)
|
||||||
|
"
|
||||||
|
" or
|
||||||
|
"
|
||||||
|
" :TServer <server name - Sets the current trac Server
|
||||||
|
" (use tab complete)
|
||||||
|
" :TClose - Close VimTrac to the normal View
|
||||||
|
"
|
||||||
|
" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
"
|
||||||
|
" Trac Wiki Commands
|
||||||
|
"
|
||||||
|
" :TWOpen <WikiPage> - Open the wiki View
|
||||||
|
" :TWSave "<Comment>" - Saves the Active Wiki Page
|
||||||
|
"
|
||||||
|
" In the Wiki TOC View Pages can be loaded by hitting <enter>
|
||||||
|
"
|
||||||
|
" In the Wiki View Window a Page Will go to the wiki page if
|
||||||
|
" you hit ctrl+] but will throw an error if you arent on a
|
||||||
|
" proper link.
|
||||||
|
"
|
||||||
|
" Wikis can now be saved with :w and :wq.
|
||||||
|
" In all Trac windows :q will return to the normal view
|
||||||
|
"
|
||||||
|
" Wiki Syntax will work with this wiki syntax file
|
||||||
|
" http://www.vim.org/scripts/script.php?script_id=725
|
||||||
|
"
|
||||||
|
" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
"
|
||||||
|
" Trac Ticket Commands
|
||||||
|
"
|
||||||
|
" :TTOpen <Ticket ID> - Open Trac Ticket Browser
|
||||||
|
"
|
||||||
|
" Trac current ticket option modifications (use tab complete)
|
||||||
|
"
|
||||||
|
" :TTSetMilestone <Milestone>
|
||||||
|
" :TTSetType <Type
|
||||||
|
" :TTSetStatus <Status>
|
||||||
|
" :TTSetResolution <Resolution>
|
||||||
|
" :TTSetPriority <Priority >
|
||||||
|
" :TTSetSeverity <Severity >
|
||||||
|
" :TTSetComponent <Component>
|
||||||
|
" :TTSetSummary <Summary >
|
||||||
|
"
|
||||||
|
"
|
||||||
|
" :TTAddComment - Add the comment to the current
|
||||||
|
" ticket
|
||||||
|
"
|
||||||
|
"
|
||||||
|
" In the Ticket List window j and k jump to next ticket
|
||||||
|
" enter will select a ticket if it is hovering over a number
|
||||||
|
"
|
||||||
|
" Bugs:
|
||||||
|
"
|
||||||
|
" Ocassionally when a wiki page/ticket is loaded it will throw an error.
|
||||||
|
" Just try and load it again
|
||||||
|
"
|
||||||
|
" Please log any issues at http://www.ascetinteractive.com.au/vimtrac
|
||||||
|
"
|
||||||
|
" To Do:
|
||||||
|
" - Complete Error handling for missing Files/Trac Error States
|
||||||
|
" - Add a new Wiki Page Option
|
||||||
|
" - Improve the toc scrolling (highlight current line)
|
||||||
|
" - Improve Ticket Viewing option
|
||||||
|
" - Add support for multiple trac servers
|
||||||
|
"
|
||||||
|
"}}}
|
||||||
|
"Configuration
|
||||||
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
" Load trac.py either from the runtime directory (usually
|
||||||
|
" /usr/local/share/vim/vim71/plugin/ if you're running Vim 7.1) or from the
|
||||||
|
" home vim directory (usually ~/.vim/plugin/).
|
||||||
|
"
|
||||||
|
if g:tracServerList == {}
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !has("python")
|
||||||
|
call confirm('Trac.vim needs vim python 2.4.4 support. Wont load', 'OK')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
if filereadable($VIMRUNTIME."/plugin/trac.py")
|
||||||
|
pyfile $VIMRUNTIME/plugin/trac.py
|
||||||
|
elseif filereadable($HOME."/.vim/plugin/trac.py")
|
||||||
|
pyfile $HOME/.vim/plugin/trac.py
|
||||||
|
else
|
||||||
|
call confirm('trac.vim: Unable to find trac.py. Place it in either your home vim directory or in the Vim runtime directory.', 'OK')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
python import sys
|
||||||
|
python if sys.version_info[:3] < (2,4,4):vim.command('let g:tracPythonVersionFlag = 1')
|
||||||
|
|
||||||
|
if exists('g:tracPythonVersionFlag')
|
||||||
|
call confirm ( "Trac.vim requires python 2.4.4 or later to work correctly" )
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:tracDefaultComment')
|
||||||
|
let g:tracDefaultComment = 'VimTrac update' " DEFAULT COMMENT CHANGE
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:tracHideTracWiki')
|
||||||
|
let g:tracHideTracWiki = 'yes' " SET TO yes/no IF YOU WANT TO HIDE
|
||||||
|
" ALL THE INTERNAL TRAC WIKI PAGES (^Wiki*/^Trac*)
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:tracTempHtml')
|
||||||
|
let g:tracTempHtml = '/tmp/trac_wiki.html'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:tracSessionDirectory')
|
||||||
|
let g:tracSessionDirectory = expand ('$HOME') . '/.vimtrac_session'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:tracBrowser')
|
||||||
|
let g:tracBrowser = 'lynx' " For Setting up Browser view (terminal)
|
||||||
|
"let g:tracBrowser = 'firefox' " For Setting up Browser view (linux gui - not tested)
|
||||||
|
"let g:tracBrowser = '"C:\Program Files\Mozilla Firefox\firefox.exe"' "GVim on Windows not tested
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:tracServerList')
|
||||||
|
|
||||||
|
let g:tracServerList = {}
|
||||||
|
|
||||||
|
"Add Server Repositories as Dictionary entries
|
||||||
|
let g:tracServerList['Vim Trac'] = 'http://vimtracuser:wibble@www.ascetinteractive.com.au/vimtrac/login/xmlrpc'
|
||||||
|
let g:tracServerList['(ServerName)'] = 'http://(User):(Pass)@(ServerPath)/login/xmlrpc'
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
"This can be modified to speed up queries
|
||||||
|
if !exists('g:tracTicketClause')
|
||||||
|
let g:tracTicketClause = 'status!=closed'
|
||||||
|
endif
|
||||||
|
|
||||||
|
"Set this to 1 if you wan the ticket view to ignore attribute changes which
|
||||||
|
"can clutter up the view
|
||||||
|
"
|
||||||
|
if !exists('g:tracTicketBriefDescription')
|
||||||
|
let g:tracTicketBriefDescription = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
"Layouts can be modified here
|
||||||
|
if !exists('g:tracWikiStyle')
|
||||||
|
let g:tracWikiStyle = 'full' " 'bottom' 'top' 'full'
|
||||||
|
endif
|
||||||
|
if !exists('g:tracSearchStyle')
|
||||||
|
let g:tracSearchStyle = 'left' " 'right'
|
||||||
|
endif
|
||||||
|
if !exists('g:tracTimelineStyle')
|
||||||
|
let g:tracTimelineStyle = 'bottom' " 'left' 'right'
|
||||||
|
endif
|
||||||
|
" Ticket view styles note the summary style needs the Align plugin
|
||||||
|
if !exists('g:tracTicketStyle')
|
||||||
|
let g:tracTicketStyle = 'summary' " 'full' 'top' 'left' 'right' 'full'
|
||||||
|
endif
|
||||||
|
|
||||||
|
"Leader Short CUTS (Uncomment or add and customise to yout vimrc)
|
||||||
|
"Open Wiki
|
||||||
|
" map <leader>to :TWOpen<cr>
|
||||||
|
" Save Wiki
|
||||||
|
" map <leader>tw :TWSave<cr>
|
||||||
|
" Close wiki/ticket view
|
||||||
|
" map <leader>tq :TClose<cr>
|
||||||
|
" resize
|
||||||
|
" map <leader>tt :python trac_window_resize()<cr>
|
||||||
|
" preview window
|
||||||
|
" map <leader>tp :python trac_preview()<cr>
|
||||||
|
"
|
||||||
|
" map <leader>tp :python trac.ticket.summary_view()<cr>
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
"End Configuration
|
||||||
|
|
||||||
|
"
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
"Commmand Declarations
|
||||||
|
"
|
||||||
|
"NOTE: Due to the command list increasing as of version 0.3 of the plugin several command names
|
||||||
|
"have been renamed. The ':Trac' command prefix has been cut down to :T and the first inital of
|
||||||
|
"the module eg :TW... for TracWiki commands :TT... for Trac ticket commands
|
||||||
|
"
|
||||||
|
"The trac.py file no longer references these commands directly so you are free
|
||||||
|
"to change them if they clash with another plugin.
|
||||||
|
"
|
||||||
|
"WIKI MODULE COMMANDS
|
||||||
|
|
||||||
|
let g:tracDefaultView = 'wiki' " 'ticket' 'timeline'
|
||||||
|
com! -nargs=+ -complete=customlist,ComTracServers TWServer python trac.set_current_server (<q-args>)
|
||||||
|
com! -nargs=+ -complete=customlist,ComTracServers TTServer python trac.set_current_server (<q-args>, False, 'ticket')
|
||||||
|
com! -nargs=+ -complete=customlist,ComTracServers TTLServer python trac.set_current_server (<q-args>, False ,'timeline')
|
||||||
|
|
||||||
|
"QuickTicket Option (modify this command for your own servers) - Note Ticket #12
|
||||||
|
com! -nargs=+ TQTaskOnVimTrac python trac.ticket.create(<q-args> , 'task' , 'Vim Trac')
|
||||||
|
com! -nargs=+ TQDefectOnVimTrac python trac.ticket.create(<q-args> , 'defect' , 'Vim Trac')
|
||||||
|
com! -nargs=+ TQEnhanceOnVimTrac python trac.ticket.create(<q-args> , 'enhancement' , 'Vim Trac')
|
||||||
|
|
||||||
|
com! -nargs=? -complete=customlist,ComWiki TWOpen python trac.wiki_view (<f-args>)
|
||||||
|
|
||||||
|
fun LoadWikiCommands()
|
||||||
|
"NOTE: TWSave is referenced in trac.py
|
||||||
|
com! -nargs=* TWSave python trac.wiki.save(<q-args>)
|
||||||
|
com! -nargs=? TWCreate python trac.wiki_view (<f-args>, True)
|
||||||
|
com! -nargs=? -complete=customlist,ComAttachments TWGetAttachment python trac.get_attachment (<f-args>)
|
||||||
|
com! -nargs=? -complete=file TWAddAttachment python trac.add_attachment(<f-args>)
|
||||||
|
"HTML Preview/Dumps
|
||||||
|
com! -nargs=0 TWPreview python trac.preview(False)
|
||||||
|
com! -nargs=0 TWDump python trac.preview(True)
|
||||||
|
com! -nargs=? TWVimDiff python trac.wiki.vim_diff(<f-args>)
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun UnloadWikiCommands()
|
||||||
|
try
|
||||||
|
delc TWSave
|
||||||
|
delc TWCreate
|
||||||
|
delc TWGetAttachment
|
||||||
|
delc TWAddAttachment
|
||||||
|
delc TWPreview
|
||||||
|
delc TWDump
|
||||||
|
delc TWVimDiff
|
||||||
|
endtry
|
||||||
|
endfun
|
||||||
|
|
||||||
|
|
||||||
|
"TICKET MODULE COMMANDS
|
||||||
|
com! -nargs=? TTOpen python trac.ticket_view (<f-args>)
|
||||||
|
|
||||||
|
fun LoadTicketCommands()
|
||||||
|
"Trac Ticket modifications
|
||||||
|
com! -nargs=+ TTCreateTask python trac.ticket.create(<q-args>, 'task')
|
||||||
|
com! -nargs=+ TTCreateDefect python trac.ticket.create(<q-args>, 'defect')
|
||||||
|
com! -nargs=+ TTCreateEnhancement python trac.ticket.create(<q-args>, 'enhancement')
|
||||||
|
|
||||||
|
com! -nargs=0 TTAddComment python trac.ticket.add_comment()
|
||||||
|
"Ticket Attributes
|
||||||
|
com! -nargs=? -complete=customlist,ComMilestone TTSetMilestone python trac.ticket.set_attr(<f-args>, 'milestone' )
|
||||||
|
com! -nargs=? -complete=customlist,ComType TTSetType python trac.ticket.set_attr(<f-args>, 'type' )
|
||||||
|
com! -nargs=? -complete=customlist,ComStatus TTSetStatus python trac.ticket.set_attr(<f-args>, 'status' )
|
||||||
|
com! -nargs=? -complete=customlist,ComResolution TTSetResolution python trac.ticket.set_attr(<f-args>, 'resolution' )
|
||||||
|
com! -nargs=? -complete=customlist,ComPriority TTSetPriority python trac.ticket.set_attr(<f-args>, 'priority' )
|
||||||
|
com! -nargs=? -complete=customlist,ComSeverity TTSetSeverity python trac.ticket.set_attr(<f-args>, 'severity' )
|
||||||
|
com! -nargs=? -complete=customlist,ComComponent TTSetComponent python trac.ticket.set_attr(<f-args>, 'component' )
|
||||||
|
com! -nargs=? TTSetOwner python trac.ticket.set_attr(<f-args>, 'owner' )
|
||||||
|
com! -nargs=+ TTSetSummary python trac.ticket.set_summary(<q-args>)
|
||||||
|
|
||||||
|
com! -nargs=0 TTUpdateDescrption python trac.ticket.update_description()
|
||||||
|
|
||||||
|
com! -nargs=? -complete=customlist,ComMilestone TTFilterMilestone python trac.ticket.filter.add(<f-args>, 'milestone' )
|
||||||
|
com! -nargs=? -complete=customlist,ComType TTFilterType python trac.ticket.filter.add(<f-args>, 'type' )
|
||||||
|
com! -nargs=? -complete=customlist,ComStatus TTFilterStatus python trac.ticket.filter.add(<f-args>, 'status' )
|
||||||
|
com! -nargs=? -complete=customlist,ComResolution TTFilterResolution python trac.ticket.filter.add(<f-args>, 'resolution' )
|
||||||
|
com! -nargs=? -complete=customlist,ComPriority TTFilterPriority python trac.ticket.filter.add(<f-args>, 'priority' )
|
||||||
|
com! -nargs=? -complete=customlist,ComSeverity TTFilterSeverity python trac.ticket.filter.add(<f-args>, 'severity' )
|
||||||
|
com! -nargs=? -complete=customlist,ComComponent TTFilterComponent python trac.ticket.filter.add(<f-args>, 'component' )
|
||||||
|
com! -nargs=? TTFilterOwner python trac.ticket.filter.add(<f-args>, 'owner' )
|
||||||
|
|
||||||
|
com! -nargs=? -complete=customlist,ComMilestone TTFilterNoMilestone python trac.ticket.filter.add('', 'milestone' )
|
||||||
|
com! -nargs=? TTFilterNoOwner python trac.ticket.filter.add('', 'owner' )
|
||||||
|
|
||||||
|
com! -nargs=? -complete=customlist,ComMilestone TTIgnoreMilestone python trac.ticket.filter.add(<f-args>, 'milestone' ,False)
|
||||||
|
com! -nargs=? -complete=customlist,ComType TTIgnoreType python trac.ticket.filter.add(<f-args>, 'type' ,False)
|
||||||
|
com! -nargs=? -complete=customlist,ComStatus TTIgnoreStatus python trac.ticket.filter.add(<f-args>, 'status' ,False)
|
||||||
|
com! -nargs=? -complete=customlist,ComResolution TTIgnoreResolution python trac.ticket.filter.add(<f-args>, 'resolution' ,False)
|
||||||
|
com! -nargs=? -complete=customlist,ComPriority TTIgnorePriority python trac.ticket.filter.add(<f-args>, 'priority' ,False)
|
||||||
|
com! -nargs=? -complete=customlist,ComSeverity TTIgnoreSeverity python trac.ticket.filter.add(<f-args>, 'severity' ,False)
|
||||||
|
com! -nargs=? -complete=customlist,ComComponent TTIgnoreComponent python trac.ticket.filter.add(<f-args>, 'component' ,False)
|
||||||
|
com! -nargs=? TTIgnoreOwner python trac.ticket.filter.add(<f-args>, 'owner' ,False)
|
||||||
|
|
||||||
|
com! -nargs=? -complete=customlist,ComMilestone TTIgnoreNoMilestone python trac.ticket.filter.add('', 'milestone' ,False)
|
||||||
|
com! -nargs=? TTIgnoreNoOwner python trac.ticket.filter.add('', 'owner' ,False)
|
||||||
|
|
||||||
|
com! -nargs=0 TTClearAllFilters python trac.ticket.filter.clear()
|
||||||
|
com! -nargs=* TTClearFilter python trac.ticket.filter.delete(<f-args>)
|
||||||
|
com! -nargs=* TTListFilters python trac.ticket.filter.list()
|
||||||
|
"Ticket Sorting
|
||||||
|
com! -nargs=? -complete=customlist,ComSort TTSortby python trac.ticket.sort.set_sortby(<f-args>)
|
||||||
|
|
||||||
|
"Ticket Attachments
|
||||||
|
com! -nargs=? -complete=customlist,ComAttachments TTGetAttachment python trac.get_attachment (<f-args>)
|
||||||
|
com! -nargs=? -complete=file TTAddAttachment python trac.add_attachment(<f-args>)
|
||||||
|
"Html Preview
|
||||||
|
com! -nargs=0 TTPreview python trac.preview()
|
||||||
|
|
||||||
|
com! -nargs=0 TTLoadTicketSession python trac.ticket.session_load()
|
||||||
|
com! -nargs=0 TTSaveTicketSession python trac.ticket.session_save()
|
||||||
|
|
||||||
|
com! -nargs=? -complete=customlist,ComComponent TTSaveCompSession python trac.ticket.session_component_save(<q-args>)
|
||||||
|
com! -nargs=* -complete=customlist,ComComponent TTLoadCompSession python trac.ticket.session_component_load(<q-args>)
|
||||||
|
|
||||||
|
"Ticket resolution
|
||||||
|
com! -nargs=* TTCloseTicket python trac.ticket.close_ticket(<q-args>)
|
||||||
|
com! -nargs=* TTResolveFixed python trac.ticket.resolve_ticket(<q-args>,'fixed')
|
||||||
|
com! -nargs=* TTResolveWontfix python trac.ticket.resolve_ticket(<q-args>,'wontfix')
|
||||||
|
com! -nargs=* TTResolveDuplicate python trac.ticket.resolve_ticket(<q-args>,'duplicate')
|
||||||
|
com! -nargs=* TTResolveInvalid python trac.ticket.resolve_ticket(<q-args>,'invalid')
|
||||||
|
com! -nargs=* TTResolveWorksForMe python trac.ticket.resolve_ticket(<q-args>,'worksforme')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun UnloadTicketCommands()
|
||||||
|
"Trac Ticket modifications
|
||||||
|
try
|
||||||
|
delc TTCreateTask
|
||||||
|
delc TTCreateDefect
|
||||||
|
delc TTCreateEnhancement
|
||||||
|
delc TTAddComment
|
||||||
|
"Ticket Attributes
|
||||||
|
delc TTSetMilestone
|
||||||
|
delc TTSetStatus
|
||||||
|
delc TTSetType
|
||||||
|
delc TTSetResolution
|
||||||
|
delc TTSetPriority
|
||||||
|
delc TTSetSeverity
|
||||||
|
delc TTSetComponent
|
||||||
|
delc TTSetOwner
|
||||||
|
delc TTSetSummary
|
||||||
|
|
||||||
|
delc TTUpdateDescrption
|
||||||
|
|
||||||
|
delc TTFilterMilestone
|
||||||
|
delc TTFilterType
|
||||||
|
delc TTFilterStatus
|
||||||
|
delc TTFilterResolution
|
||||||
|
delc TTFilterPriority
|
||||||
|
delc TTFilterSeverity
|
||||||
|
delc TTFilterComponent
|
||||||
|
delc TTFilterOwner
|
||||||
|
delc TTClearFilter
|
||||||
|
delc TTClearAllFilters
|
||||||
|
|
||||||
|
delc TTSortby
|
||||||
|
|
||||||
|
delc TTIgnoreMilestone
|
||||||
|
delc TTIgnoreType
|
||||||
|
delc TTIgnoreStatus
|
||||||
|
delc TTIgnoreResolution
|
||||||
|
delc TTIgnorePriority
|
||||||
|
delc TTIgnoreSeverity
|
||||||
|
delc TTIgnoreComponent
|
||||||
|
delc TTIgnoreOwner
|
||||||
|
|
||||||
|
delc TTIgnoreNoMilestone
|
||||||
|
delc TTIgnoreNoOwner
|
||||||
|
|
||||||
|
"Ticket Attachments
|
||||||
|
delc TTGetAttachment
|
||||||
|
delc TTAddAttachment
|
||||||
|
"Html Preview
|
||||||
|
delc TTPreview
|
||||||
|
delc TTLoadTicketSession
|
||||||
|
delc TTSaveTicketSession
|
||||||
|
delc TTCloseTicket
|
||||||
|
delc TTListFilters
|
||||||
|
delc TTFilterNoMilestone
|
||||||
|
delc TTFilterNoOwner
|
||||||
|
"resolution
|
||||||
|
delc TTResolveFixed
|
||||||
|
delc TTResolveWontfix
|
||||||
|
delc TTResolveDuplicate
|
||||||
|
delc TTResolveInvalid
|
||||||
|
delc TTResolveWorksForMe
|
||||||
|
endtry
|
||||||
|
endfun
|
||||||
|
|
||||||
|
"MISCELLANEOUS
|
||||||
|
com! -nargs=+ TSearch python trac.search_view(<q-args>)
|
||||||
|
com! -nargs=1 TChangesetOpen python trac.changeset_view(<f-args>, True)
|
||||||
|
com! -nargs=0 TTimelineOpen python trac.timeline_view()
|
||||||
|
com! -nargs=0 TClose python trac.normal_view(<f-args>)
|
||||||
|
|
||||||
|
"FUNCTION COMPLETES
|
||||||
|
fun ComTracServers (A,L,P)
|
||||||
|
return filter (keys(g:tracServerList), 'v:val =~ "^'.a:A.'"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
let g:tracOptions = 1
|
||||||
|
|
||||||
|
fun ComAttachments (A,L,P)
|
||||||
|
python trac.list_attachments()
|
||||||
|
|
||||||
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun ComWiki (A,L,P)
|
||||||
|
python trac.wiki.get_options()
|
||||||
|
|
||||||
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
"COMMAND COMPLETES
|
||||||
|
fun ComMilestone (A,L,P)
|
||||||
|
python trac.ticket.get_options(0)
|
||||||
|
|
||||||
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun ComType (A,L,P)
|
||||||
|
python trac.ticket.get_options(1)
|
||||||
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun ComStatus (A,L,P)
|
||||||
|
python trac.ticket.get_options(2)
|
||||||
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun ComResolution (A,L,P)
|
||||||
|
python trac.ticket.get_options(3)
|
||||||
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun ComPriority (A,L,P)
|
||||||
|
python trac.ticket.get_options(4)
|
||||||
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun ComSeverity (A,L,P)
|
||||||
|
python trac.ticket.get_options(5)
|
||||||
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun ComComponent (A,L,P)
|
||||||
|
python trac.ticket.get_options(6)
|
||||||
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun ComSort (A,L,P)
|
||||||
|
return filter (['priority','milestone'], 'v:val =~ "^' . a:A . '"')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
|
||||||
|
"Callback Function for Minibufexplorer et al windows that dont like being
|
||||||
|
"closed by the :only command
|
||||||
|
"TODO add other common plugins that may be affected
|
||||||
|
"see OpenCloseCallbacks in the wiki
|
||||||
|
fun TracOpenViewCallback()
|
||||||
|
try
|
||||||
|
CMiniBufExplorer
|
||||||
|
catch
|
||||||
|
return 0
|
||||||
|
endt
|
||||||
|
|
||||||
|
return 1
|
||||||
|
endfun
|
||||||
|
|
||||||
|
fun TracCloseViewCallback()
|
||||||
|
try
|
||||||
|
MiniBufExplorer
|
||||||
|
catch
|
||||||
|
return 0
|
||||||
|
endt
|
||||||
|
return 1
|
||||||
|
endfun
|
||||||
|
|
||||||
|
python trac_init()
|
|
@ -0,0 +1,77 @@
|
||||||
|
" Vim syntax file
|
||||||
|
" Language: wiki
|
||||||
|
" Maintainer: Andreas Kneib <aporia@web.de>
|
||||||
|
" Improved By: Mathias Panzenböck <grosser.meister.morti@gmx.at>
|
||||||
|
" Last Change: 2003 Aug 05
|
||||||
|
|
||||||
|
" Little syntax file to use a wiki-editor with VIM
|
||||||
|
" (if your browser allow this action)
|
||||||
|
" To use this syntax file:
|
||||||
|
" 1. mkdir ~/.vim/syntax
|
||||||
|
" 2. mv ~/wiki.vim ~/.vim/syntax/wiki.vim
|
||||||
|
" 3. :set syntax=wiki
|
||||||
|
"
|
||||||
|
|
||||||
|
" Quit if syntax file is already loaded
|
||||||
|
if version < 600
|
||||||
|
syntax clear
|
||||||
|
elseif exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
if version < 508
|
||||||
|
command! -nargs=+ WikiHiLink hi link <args>
|
||||||
|
else
|
||||||
|
command! -nargs=+ WikiHiLink hi def link <args>
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn match wikiWord "\<[A-Z][^A-Z ]\+[A-Z][^A-Z ][^A-Z ]*\>"
|
||||||
|
syn match wikiLine "^----$"
|
||||||
|
syn region wikiLink start=+\[+hs=s+1 end=+\]+he=e-1
|
||||||
|
|
||||||
|
"" This RegEx don't work very well. But I'm to clueless, to make it better. ;)
|
||||||
|
"syn region wikiExtLink start=+\([^\[]\|^\)\[[^\[]+hs=s+1 end=+[^\]]\]\([^\]\|$]\)+he=e-1
|
||||||
|
"syn region wikiLink start=+\([^\[]\|^\)\[\[[^\[]+hs=s+1 end=+[^\]]\]\]\([^\]\|$]\)+he=e-1
|
||||||
|
|
||||||
|
syn match wikiStar "[*]"
|
||||||
|
syn region wikiCurly start="{\{3\}" end="}\{3\}"
|
||||||
|
syn region wikiHead start="^= " end="[=] *"
|
||||||
|
syn region wikiSubhead start="^== " end="==[ ]*"
|
||||||
|
syn match wikiCurlyError "}"
|
||||||
|
|
||||||
|
syn region wikiBold start=+'''+ end=+'''+ contains=wikiBoldItalic
|
||||||
|
syn region wikiBoldItalic contained start=+\([^']\|^\)''[^']+ end=+[^']''\([^']\|$\)+
|
||||||
|
|
||||||
|
syn region wikiItalic start=+\([^']\|^\)''[^']+hs=s+1 end=+[^']''\([^']\|$\)+he=e-1 contains=wikiItalicBold
|
||||||
|
syn region wikiItalicBold contained start=+'''+ end=+'''+
|
||||||
|
|
||||||
|
" The default highlighting.
|
||||||
|
if version >= 508 || !exists("did_wiki_syn_inits")
|
||||||
|
if version < 508
|
||||||
|
let did_wiki_syn_inits = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
WikiHiLink wikiCurlyError Error
|
||||||
|
WikiHiLink wikiHead Type
|
||||||
|
WikiHiLink wikiSubhead PreProc
|
||||||
|
WikiHiLink wikiCurly Statement
|
||||||
|
WikiHiLink wikiStar String
|
||||||
|
WikiHiLink wikiExtLink Special
|
||||||
|
WikiHiLink wikiLink Special
|
||||||
|
WikiHiLink wikiLine PreProc
|
||||||
|
WikiHiLink wikiWord Keyword
|
||||||
|
hi def wikiBold term=bold cterm=bold gui=bold
|
||||||
|
hi def wikiBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
|
||||||
|
hi def wikiItalic term=italic cterm=italic gui=italic
|
||||||
|
hi def wikiItalicBold term=bold,italic cterm=bold,italic gui=bold,italic
|
||||||
|
endif
|
||||||
|
|
||||||
|
delcommand WikiHiLink
|
||||||
|
|
||||||
|
let b:current_syntax = "wiki"
|
||||||
|
|
||||||
|
"EOF vim: tw=78:ft=vim:ts=8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,8 @@ set shiftwidth=4
|
||||||
set smarttab
|
set smarttab
|
||||||
set expandtab
|
set expandtab
|
||||||
set softtabstop=4
|
set softtabstop=4
|
||||||
set autoindent
|
" set autoindent
|
||||||
set smartindent
|
" set smartindent
|
||||||
|
|
||||||
" For highlighted numbers:
|
" For highlighted numbers:
|
||||||
let python_highlight_numbers = 1
|
let python_highlight_numbers = 1
|
||||||
|
@ -93,7 +93,6 @@ function! CleverTab()
|
||||||
inoremap <Tab> <C-R>=CleverTab()<CR>
|
inoremap <Tab> <C-R>=CleverTab()<CR>
|
||||||
set completeopt=longest
|
set completeopt=longest
|
||||||
|
|
||||||
|
|
||||||
" Emacs like indenting. Pressing Tab indents line
|
" Emacs like indenting. Pressing Tab indents line
|
||||||
" Not in python, there it is managed by GetPythonIndent
|
" Not in python, there it is managed by GetPythonIndent
|
||||||
set indentkeys=0{,0},0),:,0#,!^F,o,O,e,!<Tab>,!^F
|
set indentkeys=0{,0},0),:,0#,!^F,o,O,e,!<Tab>,!^F
|
||||||
|
|
Loading…
Reference in New Issue