From 69f423a66b9edb810d5b088adfe416eda6d5ccb5 Mon Sep 17 00:00:00 2001 From: gryf Date: Mon, 6 Sep 2010 21:21:48 +0200 Subject: [PATCH] Removed unnecessary OverLength highlight Added ColorColumn definition to wombat256grf colorscheme Added definition of ColorColumn for python filetype Downgrade pyflakes, because I don't want to have the errors in QF Wrapped substitutions with try: except blok in reST function blogify() Updated GetLatestVimScripts data file Updated plugins: vimwiki and vcscommand Removed pythoncomplete.vim since it is the same as the default form vim Removed colorschemes: lettuce and wombat256 --- .vimrc | 15 +- GetLatest/GetLatestVimScripts.dat | 11 +- autoload/vimwiki.vim | 5 +- colors/lettuce.vim | 215 ---------- colors/wombat256.vim | 359 ----------------- colors/wombat256grf.vim | 3 + doc/tags | 100 +---- doc/vcscommand.txt | 18 +- doc/vimwiki.txt | 14 +- ftplugin/python/common.vim | 1 + ftplugin/python/pyflakes.vim | 60 --- ftplugin/python/pythoncomplete.vim | 625 ----------------------------- ftplugin/rst/commons.vim | 11 +- plugin/vcsbzr.vim | 3 +- plugin/vcscommand.vim | 138 ++++--- plugin/vcscvs.vim | 28 +- plugin/vcsgit.vim | 3 +- plugin/vcshg.vim | 9 +- plugin/vcssvk.vim | 3 +- plugin/vcssvn.vim | 3 +- plugin/vimwiki.vim | 4 +- snippets/rst.snippets | 2 +- syntax/cvsannotate.vim | 2 +- syntax/gitannotate.vim | 2 +- syntax/hgannotate.vim | 2 +- syntax/svkannotate.vim | 2 +- syntax/svnannotate.vim | 6 +- syntax/vcscommit.vim | 2 +- 28 files changed, 194 insertions(+), 1452 deletions(-) delete mode 100644 colors/lettuce.vim delete mode 100644 colors/wombat256.vim delete mode 100644 ftplugin/python/pythoncomplete.vim diff --git a/.vimrc b/.vimrc index d5df0a9..310657e 100644 --- a/.vimrc +++ b/.vimrc @@ -148,6 +148,16 @@ let g:VerticalToolWindowSide = 'right' "{{{ Pydoc let g:pydoc_cmd = "/usr/bin/pydoc" "}}} +"mark {{{ +" addidtional colors -- +highlight def MarkWord7 ctermbg=White ctermfg=Black guibg=#E8E8E8 guifg=Black +highlight def MarkWord8 ctermbg=LightGray ctermfg=Black guibg=#C0C0C0 guifg=Black +highlight def MarkWord9 ctermbg=DarkYellow ctermfg=Black guibg=#FFC299 guifg=Black +highlight def MarkWord10 ctermbg=DarkGreen ctermfg=Black guibg=#6E9954 guifg=Black +"}}} +" DirDiff{{{ +let g:DirDiffExcludes = "CVS,*.class,*.exe,.*.swp,*.pyc,*.pyo" +" }}} "}}} "KEYS: User definied keyboard shortcuts {{{ @@ -345,10 +355,5 @@ if $TERM == 'linux' else colorscheme wombat256grf endif - -"highlight code beyond 79 column (must be after colorscheme) -highlight OverLength ctermbg=black guibg=black -match OverLength /\%81v.*/ "}}} " vim:ts=4:sw=4:wrap:fdm=marker: -call system('message.py vimrc end') diff --git a/GetLatest/GetLatestVimScripts.dat b/GetLatest/GetLatestVimScripts.dat index ce444c5..fbde047 100644 --- a/GetLatest/GetLatestVimScripts.dat +++ b/GetLatest/GetLatestVimScripts.dat @@ -2,10 +2,8 @@ ScriptID SourceID Filename -------------------------- ### plugins 102 13435 DirDiff.vim -1658 11834 NERD_tree.vim #2754 13139 :AutoInstall: delimitMate.vim 1984 11852 fuzzyfinder.vim -642 8136 :AutoInstall: getscript.vim 311 7645 grep.vim 2727 11120 jsbeautify.vim 2666 13424 Mark @@ -16,21 +14,19 @@ ScriptID SourceID Filename 2540 11006 snipMate.vim 1697 12566 :AutoInstall: surround.vim #273 7701 taglist.vim # exchanged with taglisttoo -2607 10388 tasklist.vim -90 13632 vcscommand.vim -2226 13667 vimwiki.vim +90 13751 vcscommand.vim +2226 13756 vimwiki.vim +2289 0 loremipsum.vim 1334 6377 vst.vim ### colors 1975 7471 lettuce.vim 2536 13588 lucius.vim 1165 3741 tolerable.vim -2465 13400 wombat256.vim # compiler 891 10365 pylint.vim # ftplugin 2441 13378 pyflakes.vim 30 9196 python_fn.vim -1542 10872 pythoncomplete.vim ### indent 1936 7708 javascript.vim # there is also python.vim, which is close to PEP8, but author of @@ -38,4 +34,3 @@ ScriptID SourceID Filename # http://monkey.org/~caz/python.vim ### syntax 790 12805 python.vim - diff --git a/autoload/vimwiki.vim b/autoload/vimwiki.vim index c023ce2..db98cc1 100644 --- a/autoload/vimwiki.vim +++ b/autoload/vimwiki.vim @@ -546,7 +546,10 @@ endfunction "}}} function vimwiki#get_hl_param(hgroup, hparam) "{{{ redir => hlstatus - exe "silent hi ".a:hgroup + try + exe "silent hi ".a:hgroup + catch /E411/ + endtry redir END return matchstr(hlstatus, a:hparam.'\s*=\s*\zs\S\+') endfunction "}}} diff --git a/colors/lettuce.vim b/colors/lettuce.vim deleted file mode 100644 index 223dc36..0000000 --- a/colors/lettuce.vim +++ /dev/null @@ -1,215 +0,0 @@ -" Vim color file -" Version: 1.2 2007.08.08 -" Author: Valyaeff Valentin -" License: GPL -" -" Copyright 2007 Valyaeff Valentin -" -" This program is free software: you can redistribute it and/or modify -" it under the terms of the GNU General Public License as published by -" the Free Software Foundation, either version 3 of the License, or -" (at your option) any later version. -" -" This program is distributed in the hope that it will be useful, -" but WITHOUT ANY WARRANTY; without even the implied warranty of -" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -" GNU General Public License for more details. -" -" You should have received a copy of the GNU General Public License -" along with this program. If not, see . - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="lettuce" - - -augroup Syntax_extensions - au! - au Syntax c,cpp,ruby,javascript syn match Operator "[*/%&|!=><^~,.;:?+-]\+" display contains=TOP - au Syntax c,cpp syn region cParen matchgroup=Operator transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell - au Syntax c,cpp syn region cCppParen matchgroup=Operator transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell - au Syntax c,cpp syn region cBracket matchgroup=Operator transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell - au Syntax c,cpp syn region cCppBracket matchgroup=Operator transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell - au Syntax c,cpp syn region cBlock matchgroup=OperatorCurlyBrackets start="{" end="}" transparent fold - au Syntax ruby syn match rubyBlockParameter "\%(\%(\\|{\)\s*\)\@<=|\s*[( ,a-zA-Z0-9_*)]\+\ze\s*|"hs=s+1 display - au Syntax ruby syn region rubyCurlyBlock matchgroup=Operator start="{" end="}" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo fold - au Syntax ruby syn region rubyParentheses matchgroup=Operator start="(" end=")" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo - au Syntax ruby syn region rubySquareBrackets matchgroup=Operator start="\[" end="\]" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo - au Syntax javascript syn region javascriptCurlyBrackets matchgroup=Operator start="{" end="}" transparent fold - au Syntax javascript syn region javascriptParentheses matchgroup=Operator start="(" end=")" transparent - au Syntax javascript syn region javascriptSquareBrackets matchgroup=Operator start="\[" end="\]" transparent -augroup END - - -if !has("gui_running") - -hi rubyGlobalVariable cterm=none ctermfg=64 -hi rubyPredefinedIdentifier cterm=bold ctermfg=64 -hi def link rubyStringDelimiter String - -hi Normal cterm=none ctermbg=232 ctermfg=189 -hi StatusLine cterm=none ctermbg=236 ctermfg=231 -hi StatusLineNC cterm=none ctermbg=236 ctermfg=103 -hi User1 cterm=bold ctermbg=236 ctermfg=223 -hi User2 cterm=none ctermbg=236 ctermfg=240 -hi VertSplit cterm=none ctermbg=236 ctermfg=103 -hi TabLine cterm=none ctermbg=236 ctermfg=145 -hi TabLineFill cterm=none ctermbg=236 -hi TabLineSel cterm=none ctermbg=240 ctermfg=253 -hi LineNr cterm=none ctermfg=238 -hi NonText cterm=bold ctermbg=233 ctermfg=241 -hi Folded cterm=none ctermbg=234 ctermfg=136 -hi FoldColumn cterm=none ctermbg=236 ctermfg=103 -hi SignColumn cterm=none ctermbg=236 ctermfg=103 -hi CursorColumn cterm=none ctermbg=234 -hi CursorLine cterm=none ctermbg=234 -hi IncSearch cterm=bold ctermbg=63 ctermfg=232 -hi Search cterm=none ctermbg=36 ctermfg=232 -hi Visual cterm=none ctermbg=24 -hi WildMenu cterm=bold ctermbg=35 ctermfg=232 -hi ModeMsg cterm=bold ctermfg=110 -hi MoreMsg cterm=bold ctermfg=121 -hi Question cterm=bold ctermfg=121 -hi ErrorMsg cterm=none ctermbg=88 ctermfg=255 -hi WarningMsg cterm=none ctermbg=58 ctermfg=255 -hi SpecialKey cterm=none ctermfg=77 -hi Title cterm=bold ctermfg=147 -hi Directory ctermfg=105 -hi DiffAdd cterm=none ctermbg=18 -hi DiffChange cterm=none ctermbg=58 -hi DiffDelete cterm=none ctermbg=52 ctermfg=58 -hi DiffText cterm=none ctermbg=53 -hi Pmenu cterm=none ctermbg=17 ctermfg=121 -hi PmenuSel cterm=none ctermbg=24 ctermfg=121 -hi PmenuSbar cterm=none ctermbg=19 -hi PmenuThumb cterm=none ctermbg=37 -hi MatchParen cterm=bold ctermbg=24 -hi SpellBad cterm=none ctermbg=88 -hi SpellCap cterm=none ctermbg=18 -hi SpellLocal cterm=none ctermbg=30 -hi SpellRare cterm=none ctermbg=90 - -hi Comment cterm=none ctermfg=138 -hi Constant cterm=none ctermfg=215 - hi String cterm=none ctermbg=235 ctermfg=215 - hi Character cterm=none ctermbg=235 ctermfg=215 - hi Number cterm=none ctermfg=34 - hi Float cterm=none ctermfg=41 -hi Identifier cterm=none ctermfg=186 - hi Function cterm=none ctermfg=210 -hi Statement cterm=bold ctermfg=63 - hi Exception cterm=bold ctermfg=99 - hi Operator cterm=none ctermfg=75 - hi Label cterm=none ctermfg=63 -hi PreProc cterm=bold ctermfg=36 -hi Type cterm=bold ctermfg=71 -hi Special cterm=none ctermbg=235 ctermfg=87 -hi Underlined cterm=underline ctermfg=227 -hi Ignore cterm=bold ctermfg=235 -hi Error cterm=bold ctermbg=52 ctermfg=231 -hi Todo cterm=bold ctermbg=143 ctermfg=16 - -hi OperatorCurlyBrackets cterm=bold ctermfg=75 - -" highlight modes -autocmd InsertEnter * hi StatusLine ctermbg=52 -autocmd InsertEnter * hi User1 ctermbg=52 -autocmd InsertEnter * hi User2 ctermbg=52 -autocmd InsertLeave * hi User2 ctermbg=236 -autocmd InsertLeave * hi User1 ctermbg=236 -autocmd InsertLeave * hi StatusLine ctermbg=236 -autocmd CmdwinEnter * hi StatusLine ctermbg=22 -autocmd CmdwinEnter * hi User1 ctermbg=22 -autocmd CmdwinEnter * hi User2 ctermbg=22 -autocmd CmdwinLeave * hi User2 ctermbg=236 -autocmd CmdwinLeave * hi User1 ctermbg=236 -autocmd CmdwinLeave * hi StatusLine ctermbg=236 - -else - -hi rubyGlobalVariable gui=none guifg=#5f8700 -hi rubyPredefinedIdentifier gui=bold guifg=#5f8700 -hi def link rubyStringDelimiter String - -hi Normal gui=none guibg=#080808 guifg=#dfdfff -hi StatusLine gui=none guibg=#303030 guifg=#ffffff -hi StatusLineNC gui=none guibg=#303030 guifg=#8787af -hi User1 gui=bold guibg=#303030 guifg=#ffdfaf -hi User2 gui=none guibg=#303030 guifg=#585858 -hi VertSplit gui=none guibg=#303030 guifg=#8787af -hi TabLine gui=none guibg=#303030 guifg=#afafaf -hi TabLineFill gui=none guibg=#303030 -hi TabLineSel gui=none guibg=#585858 guifg=#dadada -hi LineNr gui=none guifg=#444444 -hi NonText gui=bold guibg=#121212 guifg=#606060 -hi Folded gui=none guibg=#1c1c1c guifg=#af8700 -hi FoldColumn gui=none guibg=#303030 guifg=#8787af -hi SignColumn gui=none guibg=#303030 guifg=#8787af -hi CursorColumn gui=none guibg=#1c1c1c -hi CursorLine gui=none guibg=#1c1c1c -hi IncSearch gui=bold guibg=#5f5fff guifg=#080808 -hi Search gui=none guibg=#00af87 guifg=#080808 -hi Visual gui=none guibg=#005f87 -hi WildMenu gui=bold guibg=#00af5f guifg=#080808 -hi ModeMsg gui=bold guifg=#87afdf -hi MoreMsg gui=bold guifg=#87ffaf -hi Question gui=bold guifg=#87ffaf -hi ErrorMsg gui=none guibg=#870000 guifg=#eeeeee -hi WarningMsg gui=none guibg=#5f5f00 guifg=#eeeeee -hi SpecialKey gui=none guifg=#5fdf5f -hi Title gui=bold guifg=#afafff -hi Directory guifg=#8787ff -hi DiffAdd gui=none guibg=#000087 -hi DiffChange gui=none guibg=#5f5f00 -hi DiffDelete gui=none guibg=#5f0000 guifg=#5f5f00 -hi DiffText gui=none guibg=#5f005f -hi Pmenu gui=none guibg=#00005f guifg=#87ffaf -hi PmenuSel gui=none guibg=#005f87 guifg=#87ffaf -hi PmenuSbar gui=none guibg=#0000af -hi PmenuThumb gui=none guibg=#00afaf -hi MatchParen gui=bold guibg=#005f87 -hi SpellBad gui=none guibg=#870000 -hi SpellCap gui=none guibg=#000087 -hi SpellLocal gui=none guibg=#008787 -hi SpellRare gui=none guibg=#870087 - -hi Comment gui=none guifg=#af8787 -hi Constant gui=none guifg=#ffaf5f - hi String gui=none guibg=#262626 guifg=#ffaf5f - hi Character gui=none guibg=#262626 guifg=#ffaf5f - hi Number gui=none guifg=#00af00 - hi Float gui=none guifg=#00df5f -hi Identifier gui=none guifg=#dfdf87 - hi Function gui=none guifg=#ff8787 -hi Statement gui=bold guifg=#5f5fff - hi Exception gui=bold guifg=#875fff - hi Operator gui=none guifg=#5fafff - hi Label gui=none guifg=#5f5fff -hi PreProc gui=bold guifg=#00af87 -hi Type gui=bold guifg=#5faf5f -hi Special gui=none guibg=#262626 guifg=#5fffff -hi Underlined gui=underline guifg=#ffff5f -hi Ignore gui=bold guifg=#262626 -hi Error gui=bold guibg=#5f0000 guifg=#ffffff -hi Todo gui=bold guibg=#afaf5f guifg=#000000 - -hi OperatorCurlyBrackets gui=bold guifg=#5fafff - -" highlight modes -autocmd InsertEnter * hi StatusLine guibg=#5f0000 -autocmd InsertEnter * hi User1 guibg=#5f0000 -autocmd InsertEnter * hi User2 guibg=#5f0000 -autocmd InsertLeave * hi User2 guibg=#303030 -autocmd InsertLeave * hi User1 guibg=#303030 -autocmd InsertLeave * hi StatusLine guibg=#303030 -autocmd CmdwinEnter * hi StatusLine guibg=#005f00 -autocmd CmdwinEnter * hi User1 guibg=#005f00 -autocmd CmdwinEnter * hi User2 guibg=#005f00 -autocmd CmdwinLeave * hi User2 guibg=#303030 -autocmd CmdwinLeave * hi User1 guibg=#303030 -autocmd CmdwinLeave * hi StatusLine guibg=#303030 - -end diff --git a/colors/wombat256.vim b/colors/wombat256.vim deleted file mode 100644 index ecda096..0000000 --- a/colors/wombat256.vim +++ /dev/null @@ -1,359 +0,0 @@ -" Vim color file -" Maintainer: David Liang (bmdavll at gmail dot com) -" Last Change: November 28 2008 -" -" wombat256.vim - a modified version of Wombat by Lars Nielsen that also -" works on xterms with 88 or 256 colors. The algorithm for approximating the -" GUI colors with the xterm palette is from desert256.vim by Henry So Jr. - -set background=dark - -if version > 580 - hi clear - if exists("syntax_on") - syntax reset - endif -endif - -let g:colors_name = "wombat256" - -if !has("gui_running") && &t_Co != 88 && &t_Co != 256 - finish -endif - -" functions {{{ -" returns an approximate grey index for the given grey level -fun grey_number(x) - if &t_Co == 88 - if a:x < 23 - return 0 - elseif a:x < 69 - return 1 - elseif a:x < 103 - return 2 - elseif a:x < 127 - return 3 - elseif a:x < 150 - return 4 - elseif a:x < 173 - return 5 - elseif a:x < 196 - return 6 - elseif a:x < 219 - return 7 - elseif a:x < 243 - return 8 - else - return 9 - endif - else - if a:x < 14 - return 0 - else - let l:n = (a:x - 8) / 10 - let l:m = (a:x - 8) % 10 - if l:m < 5 - return l:n - else - return l:n + 1 - endif - endif - endif -endfun - -" returns the actual grey level represented by the grey index -fun grey_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 46 - elseif a:n == 2 - return 92 - elseif a:n == 3 - return 115 - elseif a:n == 4 - return 139 - elseif a:n == 5 - return 162 - elseif a:n == 6 - return 185 - elseif a:n == 7 - return 208 - elseif a:n == 8 - return 231 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 8 + (a:n * 10) - endif - endif -endfun - -" returns the palette index for the given grey index -fun grey_color(n) - if &t_Co == 88 - if a:n == 0 - return 16 - elseif a:n == 9 - return 79 - else - return 79 + a:n - endif - else - if a:n == 0 - return 16 - elseif a:n == 25 - return 231 - else - return 231 + a:n - endif - endif -endfun - -" returns an approximate color index for the given color level -fun rgb_number(x) - if &t_Co == 88 - if a:x < 69 - return 0 - elseif a:x < 172 - return 1 - elseif a:x < 230 - return 2 - else - return 3 - endif - else - if a:x < 75 - return 0 - else - let l:n = (a:x - 55) / 40 - let l:m = (a:x - 55) % 40 - if l:m < 20 - return l:n - else - return l:n + 1 - endif - endif - endif -endfun - -" returns the actual color level for the given color index -fun rgb_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 139 - elseif a:n == 2 - return 205 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 55 + (a:n * 40) - endif - endif -endfun - -" returns the palette index for the given R/G/B color indices -fun rgb_color(x, y, z) - if &t_Co == 88 - return 16 + (a:x * 16) + (a:y * 4) + a:z - else - return 16 + (a:x * 36) + (a:y * 6) + a:z - endif -endfun - -" returns the palette index to approximate the given R/G/B color levels -fun color(r, g, b) - " get the closest grey - let l:gx = grey_number(a:r) - let l:gy = grey_number(a:g) - let l:gz = grey_number(a:b) - - " get the closest color - let l:x = rgb_number(a:r) - let l:y = rgb_number(a:g) - let l:z = rgb_number(a:b) - - if l:gx == l:gy && l:gy == l:gz - " there are two possibilities - let l:dgr = grey_level(l:gx) - a:r - let l:dgg = grey_level(l:gy) - a:g - let l:dgb = grey_level(l:gz) - a:b - let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) - let l:dr = rgb_level(l:gx) - a:r - let l:dg = rgb_level(l:gy) - a:g - let l:db = rgb_level(l:gz) - a:b - let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) - if l:dgrey < l:drgb - " use the grey - return grey_color(l:gx) - else - " use the color - return rgb_color(l:x, l:y, l:z) - endif - else - " only one possibility - return rgb_color(l:x, l:y, l:z) - endif -endfun - -" returns the palette index to approximate the 'rrggbb' hex string -fun rgb(rgb) - let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 - let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 - let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 - return color(l:r, l:g, l:b) -endfun - -" sets the highlighting for the given group -fun X(group, fg, bg, attr) - if a:fg != "" - exec "hi ".a:group." guifg=#".a:fg." ctermfg=".rgb(a:fg) - endif - if a:bg != "" - exec "hi ".a:group." guibg=#".a:bg." ctermbg=".rgb(a:bg) - endif - if a:attr != "" - if a:attr == 'italic' - exec "hi ".a:group." gui=".a:attr." cterm=none" - else - exec "hi ".a:group." gui=".a:attr." cterm=".a:attr - endif - endif -endfun -" }}} - -" italic only in gui and only where font is not fixed-misc! - -if has("gui_running") && &guifont !~ "Fixed" - let s:italic = "italic" -else - let s:italic = "none" -endif - - -" X(fg, bg, attr) -call X("Normal", "dddddd", "242424", "none") -call X("NonText", "4c4c36", "", "none") -call X("Cursor", "222222", "ecee90", "none") -call X("CursorLine", "", "32322e", "none") -call X("CursorColumn", "", "2d2d2d", "") - "CursorIM - "Question - "IncSearch -call X("Search", "444444", "af87d7", "") -call X("MatchParen", "ecee90", "857b6f", "bold") -call X("SpecialKey", "6c6c6c", "2d2d2d", "none") -call X("Visual", "ecee90", "597418", "none") -call X("LineNr", "857b6f", "121212", "none") -call X("SignColumn", "", "121212", "none") -call X("Folded", "a0a8b0", "404048", "none") -call X("Title", "f6f3e8", "", "bold") -call X("VertSplit", "444444", "444444", "none") -call X("StatusLine", "f6f3e8", "444444", s:italic) -call X("StatusLineNC", "857b6f", "444444", "none") - "Scrollbar - "Tooltip - "Menu - "WildMenu -call X("Pmenu", "f6f3e8", "444444", "") -call X("PmenuSel", "121212", "caeb82", "") -call X("WarningMsg", "ff0000", "", "") - "ErrorMsg - "ModeMsg - "MoreMsg - "Directory - "DiffAdd - "DiffChange - "DiffDelete - "DiffText - -" syntax highlighting -call X("Number", "e5786d", "", "none") -call X("Constant", "e5786d", "", "none") -call X("String", "95e454", "", s:italic) -call X("Comment", "c0bc6c", "", s:italic) -call X("Identifier", "caeb82", "", "none") -call X("Keyword", "87afff", "", "none") -call X("Statement", "87afff", "", "none") -call X("Function", "caeb82", "", "none") -call X("PreProc", "e5786d", "", "none") -call X("Type", "caeb82", "", "none") -call X("Special", "ffdead", "", "none") -call X("Todo", "857b6f", "", s:italic) - "Underlined - "Error - "Ignore -hi! link VisualNOS Visual -hi! link FoldColumn Folded -hi! link TabLineSel StatusLine -hi! link TabLineFill StatusLineNC -hi! link TabLine StatusLineNC -call X("TabLineSel", "f6f3e8", "", "none") - -" Python Highlighting for python.vim -"call X("pythonCoding", "ff0086", "", "none") -"call X("pythonRun", "ff0086", "", "none") -"call X("pythonBuiltinObji", "2b6ba2", "", "bold") -"call X("pythonBuiltinFunc", "2b6ba2", "", "bold") -"call X("pythonException", "ee0000", "", "bold") -"call X("pythonExClass", "66cd66", "", "bold") -"call X("pythonSpaceError", "270000", "", "none") -"call X("pythonDocTest", "2f5f49", "", "none") -"call X("pythonDocTest2", "3b916a", "", "none") -"call X("pythonFunction", "ee0000", "", "bold") -"call X("pythonClass", "ff0086", "", "bold") - -call X("ShowMarksHLl", "ab8042", "121212", "bold") -"call X("ShowMarksHLu", "ab4242", "121212", "bold") -call X("ShowMarksHLu", "aaab42", "121212", "bold") -call X("ShowMarksHLo", "42ab47", "121212", "bold") -call X("ShowMarksHLm", "aaab42", "121212", "bold") - -" Diff colors -"call X("DiffAdd", "", "1d1d50", "bold") -"call X("DiffText", "", "9f1e1e", "bold") -"call X("DiffDelete", "", "1d5050", "bold") -"call X("DiffChange", "", "4c1c4c", "bold") - -call X("DiffAdd", "", "646464", "bold") -call X("DiffText", "", "bf5f00", "bold") -call X("DiffDelete", "343434", "101010", "bold") -call X("DiffChange", "", "424242", "bold") - -" DiffAdd xxx term=bold ctermbg=4 -" DiffChange xxx term=bold ctermbg=5 -" DiffDelete xxx term=bold ctermfg=12 ctermbg=6 -" DiffText xxx term=reverse cterm=bold ctermbg=9 - -if ! has('gui_running') - " spell, make it underline, and less bright colors. only for terminal - call X("SpellBad", "", "880000", "underline") - call X("SpellCap", "", "000088", "underline") - call X("SpellRare", "", "880088", "underline") - call X("SpellLocal", "", "008888", "underline") -endif - -" delete functions {{{ -delf X -delf rgb -delf color -delf rgb_color -delf rgb_level -delf rgb_number -delf grey_color -delf grey_level -delf grey_number -" }}} - -" vim:set ts=4 sw=4 noet fdm=marker: diff --git a/colors/wombat256grf.vim b/colors/wombat256grf.vim index a742ed9..b878a50 100644 --- a/colors/wombat256grf.vim +++ b/colors/wombat256grf.vim @@ -336,6 +336,9 @@ call X("DiffChange", "", "424242", "bold") " DiffDelete xxx term=bold ctermfg=12 ctermbg=6 " DiffText xxx term=reverse cterm=bold ctermbg=9 +" VIm 7.3 features +call X("ColorColumn", "", "121212", "") + if ! has('gui_running') " spell, make it underline, and less bright colors. only for terminal call X("SpellBad", "", "880000", "underline") diff --git a/doc/tags b/doc/tags index fa73aba..e88fb63 100644 --- a/doc/tags +++ b/doc/tags @@ -1,22 +1,3 @@ -'NERDChristmasTree' NERD_tree.txt /*'NERDChristmasTree'* -'NERDTreeAutoCenter' NERD_tree.txt /*'NERDTreeAutoCenter'* -'NERDTreeAutoCenterThreshold' NERD_tree.txt /*'NERDTreeAutoCenterThreshold'* -'NERDTreeBookmarksFile' NERD_tree.txt /*'NERDTreeBookmarksFile'* -'NERDTreeCaseSensitiveSort' NERD_tree.txt /*'NERDTreeCaseSensitiveSort'* -'NERDTreeChDirMode' NERD_tree.txt /*'NERDTreeChDirMode'* -'NERDTreeHighlightCursorline' NERD_tree.txt /*'NERDTreeHighlightCursorline'* -'NERDTreeHijackNetrw' NERD_tree.txt /*'NERDTreeHijackNetrw'* -'NERDTreeIgnore' NERD_tree.txt /*'NERDTreeIgnore'* -'NERDTreeMouseMode' NERD_tree.txt /*'NERDTreeMouseMode'* -'NERDTreeQuitOnOpen' NERD_tree.txt /*'NERDTreeQuitOnOpen'* -'NERDTreeShowBookmarks' NERD_tree.txt /*'NERDTreeShowBookmarks'* -'NERDTreeShowFiles' NERD_tree.txt /*'NERDTreeShowFiles'* -'NERDTreeShowHidden' NERD_tree.txt /*'NERDTreeShowHidden'* -'NERDTreeShowLineNumbers' NERD_tree.txt /*'NERDTreeShowLineNumbers'* -'NERDTreeSortOrder' NERD_tree.txt /*'NERDTreeSortOrder'* -'NERDTreeStatusline' NERD_tree.txt /*'NERDTreeStatusline'* -'NERDTreeWinPos' NERD_tree.txt /*'NERDTreeWinPos'* -'NERDTreeWinSize' NERD_tree.txt /*'NERDTreeWinSize'* 'b:delimitMate_autoclose' delimitMate.txt /*'b:delimitMate_autoclose'* 'b:delimitMate_expand_cr' delimitMate.txt /*'b:delimitMate_expand_cr'* 'b:delimitMate_expand_space' delimitMate.txt /*'b:delimitMate_expand_space'* @@ -34,7 +15,6 @@ 'delimitMate_quotes' delimitMate.txt /*'delimitMate_quotes'* 'delimitMate_visual_leader' delimitMate.txt /*'delimitMate_visual_leader'* 'loaded_delimitMate' delimitMate.txt /*'loaded_delimitMate'* -'loaded_nerd_tree' NERD_tree.txt /*'loaded_nerd_tree'* 'showmarks_enable' showmarks.txt /*'showmarks_enable'* 'showmarks_hlline_lower' showmarks.txt /*'showmarks_hlline_lower'* 'showmarks_hlline_other' showmarks.txt /*'showmarks_hlline_other'* @@ -81,13 +61,9 @@ :FufTag fuf.txt /*:FufTag* :FufTagWithCursorWord fuf.txt /*:FufTagWithCursorWord* :FufTaggedFile fuf.txt /*:FufTaggedFile* +:Loremipsum loremipsum.txt /*:Loremipsum* +:Loreplace loremipsum.txt /*:Loreplace* :Mark mark.txt /*:Mark* -:NERDTree NERD_tree.txt /*:NERDTree* -:NERDTreeClose NERD_tree.txt /*:NERDTreeClose* -:NERDTreeFind NERD_tree.txt /*:NERDTreeFind* -:NERDTreeFromBookmark NERD_tree.txt /*:NERDTreeFromBookmark* -:NERDTreeMirror NERD_tree.txt /*:NERDTreeMirror* -:NERDTreeToggle NERD_tree.txt /*:NERDTreeToggle* :VCSAdd vcscommand.txt /*:VCSAdd* :VCSAnnotate vcscommand.txt /*:VCSAnnotate* :VCSBlame vcscommand.txt /*:VCSBlame* @@ -133,65 +109,6 @@ ExtractSnips() snipMate.txt /*ExtractSnips()* ExtractSnipsFile() snipMate.txt /*ExtractSnipsFile()* Filename() snipMate.txt /*Filename()* -NERDTree NERD_tree.txt /*NERDTree* -NERDTree-? NERD_tree.txt /*NERDTree-?* -NERDTree-A NERD_tree.txt /*NERDTree-A* -NERDTree-B NERD_tree.txt /*NERDTree-B* -NERDTree-C NERD_tree.txt /*NERDTree-C* -NERDTree-C-J NERD_tree.txt /*NERDTree-C-J* -NERDTree-C-K NERD_tree.txt /*NERDTree-C-K* -NERDTree-D NERD_tree.txt /*NERDTree-D* -NERDTree-F NERD_tree.txt /*NERDTree-F* -NERDTree-I NERD_tree.txt /*NERDTree-I* -NERDTree-J NERD_tree.txt /*NERDTree-J* -NERDTree-K NERD_tree.txt /*NERDTree-K* -NERDTree-O NERD_tree.txt /*NERDTree-O* -NERDTree-P NERD_tree.txt /*NERDTree-P* -NERDTree-R NERD_tree.txt /*NERDTree-R* -NERDTree-T NERD_tree.txt /*NERDTree-T* -NERDTree-U NERD_tree.txt /*NERDTree-U* -NERDTree-X NERD_tree.txt /*NERDTree-X* -NERDTree-cd NERD_tree.txt /*NERDTree-cd* -NERDTree-contents NERD_tree.txt /*NERDTree-contents* -NERDTree-e NERD_tree.txt /*NERDTree-e* -NERDTree-f NERD_tree.txt /*NERDTree-f* -NERDTree-gi NERD_tree.txt /*NERDTree-gi* -NERDTree-go NERD_tree.txt /*NERDTree-go* -NERDTree-gs NERD_tree.txt /*NERDTree-gs* -NERDTree-i NERD_tree.txt /*NERDTree-i* -NERDTree-m NERD_tree.txt /*NERDTree-m* -NERDTree-o NERD_tree.txt /*NERDTree-o* -NERDTree-p NERD_tree.txt /*NERDTree-p* -NERDTree-q NERD_tree.txt /*NERDTree-q* -NERDTree-r NERD_tree.txt /*NERDTree-r* -NERDTree-s NERD_tree.txt /*NERDTree-s* -NERDTree-t NERD_tree.txt /*NERDTree-t* -NERDTree-u NERD_tree.txt /*NERDTree-u* -NERDTree-x NERD_tree.txt /*NERDTree-x* -NERDTreeAPI NERD_tree.txt /*NERDTreeAPI* -NERDTreeAbout NERD_tree.txt /*NERDTreeAbout* -NERDTreeAddKeyMap() NERD_tree.txt /*NERDTreeAddKeyMap()* -NERDTreeAddMenuItem() NERD_tree.txt /*NERDTreeAddMenuItem()* -NERDTreeAddMenuSeparator() NERD_tree.txt /*NERDTreeAddMenuSeparator()* -NERDTreeAddSubmenu() NERD_tree.txt /*NERDTreeAddSubmenu()* -NERDTreeBookmarkCommands NERD_tree.txt /*NERDTreeBookmarkCommands* -NERDTreeBookmarkTable NERD_tree.txt /*NERDTreeBookmarkTable* -NERDTreeBookmarks NERD_tree.txt /*NERDTreeBookmarks* -NERDTreeChangelog NERD_tree.txt /*NERDTreeChangelog* -NERDTreeCredits NERD_tree.txt /*NERDTreeCredits* -NERDTreeFunctionality NERD_tree.txt /*NERDTreeFunctionality* -NERDTreeGlobalCommands NERD_tree.txt /*NERDTreeGlobalCommands* -NERDTreeInvalidBookmarks NERD_tree.txt /*NERDTreeInvalidBookmarks* -NERDTreeKeymapAPI NERD_tree.txt /*NERDTreeKeymapAPI* -NERDTreeLicense NERD_tree.txt /*NERDTreeLicense* -NERDTreeMappings NERD_tree.txt /*NERDTreeMappings* -NERDTreeMenu NERD_tree.txt /*NERDTreeMenu* -NERDTreeMenuAPI NERD_tree.txt /*NERDTreeMenuAPI* -NERDTreeOptionDetails NERD_tree.txt /*NERDTreeOptionDetails* -NERDTreeOptionSummary NERD_tree.txt /*NERDTreeOptionSummary* -NERDTreeOptions NERD_tree.txt /*NERDTreeOptions* -NERDTreeRender() NERD_tree.txt /*NERDTreeRender()* -NERD_tree.txt NERD_tree.txt /*NERD_tree.txt* ResetSnippets() snipMate.txt /*ResetSnippets()* ShowMarksClearAll showmarks.txt /*ShowMarksClearAll* ShowMarksClearMark showmarks.txt /*ShowMarksClearMark* @@ -206,10 +123,13 @@ VCSCommandDiffSplit vcscommand.txt /*VCSCommandDiffSplit* VCSCommandDisableAll vcscommand.txt /*VCSCommandDisableAll* VCSCommandDisableExtensionMappings vcscommand.txt /*VCSCommandDisableExtensionMappings* VCSCommandDisableMappings vcscommand.txt /*VCSCommandDisableMappings* +VCSCommandDisableMenu vcscommand.txt /*VCSCommandDisableMenu* VCSCommandEdit vcscommand.txt /*VCSCommandEdit* VCSCommandEnableBufferSetup vcscommand.txt /*VCSCommandEnableBufferSetup* VCSCommandMapPrefix vcscommand.txt /*VCSCommandMapPrefix* VCSCommandMappings vcscommand.txt /*VCSCommandMappings* +VCSCommandMenuPriority vcscommand.txt /*VCSCommandMenuPriority* +VCSCommandMenuRoot vcscommand.txt /*VCSCommandMenuRoot* VCSCommandResultBufferNameExtension vcscommand.txt /*VCSCommandResultBufferNameExtension* VCSCommandResultBufferNameFunction vcscommand.txt /*VCSCommandResultBufferNameFunction* VCSCommandSVKExec vcscommand.txt /*VCSCommandSVKExec* @@ -224,6 +144,7 @@ b:VCSCommandCommand vcscommand.txt /*b:VCSCommandCommand* b:VCSCommandOriginalBuffer vcscommand.txt /*b:VCSCommandOriginalBuffer* b:VCSCommandSourceFile vcscommand.txt /*b:VCSCommandSourceFile* b:VCSCommandVCSType vcscommand.txt /*b:VCSCommandVCSType* +b:loremipsum_file loremipsum.txt /*b:loremipsum_file* cs surround.txt /*cs* cvscommand-changes vcscommand.txt /*cvscommand-changes* delimitMate delimitMate.txt /*delimitMate* @@ -374,6 +295,10 @@ g:fuf_taggedfile_prompt fuf.txt /*g:fuf_taggedfile_prompt* g:fuf_taggedfile_switchOrder fuf.txt /*g:fuf_taggedfile_switchOrder* g:fuf_timeFormat fuf.txt /*g:fuf_timeFormat* g:fuf_useMigemo fuf.txt /*g:fuf_useMigemo* +g:loremipsum_files loremipsum.txt /*g:loremipsum_files* +g:loremipsum_marker loremipsum.txt /*g:loremipsum_marker* +g:loremipsum_paragraph_template loremipsum.txt /*g:loremipsum_paragraph_template* +g:loremipsum_words loremipsum.txt /*g:loremipsum_words* g:snippets_dir snipMate.txt /*g:snippets_dir* g:snips_author snipMate.txt /*g:snips_author* g:vimwiki_CJK_length vimwiki.txt /*g:vimwiki_CJK_length* @@ -408,6 +333,11 @@ i_CTRL-G_S surround.txt /*i_CTRL-G_S* i_CTRL-G_s surround.txt /*i_CTRL-G_s* i_CTRL-R_ snipMate.txt /*i_CTRL-R_* list-snippets snipMate.txt /*list-snippets* +loremipsum#Generate() loremipsum.txt /*loremipsum#Generate()* +loremipsum#GenerateInline() loremipsum.txt /*loremipsum#GenerateInline()* +loremipsum#Insert() loremipsum.txt /*loremipsum#Insert()* +loremipsum#Replace() loremipsum.txt /*loremipsum#Replace()* +loremipsum.txt loremipsum.txt /*loremipsum.txt* mark-configuration mark.txt /*mark-configuration* mark-dependencies mark.txt /*mark-dependencies* mark-description mark.txt /*mark-description* diff --git a/doc/vcscommand.txt b/doc/vcscommand.txt index 28d4e63..5e0c4c0 100644 --- a/doc/vcscommand.txt +++ b/doc/vcscommand.txt @@ -1,5 +1,5 @@ *vcscommand.txt* vcscommand -Copyright (c) 2007 Bob Hiestand +Copyright (c) Bob Hiestand Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to @@ -432,10 +432,13 @@ The following variables are available: |VCSCommandDisableAll| |VCSCommandDisableMappings| |VCSCommandDisableExtensionMappings| +|VCSCommandDisableMenu| |VCSCommandEdit| |VCSCommandEnableBufferSetup| |VCSCommandMappings| |VCSCommandMapPrefix| +|VCSCommandMenuPriority| +|VCSCommandMenuRoot| |VCSCommandResultBufferNameExtension| |VCSCommandResultBufferNameFunction| |VCSCommandSplit| @@ -494,6 +497,11 @@ VCSCommandEdit *VCSCommandEdit* This variable controls whether the original buffer is replaced ('edit') or split ('split'). If not set, it defaults to 'split'. +VCSCommandDisableMenu *VCSCommandDisableMenu* + +This variable, if set to a non-zero value, prevents the default command menu +from being set. + VCSCommandEnableBufferSetup *VCSCommandEnableBufferSetup* This variable, if set to a non-zero value, activates VCS buffer management @@ -515,6 +523,14 @@ This variable, if set, overrides the default mapping prefix ('c'). This allows customization of the mapping space used by the vcscommand shortcuts. +VCSCommandMenuPriority *VCSCommandMenuPriority* + +This variable, if set, overrides the default menu priority '' (empty) + +VCSCommandMenuRoot *VCSCommandMenuRoot* + +This variable, if set, overrides the default menu root 'Plugin.VCS' + VCSCommandResultBufferNameExtension *VCSCommandResultBufferNameExtension* This variable, if set to a non-blank value, is appended to the name of the VCS diff --git a/doc/vimwiki.txt b/doc/vimwiki.txt index 8cae209..ca2fb89 100644 --- a/doc/vimwiki.txt +++ b/doc/vimwiki.txt @@ -9,7 +9,7 @@ |___| |___| |_| |_||__| |__||___| |___| |_||___| ~ - Version: 1.1 + Version: 1.1.1 ============================================================================== CONTENTS *vimwiki-contents* @@ -374,7 +374,9 @@ ic Inner column in a table. *:VimwikiSearch* /pattern/ *:VWS* /pattern/ - Search for /pattern/ in current wiki. + Search for /pattern/ in all files of current wiki. + To display next match use |:cnext| command. + To display previous match use |:cprevious| command. *:VimwikiTable* @@ -1648,6 +1650,12 @@ Maxim Kim. ============================================================================== 14. Changelog *vimwiki-changelog* +1.1.1~ + * FIX: Issue 122: Dot character in vimwiki's directory path isn't escaped. + * FIX: Issue 123: Where is Vimwiki2HTML and other commands? Sometimes + filetype is not set up to vimwiki. + * FIX: Issue 124: Highlight group not found: Normal + 1.1~ * NEW: Issue 57: Make it possible to have pre block inside list item. * NEW: Issue 82: Add quick goto command. See |:VimwikiGoto|. @@ -1665,7 +1673,7 @@ Maxim Kim. * FIX: Issue 96: Closing bracket at the end of weblink shouldn't be a part of that link. * FIX: Issue 97: Error opening weblink in a browser if it has # inside. - * FIX: Issue 99: Vim is not responing while opening arbitrary wiki file. + * FIX: Issue 99: Vim is not responding while opening arbitrary wiki file. * FIX: Issue 100: Additional content on diary index page could be corrupted. * NEW: Issue 101: Customized HTML tags. See |g:vimwiki_valid_html_tags| diff --git a/ftplugin/python/common.vim b/ftplugin/python/common.vim index 211c7db..65c5c99 100644 --- a/ftplugin/python/common.vim +++ b/ftplugin/python/common.vim @@ -11,6 +11,7 @@ set smarttab set softtabstop=4 set tabstop=4 set textwidth=78 +set colorcolumn=+1 inoremap # X# diff --git a/ftplugin/python/pyflakes.vim b/ftplugin/python/pyflakes.vim index d6699bc..8aa508b 100644 --- a/ftplugin/python/pyflakes.vim +++ b/ftplugin/python/pyflakes.vim @@ -159,42 +159,6 @@ if !exists("*s:WideMsg") endfun endif -if !exists("*s:GetQuickFixStackCount") - function s:GetQuickFixStackCount() - let l:stack_count = 0 - try - silent colder 9 - catch /E380:/ - endtry - - try - for i in range(9) - silent cnewer - let l:stack_count = l:stack_count + 1 - endfor - catch /E381:/ - return l:stack_count - endtry - endfunction -endif - -if !exists("*s:ActivatePyflakesQuickFixWindow") - function s:ActivatePyflakesQuickFixWindow() - try - silent colder 9 " go to the bottom of quickfix stack - catch /E380:/ - endtry - - if s:pyflakes_qf > 0 - try - exe "silent cnewer " . s:pyflakes_qf - catch /E381:/ - echoerr "Could not activate Pyflakes Quickfix Window." - endtry - endif - endfunction -endif - if !exists("*s:RunPyflakes") function s:RunPyflakes() highlight link PyFlakes SpellBad @@ -210,23 +174,12 @@ if !exists("*s:RunPyflakes") let b:matched = [] let b:matchedlines = {} - - let b:qf_list = [] - let b:qf_window_count = -1 - python << EOF for w in check(vim.current.buffer): vim.command('let s:matchDict = {}') vim.command("let s:matchDict['lineNum'] = " + str(w.lineno)) vim.command("let s:matchDict['message'] = '%s'" % vim_quote(w.message % w.message_args)) vim.command("let b:matchedlines[" + str(w.lineno) + "] = s:matchDict") - - vim.command("let l:qf_item = {}") - vim.command("let l:qf_item.bufnr = bufnr('%')") - vim.command("let l:qf_item.filename = expand('%')") - vim.command("let l:qf_item.lnum = %s" % str(w.lineno)) - vim.command("let l:qf_item.text = '%s'" % vim_quote(w.message % w.message_args)) - vim.command("let l:qf_item.type = 'E'") if w.col is None or isinstance(w, SyntaxError): # without column information, just highlight the whole line @@ -236,21 +189,8 @@ for w in check(vim.current.buffer): # with a column number, highlight the first keyword there vim.command(r"let s:mID = matchadd('PyFlakes', '^\%" + str(w.lineno) + r"l\_.\{-}\zs\k\+\k\@!\%>" + str(w.col) + r"c')") - vim.command("let l:qf_item.vcol = 1") - vim.command("let l:qf_item.col = %s" % str(w.col + 1)) - vim.command("call add(b:matched, s:matchDict)") - vim.command("call add(b:qf_list, l:qf_item)") EOF - if exists("s:pyflakes_qf") - " if pyflakes quickfix window is already created, reuse it - call s:ActivatePyflakesQuickFixWindow() - call setqflist(b:qf_list, 'r') - else - " one pyflakes quickfix window for all buffer - call setqflist(b:qf_list, '') - let s:pyflakes_qf = s:GetQuickFixStackCount() - endif let b:cleared = 0 endfunction end diff --git a/ftplugin/python/pythoncomplete.vim b/ftplugin/python/pythoncomplete.vim deleted file mode 100644 index 57add71..0000000 --- a/ftplugin/python/pythoncomplete.vim +++ /dev/null @@ -1,625 +0,0 @@ -"pythoncomplete.vim - Omni Completion for python -" Maintainer: Aaron Griffin -" Version: 0.9 -" Last Updated: 18 Jun 2009 -" -" Changes -" TODO: -" 'info' item output can use some formatting work -" Add an "unsafe eval" mode, to allow for return type evaluation -" Complete basic syntax along with import statements -" i.e. "import url" -" Continue parsing on invalid line?? -" -" v 0.9 -" * Fixed docstring parsing for classes and functions -" * Fixed parsing of *args and **kwargs type arguments -" * Better function param parsing to handle things like tuples and -" lambda defaults args -" -" v 0.8 -" * Fixed an issue where the FIRST assignment was always used instead of -" using a subsequent assignment for a variable -" * Fixed a scoping issue when working inside a parameterless function -" -" -" v 0.7 -" * Fixed function list sorting (_ and __ at the bottom) -" * Removed newline removal from docs. It appears vim handles these better in -" recent patches -" -" v 0.6: -" * Fixed argument completion -" * Removed the 'kind' completions, as they are better indicated -" with real syntax -" * Added tuple assignment parsing (whoops, that was forgotten) -" * Fixed import handling when flattening scope -" -" v 0.5: -" Yeah, I skipped a version number - 0.4 was never public. -" It was a bugfix version on top of 0.3. This is a complete -" rewrite. -" - -if !has('python') - echo "Error: Required vim compiled with +python" - finish -endif - -function! pythoncomplete#Complete(findstart, base) - "findstart = 1 when we need to get the text length - if a:findstart == 1 - let line = getline('.') - let idx = col('.') - while idx > 0 - let idx -= 1 - let c = line[idx] - if c =~ '\w' - continue - elseif ! c =~ '\.' - let idx = -1 - break - else - break - endif - endwhile - - return idx - "findstart = 0 when we need to return the list of completions - else - "vim no longer moves the cursor upon completion... fix that - let line = getline('.') - let idx = col('.') - let cword = '' - while idx > 0 - let idx -= 1 - let c = line[idx] - if c =~ '\w' || c =~ '\.' - let cword = c . cword - continue - elseif strlen(cword) > 0 || idx == 0 - break - endif - endwhile - execute "python vimcomplete('" . cword . "', '" . a:base . "')" - return g:pythoncomplete_completions - endif -endfunction - -function! s:DefPython() -python << PYTHONEOF -import sys, tokenize, cStringIO, types -from token import NAME, DEDENT, NEWLINE, STRING - -debugstmts=[] -def dbg(s): debugstmts.append(s) -def showdbg(): - for d in debugstmts: print "DBG: %s " % d - -def vimcomplete(context,match): - global debugstmts - debugstmts = [] - try: - import vim - def complsort(x,y): - try: - xa = x['abbr'] - ya = y['abbr'] - if xa[0] == '_': - if xa[1] == '_' and ya[0:2] == '__': - return xa > ya - elif ya[0:2] == '__': - return -1 - elif y[0] == '_': - return xa > ya - else: - return 1 - elif ya[0] == '_': - return -1 - else: - return xa > ya - except: - return 0 - cmpl = Completer() - cmpl.evalsource('\n'.join(vim.current.buffer),vim.eval("line('.')")) - all = cmpl.get_completions(context,match) - all.sort(complsort) - dictstr = '[' - # have to do this for double quoting - for cmpl in all: - dictstr += '{' - for x in cmpl: dictstr += '"%s":"%s",' % (x,cmpl[x]) - dictstr += '"icase":0},' - if dictstr[-1] == ',': dictstr = dictstr[:-1] - dictstr += ']' - #dbg("dict: %s" % dictstr) - vim.command("silent let g:pythoncomplete_completions = %s" % dictstr) - #dbg("Completion dict:\n%s" % all) - except vim.error: - dbg("VIM Error: %s" % vim.error) - -class Completer(object): - def __init__(self): - self.compldict = {} - self.parser = PyParser() - - def evalsource(self,text,line=0): - sc = self.parser.parse(text,line) - src = sc.get_code() - dbg("source: %s" % src) - try: exec(src) in self.compldict - except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1])) - for l in sc.locals: - try: exec(l) in self.compldict - except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l)) - - def _cleanstr(self,doc): - return doc.replace('"',' ').replace("'",' ') - - def get_arguments(self,func_obj): - def _ctor(obj): - try: return class_ob.__init__.im_func - except AttributeError: - for base in class_ob.__bases__: - rc = _find_constructor(base) - if rc is not None: return rc - return None - - arg_offset = 1 - if type(func_obj) == types.ClassType: func_obj = _ctor(func_obj) - elif type(func_obj) == types.MethodType: func_obj = func_obj.im_func - else: arg_offset = 0 - - arg_text='' - if type(func_obj) in [types.FunctionType, types.LambdaType]: - try: - cd = func_obj.func_code - real_args = cd.co_varnames[arg_offset:cd.co_argcount] - defaults = func_obj.func_defaults or '' - defaults = map(lambda name: "=%s" % name, defaults) - defaults = [""] * (len(real_args)-len(defaults)) + defaults - items = map(lambda a,d: a+d, real_args, defaults) - if func_obj.func_code.co_flags & 0x4: - items.append("...") - if func_obj.func_code.co_flags & 0x8: - items.append("***") - arg_text = (','.join(items)) + ')' - - except: - dbg("arg completion: %s: %s" % (sys.exc_info()[0],sys.exc_info()[1])) - pass - if len(arg_text) == 0: - # The doc string sometimes contains the function signature - # this works for alot of C modules that are part of the - # standard library - doc = func_obj.__doc__ - if doc: - doc = doc.lstrip() - pos = doc.find('\n') - if pos > 0: - sigline = doc[:pos] - lidx = sigline.find('(') - ridx = sigline.find(')') - if lidx > 0 and ridx > 0: - arg_text = sigline[lidx+1:ridx] + ')' - if len(arg_text) == 0: arg_text = ')' - return arg_text - - def get_completions(self,context,match): - dbg("get_completions('%s','%s')" % (context,match)) - stmt = '' - if context: stmt += str(context) - if match: stmt += str(match) - try: - result = None - all = {} - ridx = stmt.rfind('.') - if len(stmt) > 0 and stmt[-1] == '(': - result = eval(_sanitize(stmt[:-1]), self.compldict) - doc = result.__doc__ - if doc is None: doc = '' - args = self.get_arguments(result) - return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}] - elif ridx == -1: - match = stmt - all = self.compldict - else: - match = stmt[ridx+1:] - stmt = _sanitize(stmt[:ridx]) - result = eval(stmt, self.compldict) - all = dir(result) - - dbg("completing: stmt:%s" % stmt) - completions = [] - - try: maindoc = result.__doc__ - except: maindoc = ' ' - if maindoc is None: maindoc = ' ' - for m in all: - if m == "_PyCmplNoType": continue #this is internal - try: - dbg('possible completion: %s' % m) - if m.find(match) == 0: - if result is None: inst = all[m] - else: inst = getattr(result,m) - try: doc = inst.__doc__ - except: doc = maindoc - typestr = str(inst) - if doc is None or doc == '': doc = maindoc - - wrd = m[len(match):] - c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)} - if "function" in typestr: - c['word'] += '(' - c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst)) - elif "method" in typestr: - c['word'] += '(' - c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst)) - elif "module" in typestr: - c['word'] += '.' - elif "class" in typestr: - c['word'] += '(' - c['abbr'] += '(' - completions.append(c) - except: - i = sys.exc_info() - dbg("inner completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt)) - return completions - except: - i = sys.exc_info() - dbg("completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt)) - return [] - -class Scope(object): - def __init__(self,name,indent,docstr=''): - self.subscopes = [] - self.docstr = docstr - self.locals = [] - self.parent = None - self.name = name - self.indent = indent - - def add(self,sub): - #print 'push scope: [%s@%s]' % (sub.name,sub.indent) - sub.parent = self - self.subscopes.append(sub) - return sub - - def doc(self,str): - """ Clean up a docstring """ - d = str.replace('\n',' ') - d = d.replace('\t',' ') - while d.find(' ') > -1: d = d.replace(' ',' ') - while d[0] in '"\'\t ': d = d[1:] - while d[-1] in '"\'\t ': d = d[:-1] - dbg("Scope(%s)::docstr = %s" % (self,d)) - self.docstr = d - - def local(self,loc): - self._checkexisting(loc) - self.locals.append(loc) - - def copy_decl(self,indent=0): - """ Copy a scope's declaration only, at the specified indent level - not local variables """ - return Scope(self.name,indent,self.docstr) - - def _checkexisting(self,test): - "Convienance function... keep out duplicates" - if test.find('=') > -1: - var = test.split('=')[0].strip() - for l in self.locals: - if l.find('=') > -1 and var == l.split('=')[0].strip(): - self.locals.remove(l) - - def get_code(self): - str = "" - if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n' - for l in self.locals: - if l.startswith('import'): str += l+'\n' - str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n' - for sub in self.subscopes: - str += sub.get_code() - for l in self.locals: - if not l.startswith('import'): str += l+'\n' - - return str - - def pop(self,indent): - #print 'pop scope: [%s] to [%s]' % (self.indent,indent) - outer = self - while outer.parent != None and outer.indent >= indent: - outer = outer.parent - return outer - - def currentindent(self): - #print 'parse current indent: %s' % self.indent - return ' '*self.indent - - def childindent(self): - #print 'parse child indent: [%s]' % (self.indent+1) - return ' '*(self.indent+1) - -class Class(Scope): - def __init__(self, name, supers, indent, docstr=''): - Scope.__init__(self,name,indent, docstr) - self.supers = supers - def copy_decl(self,indent=0): - c = Class(self.name,self.supers,indent, self.docstr) - for s in self.subscopes: - c.add(s.copy_decl(indent+1)) - return c - def get_code(self): - str = '%sclass %s' % (self.currentindent(),self.name) - if len(self.supers) > 0: str += '(%s)' % ','.join(self.supers) - str += ':\n' - if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n' - if len(self.subscopes) > 0: - for s in self.subscopes: str += s.get_code() - else: - str += '%spass\n' % self.childindent() - return str - - -class Function(Scope): - def __init__(self, name, params, indent, docstr=''): - Scope.__init__(self,name,indent, docstr) - self.params = params - def copy_decl(self,indent=0): - return Function(self.name,self.params,indent, self.docstr) - def get_code(self): - str = "%sdef %s(%s):\n" % \ - (self.currentindent(),self.name,','.join(self.params)) - if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n' - str += "%spass\n" % self.childindent() - return str - -class PyParser: - def __init__(self): - self.top = Scope('global',0) - self.scope = self.top - - def _parsedotname(self,pre=None): - #returns (dottedname, nexttoken) - name = [] - if pre is None: - tokentype, token, indent = self.next() - if tokentype != NAME and token != '*': - return ('', token) - else: token = pre - name.append(token) - while True: - tokentype, token, indent = self.next() - if token != '.': break - tokentype, token, indent = self.next() - if tokentype != NAME: break - name.append(token) - return (".".join(name), token) - - def _parseimportlist(self): - imports = [] - while True: - name, token = self._parsedotname() - if not name: break - name2 = '' - if token == 'as': name2, token = self._parsedotname() - imports.append((name, name2)) - while token != "," and "\n" not in token: - tokentype, token, indent = self.next() - if token != ",": break - return imports - - def _parenparse(self): - name = '' - names = [] - level = 1 - while True: - tokentype, token, indent = self.next() - if token in (')', ',') and level == 1: - if '=' not in name: name = name.replace(' ', '') - names.append(name.strip()) - name = '' - if token == '(': - level += 1 - name += "(" - elif token == ')': - level -= 1 - if level == 0: break - else: name += ")" - elif token == ',' and level == 1: - pass - else: - name += "%s " % str(token) - return names - - def _parsefunction(self,indent): - self.scope=self.scope.pop(indent) - tokentype, fname, ind = self.next() - if tokentype != NAME: return None - - tokentype, open, ind = self.next() - if open != '(': return None - params=self._parenparse() - - tokentype, colon, ind = self.next() - if colon != ':': return None - - return Function(fname,params,indent) - - def _parseclass(self,indent): - self.scope=self.scope.pop(indent) - tokentype, cname, ind = self.next() - if tokentype != NAME: return None - - super = [] - tokentype, next, ind = self.next() - if next == '(': - super=self._parenparse() - elif next != ':': return None - - return Class(cname,super,indent) - - def _parseassignment(self): - assign='' - tokentype, token, indent = self.next() - if tokentype == tokenize.STRING or token == 'str': - return '""' - elif token == '(' or token == 'tuple': - return '()' - elif token == '[' or token == 'list': - return '[]' - elif token == '{' or token == 'dict': - return '{}' - elif tokentype == tokenize.NUMBER: - return '0' - elif token == 'open' or token == 'file': - return 'file' - elif token == 'None': - return '_PyCmplNoType()' - elif token == 'type': - return 'type(_PyCmplNoType)' #only for method resolution - else: - assign += token - level = 0 - while True: - tokentype, token, indent = self.next() - if token in ('(','{','['): - level += 1 - elif token in (']','}',')'): - level -= 1 - if level == 0: break - elif level == 0: - if token in (';','\n'): break - assign += token - return "%s" % assign - - def next(self): - type, token, (lineno, indent), end, self.parserline = self.gen.next() - if lineno == self.curline: - #print 'line found [%s] scope=%s' % (line.replace('\n',''),self.scope.name) - self.currentscope = self.scope - return (type, token, indent) - - def _adjustvisibility(self): - newscope = Scope('result',0) - scp = self.currentscope - while scp != None: - if type(scp) == Function: - slice = 0 - #Handle 'self' params - if scp.parent != None and type(scp.parent) == Class: - slice = 1 - newscope.local('%s = %s' % (scp.params[0],scp.parent.name)) - for p in scp.params[slice:]: - i = p.find('=') - if len(p) == 0: continue - pvar = '' - ptype = '' - if i == -1: - pvar = p - ptype = '_PyCmplNoType()' - else: - pvar = p[:i] - ptype = _sanitize(p[i+1:]) - if pvar.startswith('**'): - pvar = pvar[2:] - ptype = '{}' - elif pvar.startswith('*'): - pvar = pvar[1:] - ptype = '[]' - - newscope.local('%s = %s' % (pvar,ptype)) - - for s in scp.subscopes: - ns = s.copy_decl(0) - newscope.add(ns) - for l in scp.locals: newscope.local(l) - scp = scp.parent - - self.currentscope = newscope - return self.currentscope - - #p.parse(vim.current.buffer[:],vim.eval("line('.')")) - def parse(self,text,curline=0): - self.curline = int(curline) - buf = cStringIO.StringIO(''.join(text) + '\n') - self.gen = tokenize.generate_tokens(buf.readline) - self.currentscope = self.scope - - try: - freshscope=True - while True: - tokentype, token, indent = self.next() - #dbg( 'main: token=[%s] indent=[%s]' % (token,indent)) - - if tokentype == DEDENT or token == "pass": - self.scope = self.scope.pop(indent) - elif token == 'def': - func = self._parsefunction(indent) - if func is None: - print "function: syntax error..." - continue - dbg("new scope: function") - freshscope = True - self.scope = self.scope.add(func) - elif token == 'class': - cls = self._parseclass(indent) - if cls is None: - print "class: syntax error..." - continue - freshscope = True - dbg("new scope: class") - self.scope = self.scope.add(cls) - - elif token == 'import': - imports = self._parseimportlist() - for mod, alias in imports: - loc = "import %s" % mod - if len(alias) > 0: loc += " as %s" % alias - self.scope.local(loc) - freshscope = False - elif token == 'from': - mod, token = self._parsedotname() - if not mod or token != "import": - print "from: syntax error..." - continue - names = self._parseimportlist() - for name, alias in names: - loc = "from %s import %s" % (mod,name) - if len(alias) > 0: loc += " as %s" % alias - self.scope.local(loc) - freshscope = False - elif tokentype == STRING: - if freshscope: self.scope.doc(token) - elif tokentype == NAME: - name,token = self._parsedotname(token) - if token == '=': - stmt = self._parseassignment() - dbg("parseassignment: %s = %s" % (name, stmt)) - if stmt != None: - self.scope.local("%s = %s" % (name,stmt)) - freshscope = False - except StopIteration: #thrown on EOF - pass - except: - dbg("parse error: %s, %s @ %s" % - (sys.exc_info()[0], sys.exc_info()[1], self.parserline)) - return self._adjustvisibility() - -def _sanitize(str): - val = '' - level = 0 - for c in str: - if c in ('(','{','['): - level += 1 - elif c in (']','}',')'): - level -= 1 - elif level == 0: - val += c - return val - -sys.path.extend(['.','..']) -PYTHONEOF -endfunction - -call s:DefPython() -" vim: set et ts=4: diff --git a/ftplugin/rst/commons.vim b/ftplugin/rst/commons.vim index 0658411..2b8c3f7 100644 --- a/ftplugin/rst/commons.vim +++ b/ftplugin/rst/commons.vim @@ -54,8 +54,15 @@ if name.lower().endswith(".rst"): vim.command('new') vim.current.buffer[:] = blogify(bufcontent).split("\n") - vim.command(r'silent %s///g') - vim.command(r'silent %s/<\/tt>/<\/code>/g') + try: + vim.command(r'silent! %s///g') + vim.command(r'silent! %s/<\/tt>/<\/code>/g') + except: + pass + try: + vim.command(r'silent! %s//\r\r\r/g') + except: + pass vim.command('w %s' % name) vim.command('bd') else: diff --git a/plugin/vcsbzr.vim b/plugin/vcsbzr.vim index a82a4e5..b8665b8 100644 --- a/plugin/vcsbzr.vim +++ b/plugin/vcsbzr.vim @@ -2,10 +2,9 @@ " " BZR extension for VCSCommand. " -" Version: VCS development " Maintainer: Bob Hiestand " License: -" Copyright (c) 2009 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to diff --git a/plugin/vcscommand.vim b/plugin/vcscommand.vim index 86d4804..98214f2 100644 --- a/plugin/vcscommand.vim +++ b/plugin/vcscommand.vim @@ -5,7 +5,7 @@ " " Maintainer: Bob Hiestand " License: -" Copyright (c) 2008 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to @@ -204,6 +204,10 @@ " This variable, if set to a non-zero value, prevents the default command " mappings from being set for commands specific to an individual VCS. " +" VCSCommandDisableMenu +" This variable, if set to a non-zero value, prevents the default command +" menu from being set. +" " VCSCommandEdit " This variable controls whether to split the current window to display a " scratch buffer ('split'), or to display it in the current buffer ('edit'). @@ -226,6 +230,12 @@ " This allows customization of the mapping space used by the vcscommand " shortcuts. " +" VCSCommandMenuPriority +" This variable, if set, overrides the default menu priority '' (empty) +" +" VCSCommandMenuRoot +" This variable, if set, overrides the default menu root 'Plugin.VCS' +" " VCSCommandResultBufferNameExtension " This variable, if set to a non-blank value, is appended to the name of the " VCS command output buffers. For example, '.vcs'. Using this option may @@ -346,15 +356,6 @@ let s:optionOverrides = {} " state flag used to vary behavior of certain automated actions let s:isEditFileRunning = 0 -" commands needed to restore diff buffers to their original state -unlet! s:vimDiffRestoreCmd - -" original buffer currently reflected in vimdiff windows -unlet! s:vimDiffSourceBuffer - -" -unlet! s:vimDiffScratchList - " Section: Utility functions {{{1 " Function: s:ReportError(mapping) {{{2 @@ -365,7 +366,7 @@ function! s:ReportError(error) echohl WarningMsg|echomsg 'VCSCommand: ' . a:error|echohl None endfunction -" Function s:VCSCommandUtility.system(...) {{{2 +" Function: s:VCSCommandUtility.system(...) {{{2 " Replacement for system() function. This version protects the quoting in the " command line on Windows systems. @@ -383,6 +384,23 @@ function! s:VCSCommandUtility.system(...) endtry endfunction +" Function: s:VCSCommandUtility.addMenuItem(shortcut, command) {{{2 +" Adds the given menu item. + +function! s:VCSCommandUtility.addMenuItem(shortcut, command) + if s:menuEnabled + exe 'amenu '.s:menuPriority.' '.s:menuRoot.'.'.a:shortcut.' '.a:command + endif +endfunction + +" Function: s:ClearMenu() {{{2 +" Removes all VCSCommand menu items +function! s:ClearMenu() + if s:menuEnabled + execute 'aunmenu' s:menuRoot + endif +endfunction + " Function: s:CreateMapping(shortcut, expansion, display) {{{2 " Creates the given mapping by prepending the contents of " 'VCSCommandMapPrefix' (by default 'c') to the given shortcut and @@ -642,30 +660,30 @@ endfunction function! s:VimDiffRestore(vimDiffBuff) let s:isEditFileRunning += 1 try - if exists('s:vimDiffSourceBuffer') - if a:vimDiffBuff == s:vimDiffSourceBuffer + if exists('t:vcsCommandVimDiffSourceBuffer') + if a:vimDiffBuff == t:vcsCommandVimDiffSourceBuffer " Original file is being removed. - unlet! s:vimDiffSourceBuffer - unlet! s:vimDiffRestoreCmd - unlet! s:vimDiffScratchList + unlet! t:vcsCommandVimDiffSourceBuffer + unlet! t:vcsCommandVimDiffRestoreCmd + unlet! t:vcsCommandVimDiffScratchList else - let index = index(s:vimDiffScratchList, a:vimDiffBuff) + let index = index(t:vcsCommandVimDiffScratchList, a:vimDiffBuff) if index >= 0 - call remove(s:vimDiffScratchList, index) - if len(s:vimDiffScratchList) == 0 - if exists('s:vimDiffRestoreCmd') + call remove(t:vcsCommandVimDiffScratchList, index) + if len(t:vcsCommandVimDiffScratchList) == 0 + if exists('t:vcsCommandVimDiffRestoreCmd') " All scratch buffers are gone, reset the original. " Only restore if the source buffer is still in Diff mode - let sourceWinNR = bufwinnr(s:vimDiffSourceBuffer) + let sourceWinNR = bufwinnr(t:vcsCommandVimDiffSourceBuffer) if sourceWinNR != -1 " The buffer is visible in at least one window let currentWinNR = winnr() while winbufnr(sourceWinNR) != -1 - if winbufnr(sourceWinNR) == s:vimDiffSourceBuffer + if winbufnr(sourceWinNR) == t:vcsCommandVimDiffSourceBuffer execute sourceWinNR . 'wincmd w' if getwinvar(0, '&diff') - execute s:vimDiffRestoreCmd + execute t:vcsCommandVimDiffRestoreCmd endif endif let sourceWinNR = sourceWinNR + 1 @@ -675,18 +693,18 @@ function! s:VimDiffRestore(vimDiffBuff) " The buffer is hidden. It must be visible in order to set the " diff option. let currentBufNR = bufnr('') - execute 'hide buffer' s:vimDiffSourceBuffer + execute 'hide buffer' t:vcsCommandVimDiffSourceBuffer if getwinvar(0, '&diff') - execute s:vimDiffRestoreCmd + execute t:vcsCommandVimDiffRestoreCmd endif execute 'hide buffer' currentBufNR endif - unlet s:vimDiffRestoreCmd + unlet t:vcsCommandVimDiffRestoreCmd endif " All buffers are gone. - unlet s:vimDiffSourceBuffer - unlet s:vimDiffScratchList + unlet t:vcsCommandVimDiffSourceBuffer + unlet t:vcsCommandVimDiffScratchList endif endif endif @@ -886,9 +904,9 @@ function! s:VCSVimDiff(...) " If there's already a VimDiff'ed window, restore it. " There may only be one VCSVimDiff original window at a time. - if exists('s:vimDiffSourceBuffer') && s:vimDiffSourceBuffer != originalBuffer + if exists('t:vcsCommandVimDiffSourceBuffer') && t:vcsCommandVimDiffSourceBuffer != originalBuffer " Clear the existing vimdiff setup by removing the result buffers. - call s:WipeoutCommandBuffers(s:vimDiffSourceBuffer, 'vimdiff') + call s:WipeoutCommandBuffers(t:vcsCommandVimDiffSourceBuffer, 'vimdiff') endif let orientation = &diffopt =~ 'horizontal' ? 'horizontal' : 'vertical' @@ -898,8 +916,8 @@ function! s:VCSVimDiff(...) " Split and diff if(a:0 == 2) " Reset the vimdiff system, as 2 explicit versions were provided. - if exists('s:vimDiffSourceBuffer') - call s:WipeoutCommandBuffers(s:vimDiffSourceBuffer, 'vimdiff') + if exists('t:vcsCommandVimDiffSourceBuffer') + call s:WipeoutCommandBuffers(t:vcsCommandVimDiffSourceBuffer, 'vimdiff') endif let resultBuffer = s:VCSReview(a:1) if resultBuffer < 0 @@ -908,7 +926,7 @@ function! s:VCSVimDiff(...) endif let b:VCSCommandCommand = 'vimdiff' diffthis - let s:vimDiffScratchList = [resultBuffer] + let t:vcsCommandVimDiffScratchList = [resultBuffer] " If no split method is defined, cheat, and set it to vertical. try call s:OverrideOption('VCSCommandSplit', orientation) @@ -922,7 +940,7 @@ function! s:VCSVimDiff(...) endif let b:VCSCommandCommand = 'vimdiff' diffthis - let s:vimDiffScratchList += [resultBuffer] + let t:vcsCommandVimDiffScratchList += [resultBuffer] else " Add new buffer call s:OverrideOption('VCSCommandEdit', 'split') @@ -948,16 +966,16 @@ function! s:VCSVimDiff(...) let b:VCSCommandCommand = 'vimdiff' diffthis - if !exists('s:vimDiffSourceBuffer') + if !exists('t:vcsCommandVimDiffSourceBuffer') " New instance of vimdiff. - let s:vimDiffScratchList = [resultBuffer] + let t:vcsCommandVimDiffScratchList = [resultBuffer] " This could have been invoked on a VCS result buffer, not the " original buffer. wincmd W execute 'buffer' originalBuffer " Store info for later original buffer restore - let s:vimDiffRestoreCmd = + let t:vcsCommandVimDiffRestoreCmd = \ 'call setbufvar('.originalBuffer.', ''&diff'', '.getbufvar(originalBuffer, '&diff').')' \ . '|call setbufvar('.originalBuffer.', ''&foldcolumn'', '.getbufvar(originalBuffer, '&foldcolumn').')' \ . '|call setbufvar('.originalBuffer.', ''&foldenable'', '.getbufvar(originalBuffer, '&foldenable').')' @@ -970,11 +988,11 @@ function! s:VCSVimDiff(...) wincmd w else " Adding a window to an existing vimdiff - let s:vimDiffScratchList += [resultBuffer] + let t:vcsCommandVimDiffScratchList += [resultBuffer] endif endif - let s:vimDiffSourceBuffer = originalBuffer + let t:vcsCommandVimDiffSourceBuffer = originalBuffer " Avoid executing the modeline in the current buffer after the autocommand. @@ -1288,7 +1306,7 @@ com! VCSCommandDisableBufferSetup call VCSCommandDisableBufferSetup() com! VCSCommandEnableBufferSetup call VCSCommandEnableBufferSetup() " Allow reloading VCSCommand.vim -com! VCSReload let savedPlugins = s:plugins|let s:plugins = {}|aunmenu Plugin.VCS|unlet! g:loaded_VCSCommand|runtime plugin/vcscommand.vim|for plugin in values(savedPlugins)|execute 'source' plugin[0]|endfor|unlet savedPlugins +com! VCSReload let savedPlugins = s:plugins|let s:plugins = {}|call s:ClearMenu()|unlet! g:loaded_VCSCommand|runtime plugin/vcscommand.vim|for plugin in values(savedPlugins)|execute 'source' plugin[0]|endfor|unlet savedPlugins " Section: Plugin command mappings {{{1 nnoremap VCSAdd :VCSAdd @@ -1332,24 +1350,36 @@ let s:defaultMappings = [ \] if !VCSCommandGetOption('VCSCommandDisableMappings', 0) - for [shortcut, vcsFunction] in VCSCommandGetOption('VCSCommandMappings', s:defaultMappings) - call s:CreateMapping(shortcut, '' . vcsFunction, '''' . vcsFunction . '''') + for [s:shortcut, s:vcsFunction] in VCSCommandGetOption('VCSCommandMappings', s:defaultMappings) + call s:CreateMapping(s:shortcut, '' . s:vcsFunction, '''' . s:vcsFunction . '''') endfor + unlet s:shortcut s:vcsFunction endif +unlet s:defaultMappings " Section: Menu items {{{1 -amenu &Plugin.VCS.&Add VCSAdd -amenu &Plugin.VCS.A&nnotate VCSAnnotate -amenu &Plugin.VCS.&Commit VCSCommit -amenu &Plugin.VCS.Delete VCSDelete -amenu &Plugin.VCS.&Diff VCSDiff -amenu &Plugin.VCS.&Info VCSInfo -amenu &Plugin.VCS.&Log VCSLog -amenu &Plugin.VCS.Revert VCSRevert -amenu &Plugin.VCS.&Review VCSReview -amenu &Plugin.VCS.&Status VCSStatus -amenu &Plugin.VCS.&Update VCSUpdate -amenu &Plugin.VCS.&VimDiff VCSVimDiff + +let s:menuEnabled = !VCSCommandGetOption('VCSCommandDisableMenu', 0) +let s:menuRoot = VCSCommandGetOption('VCSCommandMenuRoot', '&Plugin.VCS') +let s:menuPriority = VCSCommandGetOption('VCSCommandMenuPriority', '') + +for [s:shortcut, s:command] in [ + \['&Add', 'VCSAdd'], + \['A&nnotate', 'VCSAnnotate'], + \['&Commit', 'VCSCommit'], + \['Delete', 'VCSDelete'], + \['&Diff', 'VCSDiff'], + \['&Info', 'VCSInfo'], + \['&Log', 'VCSLog'], + \['Revert', 'VCSRevert'], + \['&Review', 'VCSReview'], + \['&Status', 'VCSStatus'], + \['&Update', 'VCSUpdate'], + \['&VimDiff', 'VCSVimDiff'] + \] + call s:VCSCommandUtility.addMenuItem(s:shortcut, s:command) +endfor +unlet s:shortcut s:command " Section: Autocommands to restore vimdiff state {{{1 augroup VimDiffRestore diff --git a/plugin/vcscvs.vim b/plugin/vcscvs.vim index 2766348..73d6a7f 100644 --- a/plugin/vcscvs.vim +++ b/plugin/vcscvs.vim @@ -2,10 +2,9 @@ " " CVS extension for VCSCommand. " -" Version: VCS development " Maintainer: Bob Hiestand " License: -" Copyright (c) 2007 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to @@ -429,17 +428,22 @@ for [pluginName, commandText, shortCut] in mappingInfo endif endfor -" Section: Menu items {{{1 -amenu &Plugin.VCS.CVS.&Edit CVSEdit -amenu &Plugin.VCS.CVS.Ed&itors CVSEditors -amenu &Plugin.VCS.CVS.Unedi&t CVSUnedit -amenu &Plugin.VCS.CVS.&Watchers CVSWatchers -amenu &Plugin.VCS.CVS.WatchAdd CVSWatchAdd -amenu &Plugin.VCS.CVS.WatchOn CVSWatchOn -amenu &Plugin.VCS.CVS.WatchOff CVSWatchOff -amenu &Plugin.VCS.CVS.WatchRemove CVSWatchRemove - " Section: Plugin Registration {{{1 let s:VCSCommandUtility = VCSCommandRegisterModule('CVS', expand(''), s:cvsFunctions, s:cvsExtensionMappings) +" Section: Menu items {{{1 +for [s:shortcut, s:command] in [ + \['CVS.&Edit', 'CVSEdit'], + \['CVS.Ed&itors', 'CVSEditors'], + \['CVS.Unedi&t', 'CVSUnedit'], + \['CVS.&Watchers', 'CVSWatchers'], + \['CVS.WatchAdd', 'CVSWatchAdd'], + \['CVS.WatchOn', 'CVSWatchOn'], + \['CVS.WatchOff', 'CVSWatchOff'], + \['CVS.WatchRemove', 'CVSWatchRemove'] + \] + call s:VCSCommandUtility.addMenuItem(s:shortcut, s:command) +endfor +unlet s:shortcut s:command + let &cpo = s:save_cpo diff --git a/plugin/vcsgit.vim b/plugin/vcsgit.vim index 5f7fb0f..4e299d9 100644 --- a/plugin/vcsgit.vim +++ b/plugin/vcsgit.vim @@ -2,10 +2,9 @@ " " git extension for VCSCommand. " -" Version: VCS development " Maintainer: Bob Hiestand " License: -" Copyright (c) 2008 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to diff --git a/plugin/vcshg.vim b/plugin/vcshg.vim index c067215..2c616c0 100644 --- a/plugin/vcshg.vim +++ b/plugin/vcshg.vim @@ -2,10 +2,9 @@ " " Mercurial extension for VCSCommand. " -" Version: VCS development " Maintainer: Bob Hiestand " License: -" Copyright (c) 2009 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to @@ -132,7 +131,11 @@ endfunction " Function: s:hgFunctions.Commit(argList) {{{2 function! s:hgFunctions.Commit(argList) - return s:DoCommand('commit -v -l "' . a:argList[0] . '"', 'commit', '', {}) + try + return s:DoCommand('commit -v -l "' . a:argList[0] . '"', 'commit', '', {}) + catch /Version control command failed.*nothing changed/ + echomsg 'No commit needed.' + endtry endfunction " Function: s:hgFunctions.Delete() {{{2 diff --git a/plugin/vcssvk.vim b/plugin/vcssvk.vim index 5e51286..b7cc6c9 100644 --- a/plugin/vcssvk.vim +++ b/plugin/vcssvk.vim @@ -2,10 +2,9 @@ " " SVK extension for VCSCommand. " -" Version: VCS development " Maintainer: Bob Hiestand " License: -" Copyright (c) 2007 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to diff --git a/plugin/vcssvn.vim b/plugin/vcssvn.vim index a7d0084..758f819 100644 --- a/plugin/vcssvn.vim +++ b/plugin/vcssvn.vim @@ -2,10 +2,9 @@ " " SVN extension for VCSCommand. " -" Version: VCS development " Maintainer: Bob Hiestand " License: -" Copyright (c) 2007 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to diff --git a/plugin/vimwiki.vim b/plugin/vimwiki.vim index 790c5eb..9a83614 100644 --- a/plugin/vimwiki.vim +++ b/plugin/vimwiki.vim @@ -299,7 +299,7 @@ augroup vimwiki for ext in keys(extensions) exe 'autocmd BufEnter *'.ext.' call s:setup_buffer_enter()' exe 'autocmd BufLeave,BufHidden *'.ext.' call s:setup_buffer_leave()' - exe 'autocmd BufNewFile,BufRead, *'.ext.' setf vimwiki' + exe 'autocmd BufNewFile,BufRead, *'.ext.' setlocal filetype=vimwiki' " ColorScheme could have or could have not a " VimwikiHeader1..VimwikiHeader6 highlight groups. We need to refresh @@ -364,7 +364,7 @@ function! s:build_menu(topmenu) let idx = 0 while idx < len(g:vimwiki_list) let norm_path = fnamemodify(VimwikiGet('path', idx), ':h:t') - let norm_path = escape(norm_path, '\ ') + let norm_path = escape(norm_path, '\ \.') execute 'menu '.a:topmenu.'.Open\ index.'.norm_path. \ ' :call vimwiki#goto_index('.(idx + 1).')' execute 'menu '.a:topmenu.'.Open/Create\ diary\ note.'.norm_path. diff --git a/snippets/rst.snippets b/snippets/rst.snippets index 9400783..0f38b79 100644 --- a/snippets/rst.snippets +++ b/snippets/rst.snippets @@ -18,7 +18,7 @@ snippet status :Status: ${1} snippet copyright :Copyright: ${1} -snippet rights +snippet rights reST tag :Rights: ${1} snippet type :Type: ${1} diff --git a/syntax/cvsannotate.vim b/syntax/cvsannotate.vim index 4af5809..f35ed96 100644 --- a/syntax/cvsannotate.vim +++ b/syntax/cvsannotate.vim @@ -4,7 +4,7 @@ " Remark: Used by the cvscommand plugin. Originally written by Mathieu " Clabaut " License: -" Copyright (c) 2007 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to diff --git a/syntax/gitannotate.vim b/syntax/gitannotate.vim index 932342d..77ad14e 100644 --- a/syntax/gitannotate.vim +++ b/syntax/gitannotate.vim @@ -3,7 +3,7 @@ " Maintainer: Bob Hiestand " Remark: Used by the vcscommand plugin. " License: -" Copyright (c) 2009 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to diff --git a/syntax/hgannotate.vim b/syntax/hgannotate.vim index cee9a23..4e1d627 100644 --- a/syntax/hgannotate.vim +++ b/syntax/hgannotate.vim @@ -3,7 +3,7 @@ " Maintainer: Bob Hiestand " Remark: Used by the vcscommand plugin. " License: -" Copyright (c) 2010 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to diff --git a/syntax/svkannotate.vim b/syntax/svkannotate.vim index 3c53c3c..d93e9dd 100644 --- a/syntax/svkannotate.vim +++ b/syntax/svkannotate.vim @@ -3,7 +3,7 @@ " Maintainer: Bob Hiestand " Remark: Used by the vcscommand plugin. " License: -" Copyright (c) 2007 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to diff --git a/syntax/svnannotate.vim b/syntax/svnannotate.vim index d46f771..87a63ab 100644 --- a/syntax/svnannotate.vim +++ b/syntax/svnannotate.vim @@ -3,7 +3,7 @@ " Maintainer: Bob Hiestand " Remark: Used by the vcscommand plugin. " License: -" Copyright (c) 2007 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to @@ -28,8 +28,8 @@ if exists("b:current_syntax") endif syn match svnName /\S\+/ contained -syn match svnVer /^\s\+\zs\d\+/ contained nextgroup=svnName skipwhite -syn match svnHead /^\s\+\d\+\s\+\S\+/ contains=svnVer,svnName +syn match svnVer /^\s*\zs\d\+/ contained nextgroup=svnName skipwhite +syn match svnHead /^\s*\d\+\s\+\S\+/ contains=svnVer,svnName if !exists("did_svnannotate_syntax_inits") let did_svnannotate_syntax_inits = 1 diff --git a/syntax/vcscommit.vim b/syntax/vcscommit.vim index 0cd4c5e..80b4c6e 100644 --- a/syntax/vcscommit.vim +++ b/syntax/vcscommit.vim @@ -2,7 +2,7 @@ " Language: VCS commit file " Maintainer: Bob Hiestand (bob.hiestand@gmail.com) " License: -" Copyright (c) 2007 Bob Hiestand +" Copyright (c) Bob Hiestand " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to