From 5047146e53b53fb9273e4286bbf652eb4ebc57b7 Mon Sep 17 00:00:00 2001 From: gryf Date: Mon, 13 Feb 2012 21:19:34 +0100 Subject: [PATCH] Added branch pathogen --- .hgignore | 7 + .vimrc | 1 + GetLatest/GetLatestVimScripts.dat | 13 +- autoload/pathogen.vim | 230 +++ autoload/taglisttoo/lang/java.vim | 90 - autoload/taglisttoo/lang/php.vim | 142 -- autoload/taglisttoo/util.vim | 131 -- {doc => bundle/ack/doc}/ack.txt | 0 {plugin => bundle/ack/plugin}/ack.vim | 0 .../buffergator/doc}/buffergator.txt | 0 .../buffergator/plugin}/buffergator.vim | 0 .../calendar/plugin}/calendar.vim | 0 .../color_github/colors}/github.vim | 0 .../color_inkpot/colors}/inkpot.vim | 0 .../color_irblack/colors}/ir_black.vim | 0 .../color_jellybeans/colors}/jellybeans.vim | 109 +- .../color_lucius/colors}/lucius.vim | 0 .../color_sorcerer/colors}/sorcerer.vim | 0 bundle/color_tolerable/colors/tolerable.vim | 43 + .../color_vydark/colors}/vydark.vim | 0 .../color_vylight/colors}/vylight.vim | 0 .../colors}/wombat256grf.vim | 0 .../color_zenburn/colors}/zenburn.vim | 0 .../compiler_javascript/compiler}/jsl.vim | 2 +- .../compiler_pylint/compiler}/pylint.vim | 0 .../compiler_rubber/compiler}/rubber.vim | 0 {plugin => bundle/dirdiff/plugin}/DirDiff.vim | 0 .../doc_py2stdlib/doc}/py2stdlib.txt | 0 .../ftplugin}/python/jpythonfold.vim | 0 .../ft_pydoc/ftplugin}/python/pydoc.vim | 0 .../ft_pyflakes-vim}/README.rst | 0 .../ftplugin}/python/pyflakes.vim | 0 .../ftplugin}/python/pyflakes/LICENSE | 0 .../ftplugin}/python/pyflakes/NEWS.txt | 0 .../ftplugin}/python/pyflakes/bin/pyflakes | 0 .../python/pyflakes/pyflakes/__init__.py | 0 .../python/pyflakes/pyflakes/checker.py | 0 .../python/pyflakes/pyflakes/messages.py | 0 .../pyflakes/pyflakes/scripts/__init__.py | 0 .../pyflakes/pyflakes/scripts/pyflakes.py | 0 .../python/pyflakes/pyflakes/test/__init__.py | 0 .../python/pyflakes/pyflakes/test/harness.py | 0 .../pyflakes/pyflakes/test/test_imports.py | 0 .../pyflakes/pyflakes/test/test_other.py | 0 .../pyflakes/pyflakes/test/test_script.py | 0 .../pyflakes/test/test_undefined_names.py | 0 .../ftplugin}/python/pyflakes/setup.py | 0 .../ft_python/ftplugin}/python/common.vim | 0 .../ft_python/ftplugin}/python/pep8_fn.vim | 0 .../ft_python/ftplugin}/python/pylint_fn.vim | 0 .../ftplugin}/python/python_fn.vim | 0 .../ftplugin}/python/pythonhelper.vim | 0 .../ft_rst/ftplugin}/rst/commons.vim | 0 .../ft_rst/ftplugin}/rst/word_utils.vim | 0 .../ft_snippets/ftplugin}/snippet/common.vim | 0 .../ft_sql/ftplugin}/sql/common.vim | 0 .../ft_tex/ftplugin}/tex/common.vim | 0 .../ft_vim/ftplugin}/vim/common.vim | 0 bundle/ft_vimblogger/README.rst | 220 +++ .../ft_vimblogger/doc}/vimblogger_ft.txt | 0 .../ftplugin}/rst/rst2blogger/__init__.py | 0 .../ftplugin}/rst/rst2blogger/blogger.py | 0 .../ftplugin}/rst/rst2blogger/main.py | 0 .../ftplugin}/rst/rst2blogger/rest.py | 0 .../rst/rst2blogger/scripts/style2css.py | 0 .../rst/rst2blogger/tests/__init__.py | 0 .../ftplugin}/rst/rst2blogger/tests/shared.py | 0 .../rst/rst2blogger/tests/test_blogger.py | 0 .../rst/rst2blogger/tests/test_main.py | 0 .../rst/rst2blogger/tests/test_rest.py | 0 .../ftplugin}/rst/vimblogger_ft.vim | 0 .../fuzzyfinder/autoload}/fuf.vim | 0 .../fuzzyfinder/autoload}/fuf/bookmarkdir.vim | 0 .../autoload}/fuf/bookmarkfile.vim | 0 .../fuzzyfinder/autoload}/fuf/buffer.vim | 0 .../fuzzyfinder/autoload}/fuf/buffertag.vim | 0 .../autoload}/fuf/callbackfile.vim | 0 .../autoload}/fuf/callbackitem.vim | 0 .../fuzzyfinder/autoload}/fuf/changelist.vim | 0 .../autoload}/fuf/coveragefile.vim | 0 .../fuzzyfinder/autoload}/fuf/dir.vim | 0 .../fuzzyfinder/autoload}/fuf/file.vim | 0 .../fuzzyfinder/autoload}/fuf/givencmd.vim | 0 .../fuzzyfinder/autoload}/fuf/givendir.vim | 0 .../fuzzyfinder/autoload}/fuf/givenfile.vim | 0 .../fuzzyfinder/autoload}/fuf/help.vim | 0 .../fuzzyfinder/autoload}/fuf/jumplist.vim | 0 .../fuzzyfinder/autoload}/fuf/line.vim | 0 .../fuzzyfinder/autoload}/fuf/mrucmd.vim | 0 .../fuzzyfinder/autoload}/fuf/mrufile.vim | 0 .../fuzzyfinder/autoload}/fuf/quickfix.vim | 0 .../fuzzyfinder/autoload}/fuf/tag.vim | 0 .../fuzzyfinder/autoload}/fuf/taggedfile.vim | 0 {doc => bundle/fuzzyfinder/doc}/fuf.txt | 0 {plugin => bundle/fuzzyfinder/plugin}/fuf.vim | 0 bundle/git_taglisttoo/.gitignore | 5 + bundle/git_taglisttoo/Makefile | 11 + bundle/git_taglisttoo/README.rst | 50 + .../autoload}/taglisttoo/__init__.py | 58 +- .../autoload}/taglisttoo/lang/ant.vim | 4 +- .../autoload/taglisttoo/lang/cpp.vim | 118 ++ .../autoload}/taglisttoo/lang/dtd.vim | 4 +- .../autoload}/taglisttoo/lang/html.vim | 4 +- .../autoload}/taglisttoo/lang/htmldjango.vim | 4 +- .../autoload}/taglisttoo/lang/htmljinja.vim | 12 +- .../autoload}/taglisttoo/lang/javascript.vim | 164 +- .../autoload}/taglisttoo/lang/jproperties.vim | 4 +- .../autoload}/taglisttoo/lang/log4j.vim | 4 +- .../autoload/taglisttoo/lang/perl.vim | 37 +- .../autoload/taglisttoo/lang/php.vim | 52 + .../autoload}/taglisttoo/lang/rst.vim | 4 +- .../autoload/taglisttoo/lang/scala.vim | 57 + .../autoload}/taglisttoo/lang/sql.vim | 4 +- .../autoload/taglisttoo/lang/vim.vim | 51 + .../autoload}/taglisttoo/lang/xsd.vim | 4 +- .../autoload}/taglisttoo/taglist.vim | 209 +-- .../autoload/taglisttoo/util.vim | 373 ++++ .../git_taglisttoo/doc}/taglisttoo.txt | 33 +- .../git_taglisttoo/plugin}/taglisttoo.vim | 6 +- {plugin => bundle/grep/plugin}/grep.vim | 0 bundle/gundo/README.markdown | 34 + {plugin => bundle/gundo/autoload}/gundo.py | 5 +- {autoload => bundle/gundo/autoload}/gundo.vim | 90 +- {doc => bundle/gundo/doc}/gundo.txt | 12 + bundle/gundo/plugin/gundo.vim | 24 + .../indent_javascript/indent}/html.vim | 0 .../indent_javascript/indent}/javascript.vim | 0 bundle/indent_javascript/test.html | 399 +++++ .../indent_mako/indent}/mako.vim | 0 .../indent_python/indent}/python.vim | 2 - .../indent_python/indent}/python_pep8.vim | 0 .../jsbeautify/plugin}/jsbeautify.vim | 0 {autoload => bundle/l9/autoload}/l9.vim | 0 {autoload => bundle/l9/autoload}/l9/async.py | 0 {autoload => bundle/l9/autoload}/l9/async.vim | 0 .../l9/autoload}/l9/quickfix.vim | 0 .../l9/autoload}/l9/tempbuffer.vim | 0 .../l9/autoload}/l9/tempvariables.vim | 0 {doc => bundle/l9/doc}/l9.txt | 0 {plugin => bundle/l9/plugin}/l9.vim | 0 .../loremipsum/autoload}/loremipsum.txt | 0 .../loremipsum/autoload}/loremipsum.vim | 0 {doc => bundle/loremipsum/doc}/loremipsum.txt | 0 .../loremipsum/plugin}/loremipsum.vim | 0 {autoload => bundle/mark/autoload}/mark.vim | 0 {doc => bundle/mark/doc}/mark.txt | 0 {plugin => bundle/mark/plugin}/mark.vim | 0 .../nerdcommenter/doc}/NERD_commenter.txt | 0 .../nerdcommenter/plugin}/NERD_commenter.vim | 0 {plugin => bundle/occur/plugin}/occur.vim | 0 {plugin => bundle/repeat/autoload}/repeat.vim | 0 {doc => bundle/showmarks/doc}/showmarks.txt | 0 .../showmarks/plugin}/showmarks.vim | 0 .../snipmate/after}/plugin/snipMate.vim | 0 .../snipmate/autoload}/snipMate.vim | 0 {doc => bundle/snipmate/doc}/snipMate.txt | 0 .../snipmate/ftplugin}/html_snip_helper.vim | 0 .../snipmate/plugin}/snipMate.vim | 0 .../snipmate/snippets}/_.snippets | 0 .../snipmate/snippets}/autoit.snippets | 0 .../snipmate/snippets}/c.snippets | 0 .../snipmate/snippets}/cpp.snippets | 0 .../snipmate/snippets}/html.snippets | 0 .../snipmate/snippets}/java.snippets | 0 .../snipmate/snippets}/javascript.snippets | 0 .../snipmate/snippets}/mako.snippets | 0 .../snipmate/snippets}/mkd.snippets | 0 .../snipmate/snippets}/objc.snippets | 0 .../snipmate/snippets}/perl.snippets | 0 .../snipmate/snippets}/php.snippets | 0 .../snipmate/snippets}/python.snippets | 0 .../snipmate/snippets}/rst.snippets | 0 .../snipmate/snippets}/ruby.snippets | 0 .../snipmate/snippets}/sh.snippets | 0 .../snipmate/snippets}/snippet.snippets | 0 .../snipmate/snippets}/tcl.snippets | 0 .../snipmate/snippets}/tex.snippets | 0 .../snipmate/snippets}/vim.snippets | 0 .../snipmate/snippets}/xhtml.snippets | 0 .../snipmate/snippets}/zsh.snippets | 0 .../snipmate/syntax}/snippet.vim | 0 {doc => bundle/surround/doc}/surround.txt | 0 .../surround/plugin}/surround.vim | 0 {syntax => bundle/syntax_css/syntax}/css.vim | 0 bundle/syntax_fitnesse/README.fitnesse | 67 + .../syntax_fitnesse/scripts.vim.fitnesse_add | 4 + .../syntax_fitnesse/syntax}/fitnesse.vim | 0 .../syntax_mako/syntax}/mako.vim | 0 .../syntax_opl/syntax}/pd_opl.vim | 0 .../syntax_pentadactyl/syntax/pentadactyl.vim | 136 ++ .../syntax_python/syntax}/python.vim | 12 +- .../syntax_tmux/syntax}/tmux.vim | 0 .../tagbar/autoload}/tagbar.vim | 0 {doc => bundle/tagbar/doc}/tagbar.txt | 0 {plugin => bundle/tagbar/plugin}/tagbar.vim | 0 {syntax => bundle/tagbar/syntax}/tagbar.vim | 0 {doc => bundle/vcscommand/doc}/vcscommand.txt | 0 .../vcscommand/plugin}/vcsbzr.vim | 0 .../vcscommand/plugin}/vcscommand.vim | 0 .../vcscommand/plugin}/vcscvs.vim | 0 .../vcscommand/plugin}/vcsgit.vim | 0 .../vcscommand/plugin}/vcshg.vim | 0 .../vcscommand/plugin}/vcssvk.vim | 0 .../vcscommand/plugin}/vcssvn.vim | 0 .../vcscommand/syntax}/cvsannotate.vim | 0 .../vcscommand/syntax}/gitannotate.vim | 0 .../vcscommand/syntax}/hgannotate.vim | 0 .../vcscommand/syntax}/svkannotate.vim | 0 .../vcscommand/syntax}/svnannotate.vim | 0 .../vcscommand/syntax}/vcscommit.vim | 0 .../vimwiki/autoload}/vimwiki/base.vim | 0 .../vimwiki/autoload}/vimwiki/default.tpl | 0 .../vimwiki/autoload}/vimwiki/diary.vim | 0 .../vimwiki/autoload}/vimwiki/html.vim | 0 .../vimwiki/autoload}/vimwiki/lst.vim | 0 .../vimwiki/autoload}/vimwiki/style.css | 0 .../vimwiki/autoload}/vimwiki/tbl.vim | 0 {doc => bundle/vimwiki/doc}/vimwiki.txt | 0 .../vimwiki/ftplugin}/vimwiki.vim | 0 {plugin => bundle/vimwiki/plugin}/vimwiki.vim | 0 {syntax => bundle/vimwiki/syntax}/vimwiki.vim | 0 .../vimwiki/syntax}/vimwiki_default.vim | 0 .../vimwiki/syntax}/vimwiki_media.vim | 0 .../vst/autoload}/vst/default.css | 0 .../vst/autoload}/vst/lightblue.css | 0 .../vst/autoload}/vst/myhtmlvst.vim | 0 .../vst/autoload}/vst/s5ui/blank.gif | Bin .../vst/autoload}/vst/s5ui/framing.css | 0 .../vst/autoload}/vst/s5ui/iepngfix.htc | 0 .../vst/autoload}/vst/s5ui/opera.css | 0 .../vst/autoload}/vst/s5ui/outline.css | 0 .../vst/autoload}/vst/s5ui/pretty.css | 0 .../vst/autoload}/vst/s5ui/print.css | 0 .../vst/autoload}/vst/s5ui/s5-core.css | 0 .../vst/autoload}/vst/s5ui/slides.css | 0 .../vst/autoload}/vst/s5ui/slides.js | 0 {autoload => bundle/vst/autoload}/vst/vst.vim | 0 {doc2 => bundle/vst/doc2}/test.png | Bin {doc2 => bundle/vst/doc2}/vst-s5.txt | 0 {doc2 => bundle/vst/doc2}/vst.txt | 0 {plugin => bundle/vst/plugin}/vstplugin.vim | 0 {plugin => bundle/zoom/plugin}/zoom.vim | 0 bundle_consider/ctrlp/autoload/ctrlp.vim | 1513 +++++++++++++++++ .../ctrlp/autoload/ctrlp/buffertag.vim | 235 +++ bundle_consider/ctrlp/autoload/ctrlp/dir.vim | 93 + bundle_consider/ctrlp/autoload/ctrlp/line.vim | 65 + .../ctrlp/autoload/ctrlp/mrufiles.vim | 90 + .../ctrlp/autoload/ctrlp/quickfix.vim | 60 + .../ctrlp/autoload/ctrlp/rtscript.vim | 46 + bundle_consider/ctrlp/autoload/ctrlp/tag.vim | 113 ++ bundle_consider/ctrlp/autoload/ctrlp/undo.vim | 121 ++ .../ctrlp/autoload/ctrlp/utils.vim | 75 + bundle_consider/ctrlp/doc/ctrlp.txt | 846 +++++++++ bundle_consider/ctrlp/plugin/ctrlp.vim | 64 + bundle_consider/ctrlp/readme.md | 8 + bundle_consider/fontzoom/doc/fontzoom.txt | 105 ++ bundle_consider/fontzoom/plugin/fontzoom.vim | 69 + colors/tolerable256.vim | 267 --- doc/tags | 1068 ------------ plugin/buffers.vim | 547 ------ plugin/gundo.vim | 401 ----- 261 files changed, 5724 insertions(+), 3107 deletions(-) create mode 100644 .hgignore create mode 100644 autoload/pathogen.vim delete mode 100644 autoload/taglisttoo/lang/java.vim delete mode 100644 autoload/taglisttoo/lang/php.vim delete mode 100644 autoload/taglisttoo/util.vim rename {doc => bundle/ack/doc}/ack.txt (100%) rename {plugin => bundle/ack/plugin}/ack.vim (100%) rename {doc => bundle/buffergator/doc}/buffergator.txt (100%) rename {plugin => bundle/buffergator/plugin}/buffergator.vim (100%) rename {plugin => bundle/calendar/plugin}/calendar.vim (100%) rename {colors => bundle/color_github/colors}/github.vim (100%) rename {colors => bundle/color_inkpot/colors}/inkpot.vim (100%) rename {colors => bundle/color_irblack/colors}/ir_black.vim (100%) rename {colors => bundle/color_jellybeans/colors}/jellybeans.vim (81%) rename {colors => bundle/color_lucius/colors}/lucius.vim (100%) rename {colors => bundle/color_sorcerer/colors}/sorcerer.vim (100%) create mode 100644 bundle/color_tolerable/colors/tolerable.vim rename {colors => bundle/color_vydark/colors}/vydark.vim (100%) rename {colors => bundle/color_vylight/colors}/vylight.vim (100%) rename {colors => bundle/color_wombat256grf/colors}/wombat256grf.vim (100%) rename {colors => bundle/color_zenburn/colors}/zenburn.vim (100%) rename {compiler => bundle/compiler_javascript/compiler}/jsl.vim (85%) rename {compiler => bundle/compiler_pylint/compiler}/pylint.vim (100%) rename {compiler => bundle/compiler_rubber/compiler}/rubber.vim (100%) rename {plugin => bundle/dirdiff/plugin}/DirDiff.vim (100%) rename {doc => bundle/doc_py2stdlib/doc}/py2stdlib.txt (100%) rename {ftplugin => bundle/ft_jpythonfold/ftplugin}/python/jpythonfold.vim (100%) rename {ftplugin => bundle/ft_pydoc/ftplugin}/python/pydoc.vim (100%) rename {ftplugin/python/pyflakes => bundle/ft_pyflakes-vim}/README.rst (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes.vim (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/LICENSE (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/NEWS.txt (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/bin/pyflakes (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/__init__.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/checker.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/messages.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/scripts/__init__.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/scripts/pyflakes.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/test/__init__.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/test/harness.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/test/test_imports.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/test/test_other.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/test/test_script.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/pyflakes/test/test_undefined_names.py (100%) rename {ftplugin => bundle/ft_pyflakes-vim/ftplugin}/python/pyflakes/setup.py (100%) rename {ftplugin => bundle/ft_python/ftplugin}/python/common.vim (100%) rename {ftplugin => bundle/ft_python/ftplugin}/python/pep8_fn.vim (100%) rename {ftplugin => bundle/ft_python/ftplugin}/python/pylint_fn.vim (100%) rename {ftplugin => bundle/ft_python_fn/ftplugin}/python/python_fn.vim (100%) rename {ftplugin => bundle/ft_pythonhelper/ftplugin}/python/pythonhelper.vim (100%) rename {ftplugin => bundle/ft_rst/ftplugin}/rst/commons.vim (100%) rename {ftplugin => bundle/ft_rst/ftplugin}/rst/word_utils.vim (100%) rename {ftplugin => bundle/ft_snippets/ftplugin}/snippet/common.vim (100%) rename {ftplugin => bundle/ft_sql/ftplugin}/sql/common.vim (100%) rename {ftplugin => bundle/ft_tex/ftplugin}/tex/common.vim (100%) rename {ftplugin => bundle/ft_vim/ftplugin}/vim/common.vim (100%) create mode 100644 bundle/ft_vimblogger/README.rst rename {doc => bundle/ft_vimblogger/doc}/vimblogger_ft.txt (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/__init__.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/blogger.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/main.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/rest.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/scripts/style2css.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/tests/__init__.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/tests/shared.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/tests/test_blogger.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/tests/test_main.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/rst2blogger/tests/test_rest.py (100%) rename {ftplugin => bundle/ft_vimblogger/ftplugin}/rst/vimblogger_ft.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/bookmarkdir.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/bookmarkfile.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/buffer.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/buffertag.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/callbackfile.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/callbackitem.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/changelist.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/coveragefile.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/dir.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/file.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/givencmd.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/givendir.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/givenfile.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/help.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/jumplist.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/line.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/mrucmd.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/mrufile.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/quickfix.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/tag.vim (100%) rename {autoload => bundle/fuzzyfinder/autoload}/fuf/taggedfile.vim (100%) rename {doc => bundle/fuzzyfinder/doc}/fuf.txt (100%) rename {plugin => bundle/fuzzyfinder/plugin}/fuf.vim (100%) create mode 100644 bundle/git_taglisttoo/.gitignore create mode 100644 bundle/git_taglisttoo/Makefile create mode 100644 bundle/git_taglisttoo/README.rst rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/__init__.py (86%) rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/ant.vim (95%) create mode 100644 bundle/git_taglisttoo/autoload/taglisttoo/lang/cpp.vim rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/dtd.vim (94%) rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/html.vim (94%) rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/htmldjango.vim (94%) rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/htmljinja.vim (84%) rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/javascript.vim (52%) rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/jproperties.vim (93%) rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/log4j.vim (95%) rename autoload/taglisttoo/lang/python.vim => bundle/git_taglisttoo/autoload/taglisttoo/lang/perl.vim (67%) create mode 100644 bundle/git_taglisttoo/autoload/taglisttoo/lang/php.vim rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/rst.vim (94%) create mode 100644 bundle/git_taglisttoo/autoload/taglisttoo/lang/scala.vim rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/sql.vim (96%) create mode 100644 bundle/git_taglisttoo/autoload/taglisttoo/lang/vim.vim rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/lang/xsd.vim (94%) rename {autoload => bundle/git_taglisttoo/autoload}/taglisttoo/taglist.vim (87%) create mode 100644 bundle/git_taglisttoo/autoload/taglisttoo/util.vim rename {doc => bundle/git_taglisttoo/doc}/taglisttoo.txt (88%) rename {plugin => bundle/git_taglisttoo/plugin}/taglisttoo.vim (97%) rename {plugin => bundle/grep/plugin}/grep.vim (100%) create mode 100644 bundle/gundo/README.markdown rename {plugin => bundle/gundo/autoload}/gundo.py (99%) rename {autoload => bundle/gundo/autoload}/gundo.vim (87%) rename {doc => bundle/gundo/doc}/gundo.txt (95%) create mode 100644 bundle/gundo/plugin/gundo.vim rename {indent => bundle/indent_javascript/indent}/html.vim (100%) rename {indent => bundle/indent_javascript/indent}/javascript.vim (100%) create mode 100644 bundle/indent_javascript/test.html rename {indent => bundle/indent_mako/indent}/mako.vim (100%) rename {indent => bundle/indent_python/indent}/python.vim (69%) rename {indent => bundle/indent_python/indent}/python_pep8.vim (100%) rename {plugin => bundle/jsbeautify/plugin}/jsbeautify.vim (100%) rename {autoload => bundle/l9/autoload}/l9.vim (100%) rename {autoload => bundle/l9/autoload}/l9/async.py (100%) rename {autoload => bundle/l9/autoload}/l9/async.vim (100%) rename {autoload => bundle/l9/autoload}/l9/quickfix.vim (100%) rename {autoload => bundle/l9/autoload}/l9/tempbuffer.vim (100%) rename {autoload => bundle/l9/autoload}/l9/tempvariables.vim (100%) rename {doc => bundle/l9/doc}/l9.txt (100%) rename {plugin => bundle/l9/plugin}/l9.vim (100%) rename {autoload => bundle/loremipsum/autoload}/loremipsum.txt (100%) rename {autoload => bundle/loremipsum/autoload}/loremipsum.vim (100%) rename {doc => bundle/loremipsum/doc}/loremipsum.txt (100%) rename {plugin => bundle/loremipsum/plugin}/loremipsum.vim (100%) rename {autoload => bundle/mark/autoload}/mark.vim (100%) rename {doc => bundle/mark/doc}/mark.txt (100%) rename {plugin => bundle/mark/plugin}/mark.vim (100%) rename {doc => bundle/nerdcommenter/doc}/NERD_commenter.txt (100%) rename {plugin => bundle/nerdcommenter/plugin}/NERD_commenter.vim (100%) rename {plugin => bundle/occur/plugin}/occur.vim (100%) rename {plugin => bundle/repeat/autoload}/repeat.vim (100%) rename {doc => bundle/showmarks/doc}/showmarks.txt (100%) rename {plugin => bundle/showmarks/plugin}/showmarks.vim (100%) rename {after => bundle/snipmate/after}/plugin/snipMate.vim (100%) rename {autoload => bundle/snipmate/autoload}/snipMate.vim (100%) rename {doc => bundle/snipmate/doc}/snipMate.txt (100%) rename {ftplugin => bundle/snipmate/ftplugin}/html_snip_helper.vim (100%) rename {plugin => bundle/snipmate/plugin}/snipMate.vim (100%) rename {snippets => bundle/snipmate/snippets}/_.snippets (100%) rename {snippets => bundle/snipmate/snippets}/autoit.snippets (100%) rename {snippets => bundle/snipmate/snippets}/c.snippets (100%) rename {snippets => bundle/snipmate/snippets}/cpp.snippets (100%) rename {snippets => bundle/snipmate/snippets}/html.snippets (100%) rename {snippets => bundle/snipmate/snippets}/java.snippets (100%) rename {snippets => bundle/snipmate/snippets}/javascript.snippets (100%) rename {snippets => bundle/snipmate/snippets}/mako.snippets (100%) rename {snippets => bundle/snipmate/snippets}/mkd.snippets (100%) rename {snippets => bundle/snipmate/snippets}/objc.snippets (100%) rename {snippets => bundle/snipmate/snippets}/perl.snippets (100%) rename {snippets => bundle/snipmate/snippets}/php.snippets (100%) rename {snippets => bundle/snipmate/snippets}/python.snippets (100%) rename {snippets => bundle/snipmate/snippets}/rst.snippets (100%) rename {snippets => bundle/snipmate/snippets}/ruby.snippets (100%) rename {snippets => bundle/snipmate/snippets}/sh.snippets (100%) rename {snippets => bundle/snipmate/snippets}/snippet.snippets (100%) rename {snippets => bundle/snipmate/snippets}/tcl.snippets (100%) rename {snippets => bundle/snipmate/snippets}/tex.snippets (100%) rename {snippets => bundle/snipmate/snippets}/vim.snippets (100%) rename {snippets => bundle/snipmate/snippets}/xhtml.snippets (100%) rename {snippets => bundle/snipmate/snippets}/zsh.snippets (100%) rename {syntax => bundle/snipmate/syntax}/snippet.vim (100%) rename {doc => bundle/surround/doc}/surround.txt (100%) rename {plugin => bundle/surround/plugin}/surround.vim (100%) rename {syntax => bundle/syntax_css/syntax}/css.vim (100%) create mode 100644 bundle/syntax_fitnesse/README.fitnesse create mode 100644 bundle/syntax_fitnesse/scripts.vim.fitnesse_add rename {syntax => bundle/syntax_fitnesse/syntax}/fitnesse.vim (100%) rename {syntax => bundle/syntax_mako/syntax}/mako.vim (100%) rename {syntax => bundle/syntax_opl/syntax}/pd_opl.vim (100%) create mode 100644 bundle/syntax_pentadactyl/syntax/pentadactyl.vim rename {syntax => bundle/syntax_python/syntax}/python.vim (98%) rename {syntax => bundle/syntax_tmux/syntax}/tmux.vim (100%) rename {autoload => bundle/tagbar/autoload}/tagbar.vim (100%) rename {doc => bundle/tagbar/doc}/tagbar.txt (100%) rename {plugin => bundle/tagbar/plugin}/tagbar.vim (100%) rename {syntax => bundle/tagbar/syntax}/tagbar.vim (100%) rename {doc => bundle/vcscommand/doc}/vcscommand.txt (100%) rename {plugin => bundle/vcscommand/plugin}/vcsbzr.vim (100%) rename {plugin => bundle/vcscommand/plugin}/vcscommand.vim (100%) rename {plugin => bundle/vcscommand/plugin}/vcscvs.vim (100%) rename {plugin => bundle/vcscommand/plugin}/vcsgit.vim (100%) rename {plugin => bundle/vcscommand/plugin}/vcshg.vim (100%) rename {plugin => bundle/vcscommand/plugin}/vcssvk.vim (100%) rename {plugin => bundle/vcscommand/plugin}/vcssvn.vim (100%) rename {syntax => bundle/vcscommand/syntax}/cvsannotate.vim (100%) rename {syntax => bundle/vcscommand/syntax}/gitannotate.vim (100%) rename {syntax => bundle/vcscommand/syntax}/hgannotate.vim (100%) rename {syntax => bundle/vcscommand/syntax}/svkannotate.vim (100%) rename {syntax => bundle/vcscommand/syntax}/svnannotate.vim (100%) rename {syntax => bundle/vcscommand/syntax}/vcscommit.vim (100%) rename {autoload => bundle/vimwiki/autoload}/vimwiki/base.vim (100%) rename {autoload => bundle/vimwiki/autoload}/vimwiki/default.tpl (100%) rename {autoload => bundle/vimwiki/autoload}/vimwiki/diary.vim (100%) rename {autoload => bundle/vimwiki/autoload}/vimwiki/html.vim (100%) rename {autoload => bundle/vimwiki/autoload}/vimwiki/lst.vim (100%) rename {autoload => bundle/vimwiki/autoload}/vimwiki/style.css (100%) rename {autoload => bundle/vimwiki/autoload}/vimwiki/tbl.vim (100%) rename {doc => bundle/vimwiki/doc}/vimwiki.txt (100%) rename {ftplugin => bundle/vimwiki/ftplugin}/vimwiki.vim (100%) rename {plugin => bundle/vimwiki/plugin}/vimwiki.vim (100%) rename {syntax => bundle/vimwiki/syntax}/vimwiki.vim (100%) rename {syntax => bundle/vimwiki/syntax}/vimwiki_default.vim (100%) rename {syntax => bundle/vimwiki/syntax}/vimwiki_media.vim (100%) rename {autoload => bundle/vst/autoload}/vst/default.css (100%) rename {autoload => bundle/vst/autoload}/vst/lightblue.css (100%) rename {autoload => bundle/vst/autoload}/vst/myhtmlvst.vim (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/blank.gif (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/framing.css (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/iepngfix.htc (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/opera.css (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/outline.css (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/pretty.css (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/print.css (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/s5-core.css (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/slides.css (100%) rename {autoload => bundle/vst/autoload}/vst/s5ui/slides.js (100%) rename {autoload => bundle/vst/autoload}/vst/vst.vim (100%) rename {doc2 => bundle/vst/doc2}/test.png (100%) rename {doc2 => bundle/vst/doc2}/vst-s5.txt (100%) rename {doc2 => bundle/vst/doc2}/vst.txt (100%) rename {plugin => bundle/vst/plugin}/vstplugin.vim (100%) rename {plugin => bundle/zoom/plugin}/zoom.vim (100%) create mode 100644 bundle_consider/ctrlp/autoload/ctrlp.vim create mode 100644 bundle_consider/ctrlp/autoload/ctrlp/buffertag.vim create mode 100644 bundle_consider/ctrlp/autoload/ctrlp/dir.vim create mode 100644 bundle_consider/ctrlp/autoload/ctrlp/line.vim create mode 100644 bundle_consider/ctrlp/autoload/ctrlp/mrufiles.vim create mode 100644 bundle_consider/ctrlp/autoload/ctrlp/quickfix.vim create mode 100644 bundle_consider/ctrlp/autoload/ctrlp/rtscript.vim create mode 100644 bundle_consider/ctrlp/autoload/ctrlp/tag.vim create mode 100644 bundle_consider/ctrlp/autoload/ctrlp/undo.vim create mode 100644 bundle_consider/ctrlp/autoload/ctrlp/utils.vim create mode 100644 bundle_consider/ctrlp/doc/ctrlp.txt create mode 100644 bundle_consider/ctrlp/plugin/ctrlp.vim create mode 100644 bundle_consider/ctrlp/readme.md create mode 100644 bundle_consider/fontzoom/doc/fontzoom.txt create mode 100644 bundle_consider/fontzoom/plugin/fontzoom.vim delete mode 100644 colors/tolerable256.vim delete mode 100644 doc/tags delete mode 100644 plugin/buffers.vim delete mode 100644 plugin/gundo.vim diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..6a683c8 --- /dev/null +++ b/.hgignore @@ -0,0 +1,7 @@ +syntax: glob + +*.pyc +*.pyo + +view/* +**/doc/tags diff --git a/.vimrc b/.vimrc index 7d3bec6..4fa1ead 100644 --- a/.vimrc +++ b/.vimrc @@ -1,4 +1,5 @@ "Basic setup for all files {{{ +call pathogen#infect() "infect path for boundles set nocompatible "VIM over VI filetype plugin indent on "turn plugins/indent on diff --git a/GetLatest/GetLatestVimScripts.dat b/GetLatest/GetLatestVimScripts.dat index 535dc2b..ccacfb6 100644 --- a/GetLatest/GetLatestVimScripts.dat +++ b/GetLatest/GetLatestVimScripts.dat @@ -4,11 +4,11 @@ ScriptID SourceID Filename 2572 10433 ack.vim 3619 16816 buffergator 102 16171 DirDiff.vim -1984 13961 :AutoInstall: FuzzyFinder +1984 13961 FuzzyFinder 311 7645 grep.vim -3304 16172 gundo.vim +3304 17406 gundo.vim 2727 11120 jsbeautify.vim -3252 13948 :AutoInstall: L9 +3252 13948 L9 2289 8922 loremipsum 2666 16840 Mark 1218 14455 nerdcommenter @@ -16,17 +16,18 @@ ScriptID SourceID Filename 2136 8206 repeat.vim 152 3342 showmarks.vim 2540 11006 snipMate.vim -1697 12566 :AutoInstall: surround.vim +1697 12566 surround.vim 3465 17112 Tagbar 90 17031 vcscommand.vim 2226 15854 vimwiki.vim 1334 6377 vst.vim 2321 9055 zoom.vim 52 14880 calendar.vim +3736 17319 ctrlp.vim ### colors 2855 12456 github.vim 1143 11833 inkpot.vim -2555 15432 jellybeans.vim +2555 17225 jellybeans.vim 2536 16615 lucius.vim 3299 16882 sorcerer.vim 1165 3741 tolerable.vim @@ -47,7 +48,7 @@ ScriptID SourceID Filename # changes doesn't put it on vim.org scripts. it can be (still) found on # http://monkey.org/~caz/python.vim ### syntax -790 14268 python.vim +790 17430 python.vim 2651 10658 fitnesse.vim 1858 9244 mako.vim 2539 9949 css.vim diff --git a/autoload/pathogen.vim b/autoload/pathogen.vim new file mode 100644 index 0000000..be68389 --- /dev/null +++ b/autoload/pathogen.vim @@ -0,0 +1,230 @@ +" pathogen.vim - path option manipulation +" Maintainer: Tim Pope +" Version: 2.0 + +" Install in ~/.vim/autoload (or ~\vimfiles\autoload). +" +" For management of individually installed plugins in ~/.vim/bundle (or +" ~\vimfiles\bundle), adding `call pathogen#infect()` to your .vimrc +" prior to `fileype plugin indent on` is the only other setup necessary. +" +" The API is documented inline below. For maximum ease of reading, +" :set foldmethod=marker + +if exists("g:loaded_pathogen") || &cp + finish +endif +let g:loaded_pathogen = 1 + +" Point of entry for basic default usage. Give a directory name to invoke +" pathogen#runtime_append_all_bundles() (defaults to "bundle"), or a full path +" to invoke pathogen#runtime_prepend_subdirectories(). Afterwards, +" pathogen#cycle_filetype() is invoked. +function! pathogen#infect(...) abort " {{{1 + let source_path = a:0 ? a:1 : 'bundle' + if source_path =~# '[\\/]' + call pathogen#runtime_prepend_subdirectories(source_path) + else + call pathogen#runtime_append_all_bundles(source_path) + endif + call pathogen#cycle_filetype() +endfunction " }}}1 + +" Split a path into a list. +function! pathogen#split(path) abort " {{{1 + if type(a:path) == type([]) | return a:path | endif + let split = split(a:path,'\\\@,'edit',) +command! -bar -bang -count=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(,'edit',) +command! -bar -bang -count=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(,'split',) +command! -bar -bang -count=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(,'vsplit',) +command! -bar -bang -count=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(,'tabedit',) +command! -bar -bang -count=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(,'pedit',) +command! -bar -bang -count=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(,'read',) +command! -bar -bang -count=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(,'edit',,'lcd') + +" vim:set ft=vim ts=8 sw=2 sts=2: diff --git a/autoload/taglisttoo/lang/java.vim b/autoload/taglisttoo/lang/java.vim deleted file mode 100644 index ced1fe1..0000000 --- a/autoload/taglisttoo/lang/java.vim +++ /dev/null @@ -1,90 +0,0 @@ -" Author: Eric Van Dewoestine -" -" License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine -" All rights reserved. -" -" Redistribution and use of this software in source and binary forms, with -" or without modification, are permitted provided that the following -" conditions are met: -" -" * Redistributions of source code must retain the above -" copyright notice, this list of conditions and the -" following disclaimer. -" -" * Redistributions in binary form must reproduce the above -" copyright notice, this list of conditions and the -" following disclaimer in the documentation and/or other -" materials provided with the distribution. -" -" * Neither the name of Eric Van Dewoestine nor the names of its -" contributors may be used to endorse or promote products derived from -" this software without specific prior written permission of -" Eric Van Dewoestine. -" -" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -" }}} - -" Format(types, tags) {{{ -function! taglisttoo#lang#java#Format(types, tags) - let formatter = taglisttoo#util#Formatter(a:tags) - call formatter.filename() - - let package = filter(copy(a:tags), 'v:val.type == "p"') - call formatter.format(a:types['p'], package, '') - - let classes = filter(copy(a:tags), 'v:val.type == "c"') - - " sort classes alphabetically except for the primary containing class. - if len(classes) > 1 && g:Tlist_Sort_Type == 'name' - let classes = [classes[0]] + sort(classes[1:], 'taglisttoo#util#SortTags') - endif - - for class in classes - call formatter.blank() - - let visibility = taglisttoo#util#GetVisibility(class) - call formatter.heading(a:types['c'], class, '') - - let fields = filter(copy(a:tags), - \ 'v:val.type == "f" && v:val.parent =~ "class:.*\\<" . class.name . "$"') - call formatter.format(a:types['f'], fields, "\t") - - let methods = filter(copy(a:tags), - \ 'v:val.type == "m" && v:val.parent =~ "class:.*\\<" . class.name . "$"') - call formatter.format(a:types['m'], methods, "\t") - endfor - - let interfaces = filter(copy(a:tags), 'v:val.type == "i"') - if g:Tlist_Sort_Type == 'name' - call sort(interfaces, 'taglisttoo#util#SortTags') - endif - for interface in interfaces - call formatter.blank() - - let visibility = taglisttoo#util#GetVisibility(interface) - call formatter.heading(a:types['i'], interface, '') - - let fields = filter(copy(a:tags), - \ 'v:val.type == "f" && v:val.parent =~ "interface:.*\\<" . interface.name . "$"') - call formatter.format(a:types['f'], fields, "\t") - - let methods = filter(copy(a:tags), - \ 'v:val.type == "m" && v:val.parent =~ "interface:.*\\<" . interface.name . "$"') - call formatter.format(a:types['m'], methods, "\t") - endfor - - return formatter -endfunction " }}} - -" vim:ft=vim:fdm=marker diff --git a/autoload/taglisttoo/lang/php.vim b/autoload/taglisttoo/lang/php.vim deleted file mode 100644 index 8e8f6c2..0000000 --- a/autoload/taglisttoo/lang/php.vim +++ /dev/null @@ -1,142 +0,0 @@ -" Author: Eric Van Dewoestine -" -" License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine -" All rights reserved. -" -" Redistribution and use of this software in source and binary forms, with -" or without modification, are permitted provided that the following -" conditions are met: -" -" * Redistributions of source code must retain the above -" copyright notice, this list of conditions and the -" following disclaimer. -" -" * Redistributions in binary form must reproduce the above -" copyright notice, this list of conditions and the -" following disclaimer in the documentation and/or other -" materials provided with the distribution. -" -" * Neither the name of Eric Van Dewoestine nor the names of its -" contributors may be used to endorse or promote products derived from -" this software without specific prior written permission of -" Eric Van Dewoestine. -" -" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -" }}} - -" Format(types, tags) {{{ -function! taglisttoo#lang#php#Format(types, tags) - let pos = getpos('.') - - let formatter = taglisttoo#util#Formatter(a:tags) - call formatter.filename() - - let top_functions = filter(copy(a:tags), 'v:val.type == "f"') - - let class_contents = [] - let classes = filter(copy(a:tags), 'v:val.type == "c"') - if g:Tlist_Sort_Type == 'name' - call sort(classes, 'taglisttoo#util#SortTags') - endif - for class in classes - let object_start = class.line - call cursor(object_start, 1) - call search('{', 'W') - let object_end = searchpair('{', '', '}', 'W') - - let functions = [] - let indexes = [] - let index = 0 - for fct in top_functions - if len(fct) > 3 - let fct_line = fct.line - if fct_line > object_start && fct_line < object_end - call add(functions, fct) - call add(indexes, index) - endif - endif - let index += 1 - endfor - call reverse(indexes) - for i in indexes - call remove(top_functions, i) - endfor - - call add(class_contents, {'class': class, 'functions': functions}) - endfor - - let interface_contents = [] - let interfaces = filter(copy(a:tags), 'v:val.type == "i"') - if g:Tlist_Sort_Type == 'name' - call sort(interfaces, 'taglisttoo#util#SortTags') - endif - for interface in interfaces - let object_start = interface.line - call cursor(object_start, 1) - call search('{', 'W') - let object_end = searchpair('{', '', '}', 'W') - - let functions = [] - let indexes = [] - let index = 0 - for fct in top_functions - if len(fct) > 3 - let fct_line = fct.line - if fct_line > object_start && fct_line < object_end - call add(functions, fct) - call add(indexes, index) - endif - endif - let index += 1 - endfor - call reverse(indexes) - for i in indexes - call remove(top_functions, i) - endfor - - call add(interface_contents, {'interface': interface, 'functions': functions}) - endfor - - if len(top_functions) > 0 - call formatter.blank() - call formatter.format(a:types['f'], top_functions, '') - endif - - for class_content in class_contents - call formatter.blank() - call formatter.heading(a:types['c'], class_content.class, '') - call formatter.format(a:types['f'], class_content.functions, "\t") - endfor - - for interface_content in interface_contents - call formatter.blank() - call formatter.heading(a:types['i'], interface_content.interface, '') - call formatter.format(a:types['f'], interface_content.functions, "\t") - endfor - - call setpos('.', pos) - - return formatter -endfunction " }}} - -" Parse(file, settings) {{{ -function! taglisttoo#lang#php#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [ - \ ['f', '\bfunction\s+([a-zA-Z0-9_]+)\s*\(', 1], - \ ['c', '\bclass\s+([a-zA-Z0-9_]+)', 1], - \ ['i', '\binterface\s+([a-zA-Z0-9_]+)', 1], - \ ]) -endfunction " }}} - -" vim:ft=vim:fdm=marker diff --git a/autoload/taglisttoo/util.vim b/autoload/taglisttoo/util.vim deleted file mode 100644 index 3f4f5bc..0000000 --- a/autoload/taglisttoo/util.vim +++ /dev/null @@ -1,131 +0,0 @@ -" Author: Eric Van Dewoestine -" -" License: {{{ -" Copyright (c) 2005 - 2011, Eric Van Dewoestine -" All rights reserved. -" -" Redistribution and use of this software in source and binary forms, with -" or without modification, are permitted provided that the following -" conditions are met: -" -" * Redistributions of source code must retain the above -" copyright notice, this list of conditions and the -" following disclaimer. -" -" * Redistributions in binary form must reproduce the above -" copyright notice, this list of conditions and the -" following disclaimer in the documentation and/or other -" materials provided with the distribution. -" -" * Neither the name of Eric Van Dewoestine nor the names of its -" contributors may be used to endorse or promote products derived from -" this software without specific prior written permission of -" Eric Van Dewoestine. -" -" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -" }}} - -function! taglisttoo#util#Formatter(tags) " {{{ - let formatter = {'lines': [], 'content': [], 'syntax': [], 'tags': a:tags} - - function! formatter.filename() dict " {{{ - call add(self.content, expand('%:t')) - call add(self.lines, -1) - endfunction " }}} - - function! formatter.format(type, values, indent) dict " {{{ - if len(a:values) > 0 - if g:Tlist_Sort_Type == 'name' - call sort(a:values, 'taglisttoo#util#SortTags') - endif - - call self.heading(a:type, {}, a:indent) - - for value in a:values - let visibility = taglisttoo#util#GetVisibility(value) - call add(self.content, "\t" . a:indent . visibility . value.name) - call add(self.lines, index(self.tags, value)) - endfor - endif - endfunction " }}} - - function! formatter.heading(type, tag, indent) dict " {{{ - if len(a:tag) - call add(self.lines, index(self.tags, a:tag)) - call add(self.content, a:indent . a:type . ' ' . a:tag.name) - call add(self.syntax, - \ 'syn match TagListKeyword "^\s*' . a:type . '\%' . len(self.lines) . 'l"') - else - call add(self.lines, 'label') - call add(self.content, a:indent . a:type) - call add(self.syntax, 'syn match TagListKeyword "^.*\%' . len(self.lines) . 'l.*"') - endif - endfunction " }}} - - function! formatter.blank() dict " {{{ - call add(self.content, '') - call add(self.lines, -1) - endfunction " }}} - - return formatter -endfunction " }}} - -function! taglisttoo#util#GetVisibility(tag) " {{{ - let pattern = a:tag.pattern - if pattern =~ '\' - if pattern =~ '\' - return '*' - endif - return '+' - elseif pattern =~ '\' - return '#' - elseif pattern =~ '\' - return '-' - endif - return '' -endfunction " }}} - -function! taglisttoo#util#Parse(file, patterns) " {{{ -python << PYTHONEOF -filename = vim.eval('a:file') -patterns = vim.eval('a:patterns') -result = taglisttoo.parse(filename, patterns) -vim.command('let results = %s' % ('%r' % result).replace("\\'", "''")) -PYTHONEOF - - let tags = [] - if len(results) - for result in results - " filter false positives found in comments or strings - let lnum = result.line - let line = getline(lnum) - let col = len(line) - len(substitute(line, '^\s*', '', '')) + 1 - if synIDattr(synID(lnum, col, 1), 'name') =~? '\(comment\|string\)' || - \ synIDattr(synIDtrans(synID(lnum, col, 1)), 'name') =~? '\(comment\|string\)' - continue - endif - - call add(tags, result) - endfor - endif - - return tags -endfunction " }}} - -function! taglisttoo#util#SortTags(tag1, tag2) " {{{ - let name1 = tolower(a:tag1.name) - let name2 = tolower(a:tag2.name) - return name1 == name2 ? 0 : name1 > name2 ? 1 : -1 -endfunction " }}} - -" vim:ft=vim:fdm=marker diff --git a/doc/ack.txt b/bundle/ack/doc/ack.txt similarity index 100% rename from doc/ack.txt rename to bundle/ack/doc/ack.txt diff --git a/plugin/ack.vim b/bundle/ack/plugin/ack.vim similarity index 100% rename from plugin/ack.vim rename to bundle/ack/plugin/ack.vim diff --git a/doc/buffergator.txt b/bundle/buffergator/doc/buffergator.txt similarity index 100% rename from doc/buffergator.txt rename to bundle/buffergator/doc/buffergator.txt diff --git a/plugin/buffergator.vim b/bundle/buffergator/plugin/buffergator.vim similarity index 100% rename from plugin/buffergator.vim rename to bundle/buffergator/plugin/buffergator.vim diff --git a/plugin/calendar.vim b/bundle/calendar/plugin/calendar.vim similarity index 100% rename from plugin/calendar.vim rename to bundle/calendar/plugin/calendar.vim diff --git a/colors/github.vim b/bundle/color_github/colors/github.vim similarity index 100% rename from colors/github.vim rename to bundle/color_github/colors/github.vim diff --git a/colors/inkpot.vim b/bundle/color_inkpot/colors/inkpot.vim similarity index 100% rename from colors/inkpot.vim rename to bundle/color_inkpot/colors/inkpot.vim diff --git a/colors/ir_black.vim b/bundle/color_irblack/colors/ir_black.vim similarity index 100% rename from colors/ir_black.vim rename to bundle/color_irblack/colors/ir_black.vim diff --git a/colors/jellybeans.vim b/bundle/color_jellybeans/colors/jellybeans.vim similarity index 81% rename from colors/jellybeans.vim rename to bundle/color_jellybeans/colors/jellybeans.vim index 5f8610c..606d558 100644 --- a/colors/jellybeans.vim +++ b/bundle/color_jellybeans/colors/jellybeans.vim @@ -11,13 +11,15 @@ " " File: jellybeans.vim " Maintainer: NanoTech -" Version: 1.4 -" Last Change: April 11th, 2011 -" Contributors: Daniel Herbert , +" Version: 1.5 +" Last Change: January 15th, 2012 +" Contributors: Daniel Herbert , " Henry So, Jr. , -" David Liang +" David Liang , +" Rich Healey (richoH), +" Andrew Wong (w0ng) " -" Copyright (c) 2009-2011 NanoTech +" Copyright (c) 2009-2012 NanoTech " " Permission is hereby granted, free of charge, to any person obtaining a copy " of this software and associated documentation files (the "Software"), to deal @@ -290,37 +292,42 @@ endfun call s:X("Normal","e8e8d3","151515","","White","") set background=dark -if version >= 700 - call s:X("CursorLine","","1c1c1c","","","Black") - call s:X("CursorColumn","","1c1c1c","","","Black") - " gryf: added colorcolumn highlight - call s:X("ColorColumn","","1c1c1c","","","") - call s:X("MatchParen","ffffff","80a090","bold","","DarkCyan") - - call s:X("TabLine","000000","b0b8c0","italic","","Black") - call s:X("TabLineFill","9098a0","","","","Black") - call s:X("TabLineSel","000000","f0f0f0","italic,bold","Black","White") - - " Auto-completion - call s:X("Pmenu","ffffff","606060","","White","Black") - call s:X("PmenuSel","101010","eeeeee","","Black","White") +if !exists("g:jellybeans_use_lowcolor_black") || g:jellybeans_use_lowcolor_black + let s:termBlack = "Black" +else + let s:termBlack = "Grey" endif -call s:X("Visual","","404040","","","Black") +if version >= 700 + call s:X("CursorLine","","1c1c1c","","",s:termBlack) + call s:X("CursorColumn","","1c1c1c","","",s:termBlack) + call s:X("MatchParen","ffffff","80a090","bold","","DarkCyan") + + call s:X("TabLine","000000","b0b8c0","italic","",s:termBlack) + call s:X("TabLineFill","9098a0","","","",s:termBlack) + call s:X("TabLineSel","000000","f0f0f0","italic,bold",s:termBlack,"White") + + " Auto-completion + call s:X("Pmenu","ffffff","606060","","White",s:termBlack) + call s:X("PmenuSel","101010","eeeeee","",s:termBlack,"White") +endif + +call s:X("Visual","","404040","","",s:termBlack) call s:X("Cursor","","b0d0f0","","","") -call s:X("LineNr","605958","151515","none","Black","") +call s:X("LineNr","605958","151515","none",s:termBlack,"") call s:X("Comment","888888","","italic","Grey","") -call s:X("Todo","808080","","bold","White","Black") +call s:X("Todo","808080","","bold","White",s:termBlack) -call s:X("StatusLine","000000","dddddd","italic","Black","White") +call s:X("StatusLine","000000","dddddd","italic","","White") call s:X("StatusLineNC","ffffff","403c41","italic","White","Black") -call s:X("VertSplit","777777","403c41","italic","Black","Black") +call s:X("VertSplit","777777","403c41","",s:termBlack,s:termBlack) call s:X("WildMenu","f0a0c0","302028","","Magenta","") -call s:X("Folded","a0a8b0","384048","italic","Black","") -call s:X("FoldColumn","a0a8b0","384048","","","Black") -hi! link SignColumn FoldColumn +call s:X("Folded","a0a8b0","384048","italic",s:termBlack,"") +call s:X("FoldColumn","535D66","1f1f1f","","",s:termBlack) +call s:X("SignColumn","777777","333333","","",s:termBlack) +call s:X("ColorColumn","","000000","","",s:termBlack) call s:X("Title","70b950","","bold","Green","") @@ -340,9 +347,9 @@ call s:X("PreProc","8fbfdc","","","LightBlue","") hi! link Operator Normal call s:X("Type","ffb964","","","Yellow","") -call s:X("NonText","606060","151515","","Black","") +call s:X("NonText","606060","151515","",s:termBlack,"") -call s:X("SpecialKey","444444","1c1c1c","","Black","") +call s:X("SpecialKey","444444","1c1c1c","",s:termBlack,"") call s:X("Search","f0a0c0","302028","underline","Magenta","") @@ -367,10 +374,10 @@ hi! link diffAdded String " VimDiff -call s:X("DiffAdd","","032218","","Black","DarkGreen") -call s:X("DiffChange","","100920","","Black","DarkMagenta") -call s:X("DiffDelete","220000","220000","","DarkRed","DarkRed") -call s:X("DiffText","","000940","","","DarkRed") +call s:X("DiffAdd","D2EBBE","437019","","White","DarkGreen") +call s:X("DiffDelete","40000A","700009","","DarkRed","DarkRed") +call s:X("DiffChange","","2B5B77","","White","DarkBlue") +call s:X("DiffText","8fbfdc","000000","reverse","Yellow","") " PHP @@ -408,6 +415,7 @@ call s:X("rubyRegexpSpecial","a40073","","","Magenta","") call s:X("rubyPredefinedIdentifier","de5577","","","Red","") " JavaScript + hi! link javaScriptValue Constant hi! link javaScriptRegexpString rubyRegexp @@ -415,21 +423,40 @@ hi! link javaScriptRegexpString rubyRegexp hi! link coffeeRegExp javaScriptRegexpString +" Lua + +hi! link luaOperator Conditional + " C hi! link cOperator Constant " Objective-C/Cocoa + hi! link objcClass Type hi! link cocoaClass objcClass hi! link objcSubclass objcClass hi! link objcSuperclass objcClass hi! link objcDirective rubyClass +hi! link objcStatement Constant hi! link cocoaFunction Function hi! link objcMethodName Identifier hi! link objcMethodArg Normal hi! link objcMessageName Identifier +" Debugger.vim + +call s:X("DbgCurrent","DEEBFE","345FA8","","White","DarkBlue") +call s:X("DbgBreakPt","","4F0037","","","DarkMagenta") + +" vim-indent-guides + +if !exists("g:indent_guides_auto_colors") + let g:indent_guides_auto_colors = 0 +endif +call s:X("IndentGuidesOdd","","202020","","","") +call s:X("IndentGuidesEven","","1c1c1c","","","") + " Plugins, etc. hi! link TagListFileName Directory @@ -437,14 +464,18 @@ call s:X("PreciseJumpTarget","B9ED67","405026","","White","Green") " Manual overrides for 256-color terminals. Dark colors auto-map badly. if !s:low_color - hi StatusLineNC ctermbg=234 + hi StatusLineNC ctermbg=235 hi Folded ctermbg=236 - hi FoldColumn ctermbg=236 + hi FoldColumn ctermbg=234 hi SignColumn ctermbg=236 - hi DiffAdd ctermbg=22 - hi DiffDelete ctermbg=52 - hi DiffChange ctermbg=17 - hi DiffText ctermbg=19 + hi CursorColumn ctermbg=234 + hi CursorLine ctermbg=234 + hi SpecialKey ctermbg=234 + hi NonText ctermbg=233 + hi LineNr ctermbg=233 + hi DiffText ctermfg=81 + hi Normal ctermbg=233 + hi DbgBreakPt ctermbg=53 endif " delete functions {{{ diff --git a/colors/lucius.vim b/bundle/color_lucius/colors/lucius.vim similarity index 100% rename from colors/lucius.vim rename to bundle/color_lucius/colors/lucius.vim diff --git a/colors/sorcerer.vim b/bundle/color_sorcerer/colors/sorcerer.vim similarity index 100% rename from colors/sorcerer.vim rename to bundle/color_sorcerer/colors/sorcerer.vim diff --git a/bundle/color_tolerable/colors/tolerable.vim b/bundle/color_tolerable/colors/tolerable.vim new file mode 100644 index 0000000..7b97b9a --- /dev/null +++ b/bundle/color_tolerable/colors/tolerable.vim @@ -0,0 +1,43 @@ +" Vim color file +" Maintainer: Ian Langworth +" Last Change: 2004 Dec 24 +" Email: + +" Color settings inspired by BBEdit for Mac OS, plus I liked +" the low-contrast comments from the 'oceandeep' colorscheme + +set background=light +hi clear +if exists("syntax_on") + syntax reset +endif +let g:colors_name="tolerable" + +hi Cursor guifg=white guibg=darkgreen + +hi Normal gui=none guifg=black guibg=white +hi NonText gui=none guifg=orange guibg=white + +hi Statement gui=none guifg=blue +hi Special gui=none guifg=red +hi Constant gui=none guifg=darkred +hi Comment gui=none guifg=#555555 +hi Preproc gui=none guifg=darkcyan +hi Type gui=none guifg=darkmagenta +hi Identifier gui=none guifg=darkgreen +hi Title gui=none guifg=black + +hi StatusLine gui=none guibg=#333333 guifg=white +hi StatusLineNC gui=none guibg=#333333 guifg=white +hi VertSplit gui=none guibg=#333333 guifg=white + +hi Visual gui=none guibg=green guifg=black +hi Search gui=none guibg=yellow +hi Directory gui=none guifg=darkblue +hi WarningMsg gui=none guifg=red +hi Error gui=none guifg=white guibg=red +hi Todo gui=none guifg=black guibg=yellow + +hi MoreMsg gui=none +hi ModeMsg gui=none + diff --git a/colors/vydark.vim b/bundle/color_vydark/colors/vydark.vim similarity index 100% rename from colors/vydark.vim rename to bundle/color_vydark/colors/vydark.vim diff --git a/colors/vylight.vim b/bundle/color_vylight/colors/vylight.vim similarity index 100% rename from colors/vylight.vim rename to bundle/color_vylight/colors/vylight.vim diff --git a/colors/wombat256grf.vim b/bundle/color_wombat256grf/colors/wombat256grf.vim similarity index 100% rename from colors/wombat256grf.vim rename to bundle/color_wombat256grf/colors/wombat256grf.vim diff --git a/colors/zenburn.vim b/bundle/color_zenburn/colors/zenburn.vim similarity index 100% rename from colors/zenburn.vim rename to bundle/color_zenburn/colors/zenburn.vim diff --git a/compiler/jsl.vim b/bundle/compiler_javascript/compiler/jsl.vim similarity index 85% rename from compiler/jsl.vim rename to bundle/compiler_javascript/compiler/jsl.vim index 2d1097c..5f94fa2 100644 --- a/compiler/jsl.vim +++ b/bundle/compiler_javascript/compiler/jsl.vim @@ -1,5 +1,5 @@ " Vim compiler file -" Compiler: pdf creator out of LaTeX files using rubber +" Compiler: Javascript Lint if exists("current_compiler") finish endif diff --git a/compiler/pylint.vim b/bundle/compiler_pylint/compiler/pylint.vim similarity index 100% rename from compiler/pylint.vim rename to bundle/compiler_pylint/compiler/pylint.vim diff --git a/compiler/rubber.vim b/bundle/compiler_rubber/compiler/rubber.vim similarity index 100% rename from compiler/rubber.vim rename to bundle/compiler_rubber/compiler/rubber.vim diff --git a/plugin/DirDiff.vim b/bundle/dirdiff/plugin/DirDiff.vim similarity index 100% rename from plugin/DirDiff.vim rename to bundle/dirdiff/plugin/DirDiff.vim diff --git a/doc/py2stdlib.txt b/bundle/doc_py2stdlib/doc/py2stdlib.txt similarity index 100% rename from doc/py2stdlib.txt rename to bundle/doc_py2stdlib/doc/py2stdlib.txt diff --git a/ftplugin/python/jpythonfold.vim b/bundle/ft_jpythonfold/ftplugin/python/jpythonfold.vim similarity index 100% rename from ftplugin/python/jpythonfold.vim rename to bundle/ft_jpythonfold/ftplugin/python/jpythonfold.vim diff --git a/ftplugin/python/pydoc.vim b/bundle/ft_pydoc/ftplugin/python/pydoc.vim similarity index 100% rename from ftplugin/python/pydoc.vim rename to bundle/ft_pydoc/ftplugin/python/pydoc.vim diff --git a/ftplugin/python/pyflakes/README.rst b/bundle/ft_pyflakes-vim/README.rst similarity index 100% rename from ftplugin/python/pyflakes/README.rst rename to bundle/ft_pyflakes-vim/README.rst diff --git a/ftplugin/python/pyflakes.vim b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes.vim similarity index 100% rename from ftplugin/python/pyflakes.vim rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes.vim diff --git a/ftplugin/python/pyflakes/LICENSE b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/LICENSE similarity index 100% rename from ftplugin/python/pyflakes/LICENSE rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/LICENSE diff --git a/ftplugin/python/pyflakes/NEWS.txt b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/NEWS.txt similarity index 100% rename from ftplugin/python/pyflakes/NEWS.txt rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/NEWS.txt diff --git a/ftplugin/python/pyflakes/bin/pyflakes b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/bin/pyflakes similarity index 100% rename from ftplugin/python/pyflakes/bin/pyflakes rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/bin/pyflakes diff --git a/ftplugin/python/pyflakes/pyflakes/__init__.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/__init__.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/__init__.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/__init__.py diff --git a/ftplugin/python/pyflakes/pyflakes/checker.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/checker.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/checker.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/checker.py diff --git a/ftplugin/python/pyflakes/pyflakes/messages.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/messages.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/messages.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/messages.py diff --git a/ftplugin/python/pyflakes/pyflakes/scripts/__init__.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/scripts/__init__.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/scripts/__init__.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/scripts/__init__.py diff --git a/ftplugin/python/pyflakes/pyflakes/scripts/pyflakes.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/scripts/pyflakes.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/scripts/pyflakes.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/scripts/pyflakes.py diff --git a/ftplugin/python/pyflakes/pyflakes/test/__init__.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/__init__.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/test/__init__.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/__init__.py diff --git a/ftplugin/python/pyflakes/pyflakes/test/harness.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/harness.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/test/harness.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/harness.py diff --git a/ftplugin/python/pyflakes/pyflakes/test/test_imports.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/test_imports.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/test/test_imports.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/test_imports.py diff --git a/ftplugin/python/pyflakes/pyflakes/test/test_other.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/test_other.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/test/test_other.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/test_other.py diff --git a/ftplugin/python/pyflakes/pyflakes/test/test_script.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/test_script.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/test/test_script.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/test_script.py diff --git a/ftplugin/python/pyflakes/pyflakes/test/test_undefined_names.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/test_undefined_names.py similarity index 100% rename from ftplugin/python/pyflakes/pyflakes/test/test_undefined_names.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/pyflakes/test/test_undefined_names.py diff --git a/ftplugin/python/pyflakes/setup.py b/bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/setup.py similarity index 100% rename from ftplugin/python/pyflakes/setup.py rename to bundle/ft_pyflakes-vim/ftplugin/python/pyflakes/setup.py diff --git a/ftplugin/python/common.vim b/bundle/ft_python/ftplugin/python/common.vim similarity index 100% rename from ftplugin/python/common.vim rename to bundle/ft_python/ftplugin/python/common.vim diff --git a/ftplugin/python/pep8_fn.vim b/bundle/ft_python/ftplugin/python/pep8_fn.vim similarity index 100% rename from ftplugin/python/pep8_fn.vim rename to bundle/ft_python/ftplugin/python/pep8_fn.vim diff --git a/ftplugin/python/pylint_fn.vim b/bundle/ft_python/ftplugin/python/pylint_fn.vim similarity index 100% rename from ftplugin/python/pylint_fn.vim rename to bundle/ft_python/ftplugin/python/pylint_fn.vim diff --git a/ftplugin/python/python_fn.vim b/bundle/ft_python_fn/ftplugin/python/python_fn.vim similarity index 100% rename from ftplugin/python/python_fn.vim rename to bundle/ft_python_fn/ftplugin/python/python_fn.vim diff --git a/ftplugin/python/pythonhelper.vim b/bundle/ft_pythonhelper/ftplugin/python/pythonhelper.vim similarity index 100% rename from ftplugin/python/pythonhelper.vim rename to bundle/ft_pythonhelper/ftplugin/python/pythonhelper.vim diff --git a/ftplugin/rst/commons.vim b/bundle/ft_rst/ftplugin/rst/commons.vim similarity index 100% rename from ftplugin/rst/commons.vim rename to bundle/ft_rst/ftplugin/rst/commons.vim diff --git a/ftplugin/rst/word_utils.vim b/bundle/ft_rst/ftplugin/rst/word_utils.vim similarity index 100% rename from ftplugin/rst/word_utils.vim rename to bundle/ft_rst/ftplugin/rst/word_utils.vim diff --git a/ftplugin/snippet/common.vim b/bundle/ft_snippets/ftplugin/snippet/common.vim similarity index 100% rename from ftplugin/snippet/common.vim rename to bundle/ft_snippets/ftplugin/snippet/common.vim diff --git a/ftplugin/sql/common.vim b/bundle/ft_sql/ftplugin/sql/common.vim similarity index 100% rename from ftplugin/sql/common.vim rename to bundle/ft_sql/ftplugin/sql/common.vim diff --git a/ftplugin/tex/common.vim b/bundle/ft_tex/ftplugin/tex/common.vim similarity index 100% rename from ftplugin/tex/common.vim rename to bundle/ft_tex/ftplugin/tex/common.vim diff --git a/ftplugin/vim/common.vim b/bundle/ft_vim/ftplugin/vim/common.vim similarity index 100% rename from ftplugin/vim/common.vim rename to bundle/ft_vim/ftplugin/vim/common.vim diff --git a/bundle/ft_vimblogger/README.rst b/bundle/ft_vimblogger/README.rst new file mode 100644 index 0000000..20d3614 --- /dev/null +++ b/bundle/ft_vimblogger/README.rst @@ -0,0 +1,220 @@ +:Author: Roman Dobosz, gryf73 at gmail com + +============= +vimblogger_ft +============= + +vimblogger_ft is a simple reStructuredText_ to Blogger interface through VIm_. + +As the name suggest it is a filetype plugin, which helps to create blog +articles in rsST format and send them to blog site. It also provides commands +for preview in browser and delete articles. + +Requirements +------------ + +Module for communication was written in Python. So, VIm has to be +compiled with ``+python``. + +Other requirements: + +- Python (tested with version 2.6, should work also in others) + + - gdata_ + - docutils_ + - Pygments_ (optional) + +- Blogger account + +Install +------- + +Download_, edit the vba with VIm and type:: + + :so % + +Or, clone this repository and put files in your ``~/.vim`` directory. + +Usage +----- + +This plugin is targeting for people, who has blogger account, want to +use VIm for creating blog articles and don't really likes to manually do +this in html. + +Before starting writing a post, at least ``g:blogger_name`` and +``g:blogger_login`` has to be set up in ``.vimrc``. Next, an article has to +be written using standard reST markup, ``:Title:`` added (not required, +but it's nice to have some title for a blog entry). Now, +``:PreviewBlogArticle`` can be used for saving generated HTML page into +the file of the same name as reST file. Please note, that it'll silently +overwrite existing file, because it is treated as a temporary file. + +When article is done, ``:SendBlogArticle`` will send it to the server. + +Output provided by ``:PreviewBlogArticle`` without any +css stylesheet will look pretty raw, so it is generally good idea to +grab stylesheets from blog itself, and tweak it a little, and add to +list in ``g:blogger_stylesheets``. They will be automatically linked to +generated preview file. + +Unfortunately, this script has several limitations, like it is +impossible to use multiple blogs or edit existing articles without reST +source files. It has to be somehow converted to reStructuredText, id of +an article added to ``:Id:`` docinfo item and then updated. Id of an +article is available through blogger account - every action for each +post listed on Posting->Edit Posts has URL with query string item +postID, for example:: + + http://www.blogger.com/post-edit.g?blogID=9876&postID=12345 + +See plugin documentation for configuration. + +Commands +-------- + +#. ``:PreviewBlogArticle`` - Generate article in HTML format, save it to the + file with te same name as a reST source with .html extension in the same + directory, and optionally opens it in browser. No connection to the blogger + is performed. +#. ``:SendBlogArticle`` - + Generate partial HTML document, which holds article, from current + reST buffer and send it to the blog. + + See reST document structure below for further description. +#. ``:DeleteBlogArticle`` - + Display list of articles, and lets user choose one (or none) of them + to perform deletions. + +reST document structure +----------------------- + +It is assumed, that following template will be used:: + + :Id: + :Title: Title for the blog article + :Date: + :Modified: + :Tags: some, tags + + Penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla + facilisis massa ut massa. Sed nisi purus, malesuada eu, porta vulputate, + suscipit auctor, nunc. Vestibulum convallis, augue eu luctus malesuada, + mi ante mattis odio, ac venenatis neque sem vitae nisi. + + .. more + + heading + ------- + + **Congue** mi, quis posuere augue nulla a augue. Pellentesque sed est. + Mauris cursus urna id lectus. Integer dignissim feugiat eros. Sed tempor + volutpat dolor. Vestibulum vel lectus nec mauris semper adipiscing. + + Aliquam tincidunt enim sit amet tellus. Sed mauris nulla, semper + tincidunt, luctus a, sodales eget, leo. Sed ligula augue, cursus et. + +reST document (optionally) starts with *docinfo* section (first several +lines, that are starting from ":" character) separaded from other +content with one empty line. + +Docinfo items holds article attributes, and are updated automatically +every each of upload to blogger, which is triggered by +":SendBlogArticle" command. + +- **:Id:** - Holds article id on blogger side. If not defined, new article + will be created (even if there is already existing one with the very same + content). If wrong Id is entered (or an Id of deleted article), + exception will be raised, and no action on blogger side will be + performed. +- **:Title:** - Holds article title. Can be changed when ``:Id:`` is obtained. +- **:Date:** - This is published date in RFC 3339 + http://www.ietf.org/rfc/rfc3339.txt format. If empty on first + upload, it will be set to current date. Can be set/changed to + desired date. +- **:Modified:** - This is read-only item, which store modification date + which happens on blogger side. +- **:Tags:** - Comma separated list of tags (Labels). Can be empty. + +All other items are ignored. + +After docinfo block, article body should be placed using markup for +reStructuredText. + +Note, that ``.. more`` will became HTML comment ```` which will +prevent from displaying entire post on the bloggers front page, but will +not have any visible effect during preview in browser. + +Pygments code highlighting +-------------------------- + +Additionally, if Pygments is installed, there is ``sourcecode`` directive, +simple syntax highlighter using Pygments module. Very simple usage for Python +code could be as follows:: + + .. sourcecode:: python + + import vim + print vim.current.buffer.name + +Note, that ``sourcecode`` directive requires argument with the name of the +lexer to use. If wrong/non existent lexer is provided, it will fall back to +*text* lexer. For more information about available lexers, please refer to +Pygments documentation. + +Directive ``sourcecode`` supports two options: ``:linenos:`` and +``:cssclass:``. + +``:linenos:`` takes zero or one argument - if no arguments is provided, line +numbers will be visible starting form 1. Provided integer will be the number +of the first line. + +``:cssclass:`` can be use for changing default class name for block of code. +Default class can be changed by appropriate option for plugin (see +documentation), and defaults to "highlight". + +It is possible to use VIm colorschemes like desert (which is distributed with +VIm), Zenburn_, Lucius_, Wombat_, inkpot_ or any other with Pygments. +Assuming, that colorscheme *desert* should be used, there are two steps to +achive it. + +First, python module containing Pygments *Style* class has to be generated. +There is apropriate convertion tool in Pygments distribution - +``scripts/vim2pygments.py``. Uage is simple as:: + + python Pygments/scripts/vim2pygments.py [path/to/vim/colors]/desert.vim > desert.py + +Which will create new python module ``desert.py`` containing class +``DessertStyle``. + +To generate CSS stylesheet, it's enough to:: + + python rst2blogger/scripts/style2css.py desert.py -c VimDesert > desert.css + +VimDesert is the name of the class, which passed as an argument to +``:cssclass:`` option of directive ``sourceocode``. It will be used as a main +CSS class for code top ``
`` element. So, above example will looks like +this:: + + .. sourcecode:: python + :cssclass: VimDesert + + import vim + print vim.current.buffer.name + +Note: All headings for generated HTML by ``:SendBlogArticle`` will be +shifted by 3, so the first heading will become

, second

and so +on, to fit into blogger template (well, most of them). Remember, that +HTML allow up to 6 level of headings, while reST doesn't have this +limitation. + +.. _VIm: http://www.vim.org +.. _gdata: http://code.google.com/p/gdata-python-client +.. _docutils: http://docutils.sourceforge.net +.. _Pygments: http://pygments.org +.. _reStructuredText: http://docutils.sourceforge.net/rst.html +.. _Download: http://www.vim.org/scripts/script.php?script_id=3367 +.. _Zenburn: http://www.vim.org/scripts/script.php?script_id=415 +.. _inkpot: http://www.vim.org/scripts/script.php?script_id=1143 +.. _Lucius: http://www.vim.org/scripts/script.php?script_id=2536 +.. _Wombat: http://www.vim.org/scripts/script.php?script_id=1778 diff --git a/doc/vimblogger_ft.txt b/bundle/ft_vimblogger/doc/vimblogger_ft.txt similarity index 100% rename from doc/vimblogger_ft.txt rename to bundle/ft_vimblogger/doc/vimblogger_ft.txt diff --git a/ftplugin/rst/rst2blogger/__init__.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/__init__.py similarity index 100% rename from ftplugin/rst/rst2blogger/__init__.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/__init__.py diff --git a/ftplugin/rst/rst2blogger/blogger.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/blogger.py similarity index 100% rename from ftplugin/rst/rst2blogger/blogger.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/blogger.py diff --git a/ftplugin/rst/rst2blogger/main.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/main.py similarity index 100% rename from ftplugin/rst/rst2blogger/main.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/main.py diff --git a/ftplugin/rst/rst2blogger/rest.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/rest.py similarity index 100% rename from ftplugin/rst/rst2blogger/rest.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/rest.py diff --git a/ftplugin/rst/rst2blogger/scripts/style2css.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/scripts/style2css.py similarity index 100% rename from ftplugin/rst/rst2blogger/scripts/style2css.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/scripts/style2css.py diff --git a/ftplugin/rst/rst2blogger/tests/__init__.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/__init__.py similarity index 100% rename from ftplugin/rst/rst2blogger/tests/__init__.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/__init__.py diff --git a/ftplugin/rst/rst2blogger/tests/shared.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/shared.py similarity index 100% rename from ftplugin/rst/rst2blogger/tests/shared.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/shared.py diff --git a/ftplugin/rst/rst2blogger/tests/test_blogger.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/test_blogger.py similarity index 100% rename from ftplugin/rst/rst2blogger/tests/test_blogger.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/test_blogger.py diff --git a/ftplugin/rst/rst2blogger/tests/test_main.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/test_main.py similarity index 100% rename from ftplugin/rst/rst2blogger/tests/test_main.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/test_main.py diff --git a/ftplugin/rst/rst2blogger/tests/test_rest.py b/bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/test_rest.py similarity index 100% rename from ftplugin/rst/rst2blogger/tests/test_rest.py rename to bundle/ft_vimblogger/ftplugin/rst/rst2blogger/tests/test_rest.py diff --git a/ftplugin/rst/vimblogger_ft.vim b/bundle/ft_vimblogger/ftplugin/rst/vimblogger_ft.vim similarity index 100% rename from ftplugin/rst/vimblogger_ft.vim rename to bundle/ft_vimblogger/ftplugin/rst/vimblogger_ft.vim diff --git a/autoload/fuf.vim b/bundle/fuzzyfinder/autoload/fuf.vim similarity index 100% rename from autoload/fuf.vim rename to bundle/fuzzyfinder/autoload/fuf.vim diff --git a/autoload/fuf/bookmarkdir.vim b/bundle/fuzzyfinder/autoload/fuf/bookmarkdir.vim similarity index 100% rename from autoload/fuf/bookmarkdir.vim rename to bundle/fuzzyfinder/autoload/fuf/bookmarkdir.vim diff --git a/autoload/fuf/bookmarkfile.vim b/bundle/fuzzyfinder/autoload/fuf/bookmarkfile.vim similarity index 100% rename from autoload/fuf/bookmarkfile.vim rename to bundle/fuzzyfinder/autoload/fuf/bookmarkfile.vim diff --git a/autoload/fuf/buffer.vim b/bundle/fuzzyfinder/autoload/fuf/buffer.vim similarity index 100% rename from autoload/fuf/buffer.vim rename to bundle/fuzzyfinder/autoload/fuf/buffer.vim diff --git a/autoload/fuf/buffertag.vim b/bundle/fuzzyfinder/autoload/fuf/buffertag.vim similarity index 100% rename from autoload/fuf/buffertag.vim rename to bundle/fuzzyfinder/autoload/fuf/buffertag.vim diff --git a/autoload/fuf/callbackfile.vim b/bundle/fuzzyfinder/autoload/fuf/callbackfile.vim similarity index 100% rename from autoload/fuf/callbackfile.vim rename to bundle/fuzzyfinder/autoload/fuf/callbackfile.vim diff --git a/autoload/fuf/callbackitem.vim b/bundle/fuzzyfinder/autoload/fuf/callbackitem.vim similarity index 100% rename from autoload/fuf/callbackitem.vim rename to bundle/fuzzyfinder/autoload/fuf/callbackitem.vim diff --git a/autoload/fuf/changelist.vim b/bundle/fuzzyfinder/autoload/fuf/changelist.vim similarity index 100% rename from autoload/fuf/changelist.vim rename to bundle/fuzzyfinder/autoload/fuf/changelist.vim diff --git a/autoload/fuf/coveragefile.vim b/bundle/fuzzyfinder/autoload/fuf/coveragefile.vim similarity index 100% rename from autoload/fuf/coveragefile.vim rename to bundle/fuzzyfinder/autoload/fuf/coveragefile.vim diff --git a/autoload/fuf/dir.vim b/bundle/fuzzyfinder/autoload/fuf/dir.vim similarity index 100% rename from autoload/fuf/dir.vim rename to bundle/fuzzyfinder/autoload/fuf/dir.vim diff --git a/autoload/fuf/file.vim b/bundle/fuzzyfinder/autoload/fuf/file.vim similarity index 100% rename from autoload/fuf/file.vim rename to bundle/fuzzyfinder/autoload/fuf/file.vim diff --git a/autoload/fuf/givencmd.vim b/bundle/fuzzyfinder/autoload/fuf/givencmd.vim similarity index 100% rename from autoload/fuf/givencmd.vim rename to bundle/fuzzyfinder/autoload/fuf/givencmd.vim diff --git a/autoload/fuf/givendir.vim b/bundle/fuzzyfinder/autoload/fuf/givendir.vim similarity index 100% rename from autoload/fuf/givendir.vim rename to bundle/fuzzyfinder/autoload/fuf/givendir.vim diff --git a/autoload/fuf/givenfile.vim b/bundle/fuzzyfinder/autoload/fuf/givenfile.vim similarity index 100% rename from autoload/fuf/givenfile.vim rename to bundle/fuzzyfinder/autoload/fuf/givenfile.vim diff --git a/autoload/fuf/help.vim b/bundle/fuzzyfinder/autoload/fuf/help.vim similarity index 100% rename from autoload/fuf/help.vim rename to bundle/fuzzyfinder/autoload/fuf/help.vim diff --git a/autoload/fuf/jumplist.vim b/bundle/fuzzyfinder/autoload/fuf/jumplist.vim similarity index 100% rename from autoload/fuf/jumplist.vim rename to bundle/fuzzyfinder/autoload/fuf/jumplist.vim diff --git a/autoload/fuf/line.vim b/bundle/fuzzyfinder/autoload/fuf/line.vim similarity index 100% rename from autoload/fuf/line.vim rename to bundle/fuzzyfinder/autoload/fuf/line.vim diff --git a/autoload/fuf/mrucmd.vim b/bundle/fuzzyfinder/autoload/fuf/mrucmd.vim similarity index 100% rename from autoload/fuf/mrucmd.vim rename to bundle/fuzzyfinder/autoload/fuf/mrucmd.vim diff --git a/autoload/fuf/mrufile.vim b/bundle/fuzzyfinder/autoload/fuf/mrufile.vim similarity index 100% rename from autoload/fuf/mrufile.vim rename to bundle/fuzzyfinder/autoload/fuf/mrufile.vim diff --git a/autoload/fuf/quickfix.vim b/bundle/fuzzyfinder/autoload/fuf/quickfix.vim similarity index 100% rename from autoload/fuf/quickfix.vim rename to bundle/fuzzyfinder/autoload/fuf/quickfix.vim diff --git a/autoload/fuf/tag.vim b/bundle/fuzzyfinder/autoload/fuf/tag.vim similarity index 100% rename from autoload/fuf/tag.vim rename to bundle/fuzzyfinder/autoload/fuf/tag.vim diff --git a/autoload/fuf/taggedfile.vim b/bundle/fuzzyfinder/autoload/fuf/taggedfile.vim similarity index 100% rename from autoload/fuf/taggedfile.vim rename to bundle/fuzzyfinder/autoload/fuf/taggedfile.vim diff --git a/doc/fuf.txt b/bundle/fuzzyfinder/doc/fuf.txt similarity index 100% rename from doc/fuf.txt rename to bundle/fuzzyfinder/doc/fuf.txt diff --git a/plugin/fuf.vim b/bundle/fuzzyfinder/plugin/fuf.vim similarity index 100% rename from plugin/fuf.vim rename to bundle/fuzzyfinder/plugin/fuf.vim diff --git a/bundle/git_taglisttoo/.gitignore b/bundle/git_taglisttoo/.gitignore new file mode 100644 index 0000000..aebb9e6 --- /dev/null +++ b/bundle/git_taglisttoo/.gitignore @@ -0,0 +1,5 @@ +*.pyc +*.swp +*.vba +tags +/build diff --git a/bundle/git_taglisttoo/Makefile b/bundle/git_taglisttoo/Makefile new file mode 100644 index 0000000..56790e2 --- /dev/null +++ b/bundle/git_taglisttoo/Makefile @@ -0,0 +1,11 @@ +SHELL=/bin/bash + +all: dist + +dist: + @rm taglisttoo.vba 2> /dev/null || true + @vim -c 'r! git ls-files autoload doc plugin' \ + -c '$$,$$d _' -c '%MkVimball taglisttoo.vba .' -c 'q!' + +clean: + @rm -R build 2> /dev/null || true diff --git a/bundle/git_taglisttoo/README.rst b/bundle/git_taglisttoo/README.rst new file mode 100644 index 0000000..aa793ba --- /dev/null +++ b/bundle/git_taglisttoo/README.rst @@ -0,0 +1,50 @@ +.. Copyright (c) 2005 - 2010, Eric Van Dewoestine + All rights reserved. + + Redistribution and use of this software in source and binary forms, with + or without modification, are permitted provided that the following + conditions are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + + * Neither the name of Eric Van Dewoestine nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission of + Eric Van Dewoestine. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +TaglistToo is a vim plugin which provides an outline, or taglist, of a source +file in a separate window allowing you to quickly get an overview of the file +you are working on and to quickly jump to class definitions, methods, +functions, etc. + +TaglistToo is very similar to the very popular taglist.vim_ written by Yegappan +Lakshmanan, but with a focus on being extensible and customizable. TaglistToo +provides hooks allowing you to format the taglist content per file type and to +also write code to parse file types not supported well or at all by ctags. + +Please note that TaglistToo requires that vim be compiled with python support +and that you have `exuberant ctags`_ installed. + +Please see the vim help file for full documentation. + +.. _exuberant ctags: http://ctags.sourceforge.net/ +.. _taglist.vim: http://www.vim.org/scripts/script.php?script_id=273 diff --git a/autoload/taglisttoo/__init__.py b/bundle/git_taglisttoo/autoload/taglisttoo/__init__.py similarity index 86% rename from autoload/taglisttoo/__init__.py rename to bundle/git_taglisttoo/autoload/taglisttoo/__init__.py index 69e7739..29608eb 100644 --- a/autoload/taglisttoo/__init__.py +++ b/bundle/git_taglisttoo/autoload/taglisttoo/__init__.py @@ -1,5 +1,5 @@ """ -Copyright (c) 2005 - 2011, Eric Van Dewoestine +Copyright (c) 2005 - 2012, Eric Van Dewoestine All rights reserved. Redistribution and use of this software in source and binary forms, with @@ -40,6 +40,7 @@ import vim def ctags(lang, types, filename): ctags = vim.eval('g:Tlist_Ctags_Cmd') + debug = vim.eval('g:Tlist_Debug') != '0' startupinfo = None if os.name == 'nt': @@ -52,22 +53,27 @@ def ctags(lang, types, filename): stdoutfile = tempfile.TemporaryFile() stderrfile = tempfile.TemporaryFile() try: + args = [ + ctags, + '-f', '-', + '--format=2', + '--excmd=pattern', + '--extra=', + '--fields=kns', + '--fields=-afiKlmSzt', + '--sort=no', + '--language-force=%s' % lang, + '--%s-types=%s' % (lang, types), + filename, + ] + if debug: + print ' '.join(args) process = subprocess.Popen( - [ - ctags, - '-f', '-', - '--format=2', - '--excmd=pattern', - '--fields=nks', - '--sort=no', - '--language-force=%s' % lang, - '--%s-types=%s' % (lang, types), - filename, - ], - stdout=stdoutfile, - stderr=stderrfile, - stdin=subprocess.PIPE, - startupinfo=startupinfo, + args, + stdout=stdoutfile, + stderr=stderrfile, + stdin=subprocess.PIPE, + startupinfo=startupinfo, ) retcode = process.wait() @@ -84,6 +90,7 @@ def ctags(lang, types, filename): def jsctags(filename): jsctags = vim.eval('g:Tlist_JSctags_Cmd') + debug = vim.eval('g:Tlist_Debug') != '0' startupinfo = None if os.name == 'nt': @@ -95,15 +102,14 @@ def jsctags(filename): temp = tempfile.mkstemp()[1] try: + args = [jsctags, '-o', temp, filename] + if debug: + print ' '.join(args) process = subprocess.Popen( - [ - jsctags, - '-o', temp, - filename, - ], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - startupinfo=startupinfo, + args, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + startupinfo=startupinfo, ) retcode = process.wait() @@ -113,7 +119,8 @@ def jsctags(filename): finally: os.unlink(temp) -def parse(filename, patterns): +def parse(filename, settings, patterns): + types = settings['tags'] f = open(filename, 'r') contents = f.read() f.close() @@ -173,6 +180,7 @@ def parse(filename, patterns): results.append({ 'type': ptype, + 'type_name': types.get(ptype, ptype), 'name': name, 'pattern': '^%s$' % pattern, 'line': line, diff --git a/autoload/taglisttoo/lang/ant.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/ant.vim similarity index 95% rename from autoload/taglisttoo/lang/ant.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/ant.vim index de14df3..6feb868 100644 --- a/autoload/taglisttoo/lang/ant.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/ant.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2011, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -37,7 +37,7 @@ " Parse(file, settings) {{{ function! taglisttoo#lang#ant#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [ + return taglisttoo#util#Parse(a:file, a:settings, [ \ ['p', "]*)name\\s*=\\s*['\"](.*?)['\"]", 1], \ ['i', "]*)file\\s*=\\s*['\"](.*?)['\"]", 1], \ ['t', "]*)name\\s*=\\s*['\"](.*?)['\"]", 1], diff --git a/bundle/git_taglisttoo/autoload/taglisttoo/lang/cpp.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/cpp.vim new file mode 100644 index 0000000..edc40bf --- /dev/null +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/cpp.vim @@ -0,0 +1,118 @@ +" Author: Eric Van Dewoestine +" +" License: {{{ +" Copyright (c) 2011 - 2012, Eric Van Dewoestine +" All rights reserved. +" +" Redistribution and use of this software in source and binary forms, with +" or without modification, are permitted provided that the following +" conditions are met: +" +" * Redistributions of source code must retain the above +" copyright notice, this list of conditions and the +" following disclaimer. +" +" * Redistributions in binary form must reproduce the above +" copyright notice, this list of conditions and the +" following disclaimer in the documentation and/or other +" materials provided with the distribution. +" +" * Neither the name of Eric Van Dewoestine nor the names of its +" contributors may be used to endorse or promote products derived from +" this software without specific prior written permission of +" Eric Van Dewoestine. +" +" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +" }}} + +" Parse(file, settings) {{{ +function! taglisttoo#lang#cpp#Parse(file, settings) + let tags = taglisttoo#util#ParseCtags(a:file, a:settings) + + let types = {} + for [t, n] in items(a:settings.tags) + let types[n] = t + endfor + + let parents = [] + let seen = [] + let index = 0 + for tag in tags + if tag.parent != '' && index(seen, tag.parent) == -1 + call add(seen, tag.parent) + let type_name = substitute(tag.parent, '^\(.\{-}\):.*', '\1', '') + if !has_key(types, type_name) + continue + endif + let type = types[type_name] + let name = substitute(tag.parent, '^.\{-}:\(.*\)', '\1', '') + let parts = split(name, '::') + let name = parts[-1] + + let parent_name = '' + let parent_filter = 'v:val.name == name' + + " single level nesting, so we can use the type to see if parent exists + if len(parts) == 1 + let parent_filter .= ' && v:val.type == type' + + " multi level nesting, so rely we can't use the type + else + let parent_name = join(parts[:-2], '::') + let parent_filter .= ' && v:val.parent =~ "^.\\{-}:" . parent_name . "$"' + endif + + " check if the parent already exists + let exists = filter(copy(tags), parent_filter) + if len(exists) == 0 + let parent = {} + let parent_path = '' + " the parent we are injecting has a parent, so construct its parent + " path + if parent_name != '' + let parent_list = filter(copy(tags), 'v:val.name == parent_name') + if len(parent_list) == 1 + let parent = parent_list[0] + let parent_parent = substitute(parent.parent, '^.\{-}:\(.*\)', '\1', '') + if parent_parent != '' + let parent_parent .= '::' + endif + let parent_type = a:settings.tags[parent.type] + let parent_path = parent_type . ':' . parent_parent . parent.name + endif + endif + + " injected parent before the first child occurance, taking into + " account any previously injected parents + let insert_index = len(parents) + index + call add(parents, [insert_index, { + \ 'name': name, + \ 'line': -1, + \ 'type': type, + \ 'type_name': type_name, + \ 'pattern': '', + \ 'parent': parent_path + \ }]) + endif + endif + let index += 1 + endfor + + for [idx, parent] in parents + call insert(tags, parent, idx) + endfor + + return tags +endfunction " }}} + +" vim:ft=vim:fdm=marker diff --git a/autoload/taglisttoo/lang/dtd.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/dtd.vim similarity index 94% rename from autoload/taglisttoo/lang/dtd.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/dtd.vim index 21bd866..04c3b9b 100644 --- a/autoload/taglisttoo/lang/dtd.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/dtd.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2011, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -37,7 +37,7 @@ " Parse(file, settings) {{{ function! taglisttoo#lang#dtd#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [ + return taglisttoo#util#Parse(a:file, a:settings, [ \ ['e', '^\s*]*?name=['\"](.*?)['\"]", 1], \ ['i', "<([a-z]*?)\\s+[^>]*?id=['\"](.*?)['\"]", '\1 \2'], \ ]) diff --git a/autoload/taglisttoo/lang/htmldjango.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/htmldjango.vim similarity index 94% rename from autoload/taglisttoo/lang/htmldjango.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/htmldjango.vim index bb67317..f8f5568 100644 --- a/autoload/taglisttoo/lang/htmldjango.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/htmldjango.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2011, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -37,7 +37,7 @@ " Parse(file, settings) {{{ function! taglisttoo#lang#htmldjango#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [ + return taglisttoo#util#Parse(a:file, a:settings, [ \ ['a', "]*?name=['\"](.*?)['\"]", 1], \ ['i', "<([a-z]*?)\\s+[^>]*?id=['\"](.*?)['\"]", '\1 \2'], \ ['b', '\{%?\s*block\s+(\w+)', 1], diff --git a/autoload/taglisttoo/lang/htmljinja.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/htmljinja.vim similarity index 84% rename from autoload/taglisttoo/lang/htmljinja.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/htmljinja.vim index f3948c4..0950aed 100644 --- a/autoload/taglisttoo/lang/htmljinja.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/htmljinja.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2012, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -37,11 +37,15 @@ " Parse(file, settings) {{{ function! taglisttoo#lang#htmljinja#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [ + let prefix = '{%-?' + if exists('b:jinja_line_statement_prefix') + let prefix = '(?:' . prefix . '|' . b:jinja_line_statement_prefix . ')' + endif + return taglisttoo#util#Parse(a:file, a:settings, [ \ ['a', "]*?name=['\"](.*?)['\"]", 1], \ ['i', "<([a-z]*?)\\s+[^>]*?id=['\"](.*?)['\"]", '\1 \2'], - \ ['b', '\{%?\s*block\s+(\w+)', 1], - \ ['m', '\{%-?\s*macro\s+(\w+)\s*\(', 1], + \ ['b', prefix . '\s*block\s+(\w+)', 1], + \ ['m', prefix . '\s*macro\s+(\w+)\s*\(', 1], \ ]) endfunction " }}} diff --git a/autoload/taglisttoo/lang/javascript.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/javascript.vim similarity index 52% rename from autoload/taglisttoo/lang/javascript.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/javascript.vim index 7d5f936..dbbce81 100644 --- a/autoload/taglisttoo/lang/javascript.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/javascript.vim @@ -41,136 +41,6 @@ if !exists('g:TaglistTooJSctags') endif " }}} -function! taglisttoo#lang#javascript#Format(types, tags) " {{{ - if !g:TaglistTooJSctags || !exists('g:Tlist_JSctags_Cmd') - return s:FormatRegexResults(a:types, a:tags) - endif - return s:FormatJSctagsResults(a:types, a:tags) -endfunction " }}} - -function! s:FormatJSctagsResults(types, tags) " {{{ - let formatter = taglisttoo#util#Formatter(a:tags) - call formatter.filename() - - let functions = filter(copy(a:tags), 'v:val.type == "f" && v:val.namespace == ""') - if len(functions) > 0 - call formatter.blank() - call formatter.format(a:types['f'], functions, '') - endif - - let members = filter(copy(a:tags), 'v:val.name == "includeScript"') - - let objects = filter(copy(a:tags), 'v:val.jstype == "Object"') - for object in objects - if object.namespace != '' - let object.name = object.namespace . '.' . object.name - endif - - call formatter.blank() - call formatter.heading(a:types['o'], object, '') - - let members = filter(copy(a:tags), 'v:val.type == "f" && v:val.namespace == object.name') - call formatter.format(a:types['f'], members, "\t") - endfor - - return formatter -endfunction " }}} - -function! s:FormatRegexResults(types, tags) " {{{ - let pos = getpos('.') - - let formatter = taglisttoo#util#Formatter(a:tags) - call formatter.filename() - - let object_contents = [] - - let objects = filter(copy(a:tags), 'v:val.type == "o"') - let members = filter(copy(a:tags), 'v:val.type == "m"') - let functions = filter(copy(a:tags), - \ 'v:val.type == "f" && v:val.pattern =~ "\\"') - let object_bounds = {} - for object in objects - let object_start = object.line - call cursor(object_start, 1) - while search('{', 'W') && s:SkipComments() - " no op - endwhile - let object_end = searchpair('{', '', '}', 'W', 's:SkipComments()') - - let methods = [] - let indexes = [] - let index = 0 - for fct in members - if len(fct) > 3 - let fct_line = fct.line - if fct_line > object_start && fct_line < object_end - call add(methods, fct) - elseif fct_line > object_end - break - elseif fct_line < object_end - call add(indexes, index) - endif - endif - let index += 1 - endfor - call reverse(indexes) - for i in indexes - call remove(members, i) - endfor - - let indexes = [] - let index = 0 - for fct in functions - if len(fct) > 3 - let fct_line = fct.line - if fct_line > object_start && fct_line < object_end - call add(methods, fct) - call add(indexes, index) - elseif fct_line == object_start - call add(indexes, index) - elseif fct_line > object_end - break - endif - endif - let index += 1 - endfor - call reverse(indexes) - for i in indexes - call remove(functions, i) - endfor - - if len(methods) > 0 - let parent_object = s:GetParentObject( - \ object_contents, object_bounds, object_start, object_end) - " remove methods from the parent if necessary - if len(parent_object) - call filter(parent_object.methods, 'index(methods, v:val) == -1') - endif - let object_bounds[string(object)] = [object_start, object_end] - call add(object_contents, {'object': object, 'methods': methods}) - endif - endfor - - if len(functions) > 0 - call formatter.blank() - call formatter.format(a:types['f'], functions, '') - endif - - if g:Tlist_Sort_Type == 'name' - call sort(object_contents, function('s:ObjectComparator')) - endif - - for object_content in object_contents - call formatter.blank() - call formatter.heading(a:types['o'], object_content.object, '') - call formatter.format(a:types['f'], object_content.methods, "\t") - endfor - - call setpos('.', pos) - - return formatter -endfunction " }}} - function! taglisttoo#lang#javascript#Parse(file, settings) " {{{ if g:TaglistTooJSctags && !exists('g:Tlist_JSctags_Cmd') if executable('jsctags') @@ -194,7 +64,7 @@ vim.command("let result = '%s'" % result.replace("'", "''")) PYTHONEOF if retcode - call s:EchoError('jsctags failed with error code: ' . retcode) + call taglisttoo#util#EchoError('jsctags failed with error code: ' . retcode) return endif @@ -268,36 +138,16 @@ function! s:ParseRegex(file, settings) " {{{ " Match Functions call add(patterns, ['f', '\bfunction\s+([a-zA-Z0-9_.\$]+?)\s*\(', 1]) call add(patterns, ['f', '([a-zA-Z0-9_.\$]+?)\s*=\s*function\s*\(', 1]) + call add(patterns, ['f', "\\[[\"']([A-Za-z0-9_]+)[\"']\\]\\s*=\\s*function\\s*\\(", 1]) " Match Members - call add(patterns, ['m', '\b([a-zA-Z0-9_.\$]+?)\s*:\s*function\s*\(', 1]) - return taglisttoo#util#Parse(a:file, patterns) -endfunction " }}} + call add(patterns, ['f', '\b([a-zA-Z0-9_.\$]+?)\s*:\s*function\s*\(', 1]) + let tags = taglisttoo#util#Parse(a:file, a:settings, patterns) -function s:ObjectComparator(o1, o2) " {{{ - let n1 = a:o1['object'].name - let n2 = a:o2['object'].name - return n1 == n2 ? 0 : n1 > n2 ? 1 : -1 -endfunction " }}} + call taglisttoo#util#SetNestedParents( + \ a:settings.tags, tags, ['o', 'f', 'm'], '{', '}') -function s:SkipComments() " {{{ - let synname = synIDattr(synID(line('.'), col('.'), 1), "name") - return synname =~? '\(comment\|string\)' -endfunction " }}} - -function s:GetParentObject(objects, bounds, start, end) " {{{ - for key in keys(a:bounds) - let range = a:bounds[key] - if range[0] < a:start && range[1] > a:end - for object_content in a:objects - if string(object_content.object) == key - return object_content - endif - endfor - break - endif - endfor - return {} + return tags endfunction " }}} " vim:ft=vim:fdm=marker diff --git a/autoload/taglisttoo/lang/jproperties.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/jproperties.vim similarity index 93% rename from autoload/taglisttoo/lang/jproperties.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/jproperties.vim index cac96d8..a5ac35b 100644 --- a/autoload/taglisttoo/lang/jproperties.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/jproperties.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2011, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -37,7 +37,7 @@ " Parse(file, settings) {{{ function! taglisttoo#lang#jproperties#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [['p', '^\s*([^#]+?)\s*=', 1]]) + return taglisttoo#util#Parse(a:file, a:settings, [['p', '^\s*([^#]+?)\s*=', 1]]) endfunction " }}} " vim:ft=vim:fdm=marker diff --git a/autoload/taglisttoo/lang/log4j.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/log4j.vim similarity index 95% rename from autoload/taglisttoo/lang/log4j.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/log4j.vim index 33a2ce0..6389afb 100644 --- a/autoload/taglisttoo/lang/log4j.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/log4j.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2011, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -37,7 +37,7 @@ " Parse(file, settings) {{{ function! taglisttoo#lang#log4j#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [ + return taglisttoo#util#Parse(a:file, a:settings, [ \ ['a', "]*?name=['\"](.*?)['\"]", 1], \ ['c', "]*?name=['\"](.*?)['\"]", 1], \ ['l', "]*?name=['\"](.*?)['\"]", 1], diff --git a/autoload/taglisttoo/lang/python.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/perl.vim similarity index 67% rename from autoload/taglisttoo/lang/python.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/perl.vim index 69287b8..aee2a30 100644 --- a/autoload/taglisttoo/lang/python.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/perl.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2011, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -35,32 +35,23 @@ " SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. " }}} -" Format(types, tags) {{{ -function! taglisttoo#lang#python#Format(types, tags) - let formatter = taglisttoo#util#Formatter(a:tags) - call formatter.filename() +" Parse(file, settings) {{{ +function! taglisttoo#lang#perl#Parse(file, settings) + let tags = taglisttoo#util#ParseCtags(a:file, a:settings) - let functions = filter(copy(a:tags), 'v:val.type == "f"') - if len(functions) - call formatter.blank() - call formatter.format(a:types['f'], functions, '') - endif + let package = {} + for tag in tags + if tag.type == 'p' + let package = tag + continue + endif - let classes = filter(copy(a:tags), 'v:val.type == "c"') - if g:Tlist_Sort_Type == 'name' - call sort(classes, 'taglisttoo#util#SortTags') - endif - - for class in classes - call formatter.blank() - call formatter.heading(a:types['c'], class, '') - - let members = filter(copy(a:tags), - \ 'v:val.type == "m" && v:val.parent == "class:" . class.name') - call formatter.format(a:types['m'], members, "\t") + if len(package) + let tag['parent'] = 'package:' . package.name + endif endfor - return formatter + return tags endfunction " }}} " vim:ft=vim:fdm=marker diff --git a/bundle/git_taglisttoo/autoload/taglisttoo/lang/php.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/php.vim new file mode 100644 index 0000000..cd9fcd2 --- /dev/null +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/php.vim @@ -0,0 +1,52 @@ +" Author: Eric Van Dewoestine +" +" License: {{{ +" Copyright (c) 2005 - 2011, Eric Van Dewoestine +" All rights reserved. +" +" Redistribution and use of this software in source and binary forms, with +" or without modification, are permitted provided that the following +" conditions are met: +" +" * Redistributions of source code must retain the above +" copyright notice, this list of conditions and the +" following disclaimer. +" +" * Redistributions in binary form must reproduce the above +" copyright notice, this list of conditions and the +" following disclaimer in the documentation and/or other +" materials provided with the distribution. +" +" * Neither the name of Eric Van Dewoestine nor the names of its +" contributors may be used to endorse or promote products derived from +" this software without specific prior written permission of +" Eric Van Dewoestine. +" +" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +" }}} + +" Parse(file, settings) {{{ +function! taglisttoo#lang#php#Parse(file, settings) + let tags = taglisttoo#util#Parse(a:file, a:settings, [ + \ ['f', '\bfunction\s+([a-zA-Z0-9_]+)\s*\(', 1], + \ ['c', '\bclass\s+([a-zA-Z0-9_]+)', 1], + \ ['i', '\binterface\s+([a-zA-Z0-9_]+)', 1], + \ ]) + + call taglisttoo#util#SetNestedParents( + \ a:settings.tags, tags, ['c', 'i', 'f'], '{', '}') + + return tags +endfunction " }}} + +" vim:ft=vim:fdm=marker diff --git a/autoload/taglisttoo/lang/rst.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/rst.vim similarity index 94% rename from autoload/taglisttoo/lang/rst.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/rst.vim index 96becc9..0ee6728 100644 --- a/autoload/taglisttoo/lang/rst.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/rst.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2011, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -37,7 +37,7 @@ " Parse(file, settings) {{{ function! taglisttoo#lang#rst#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [ + return taglisttoo#util#Parse(a:file, a:settings, [ \ ['a', '^\s*\.\.\s_((\\:|[^:])+):\s*\n', 1], \ ['s', '^([^\n]+)\n[=^-]{4,}', 1], \ ]) diff --git a/bundle/git_taglisttoo/autoload/taglisttoo/lang/scala.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/scala.vim new file mode 100644 index 0000000..fbccbe9 --- /dev/null +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/scala.vim @@ -0,0 +1,57 @@ +" Author: Eric Van Dewoestine +" +" License: {{{ +" Copyright (c) 2011, Eric Van Dewoestine +" All rights reserved. +" +" Redistribution and use of this software in source and binary forms, with +" or without modification, are permitted provided that the following +" conditions are met: +" +" * Redistributions of source code must retain the above +" copyright notice, this list of conditions and the +" following disclaimer. +" +" * Redistributions in binary form must reproduce the above +" copyright notice, this list of conditions and the +" following disclaimer in the documentation and/or other +" materials provided with the distribution. +" +" * Neither the name of Eric Van Dewoestine nor the names of its +" contributors may be used to endorse or promote products derived from +" this software without specific prior written permission of +" Eric Van Dewoestine. +" +" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +" }}} + +" Parse(file, settings) {{{ +function! taglisttoo#lang#scala#Parse(file, settings) + let tags = taglisttoo#util#Parse(a:file, a:settings, [ + \ ['p', '\bpackage\s+([a-zA-Z0-9_.]+)', 1], + \ ['c', '\bclass\s+([a-zA-Z0-9_]+)', 1], + \ ['o', '\bobject\s+([a-zA-Z0-9_]+)', 1], + \ ['t', '\btrait\s+([a-zA-Z0-9_]+)', 1], + \ ['T', '\btype\s+([a-zA-Z0-9_]+)', 1], + \ ['m', '\bdef\s+([a-zA-Z0-9_\?]+)', 1], + \ ['C', '\bval\s+([a-zA-Z0-9_]+)', 1], + \ ['l', '\bvar\s+([a-zA-Z0-9_]+)', 1], + \ ]) + + call taglisttoo#util#SetNestedParents( + \ a:settings.tags, tags, ['c', 'o', 't', 'm'], '{', '}') + + return tags +endfunction " }}} + +" vim:ft=vim:fdm=marker diff --git a/autoload/taglisttoo/lang/sql.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/sql.vim similarity index 96% rename from autoload/taglisttoo/lang/sql.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/sql.vim index ce346cd..f7cd3e4 100644 --- a/autoload/taglisttoo/lang/sql.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/sql.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2011, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -37,7 +37,7 @@ " Parse(file, settings) {{{ function! taglisttoo#lang#sql#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [ + return taglisttoo#util#Parse(a:file, a:settings, [ \ ['g', 'create\s+(?:group|role)\s+([a-zA-Z0-9_.]+)', 1, 'i'], \ ['u', 'create\s+user\s+([a-zA-Z0-9_.]+)', 1, 'i'], \ ['p', 'create\s+(?:tablespace|dbspace)\s+([a-zA-Z0-9_.]+)', 1, 'i'], diff --git a/bundle/git_taglisttoo/autoload/taglisttoo/lang/vim.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/vim.vim new file mode 100644 index 0000000..a8936d7 --- /dev/null +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/vim.vim @@ -0,0 +1,51 @@ +" Author: Eric Van Dewoestine +" +" License: {{{ +" Copyright (c) 2011, Eric Van Dewoestine +" All rights reserved. +" +" Redistribution and use of this software in source and binary forms, with +" or without modification, are permitted provided that the following +" conditions are met: +" +" * Redistributions of source code must retain the above +" copyright notice, this list of conditions and the +" following disclaimer. +" +" * Redistributions in binary form must reproduce the above +" copyright notice, this list of conditions and the +" following disclaimer in the documentation and/or other +" materials provided with the distribution. +" +" * Neither the name of Eric Van Dewoestine nor the names of its +" contributors may be used to endorse or promote products derived from +" this software without specific prior written permission of +" Eric Van Dewoestine. +" +" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +" }}} + +" Parse(file, settings) {{{ +function! taglisttoo#lang#vim#Parse(file, settings) + let tags = taglisttoo#util#ParseCtags(a:file, a:settings) + + for tag in tags + if tag.type == 'f' && tag.pattern =~ 's:' . tag.name . '\>' + let tag.name = 's:' . tag.name + endif + endfor + + return tags +endfunction " }}} + +" vim:ft=vim:fdm=marker diff --git a/autoload/taglisttoo/lang/xsd.vim b/bundle/git_taglisttoo/autoload/taglisttoo/lang/xsd.vim similarity index 94% rename from autoload/taglisttoo/lang/xsd.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/lang/xsd.vim index 62b2310..b8e7c37 100644 --- a/autoload/taglisttoo/lang/xsd.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/lang/xsd.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2011, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -37,7 +37,7 @@ " Parse(file, settings) {{{ function! taglisttoo#lang#xsd#Parse(file, settings) - return taglisttoo#util#Parse(a:file, [ + return taglisttoo#util#Parse(a:file, a:settings, [ \ ['e', "<(?:xs[d]?:)?element\\s+[^>]*?name=['\"](.*?)['\"]", 1], \ ['t', "<(?:xs[d]?:)?complexType\\s+[^>]*?name=['\"](.*?)['\"]", 1], \ ]) diff --git a/autoload/taglisttoo/taglist.vim b/bundle/git_taglisttoo/autoload/taglisttoo/taglist.vim similarity index 87% rename from autoload/taglisttoo/taglist.vim rename to bundle/git_taglisttoo/autoload/taglisttoo/taglist.vim index 40c6a68..cab0f90 100644 --- a/autoload/taglisttoo/taglist.vim +++ b/bundle/git_taglisttoo/autoload/taglisttoo/taglist.vim @@ -37,8 +37,6 @@ " Global Variables {{{ let g:TagListToo = 1 -"gryf: add autoclose functionality -let g:TagListTooAutoClose = 1 " }}} " Script Variables {{{ @@ -118,7 +116,10 @@ let s:tlist_c_settings = { " c++ language let s:tlist_cpp_settings = { - \ 'lang': 'c++', 'tags': { + \ 'lang': 'c++', + \ 'separator': '::', + \ 'parse': 'taglisttoo#lang#cpp#Parse', + \ 'tags': { \ 'n': 'namespace', \ 'v': 'variable', \ 'd': 'macro', @@ -127,7 +128,8 @@ let s:tlist_cpp_settings = { \ 'g': 'enum', \ 's': 'struct', \ 'u': 'union', - \ 'f': 'function' + \ 'f': 'function', + \ 'p': 'prototypes', \ } \ } @@ -147,6 +149,9 @@ let s:tlist_cs_settings = { \ } \ } +" clojure +let s:tlist_clojure_settings = {'lang': 'lisp', 'tags': {'f': 'function'}} + " cobol language let s:tlist_cobol_settings = { \ 'lang': 'cobol', 'tags': { @@ -238,7 +243,6 @@ let s:tlist_htmljinja_settings = { " java language let s:tlist_java_settings = { \ 'lang': 'java', - \ 'format': 'taglisttoo#lang#java#Format', \ 'tags': { \ 'p': 'package', \ 'c': 'class', @@ -250,11 +254,9 @@ let s:tlist_java_settings = { let s:tlist_javascript_settings = { \ 'lang': 'javascript', - \ 'format': 'taglisttoo#lang#javascript#Format', \ 'parse': 'taglisttoo#lang#javascript#Parse', \ 'tags': { \ 'o': 'object', - \ 'm': 'member', \ 'f': 'function', \ } \ } @@ -295,7 +297,9 @@ let s:tlist_pascal_settings = { " perl language let s:tlist_perl_settings = { - \ 'lang': 'perl', 'tags': { + \ 'lang': 'perl', + \ 'parse': 'taglisttoo#lang#perl#Parse', + \ 'tags': { \ 'c': 'constant', \ 'l': 'label', \ 'p': 'package', @@ -306,7 +310,6 @@ let s:tlist_perl_settings = { " php language let s:tlist_php_settings = { \ 'lang': 'php', - \ 'format': 'taglisttoo#lang#php#Format', \ 'parse': 'taglisttoo#lang#php#Parse', \ 'tags': { \ 'c': 'class', @@ -319,10 +322,9 @@ let s:tlist_php_settings = { " python language let s:tlist_python_settings = { \ 'lang': 'python', - \ 'format': 'taglisttoo#lang#python#Format', \ 'tags': { \ 'c': 'class', - \ 'm': 'member', + \ 'm': 'function', \ 'f': 'function' \ } \ } @@ -340,12 +342,30 @@ let s:tlist_rst_settings = { let s:tlist_ruby_settings = { \ 'lang': 'ruby', 'tags': { \ 'c': 'class', - \ 'f': 'method', - \ 'F': 'function', - \ 'm': 'singleton method' + \ 'm': 'class', + \ 'f': 'function', + \ 'F': 'singleton method' \ } \ } +" scala language +let s:tlist_scala_settings = { + \ 'lang': 'scala', + \ 'parse': 'taglisttoo#lang#scala#Parse', + \ 'tags': { + \ 'p': 'package', + \ 'c': 'class', + \ 'o': 'object', + \ 't': 'trait', + \ 'T': 'type', + \ 'm': 'method', + \ } + \ } + " parsed for correct detection of parent tags, but not displayed to reduce + " clutter + " \ 'C': 'constant', + " \ 'l': 'local variable', + " scheme language let s:tlist_scheme_settings = { \ 'lang': 'scheme', 'tags': { @@ -450,7 +470,9 @@ let s:tlist_verilog_settings = { " vim language let s:tlist_vim_settings = { - \ 'lang': 'vim', 'tags': { + \ 'lang': 'vim', + \ 'parse': 'taglisttoo#lang#vim#Parse', + \ 'tags': { \ 'a': 'autocmds', \ 'v': 'variable', \ 'f': 'function' @@ -495,7 +517,7 @@ endfunction " }}} " - 0: close function! taglisttoo#taglist#Taglist(...) if !exists('g:Tlist_Ctags_Cmd') - call s:EchoError('Unable to find a version of ctags installed.') + call taglisttoo#util#EchoError('Unable to find a version of ctags installed.') return endif @@ -680,10 +702,10 @@ function! s:ProcessTags(on_open_or_write) " {{{ if has_key(settings, 'parse') let tags = s:Function(settings.parse)(file, settings) else - let tags = s:Parse(file, settings) + let tags = taglisttoo#util#ParseCtags(file, settings) endif catch /E700/ - call s:EchoError('Unknown function: ' . settings.parse) + call taglisttoo#util#EchoError('Unknown function: ' . settings.parse) return finally if tempfile != '' @@ -719,106 +741,39 @@ function! s:ProcessTags(on_open_or_write) " {{{ call s:ShowCurrentTag() endfunction " }}} -function! s:Parse(filename, settings) " {{{ -python << PYTHONEOF -try: - settings = vim.eval('a:settings') - filename = vim.eval('a:filename') - lang = settings['lang'] - types = ''.join(settings['tags'].keys()) - - retcode, result = taglisttoo.ctags(lang, types, filename) - vim.command('let retcode = %i' % retcode) - vim.command("let result = '%s'" % result.replace("'", "''")) -except Exception as e: - vim.command("call s:EchoError('%s')" % str(e).replace("'", "''")) - vim.command('let retcode = -1') -PYTHONEOF - - if retcode - if retcode != -1 - call s:EchoError('taglist failed with error code: ' . retcode) - endif - return - endif - - if has('win32') || has('win64') || has('win32unix') - let result = substitute(result, "\\n", '\n', 'g') - endif - - let results = split(result, '\n') - while len(results) && results[0] =~ 'ctags.*: Warning:' - call remove(results, 0) - endwhile - - let types = keys(a:settings.tags) - let parsed_results = [] - for result in results - let pre = substitute(result, '\(.\{-}\)\t\/\^.*', '\1', '') - let pattern = substitute(result, '.\{-}\(\/\^.*\/;"\).*', '\1', '') - let post = substitute(result, '.\{-}\/\^.*\/;"\t', '', '') - - let [name, filename] = split(pre, '\t') - let parts = split(post, '\t') - let [type, line_str] = parts[:1] - exec 'let line = ' . substitute(line_str, 'line:', '', '') - let pattern = substitute(pattern, '^/\(.*\)/;"$', '\1', '') - let parent = len(parts) > 2 ? parts[2] : '' - - " ctags (mine at least) is not properly honoring ---kinds, so - " perform our own check here. - if index(types, type) != -1 - call add(parsed_results, { - \ 'type': type, - \ 'name': name, - \ 'pattern': pattern, - \ 'line': line, - \ 'parent': parent, - \ }) - endif - endfor - - return parsed_results -endfunction " }}} - -function! s:FormatDefault(types, tags) " {{{ - let formatter = taglisttoo#util#Formatter(a:tags) +function! s:FormatDefault(settings, tags) " {{{ + let formatter = taglisttoo#util#Formatter(a:settings, a:tags) call formatter.filename() - for key in keys(a:types) - let values = filter(copy(a:tags), 'v:val.type == key') + for key in keys(a:settings.tags) + let values = filter(copy(a:tags), + \ 'v:val.type == key && get(v:val, "parent", "") == ""') if len(values) call formatter.blank() + call formatter.format(values, "") endif - call formatter.format(a:types[key], values, "") endfor return formatter endfunction " }}} function! s:FormatEmpty(types, tags) " {{{ - return taglisttoo#util#Formatter(a:tags) + return taglisttoo#util#Formatter(a:types, a:tags) endfunction " }}} function! s:GetTagInfo() " {{{ if line('.') > len(b:taglisttoo_content[0]) - return [] + return {} endif let index = b:taglisttoo_content[0][line('.') - 1] - if index == -1 - return [] + if index == -1 || (type(index) == 1 && index == 'label') + return {} endif return b:taglisttoo_tags[index] endfunction " }}} -function! s:EchoError(message) " {{{ - echohl Error - echo a:message - echohl Normal -endfunction " }}} - function! s:EchoTag() " {{{ if g:TaglistTooTagEcho let tag_info = s:GetTagInfo() @@ -831,16 +786,26 @@ function! s:EchoTag() " {{{ endfunction " }}} function! s:FoldLevel(lnum) " {{{ - let indent = indent(a:lnum) - let next_line = nextnonblank(a:lnum + 1) - if next_line - let next_indent = indent(next_line) - if next_indent > indent - let indent = next_indent + if !exists('b:taglisttoo_content') + return -1 + endif + + let index = b:taglisttoo_content[0][a:lnum - 1] + if index == -1 + return 0 + endif + + let lnum = a:lnum + let indent = indent(lnum) + let level = (indent / &shiftwidth) + 1 + if lnum != line('$') + if indent < indent(lnum + 1) + return '>' . level + elseif lnum != 1 && indent > indent(lnum + 1) + return '<' . ((indent(lnum - 1) / &shiftwidth) + 1) endif endif - let level = indent / &shiftwidth - return level + return '=' endfunction " }}} function! s:FoldClose() " {{{ @@ -902,8 +867,7 @@ function! s:FoldPath(path) " {{{ " make sure we didn't hit a tag that looks like a label let line = getline('.') - let col = len(line) - len(substitute(line, '^\s*', '', '')) + 1 - let syntax = synIDattr(synID(fold, col, 1), 'name') + let syntax = synIDattr(synID(fold, len(line), 1), 'name') if syntax != 'TagListKeyword' call cursor(line('.') + 1, 1) continue @@ -932,8 +896,7 @@ function! s:GetFoldPath(lnum) " {{{ let indent = indent(lnum) while lnum >= 1 let line = getline(lnum) - let col = len(line) - len(substitute(line, '^\s*', '', '')) + 1 - let syntax = synIDattr(synID(lnum, col, 1), 'name') + let syntax = synIDattr(synID(lnum, len(line), 1), 'name') if syntax == 'TagListKeyword' && (lnum == a:lnum || indent(lnum) < indent) call insert(path, substitute(line, '\(^\s*\|\s*$\)', '', 'g')) endif @@ -949,11 +912,7 @@ endfunction " }}} function! s:JumpToTag() " {{{ let tag_info = s:GetTagInfo() - if !len(tag_info) - "gryf: autoclose feature - if g:TagListTooAutoClose - call taglisttoo#taglist#Taglist() - endif + if !len(tag_info) || tag_info.line == -1 || get(tag_info, 'pattern', '') == '' return endif @@ -1013,10 +972,6 @@ function! s:JumpToTag() " {{{ call s:ShowCurrentTag() endif endif - "gryf: autoclose feature - if g:TagListTooAutoClose - call taglisttoo#taglist#Taglist() - endif endfunction " }}} function! s:Window(settings, tags) " {{{ @@ -1045,16 +1000,26 @@ function! s:Window(settings, tags) " {{{ setlocal winfixwidth setlocal nowrap nonumber setlocal foldmethod=expr foldlevel=99 - setlocal foldexpr=s:FoldLevel(v:lnum) foldtext=getline(v:foldstart) syn match TagListFileName "^.*\%1l.*" hi link TagListFileName Identifier hi link TagListKeyword Statement hi TagListCurrentTag term=bold,underline cterm=bold,underline gui=bold,underline + hi TagListVisibilityPublic ctermfg=green guifg=SeaGreen + hi TagListVisibilityPrivate ctermfg=red guifg=Red + hi TagListVisibilityProtected ctermfg=blue guifg=Blue + hi TagListVisibilityStatic ctermfg=magenta guifg=Magenta + if has('gui') && &background == 'dark' + hi TagListVisibilityPublic guifg=#8eb157 + hi TagListVisibilityPrivate guifg=#cf6171 + hi TagListVisibilityProtected guifg=#6699cc + hi TagListVisibilityStatic guifg=#cf9ebe + endif nnoremap :call JumpToTag() " folding related mappings + nnoremap o :call FoldToggle() nnoremap za :call FoldToggle() nnoremap zA :call FoldToggle() nnoremap zc :call FoldClose() @@ -1089,18 +1054,15 @@ function! s:Window(settings, tags) " {{{ if has_key(a:settings, 'format') let formatter = a:settings.format elseif len(a:tags) - if g:Tlist_Sort_Type == 'name' - call sort(a:tags, 'taglisttoo#util#SortTags') - endif let formatter = 's:FormatDefault' else let formatter = 's:FormatEmpty' endif try - let format = s:Function(formatter)(a:settings.tags, a:tags) + let format = s:Function(formatter)(a:settings, a:tags) catch /E700/ - call s:EchoError('Unknown function: ' . formatter) + call taglisttoo#util#EchoError('Unknown function: ' . formatter) return endtry let content = format.content @@ -1142,6 +1104,9 @@ function! s:Window(settings, tags) " {{{ let b:taglisttoo_content = [format.lines, content] let b:taglisttoo_tags = a:tags let b:taglisttoo_file_bufnr = file_bufnr + + " must be after definition of buffer vars + setlocal foldexpr=s:FoldLevel(v:lnum) foldtext=getline(v:foldstart) endfunction " }}} function! s:ShowCurrentTag() " {{{ diff --git a/bundle/git_taglisttoo/autoload/taglisttoo/util.vim b/bundle/git_taglisttoo/autoload/taglisttoo/util.vim new file mode 100644 index 0000000..55f7463 --- /dev/null +++ b/bundle/git_taglisttoo/autoload/taglisttoo/util.vim @@ -0,0 +1,373 @@ +" Author: Eric Van Dewoestine +" +" License: {{{ +" Copyright (c) 2005 - 2012, Eric Van Dewoestine +" All rights reserved. +" +" Redistribution and use of this software in source and binary forms, with +" or without modification, are permitted provided that the following +" conditions are met: +" +" * Redistributions of source code must retain the above +" copyright notice, this list of conditions and the +" following disclaimer. +" +" * Redistributions in binary form must reproduce the above +" copyright notice, this list of conditions and the +" following disclaimer in the documentation and/or other +" materials provided with the distribution. +" +" * Neither the name of Eric Van Dewoestine nor the names of its +" contributors may be used to endorse or promote products derived from +" this software without specific prior written permission of +" Eric Van Dewoestine. +" +" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +" }}} + +" Script Variables {{{ + let s:class = '^\(class\|interface\|object\|package\|namespace\|struct\|trait\|type\)$' +" }}} + +function! taglisttoo#util#Formatter(settings, tags) " {{{ + let formatter = { + \ 'lines': [], 'content': [], 'syntax': [], 'headings': [], + \ 'settings': a:settings, 'types': a:settings.tags, + \ 'tags': a:tags, + \ } + + function! formatter.filename() dict " {{{ + call add(self.content, expand('%:t')) + call add(self.lines, -1) + endfunction " }}} + + function! formatter.format(values, indent) dict " {{{ + if type(a:values) == 4 + let tag = a:values + call self.add(tag, a:indent) + elseif type(a:values) == 3 && len(a:values) > 0 + call self.recurse(a:values, a:indent) + endif + endfunction " }}} + + function! formatter.recurse(values, indent) dict " {{{ + if !len(a:values) + return + endif + + if g:Tlist_Sort_Type == 'name' + call sort(a:values, 's:SortTagsByName') + endif + + call add(self.headings, '') + + for value in a:values + if !has_key(self.types, value.type) + continue + endif + + let tag_type = self.types[value.type] + if !self.in_heading(tag_type) && tag_type !~ s:class + call self.heading(tag_type, a:indent) + endif + + let indent = a:indent + if self.current_heading() != '' + " indent tags below a heading an extra level + let indent = a:indent . "\t" + endif + + call self.add(value, indent) + endfor + + let self.headings = self.headings[:-2] + endfunction " }}} + + function! formatter.add(value, indent) dict " {{{ + let indent = a:indent + let tag_type = self.types[a:value.type] + + let [visibility, visibility_syntax] = taglisttoo#util#GetVisibility(a:value) + let name = a:value.name + + if tag_type =~ s:class + let name .= ' : ' . tag_type + " indent nested classes, but line up w/ preceding headings. + if self.current_heading() != '' + let indent = indent[:-2] + endif + " separate top level classes with a blank line + if indent == '' + call self.blank() + endif + " push the current class heading onto the stack + if len(self.headings) + let self.headings[-1] = tag_type + endif + endif + + call add(self.lines, index(self.tags, a:value)) + call add(self.content, indent . visibility . name) + call add(self.syntax, + \ 'syn match TagListKeyword "' . tag_type . '\%' . len(self.lines) . 'l$"') + if visibility != '' + call add(self.syntax, + \ 'syn match ' . visibility_syntax . + \ ' "^\s*\M' . visibility . '\m\%' . len(self.lines) . 'l"') + endif + + let parent = '' + if get(a:value, 'parent', '') != '' + let parent_type = substitute(a:value.parent, '^\(.\{-}\):.*', '\1', '') + let parent_name = substitute(a:value.parent, '^.\{-}:\(.*\)', '\1', '') + let parent = parent_name . get(self.settings, 'separator', '.') + endif + let parent = tag_type . ':' . parent . a:value.name + let lnum = a:value.line + let next_idx = index(self.tags, a:value) + 1 + if next_idx < len(self.tags) && get(self.tags[next_idx], "parent", "") == parent + let nested = filter(self.tags[next_idx :], + \ 'get(v:val, "parent", "") == parent') + call self.recurse(nested, indent . "\t") + endif + endfunction " }}} + + function! formatter.heading(label, indent) dict " {{{ + let self.headings[-1] = a:label + call add(self.lines, 'label') + call add(self.content, a:indent . a:label) + call add(self.syntax, 'syn match TagListKeyword "^.*\%' . len(self.lines) . 'l.*"') + endfunction " }}} + + function! formatter.in_heading(name) dict " {{{ + for h in reverse(copy(self.headings)) + if h == '' + continue + endif + return h == a:name + endfor + endfunction " }}} + + function! formatter.current_heading() dict " {{{ + return len(self.headings) ? self.headings[-1] : '' + endfunction " }}} + + function! formatter.blank() dict " {{{ + if len(self.headings) + let self.headings[-1] = '' + endif + + if self.content[-1] != '' + call add(self.content, '') + call add(self.lines, -1) + endif + endfunction " }}} + + return formatter +endfunction " }}} + +function! taglisttoo#util#GetVisibility(tag) " {{{ + let pattern = a:tag.pattern + let name = escape(a:tag.name, '~') + if pattern =~ '\.*' . name + if pattern =~ '\.*' . name + return ['*', 'TagListVisibilityStatic'] + endif + return ['+', 'TagListVisibilityPublic'] + elseif pattern =~ '\.*' . name + return ['#', 'TagListVisibilityProtected'] + elseif pattern =~ '\.*' . name + return ['-', 'TagListVisibilityPrivate'] + endif + return ['', ''] +endfunction " }}} + +function! taglisttoo#util#Parse(file, settings, patterns) " {{{ +python << PYTHONEOF +filename = vim.eval('a:file') +patterns = vim.eval('a:patterns') +settings = vim.eval('a:settings') +result = taglisttoo.parse(filename, settings, patterns) +vim.command('let results = %s' % ('%r' % result).replace("\\'", "''")) +PYTHONEOF + + let tags = [] + if len(results) + for result in results + " filter false positives found in comments or strings + let lnum = result.line + let line = getline(lnum) + let col = len(line) - len(substitute(line, '^\s*', '', '')) + 1 + if synIDattr(synID(lnum, col, 1), 'name') =~? '\(comment\|string\)' || + \ synIDattr(synIDtrans(synID(lnum, col, 1)), 'name') =~? '\(comment\|string\)' + continue + endif + + call add(tags, result) + endfor + endif + + call sort(tags, 's:SortTagsByLine') + + return tags +endfunction " }}} + +function! taglisttoo#util#ParseCtags(filename, settings) " {{{ +python << PYTHONEOF +try: + settings = vim.eval('a:settings') + filename = vim.eval('a:filename') + lang = settings['lang'] + types = ''.join(settings['tags'].keys()) + + retcode, result = taglisttoo.ctags(lang, types, filename) + vim.command('let retcode = %i' % retcode) + vim.command("let result = '%s'" % result.replace("'", "''")) +except Exception as e: + vim.command("call taglisttoo#util#EchoError('%s')" % str(e).replace("'", "''")) + vim.command('let retcode = -1') +PYTHONEOF + + if retcode + if retcode != -1 + call taglisttoo#util#EchoError('taglist failed with error code: ' . retcode) + endif + return [] + endif + + if has('win32') || has('win64') || has('win32unix') + let result = substitute(result, "\\n", '\n', 'g') + endif + + let results = split(result, '\n') + while len(results) && results[0] =~ 'ctags.*: Warning:' + call remove(results, 0) + endwhile + + let types = a:settings.tags + let parsed_results = [] + for result in results + let pre = substitute(result, '\(.\{-}\)\t\/\^.*', '\1', '') + let pattern = substitute(result, '.\{-}\(\/\^.*\/;"\).*', '\1', '') + let post = substitute(result, '.\{-}\/\^.*\/;"\t', '', '') + + let [name, filename] = split(pre, '\t') + let parts = split(post, '\t') + let [type, line_str] = parts[:1] + exec 'let line = ' . substitute(line_str, 'line:', '', '') + let pattern = substitute(pattern, '^/\(.*\)/;"$', '\1', '') + let parent = len(parts) > 2 ? parts[2] : '' + + " ctags (mine at least) is not properly honoring ---kinds, so + " perform our own check here. + if has_key(types, type) + call add(parsed_results, { + \ 'type': type, + \ 'type_name': types[type], + \ 'name': name, + \ 'pattern': pattern, + \ 'line': line, + \ 'parent': parent, + \ }) + endif + endfor + + return parsed_results +endfunction " }}} + +function! taglisttoo#util#SetNestedParents(types, tags, parent_types, parent_pair_start, parent_pair_end) " {{{ + let pos = getpos('.') + + let parents = [] + + for tag in a:tags + " pop off any parents that we've moved out of scope of + while len(parents) && tag.line > parents[-1].end + let parents = parents[:-2] + endwhile + + " check if tag is a child + if len(parents) && tag.line < parents[-1].end + let parent = parents[-1] + let parent_name = '' + for parent in parents + if parent_name != '' + let parent_name .= '.' + endif + let parent_name .= parent.tag.name + endfor + let parent_name = a:types[parents[-1].tag.type] . ':' . parent_name + let tag['parent'] = parent_name + endif + + " check if tag is a potential parent + if index(a:parent_types, tag.type) != -1 + call cursor(tag.line, 1) + let next_index = index(a:tags, tag) + 1 + let next = next_index < len(a:tags) ? a:tags[next_index].line : line('$') + while search(a:parent_pair_start, 'W') && s:SkipComments() + " no op + endwhile + " handle case where the pair start/end are optional for the type in the + " current language (eg. scala), by disalowing a start found on or past + " the next tag. + if line('.') != tag.line && line('.') >= next + continue + endif + + let end = searchpair( + \ a:parent_pair_start, '', a:parent_pair_end, 'Wn', 's:SkipComments()') + call add(parents, {'tag': tag, 'start': tag.line, 'end': end}) + endif + endfor + + call setpos('.', pos) +endfunction " }}} + +function! taglisttoo#util#EchoError(message) " {{{ + echohl Error + echo a:message + echohl Normal +endfunction " }}} + +function! s:SortTagsByLine(tag1, tag2) " {{{ + let line1 = a:tag1.line + let line2 = a:tag2.line + return line1 == line2 ? 0 : line1 > line2 ? 1 : -1 +endfunction " }}} + +function! s:SortTagsByName(tag1, tag2) " {{{ + let type1 = a:tag1.type_name + let type2 = a:tag2.type_name + + if type1 != type2 + if type1 =~ s:class && type2 !~ s:class + return 1 + elseif type1 !~ s:class && type2 =~ s:class + return -1 + endif + + return type1 > type2 ? 1 : -1 + endif + + let name1 = tolower(a:tag1.name) + let name2 = tolower(a:tag2.name) + return name1 == name2 ? 0 : name1 > name2 ? 1 : -1 +endfunction " }}} + +function! s:SkipComments() " {{{ + let synname = synIDattr(synID(line('.'), col('.'), 1), "name") + return synname =~? '\(comment\|string\)' +endfunction " }}} + +" vim:ft=vim:fdm=marker diff --git a/doc/taglisttoo.txt b/bundle/git_taglisttoo/doc/taglisttoo.txt similarity index 88% rename from doc/taglisttoo.txt rename to bundle/git_taglisttoo/doc/taglisttoo.txt index 70bf946..63f6bcb 100644 --- a/doc/taglisttoo.txt +++ b/bundle/git_taglisttoo/doc/taglisttoo.txt @@ -9,7 +9,6 @@ TaglistToo *taglisttoo* *TaglistToo* Configuration |taglisttoo-configuration| Extending / Customizing |taglisttoo-customization| Parsing New File Types |taglisttoo-parse| - Customizing taglist Contents |taglisttoo-format| ----------------------------------------------------------------------------- Prerequisites *taglisttoo-prerequisites* @@ -190,7 +189,7 @@ replacement text or group used to obtain the tag name. Here is an example function which processes the web.xml file described above: > function! ParseWebXml(file, settings) - return taglisttoo#util#Parse(a:file, [ + return taglisttoo#util#Parse(a:file, a:settings, [ \ ['s', '\s*\s*(.*?)\s*', 1], \ ['m', '\s*\s*(.*?)\s*', 1], \ ]) @@ -232,34 +231,4 @@ Note: This example introduces a new file type, webxml, which doesn't exist by default in vim, so if you want to test this out on a real web.xml file you'll need to manually set the file type (:set ft=webxml). -Customizing taglist contents: *taglisttoo-format* - -In addition to parsing new file types, you can also customize the taglist -format for new or existing file types. To do so you simply tell TaglistToo to -use a different format function. Here is an example using TagListToo's python -settings: > - - let g:tlist_python_settings = { - \ 'lang': 'python', - \ 'format': 'taglisttoo#lang#python#Format', - \ 'tags': { - \ 'c': 'class', - \ 'm': 'member', - \ 'f': 'function' - \ } - \ } -> - -Instead of using the default format, TaglistToo will invoke the -taglisttoo#lang#python#Format function which in this case will group members -and functions by the class they are defined in and any global functions will -be displayed at the top of the taglist window. - -Unfortunately, implementing a function which customizes the taglist layout is -not as straight forward and writing one which parses a new file type. If you -wish to write one of these format functions, currently you are best off -copying one of the format functions defined in one of the -autoload/taglisttoo/lang/.vim files and customizing it to your needs. -Hopefully future versions of TaglistToo will make writing these easier. - vim:tw=78:ft=help:norl: diff --git a/plugin/taglisttoo.vim b/bundle/git_taglisttoo/plugin/taglisttoo.vim similarity index 97% rename from plugin/taglisttoo.vim rename to bundle/git_taglisttoo/plugin/taglisttoo.vim index e641418..90663c0 100644 --- a/plugin/taglisttoo.vim +++ b/bundle/git_taglisttoo/plugin/taglisttoo.vim @@ -1,7 +1,7 @@ " Author: Eric Van Dewoestine " " License: {{{ -" Copyright (c) 2005 - 2010, Eric Van Dewoestine +" Copyright (c) 2005 - 2012, Eric Van Dewoestine " All rights reserved. " " Redistribution and use of this software in source and binary forms, with @@ -47,6 +47,10 @@ let g:loaded_taglist = 1 " Global Variables {{{ +if !exists('g:Tlist_Debug') + let g:Tlist_Debug = 0 +endif + if !exists('g:Tlist_Ctags_Cmd') if executable('exuberant-ctags') let g:Tlist_Ctags_Cmd = 'exuberant-ctags' diff --git a/plugin/grep.vim b/bundle/grep/plugin/grep.vim similarity index 100% rename from plugin/grep.vim rename to bundle/grep/plugin/grep.vim diff --git a/bundle/gundo/README.markdown b/bundle/gundo/README.markdown new file mode 100644 index 0000000..4adeade --- /dev/null +++ b/bundle/gundo/README.markdown @@ -0,0 +1,34 @@ + +Flattr this + +Gundo.vim is Vim plugin to visualize your Vim undo tree. + +Preview +------- + +Screencast: + +### [http://screenr.com/M9l](http://screenr.com/M9l) + +Screenshot: + +gundo + +Requirements +------------ + +* Vim 7.3+ +* Python support for Vim +* Python 2.4+ + +Installation and Usage +---------------------- + +Check out the [project site][] for installation instructions. + +[project site]: http://sjl.bitbucket.org/gundo.vim/ + +License +------- + +GPLv2+, just like Mercurial. diff --git a/plugin/gundo.py b/bundle/gundo/autoload/gundo.py similarity index 99% rename from plugin/gundo.py rename to bundle/gundo/autoload/gundo.py index aedc05e..21d66f0 100644 --- a/plugin/gundo.py +++ b/bundle/gundo/autoload/gundo.py @@ -553,7 +553,10 @@ def GundoPlayTo(): return None nodes.append(current) - return reversed(nodes) if rev else nodes + if rev: + return reversed(nodes) + else: + return nodes branch = _walk_branch(start, end) diff --git a/autoload/gundo.vim b/bundle/gundo/autoload/gundo.vim similarity index 87% rename from autoload/gundo.vim rename to bundle/gundo/autoload/gundo.vim index 1b5de02..c0033a6 100644 --- a/autoload/gundo.vim +++ b/bundle/gundo/autoload/gundo.vim @@ -19,22 +19,6 @@ if v:version < '703'"{{{ finish endif"}}} -if has('python')"{{{ - let s:has_supported_python = 1 -else - let s:has_supported_python = 0 -endif - -if !s:has_supported_python - function! s:GundoDidNotLoad() - echohl WarningMsg|echomsg "Gundo requires Vim to be compiled with Python 2.4+"|echohl None - endfunction - command! -nargs=0 GundoToggle call s:GundoDidNotLoad() - finish -endif"}}} - -let s:plugin_path = escape(expand(':p:h'), '\') - if !exists('g:gundo_width')"{{{ let g:gundo_width = 45 endif"}}} @@ -59,7 +43,26 @@ endif"}}} if !exists("g:gundo_close_on_revert")"{{{ let g:gundo_close_on_revert = 0 endif"}}} +if !exists("g:gundo_prefer_python3")"{{{ + let g:gundo_prefer_python3 = 0 +endif"}}} +let s:has_supported_python = 0 +if g:gundo_prefer_python3 && has('python3')"{{{ + let s:has_supported_python = 2 +elseif has('python')" + let s:has_supported_python = 1 +endif + +if !s:has_supported_python + function! s:GundoDidNotLoad() + echohl WarningMsg|echomsg "Gundo requires Vim to be compiled with Python 2.4+"|echohl None + endfunction + command! -nargs=0 GundoToggle call s:GundoDidNotLoad() + finish +endif"}}} + +let s:plugin_path = escape(expand(':p:h'), '\') "}}} "{{{ Gundo utility functions @@ -213,6 +216,9 @@ function! s:GundoOpenGraph()"{{{ call s:GundoResizeBuffers(winnr()) endif endif + if exists("g:gundo_tree_statusline") + let &l:statusline = g:gundo_tree_statusline + endif endfunction"}}} function! s:GundoOpenPreview()"{{{ @@ -247,6 +253,9 @@ function! s:GundoOpenPreview()"{{{ endif endif endif + if exists("g:gundo_preview_statusline") + let &l:statusline = g:gundo_preview_statusline + endif endfunction"}}} function! s:GundoClose()"{{{ @@ -263,8 +272,13 @@ endfunction"}}} function! s:GundoOpen()"{{{ if !exists('g:gundo_py_loaded') - exe 'pyfile ' . s:plugin_path . '/gundo.py' - python initPythonModule() + if s:has_supported_python == 2 && g:gundo_prefer_python3 + exe 'py3file ' . s:plugin_path . '/gundo.py' + python3 initPythonModule() + else + exe 'pyfile ' . s:plugin_path . '/gundo.py' + python initPythonModule() + endif if !s:has_supported_python function! s:GundoDidNotLoad() @@ -303,6 +317,14 @@ function! s:GundoToggle()"{{{ endif endfunction"}}} +function! s:GundoShow()"{{{ + call s:GundoOpen() +endfunction"}}} + +function! s:GundoHide()"{{{ + call s:GundoClose() +endfunction"}}} + "}}} "{{{ Gundo mouse handling @@ -363,15 +385,27 @@ endfunction"}}} "{{{ Gundo rendering function! s:GundoRenderGraph()"{{{ - python GundoRenderGraph() + if s:has_supported_python == 2 && g:gundo_prefer_python3 + python3 GundoRenderGraph() + else + python GundoRenderGraph() + endif endfunction"}}} function! s:GundoRenderPreview()"{{{ - python GundoRenderPreview() + if s:has_supported_python == 2 && g:gundo_prefer_python3 + python3 GundoRenderPreview() + else + python GundoRenderPreview() + endif endfunction"}}} function! s:GundoRenderChangePreview()"{{{ - python GundoRenderChangePreview() + if s:has_supported_python == 2 && g:gundo_prefer_python3 + python3 GundoRenderChangePreview() + else + python GundoRenderChangePreview() + endif endfunction"}}} "}}} @@ -379,11 +413,19 @@ endfunction"}}} "{{{ Gundo undo/redo function! s:GundoRevert()"{{{ - python GundoRevert() + if s:has_supported_python == 2 && g:gundo_prefer_python3 + python3 GundoRevert() + else + python GundoRevert() + endif endfunction"}}} function! s:GundoPlayTo()"{{{ - python GundoPlayTo() + if s:has_supported_python == 2 && g:gundo_prefer_python3 + python3 GundoPlayTo() + else + python GundoPlayTo() + endif endfunction"}}} "}}} @@ -404,4 +446,4 @@ augroup GundoAug autocmd BufNewFile __Gundo_Preview__ call s:GundoSettingsPreview() augroup END -"}}} \ No newline at end of file +"}}} diff --git a/doc/gundo.txt b/bundle/gundo/doc/gundo.txt similarity index 95% rename from doc/gundo.txt rename to bundle/gundo/doc/gundo.txt index f05989b..ee9a0d4 100644 --- a/doc/gundo.txt +++ b/bundle/gundo/doc/gundo.txt @@ -17,6 +17,8 @@ CONTENTS *Gundo-contents* 3.7 gundo_map_move_older ...... |gundo_map_move_older| gundo_map_move_newer ...... |gundo_map_move_newer| 3.8 gundo_close_on_revert ..... |gundo_close_on_revert| + 3.9 gundo_preview_statusline .. |gundo_preview_statusline| + gundo_tree_statusline ..... |gundo_tree_statusline| 4. License ........................ |GundoLicense| 5. Bugs ........................... |GundoBugs| 6. Contributing ................... |GundoContributing| @@ -196,6 +198,14 @@ Set this to 1 to automatically close the Gundo windows when reverting. Default: 0 (windows do not automatically close) +------------------------------------------------------------------------------ +3.9 g:gundo_preview_statusline *gundo_preview_statusline* + g:gundo_tree_statusline *gundo_tree_statusline* + +Set these to a string to display it as the status line for each Gundo window. + +Default: unset (windows use the default statusline) + ============================================================================== 4. License *GundoLicense* @@ -219,6 +229,8 @@ GitHub: http://github.com/sjl/gundo.vim/ ============================================================================== 7. Changelog *GundoChangelog* +v2.3.0 + * Add statusline configuration. v2.2.2 * More performance improvements. v2.2.1 diff --git a/bundle/gundo/plugin/gundo.vim b/bundle/gundo/plugin/gundo.vim new file mode 100644 index 0000000..ed59293 --- /dev/null +++ b/bundle/gundo/plugin/gundo.vim @@ -0,0 +1,24 @@ +" ============================================================================ +" File: gundo.vim +" Description: vim global plugin to visualize your undo tree +" Maintainer: Steve Losh +" License: GPLv2+ -- look it up. +" Notes: Much of this code was thiefed from Mercurial, and the rest was +" heavily inspired by scratch.vim and histwin.vim. +" +" ============================================================================ + + +"{{{ Init +if !exists('g:gundo_debug') && (exists('g:gundo_disable') || exists('loaded_gundo') || &cp)"{{{ + finish +endif +let loaded_gundo = 1"}}} +"}}} + +"{{{ Misc +command! -nargs=0 GundoToggle call gundo#GundoToggle() +command! -nargs=0 GundoShow call gundo#GundoShow() +command! -nargs=0 GundoHide call gundo#GundoHide() +command! -nargs=0 GundoRenderGraph call gundo#GundoRenderGraph() +"}}} diff --git a/indent/html.vim b/bundle/indent_javascript/indent/html.vim similarity index 100% rename from indent/html.vim rename to bundle/indent_javascript/indent/html.vim diff --git a/indent/javascript.vim b/bundle/indent_javascript/indent/javascript.vim similarity index 100% rename from indent/javascript.vim rename to bundle/indent_javascript/indent/javascript.vim diff --git a/bundle/indent_javascript/test.html b/bundle/indent_javascript/test.html new file mode 100644 index 0000000..b475bc2 --- /dev/null +++ b/bundle/indent_javascript/test.html @@ -0,0 +1,399 @@ + + + + + + Test + + + + + diff --git a/indent/mako.vim b/bundle/indent_mako/indent/mako.vim similarity index 100% rename from indent/mako.vim rename to bundle/indent_mako/indent/mako.vim diff --git a/indent/python.vim b/bundle/indent_python/indent/python.vim similarity index 69% rename from indent/python.vim rename to bundle/indent_python/indent/python.vim index 3e50e4a..579cdc4 100644 --- a/indent/python.vim +++ b/bundle/indent_python/indent/python.vim @@ -1,5 +1,3 @@ -" This dirty hack for boys from BTH will be erased after this embrassing -" project end. let current_file = expand('%:p') if match(current_file, '\cicard') < 0 diff --git a/indent/python_pep8.vim b/bundle/indent_python/indent/python_pep8.vim similarity index 100% rename from indent/python_pep8.vim rename to bundle/indent_python/indent/python_pep8.vim diff --git a/plugin/jsbeautify.vim b/bundle/jsbeautify/plugin/jsbeautify.vim similarity index 100% rename from plugin/jsbeautify.vim rename to bundle/jsbeautify/plugin/jsbeautify.vim diff --git a/autoload/l9.vim b/bundle/l9/autoload/l9.vim similarity index 100% rename from autoload/l9.vim rename to bundle/l9/autoload/l9.vim diff --git a/autoload/l9/async.py b/bundle/l9/autoload/l9/async.py similarity index 100% rename from autoload/l9/async.py rename to bundle/l9/autoload/l9/async.py diff --git a/autoload/l9/async.vim b/bundle/l9/autoload/l9/async.vim similarity index 100% rename from autoload/l9/async.vim rename to bundle/l9/autoload/l9/async.vim diff --git a/autoload/l9/quickfix.vim b/bundle/l9/autoload/l9/quickfix.vim similarity index 100% rename from autoload/l9/quickfix.vim rename to bundle/l9/autoload/l9/quickfix.vim diff --git a/autoload/l9/tempbuffer.vim b/bundle/l9/autoload/l9/tempbuffer.vim similarity index 100% rename from autoload/l9/tempbuffer.vim rename to bundle/l9/autoload/l9/tempbuffer.vim diff --git a/autoload/l9/tempvariables.vim b/bundle/l9/autoload/l9/tempvariables.vim similarity index 100% rename from autoload/l9/tempvariables.vim rename to bundle/l9/autoload/l9/tempvariables.vim diff --git a/doc/l9.txt b/bundle/l9/doc/l9.txt similarity index 100% rename from doc/l9.txt rename to bundle/l9/doc/l9.txt diff --git a/plugin/l9.vim b/bundle/l9/plugin/l9.vim similarity index 100% rename from plugin/l9.vim rename to bundle/l9/plugin/l9.vim diff --git a/autoload/loremipsum.txt b/bundle/loremipsum/autoload/loremipsum.txt similarity index 100% rename from autoload/loremipsum.txt rename to bundle/loremipsum/autoload/loremipsum.txt diff --git a/autoload/loremipsum.vim b/bundle/loremipsum/autoload/loremipsum.vim similarity index 100% rename from autoload/loremipsum.vim rename to bundle/loremipsum/autoload/loremipsum.vim diff --git a/doc/loremipsum.txt b/bundle/loremipsum/doc/loremipsum.txt similarity index 100% rename from doc/loremipsum.txt rename to bundle/loremipsum/doc/loremipsum.txt diff --git a/plugin/loremipsum.vim b/bundle/loremipsum/plugin/loremipsum.vim similarity index 100% rename from plugin/loremipsum.vim rename to bundle/loremipsum/plugin/loremipsum.vim diff --git a/autoload/mark.vim b/bundle/mark/autoload/mark.vim similarity index 100% rename from autoload/mark.vim rename to bundle/mark/autoload/mark.vim diff --git a/doc/mark.txt b/bundle/mark/doc/mark.txt similarity index 100% rename from doc/mark.txt rename to bundle/mark/doc/mark.txt diff --git a/plugin/mark.vim b/bundle/mark/plugin/mark.vim similarity index 100% rename from plugin/mark.vim rename to bundle/mark/plugin/mark.vim diff --git a/doc/NERD_commenter.txt b/bundle/nerdcommenter/doc/NERD_commenter.txt similarity index 100% rename from doc/NERD_commenter.txt rename to bundle/nerdcommenter/doc/NERD_commenter.txt diff --git a/plugin/NERD_commenter.vim b/bundle/nerdcommenter/plugin/NERD_commenter.vim similarity index 100% rename from plugin/NERD_commenter.vim rename to bundle/nerdcommenter/plugin/NERD_commenter.vim diff --git a/plugin/occur.vim b/bundle/occur/plugin/occur.vim similarity index 100% rename from plugin/occur.vim rename to bundle/occur/plugin/occur.vim diff --git a/plugin/repeat.vim b/bundle/repeat/autoload/repeat.vim similarity index 100% rename from plugin/repeat.vim rename to bundle/repeat/autoload/repeat.vim diff --git a/doc/showmarks.txt b/bundle/showmarks/doc/showmarks.txt similarity index 100% rename from doc/showmarks.txt rename to bundle/showmarks/doc/showmarks.txt diff --git a/plugin/showmarks.vim b/bundle/showmarks/plugin/showmarks.vim similarity index 100% rename from plugin/showmarks.vim rename to bundle/showmarks/plugin/showmarks.vim diff --git a/after/plugin/snipMate.vim b/bundle/snipmate/after/plugin/snipMate.vim similarity index 100% rename from after/plugin/snipMate.vim rename to bundle/snipmate/after/plugin/snipMate.vim diff --git a/autoload/snipMate.vim b/bundle/snipmate/autoload/snipMate.vim similarity index 100% rename from autoload/snipMate.vim rename to bundle/snipmate/autoload/snipMate.vim diff --git a/doc/snipMate.txt b/bundle/snipmate/doc/snipMate.txt similarity index 100% rename from doc/snipMate.txt rename to bundle/snipmate/doc/snipMate.txt diff --git a/ftplugin/html_snip_helper.vim b/bundle/snipmate/ftplugin/html_snip_helper.vim similarity index 100% rename from ftplugin/html_snip_helper.vim rename to bundle/snipmate/ftplugin/html_snip_helper.vim diff --git a/plugin/snipMate.vim b/bundle/snipmate/plugin/snipMate.vim similarity index 100% rename from plugin/snipMate.vim rename to bundle/snipmate/plugin/snipMate.vim diff --git a/snippets/_.snippets b/bundle/snipmate/snippets/_.snippets similarity index 100% rename from snippets/_.snippets rename to bundle/snipmate/snippets/_.snippets diff --git a/snippets/autoit.snippets b/bundle/snipmate/snippets/autoit.snippets similarity index 100% rename from snippets/autoit.snippets rename to bundle/snipmate/snippets/autoit.snippets diff --git a/snippets/c.snippets b/bundle/snipmate/snippets/c.snippets similarity index 100% rename from snippets/c.snippets rename to bundle/snipmate/snippets/c.snippets diff --git a/snippets/cpp.snippets b/bundle/snipmate/snippets/cpp.snippets similarity index 100% rename from snippets/cpp.snippets rename to bundle/snipmate/snippets/cpp.snippets diff --git a/snippets/html.snippets b/bundle/snipmate/snippets/html.snippets similarity index 100% rename from snippets/html.snippets rename to bundle/snipmate/snippets/html.snippets diff --git a/snippets/java.snippets b/bundle/snipmate/snippets/java.snippets similarity index 100% rename from snippets/java.snippets rename to bundle/snipmate/snippets/java.snippets diff --git a/snippets/javascript.snippets b/bundle/snipmate/snippets/javascript.snippets similarity index 100% rename from snippets/javascript.snippets rename to bundle/snipmate/snippets/javascript.snippets diff --git a/snippets/mako.snippets b/bundle/snipmate/snippets/mako.snippets similarity index 100% rename from snippets/mako.snippets rename to bundle/snipmate/snippets/mako.snippets diff --git a/snippets/mkd.snippets b/bundle/snipmate/snippets/mkd.snippets similarity index 100% rename from snippets/mkd.snippets rename to bundle/snipmate/snippets/mkd.snippets diff --git a/snippets/objc.snippets b/bundle/snipmate/snippets/objc.snippets similarity index 100% rename from snippets/objc.snippets rename to bundle/snipmate/snippets/objc.snippets diff --git a/snippets/perl.snippets b/bundle/snipmate/snippets/perl.snippets similarity index 100% rename from snippets/perl.snippets rename to bundle/snipmate/snippets/perl.snippets diff --git a/snippets/php.snippets b/bundle/snipmate/snippets/php.snippets similarity index 100% rename from snippets/php.snippets rename to bundle/snipmate/snippets/php.snippets diff --git a/snippets/python.snippets b/bundle/snipmate/snippets/python.snippets similarity index 100% rename from snippets/python.snippets rename to bundle/snipmate/snippets/python.snippets diff --git a/snippets/rst.snippets b/bundle/snipmate/snippets/rst.snippets similarity index 100% rename from snippets/rst.snippets rename to bundle/snipmate/snippets/rst.snippets diff --git a/snippets/ruby.snippets b/bundle/snipmate/snippets/ruby.snippets similarity index 100% rename from snippets/ruby.snippets rename to bundle/snipmate/snippets/ruby.snippets diff --git a/snippets/sh.snippets b/bundle/snipmate/snippets/sh.snippets similarity index 100% rename from snippets/sh.snippets rename to bundle/snipmate/snippets/sh.snippets diff --git a/snippets/snippet.snippets b/bundle/snipmate/snippets/snippet.snippets similarity index 100% rename from snippets/snippet.snippets rename to bundle/snipmate/snippets/snippet.snippets diff --git a/snippets/tcl.snippets b/bundle/snipmate/snippets/tcl.snippets similarity index 100% rename from snippets/tcl.snippets rename to bundle/snipmate/snippets/tcl.snippets diff --git a/snippets/tex.snippets b/bundle/snipmate/snippets/tex.snippets similarity index 100% rename from snippets/tex.snippets rename to bundle/snipmate/snippets/tex.snippets diff --git a/snippets/vim.snippets b/bundle/snipmate/snippets/vim.snippets similarity index 100% rename from snippets/vim.snippets rename to bundle/snipmate/snippets/vim.snippets diff --git a/snippets/xhtml.snippets b/bundle/snipmate/snippets/xhtml.snippets similarity index 100% rename from snippets/xhtml.snippets rename to bundle/snipmate/snippets/xhtml.snippets diff --git a/snippets/zsh.snippets b/bundle/snipmate/snippets/zsh.snippets similarity index 100% rename from snippets/zsh.snippets rename to bundle/snipmate/snippets/zsh.snippets diff --git a/syntax/snippet.vim b/bundle/snipmate/syntax/snippet.vim similarity index 100% rename from syntax/snippet.vim rename to bundle/snipmate/syntax/snippet.vim diff --git a/doc/surround.txt b/bundle/surround/doc/surround.txt similarity index 100% rename from doc/surround.txt rename to bundle/surround/doc/surround.txt diff --git a/plugin/surround.vim b/bundle/surround/plugin/surround.vim similarity index 100% rename from plugin/surround.vim rename to bundle/surround/plugin/surround.vim diff --git a/syntax/css.vim b/bundle/syntax_css/syntax/css.vim similarity index 100% rename from syntax/css.vim rename to bundle/syntax_css/syntax/css.vim diff --git a/bundle/syntax_fitnesse/README.fitnesse b/bundle/syntax_fitnesse/README.fitnesse new file mode 100644 index 0000000..3b04d55 --- /dev/null +++ b/bundle/syntax_fitnesse/README.fitnesse @@ -0,0 +1,67 @@ +README for fitnesse.vim (Version 0.1) / May 22 2009 + + * INSTALLATION + * RELEASE NOTES + * CREDITS + + +fitnesse.vim is a syntax file (and eventually some filetype specific functions) +for editing FitNesse tests using Vim. It was created to make it easier to work +with fitnesse files. It works great in conjunction with "It's All Text" a +plugin for FireFox (found at https://addons.mozilla.org/en-US/firefox/addon/4125). + +FitNesse is a collaborative testing tool that uses Wiki markup to create test +scripts as web pages. See http://fitnesse.org for more information. + +This release is very Slim centric. + + +INSTALLATION +------------------------ + +The files in the Zip file are stored in the same folders they need to be +placed in under the vimfiles folder ( $HOME/.vim/ or %VIM%\vimfils depending +on your OS). + +1) Unzip the fitnesse.vim.zip file to the vimfiles folder. Unless you are + customizing the file, you should be OK to overwrite the files. + +2) Syntax coloring support must be enabled. + + You can do this by adding :syntax enable to your _vimrc or .vimrc file. + +3) If you want automatic detection you will need to: + + a) Check to see if you have a scripts.vim file already in place. This + file allows post loading checking of files to execute scripts. + + b) If you do not have a scripts.vim file in your vimfiles folder, rename + the scripts.vim.add file to scripts.vim. + + c) If you do have a scripts.vim file; open the scripts.vim.fitnesse_add + file and copy the text in that file to your scripts.vim file. + +RELEASE NOTES +------------------------ + +Version 0.1: + + This release supports the following syntax: + * Numerous keywords in Slim and FitNesse are supported: + scenario, script, Query:, start, check, reject, show, Comment, comment, + !see, !include, !See, null, !define, !include + * Simple collapsible sections (with folding enabled) !** *!, !**> *! + * Table cell delimiter "|" + * Cell contents + * Incomplete cell is error + * !style_(class) + * Strings in Quotes + * Scenario variables @parametername + * Symbols $symbolname + * Simple WikiWord support + +CREDITS +------------------------ + + * Bob Martin for FitNesse and Slim + * Brett Schuchert for Recommending It's All Text diff --git a/bundle/syntax_fitnesse/scripts.vim.fitnesse_add b/bundle/syntax_fitnesse/scripts.vim.fitnesse_add new file mode 100644 index 0000000..db0d3c1 --- /dev/null +++ b/bundle/syntax_fitnesse/scripts.vim.fitnesse_add @@ -0,0 +1,4 @@ + if getline(1) =~ '^#fitnesse' + setfiletype fitnesse + endif +f diff --git a/syntax/fitnesse.vim b/bundle/syntax_fitnesse/syntax/fitnesse.vim similarity index 100% rename from syntax/fitnesse.vim rename to bundle/syntax_fitnesse/syntax/fitnesse.vim diff --git a/syntax/mako.vim b/bundle/syntax_mako/syntax/mako.vim similarity index 100% rename from syntax/mako.vim rename to bundle/syntax_mako/syntax/mako.vim diff --git a/syntax/pd_opl.vim b/bundle/syntax_opl/syntax/pd_opl.vim similarity index 100% rename from syntax/pd_opl.vim rename to bundle/syntax_opl/syntax/pd_opl.vim diff --git a/bundle/syntax_pentadactyl/syntax/pentadactyl.vim b/bundle/syntax_pentadactyl/syntax/pentadactyl.vim new file mode 100644 index 0000000..a43cebf --- /dev/null +++ b/bundle/syntax_pentadactyl/syntax/pentadactyl.vim @@ -0,0 +1,136 @@ + +" Vim syntax file +" Language: Pentadactyl configuration file +" Maintainer: Doug Kearns + +" TODO: make this pentadactyl specific - shared dactyl config? + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn include @javascriptTop syntax/javascript.vim +unlet b:current_syntax + +syn include @cssTop syntax/css.vim +unlet b:current_syntax + +syn match pentadactylCommandStart "\%(^\s*:\=\)\@<=" nextgroup=pentadactylCommand,pentadactylAutoCmd + +syn keyword pentadactylCommand loadplugins lpl gr[oup] ! run Clistk[eys] Clk + \ Cm[ap] Cno[remap] Cunm[ap] Ilistk[eys] Ilk Im[ap] Ino[remap] Iunm[ap] + \ ab[breviate] addo[ns] ao au[tocmd] ba[ck] background bg bd[elete] + \ blistk[eys] blk bm[ap] bma[rk] bmarks bno[remap] b[uffer] buffers files ls + \ tabs bunm[ap] ca[bbreviate] caretlistk[eys] caretlk caretm[ap] + \ caretno[remap] caretunm[ap] cd chd[ir] clistk[eys] clk cm[ap] cno[remap] + \ colo[rscheme] com[mand] comp[letions] contexts cookies ck cuna[bbreviate] + \ cunm[ap] delbm[arks] delc[ommand] delg[roup] delmac[ros] delm[arks] + \ delqm[arks] dels[tyle] dia[log] dlc[lear] doautoa[ll] do[autocmd] + \ downl[oads] dl ec[ho] echoe[rr] echom[sg] el[se] elsei[f] elif em[enu] + \ en[dif] fi exe[cute] exit x exta[dd] extde[lete] extrm extd[isable] + \ exte[nable] exto[ptions] extp[references] extr[ehash] extt[oggle] + \ extu[pdate] feedkeys fk fini[sh] fo[rward] fw frameo[nly] ha[rdcopy] + \ h[elp] helpa[ll] hi[ghlight] hist[ory] hs ia[bbreviate] if ilistk[eys] ilk + \ im[ap] ino[remap] iuna[bbreviate] iunm[ap] javas[cript] js ju[mps] + \ keepa[lt] let listc[ommands] lc listk[eys] lk listo[ptions] lo mac[ros] + \ map ma[rk] marks mes[sages] messc[lear] mkp[entadactylrc] mks[yntax] + \ mlistk[eys] mlk mm[ap] mno[remap] munm[ap] nlistk[eys] nlk nm[ap] + \ nno[remap] noh[lfind] no[remap] norm[al] nunm[ap] olistk[eys] olk om[ap] + \ ono[remap] o[pen] ounm[ap] pa[geinfo] pagest[yle] pas pin[tab] + \ pref[erences] prefs pw[d] qma[rk] qmarks q[uit] quita[ll] qa[ll] redr[aw] + \ reg[isters] reh[ash] re[load] reloada[ll] res[tart] runt[ime] sa[nitize] + \ sav[eas] w[rite] sbcl[ose] scrip[tnames] se[t] setg[lobal] setl[ocal] + \ sideb[ar] sb[ar] sbop[en] sil[ent] so[urce] st[op] stopa[ll] sty[le] + \ styled[isable] styd[isable] stylee[nable] stye[nable] stylet[oggle] + \ styt[oggle] tab taba[ttach] tabc[lose] tabde[tach] tabd[o] bufd[o] + \ tabdu[plicate] tabl[ast] bl[ast] tabm[ove] tabn[ext] tn[ext] bn[ext] + \ tabo[nly] tabopen t[open] tabnew tabp[revious] tp[revious] tabN[ext] + \ tN[ext] bp[revious] bN[ext] tabr[ewind] tabfir[st] br[ewind] bf[irst] time + \ tlistk[eys] tlk tm[ap] tno[remap] toolbarh[ide] tbh[ide] toolbars[how] + \ tbs[how] toolbart[oggle] tbt[oggle] tunm[ap] una[bbreviate] u[ndo] + \ undoa[ll] unl[et] unm[ap] unpin[tab] verb[ose] ve[rsion] vie[wsource] + \ vlistk[eys] vlk vm[ap] vno[remap] vunm[ap] winc[lose] wc[lose] wind[ow] + \ winon[ly] wino[pen] wo[pen] wqa[ll] wq xa[ll] y[ank] zo[om] + \ contained + +syn match pentadactylCommand "!" contained + +syn keyword pentadactylAutoCmd au[tocmd] contained nextgroup=pentadactylAutoEventList skipwhite + +syn keyword pentadactylAutoEvent BookmarkAdd BookmarkChange BookmarkRemove + \ ColorScheme DOMLoad DownloadPost Fullscreen LocationChange PageLoadPre + \ PageLoad PrivateMode Sanitize ShellCmdPost Enter LeavePre Leave + \ contained + +syn match pentadactylAutoEventList "\(\a\+,\)*\a\+" contained contains=pentadactylAutoEvent + +syn region pentadactylSet matchgroup=pentadactylCommand start="\%(^\s*:\=\)\@<=\<\%(setl\%[ocal]\|setg\%[lobal]\|set\=\)\=\>" + \ end="$" keepend oneline contains=pentadactylOption,pentadactylString + +syn keyword pentadactylOption activate act altwildmode awim autocomplete au + \ cdpath cd complete cpt cookieaccept ca cookielifetime cl cookies ck + \ defsearch ds downloadsort dlsort dls editor encoding enc eventignore ei + \ extendedhinttags eht fileencoding fenc findcase fc findflags ff + \ followhints fh guioptions go helpfile hf hintinputs hin hintkeys hk + \ hintmatching hm hinttags ht hinttimeout hto history hi iskeyword isk + \ jumptags jt linenumbers ln loadplugins lpl mapleader ml maxitems messages + \ msgs newtab nextpattern noscript-forbid nsf noscript-list nsl + \ noscript-objects nso noscript-sites nss noscript-tempsites nst + \ noscript-untrusted nsu pageinfo pa passkeys pk passunknown pu popups pps + \ previouspattern runtimepath rtp sanitizeitems si sanitizeshutdown ss + \ sanitizetimespan sts scroll scr scrollsteps scs scrolltime sct shell sh + \ shellcmdflag shcf showmode smd showstatuslinks ssli showtabline stal + \ spelllang spl strictfocus sf suggestengines timeoutlen tmol titlestring + \ urlseparator urlsep us verbose vbs wildanchor wia wildcase wic wildignore + \ wig wildmode wim wildsort wis wordseparators wsp yankshort ys + \ contained nextgroup=pentadactylSetMod + +let s:toggleOptions = ["banghist", "bh", "errorbells", "eb", "exrc", "ex", + \ "fullscreen", "fs", "hlfind", "hlf", "incfind", "if", "insertmode", "im", + \ "jsdebugger", "jsd", "more", "online", "private", "pornmode", "script", + \ "timeout", "tmo", "usermode", "um", "visualbell", "vb"] +execute 'syn match pentadactylOption "\<\%(no\|inv\)\=\%(' . + \ join(s:toggleOptions, '\|') . + \ '\)\>!\=" contained nextgroup=pentadactylSetMod' + +syn match pentadactylSetMod "\%(\<[a-z_]\+\)\@<=&" contained + +syn region pentadactylJavaScript start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=" end="$" contains=@javascriptTop keepend oneline +syn region pentadactylJavaScript matchgroup=pentadactylJavaScriptDelimiter + \ start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@javascriptTop fold + +let s:cssRegionStart = '\%(^\s*sty\%[le]!\=\s\+\%(-\%(n\|name\)\%(\s\+\|=\)\S\+\s\+\)\=[^-]\S\+\s\+\)\@<=' +execute 'syn region pentadactylCss start="' . s:cssRegionStart . '" end="$" contains=@cssTop keepend oneline' +execute 'syn region pentadactylCss matchgroup=pentadactylCssDelimiter' + \ 'start="' . s:cssRegionStart . '<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@cssTop fold' + +syn match pentadactylNotation "<[0-9A-Za-z-]\+>" + +syn keyword pentadactylTodo FIXME NOTE TODO XXX contained + +syn region pentadactylString start="\z(["']\)" end="\z1" skip="\\\\\|\\\z1" oneline + +syn match pentadactylComment +^\s*".*$+ contains=pentadactylTodo,@Spell + +" NOTE: match vim.vim highlighting group names +hi def link pentadactylAutoCmd pentadactylCommand +hi def link pentadactylAutoEvent Type +hi def link pentadactylCommand Statement +hi def link pentadactylJavaScriptDelimiter Delimiter +hi def link pentadactylCssDelimiter Delimiter +hi def link pentadactylNotation Special +hi def link pentadactylComment Comment +hi def link pentadactylOption PreProc +hi def link pentadactylSetMod pentadactylOption +hi def link pentadactylString String +hi def link pentadactylTodo Todo + +let b:current_syntax = "pentadactyl" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: tw=130 et ts=4 sw=4: diff --git a/syntax/python.vim b/bundle/syntax_python/syntax/python.vim similarity index 98% rename from syntax/python.vim rename to bundle/syntax_python/syntax/python.vim index b766869..1457746 100644 --- a/syntax/python.vim +++ b/bundle/syntax_python/syntax/python.vim @@ -1,13 +1,13 @@ " Vim syntax file -" Language: Python -" Maintainer: Dmitry Vasiliev -" URL: http://www.hlabs.spb.ru/vim/python.vim -" Last Change: 2010-04-09 +" Language: Python +" Maintainer: Dmitry Vasiliev +" URL: https://github.com/hdima/vim-scripts/blob/master/syntax/python/python.vim +" Last Change: 2012-02-11 " Filenames: *.py -" Version: 2.6.6 +" Version: 2.6.7 " " Based on python.vim (from Vim 6.1 distribution) -" by Neil Schemenauer +" by Neil Schemenauer " " Thanks: " diff --git a/syntax/tmux.vim b/bundle/syntax_tmux/syntax/tmux.vim similarity index 100% rename from syntax/tmux.vim rename to bundle/syntax_tmux/syntax/tmux.vim diff --git a/autoload/tagbar.vim b/bundle/tagbar/autoload/tagbar.vim similarity index 100% rename from autoload/tagbar.vim rename to bundle/tagbar/autoload/tagbar.vim diff --git a/doc/tagbar.txt b/bundle/tagbar/doc/tagbar.txt similarity index 100% rename from doc/tagbar.txt rename to bundle/tagbar/doc/tagbar.txt diff --git a/plugin/tagbar.vim b/bundle/tagbar/plugin/tagbar.vim similarity index 100% rename from plugin/tagbar.vim rename to bundle/tagbar/plugin/tagbar.vim diff --git a/syntax/tagbar.vim b/bundle/tagbar/syntax/tagbar.vim similarity index 100% rename from syntax/tagbar.vim rename to bundle/tagbar/syntax/tagbar.vim diff --git a/doc/vcscommand.txt b/bundle/vcscommand/doc/vcscommand.txt similarity index 100% rename from doc/vcscommand.txt rename to bundle/vcscommand/doc/vcscommand.txt diff --git a/plugin/vcsbzr.vim b/bundle/vcscommand/plugin/vcsbzr.vim similarity index 100% rename from plugin/vcsbzr.vim rename to bundle/vcscommand/plugin/vcsbzr.vim diff --git a/plugin/vcscommand.vim b/bundle/vcscommand/plugin/vcscommand.vim similarity index 100% rename from plugin/vcscommand.vim rename to bundle/vcscommand/plugin/vcscommand.vim diff --git a/plugin/vcscvs.vim b/bundle/vcscommand/plugin/vcscvs.vim similarity index 100% rename from plugin/vcscvs.vim rename to bundle/vcscommand/plugin/vcscvs.vim diff --git a/plugin/vcsgit.vim b/bundle/vcscommand/plugin/vcsgit.vim similarity index 100% rename from plugin/vcsgit.vim rename to bundle/vcscommand/plugin/vcsgit.vim diff --git a/plugin/vcshg.vim b/bundle/vcscommand/plugin/vcshg.vim similarity index 100% rename from plugin/vcshg.vim rename to bundle/vcscommand/plugin/vcshg.vim diff --git a/plugin/vcssvk.vim b/bundle/vcscommand/plugin/vcssvk.vim similarity index 100% rename from plugin/vcssvk.vim rename to bundle/vcscommand/plugin/vcssvk.vim diff --git a/plugin/vcssvn.vim b/bundle/vcscommand/plugin/vcssvn.vim similarity index 100% rename from plugin/vcssvn.vim rename to bundle/vcscommand/plugin/vcssvn.vim diff --git a/syntax/cvsannotate.vim b/bundle/vcscommand/syntax/cvsannotate.vim similarity index 100% rename from syntax/cvsannotate.vim rename to bundle/vcscommand/syntax/cvsannotate.vim diff --git a/syntax/gitannotate.vim b/bundle/vcscommand/syntax/gitannotate.vim similarity index 100% rename from syntax/gitannotate.vim rename to bundle/vcscommand/syntax/gitannotate.vim diff --git a/syntax/hgannotate.vim b/bundle/vcscommand/syntax/hgannotate.vim similarity index 100% rename from syntax/hgannotate.vim rename to bundle/vcscommand/syntax/hgannotate.vim diff --git a/syntax/svkannotate.vim b/bundle/vcscommand/syntax/svkannotate.vim similarity index 100% rename from syntax/svkannotate.vim rename to bundle/vcscommand/syntax/svkannotate.vim diff --git a/syntax/svnannotate.vim b/bundle/vcscommand/syntax/svnannotate.vim similarity index 100% rename from syntax/svnannotate.vim rename to bundle/vcscommand/syntax/svnannotate.vim diff --git a/syntax/vcscommit.vim b/bundle/vcscommand/syntax/vcscommit.vim similarity index 100% rename from syntax/vcscommit.vim rename to bundle/vcscommand/syntax/vcscommit.vim diff --git a/autoload/vimwiki/base.vim b/bundle/vimwiki/autoload/vimwiki/base.vim similarity index 100% rename from autoload/vimwiki/base.vim rename to bundle/vimwiki/autoload/vimwiki/base.vim diff --git a/autoload/vimwiki/default.tpl b/bundle/vimwiki/autoload/vimwiki/default.tpl similarity index 100% rename from autoload/vimwiki/default.tpl rename to bundle/vimwiki/autoload/vimwiki/default.tpl diff --git a/autoload/vimwiki/diary.vim b/bundle/vimwiki/autoload/vimwiki/diary.vim similarity index 100% rename from autoload/vimwiki/diary.vim rename to bundle/vimwiki/autoload/vimwiki/diary.vim diff --git a/autoload/vimwiki/html.vim b/bundle/vimwiki/autoload/vimwiki/html.vim similarity index 100% rename from autoload/vimwiki/html.vim rename to bundle/vimwiki/autoload/vimwiki/html.vim diff --git a/autoload/vimwiki/lst.vim b/bundle/vimwiki/autoload/vimwiki/lst.vim similarity index 100% rename from autoload/vimwiki/lst.vim rename to bundle/vimwiki/autoload/vimwiki/lst.vim diff --git a/autoload/vimwiki/style.css b/bundle/vimwiki/autoload/vimwiki/style.css similarity index 100% rename from autoload/vimwiki/style.css rename to bundle/vimwiki/autoload/vimwiki/style.css diff --git a/autoload/vimwiki/tbl.vim b/bundle/vimwiki/autoload/vimwiki/tbl.vim similarity index 100% rename from autoload/vimwiki/tbl.vim rename to bundle/vimwiki/autoload/vimwiki/tbl.vim diff --git a/doc/vimwiki.txt b/bundle/vimwiki/doc/vimwiki.txt similarity index 100% rename from doc/vimwiki.txt rename to bundle/vimwiki/doc/vimwiki.txt diff --git a/ftplugin/vimwiki.vim b/bundle/vimwiki/ftplugin/vimwiki.vim similarity index 100% rename from ftplugin/vimwiki.vim rename to bundle/vimwiki/ftplugin/vimwiki.vim diff --git a/plugin/vimwiki.vim b/bundle/vimwiki/plugin/vimwiki.vim similarity index 100% rename from plugin/vimwiki.vim rename to bundle/vimwiki/plugin/vimwiki.vim diff --git a/syntax/vimwiki.vim b/bundle/vimwiki/syntax/vimwiki.vim similarity index 100% rename from syntax/vimwiki.vim rename to bundle/vimwiki/syntax/vimwiki.vim diff --git a/syntax/vimwiki_default.vim b/bundle/vimwiki/syntax/vimwiki_default.vim similarity index 100% rename from syntax/vimwiki_default.vim rename to bundle/vimwiki/syntax/vimwiki_default.vim diff --git a/syntax/vimwiki_media.vim b/bundle/vimwiki/syntax/vimwiki_media.vim similarity index 100% rename from syntax/vimwiki_media.vim rename to bundle/vimwiki/syntax/vimwiki_media.vim diff --git a/autoload/vst/default.css b/bundle/vst/autoload/vst/default.css similarity index 100% rename from autoload/vst/default.css rename to bundle/vst/autoload/vst/default.css diff --git a/autoload/vst/lightblue.css b/bundle/vst/autoload/vst/lightblue.css similarity index 100% rename from autoload/vst/lightblue.css rename to bundle/vst/autoload/vst/lightblue.css diff --git a/autoload/vst/myhtmlvst.vim b/bundle/vst/autoload/vst/myhtmlvst.vim similarity index 100% rename from autoload/vst/myhtmlvst.vim rename to bundle/vst/autoload/vst/myhtmlvst.vim diff --git a/autoload/vst/s5ui/blank.gif b/bundle/vst/autoload/vst/s5ui/blank.gif similarity index 100% rename from autoload/vst/s5ui/blank.gif rename to bundle/vst/autoload/vst/s5ui/blank.gif diff --git a/autoload/vst/s5ui/framing.css b/bundle/vst/autoload/vst/s5ui/framing.css similarity index 100% rename from autoload/vst/s5ui/framing.css rename to bundle/vst/autoload/vst/s5ui/framing.css diff --git a/autoload/vst/s5ui/iepngfix.htc b/bundle/vst/autoload/vst/s5ui/iepngfix.htc similarity index 100% rename from autoload/vst/s5ui/iepngfix.htc rename to bundle/vst/autoload/vst/s5ui/iepngfix.htc diff --git a/autoload/vst/s5ui/opera.css b/bundle/vst/autoload/vst/s5ui/opera.css similarity index 100% rename from autoload/vst/s5ui/opera.css rename to bundle/vst/autoload/vst/s5ui/opera.css diff --git a/autoload/vst/s5ui/outline.css b/bundle/vst/autoload/vst/s5ui/outline.css similarity index 100% rename from autoload/vst/s5ui/outline.css rename to bundle/vst/autoload/vst/s5ui/outline.css diff --git a/autoload/vst/s5ui/pretty.css b/bundle/vst/autoload/vst/s5ui/pretty.css similarity index 100% rename from autoload/vst/s5ui/pretty.css rename to bundle/vst/autoload/vst/s5ui/pretty.css diff --git a/autoload/vst/s5ui/print.css b/bundle/vst/autoload/vst/s5ui/print.css similarity index 100% rename from autoload/vst/s5ui/print.css rename to bundle/vst/autoload/vst/s5ui/print.css diff --git a/autoload/vst/s5ui/s5-core.css b/bundle/vst/autoload/vst/s5ui/s5-core.css similarity index 100% rename from autoload/vst/s5ui/s5-core.css rename to bundle/vst/autoload/vst/s5ui/s5-core.css diff --git a/autoload/vst/s5ui/slides.css b/bundle/vst/autoload/vst/s5ui/slides.css similarity index 100% rename from autoload/vst/s5ui/slides.css rename to bundle/vst/autoload/vst/s5ui/slides.css diff --git a/autoload/vst/s5ui/slides.js b/bundle/vst/autoload/vst/s5ui/slides.js similarity index 100% rename from autoload/vst/s5ui/slides.js rename to bundle/vst/autoload/vst/s5ui/slides.js diff --git a/autoload/vst/vst.vim b/bundle/vst/autoload/vst/vst.vim similarity index 100% rename from autoload/vst/vst.vim rename to bundle/vst/autoload/vst/vst.vim diff --git a/doc2/test.png b/bundle/vst/doc2/test.png similarity index 100% rename from doc2/test.png rename to bundle/vst/doc2/test.png diff --git a/doc2/vst-s5.txt b/bundle/vst/doc2/vst-s5.txt similarity index 100% rename from doc2/vst-s5.txt rename to bundle/vst/doc2/vst-s5.txt diff --git a/doc2/vst.txt b/bundle/vst/doc2/vst.txt similarity index 100% rename from doc2/vst.txt rename to bundle/vst/doc2/vst.txt diff --git a/plugin/vstplugin.vim b/bundle/vst/plugin/vstplugin.vim similarity index 100% rename from plugin/vstplugin.vim rename to bundle/vst/plugin/vstplugin.vim diff --git a/plugin/zoom.vim b/bundle/zoom/plugin/zoom.vim similarity index 100% rename from plugin/zoom.vim rename to bundle/zoom/plugin/zoom.vim diff --git a/bundle_consider/ctrlp/autoload/ctrlp.vim b/bundle_consider/ctrlp/autoload/ctrlp.vim new file mode 100644 index 0000000..9b5f04a --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp.vim @@ -0,0 +1,1513 @@ +" ============================================================================= +" File: autoload/ctrlp.vim +" Description: Fuzzy file, buffer, mru and tag finder. +" Author: Kien Nguyen +" Version: 1.6.9 +" ============================================================================= + +" Static variables {{{1 +fu! s:opts() + " Options + let hst = exists('+hi') ? &hi : 20 + let opts = { + \ 'g:ctrlp_arg_map': ['s:argmap', 0], + \ 'g:ctrlp_by_filename': ['s:byfname', 0], + \ 'g:ctrlp_clear_cache_on_exit': ['s:clrex', 1], + \ 'g:ctrlp_custom_ignore': ['s:usrign', ''], + \ 'g:ctrlp_dont_split': ['s:nosplit', 'netrw'], + \ 'g:ctrlp_dotfiles': ['s:dotfiles', 1], + \ 'g:ctrlp_extensions': ['s:extensions', []], + \ 'g:ctrlp_follow_symlinks': ['s:folsym', 0], + \ 'g:ctrlp_highlight_match': ['s:mathi', [1, 'Identifier']], + \ 'g:ctrlp_jump_to_buffer': ['s:jmptobuf', 2], + \ 'g:ctrlp_lazy_update': ['s:lazy', 0], + \ 'g:ctrlp_match_window_bottom': ['s:mwbottom', 1], + \ 'g:ctrlp_match_window_reversed': ['s:mwreverse', 1], + \ 'g:ctrlp_max_depth': ['s:maxdepth', 40], + \ 'g:ctrlp_max_files': ['s:maxfiles', 20000], + \ 'g:ctrlp_max_height': ['s:mxheight', 10], + \ 'g:ctrlp_max_history': ['s:maxhst', hst], + \ 'g:ctrlp_open_multi': ['s:opmul', '1v'], + \ 'g:ctrlp_open_new_file': ['s:newfop', 'v'], + \ 'g:ctrlp_prompt_mappings': ['s:urprtmaps', 0], + \ 'g:ctrlp_regexp_search': ['s:regexp', 0], + \ 'g:ctrlp_root_markers': ['s:rmarkers', []], + \ 'g:ctrlp_split_window': ['s:splitwin', 0], + \ 'g:ctrlp_status_func': ['s:status', {}], + \ 'g:ctrlp_use_caching': ['s:caching', 1], + \ 'g:ctrlp_use_migemo': ['s:migemo', 0], + \ 'g:ctrlp_user_command': ['s:usrcmd', ''], + \ 'g:ctrlp_working_path_mode': ['s:pathmode', 2], + \ } + for [ke, va] in items(opts) + exe 'let' va[0] '=' string(exists(ke) ? eval(ke) : va[1]) + endfo + if !exists('g:ctrlp_newcache') | let g:ctrlp_newcache = 0 | en + let s:maxdepth = min([s:maxdepth, 100]) + let s:mxheight = max([s:mxheight, 1]) + let s:glob = s:dotfiles ? '.*\|*' : '*' + let s:igntype = empty(s:usrign) ? -1 : type(s:usrign) + " Extensions + let g:ctrlp_builtins = 2 + if !empty(s:extensions) | for each in s:extensions + exe 'ru autoload/ctrlp/'.each.'.vim' + endfo | en + " Keymaps + let [s:lcmap, s:prtmaps] = ['nn ', { + \ 'PrtBS()': ['', ''], + \ 'PrtDelete()': [''], + \ 'PrtDeleteWord()': [''], + \ 'PrtClear()': [''], + \ 'PrtSelectMove("j")': ['', ''], + \ 'PrtSelectMove("k")': ['', ''], + \ 'PrtSelectMove("t")': [''], + \ 'PrtSelectMove("b")': [''], + \ 'PrtHistory(-1)': [''], + \ 'PrtHistory(1)': [''], + \ 'AcceptSelection("e")': ['', '', '<2-LeftMouse>'], + \ 'AcceptSelection("h")': ['', '', ''], + \ 'AcceptSelection("t")': ['', ''], + \ 'AcceptSelection("v")': ['', ''], + \ 'ToggleFocus()': [''], + \ 'ToggleRegex()': [''], + \ 'ToggleByFname()': [''], + \ 'ToggleType(1)': ['', ''], + \ 'ToggleType(-1)': ['', ''], + \ 'PrtExpandDir()': ['', ''], + \ 'PrtInsert("w")': ['', ''], + \ 'PrtInsert("s")': [''], + \ 'PrtInsert("v")': [''], + \ 'PrtInsert("+")': [''], + \ 'PrtCurStart()': [''], + \ 'PrtCurEnd()': [''], + \ 'PrtCurLeft()': ['', '', ''], + \ 'PrtCurRight()': ['', ''], + \ 'PrtClearCache()': [''], + \ 'PrtDeleteMRU()': [''], + \ 'CreateNewFile()': [''], + \ 'MarkToOpen()': [''], + \ 'OpenMulti()': [''], + \ 'PrtExit()': ['', '', ''], + \ }] + if !has('gui_running') && ( has('win32') || has('win64') ) + cal add(s:prtmaps['PrtBS()'], remove(s:prtmaps['PrtCurLeft()'], 0)) + en + if type(s:urprtmaps) == 4 + cal extend(s:prtmaps, s:urprtmaps) + en + let s:prtunmaps = [ + \ 'PrtBS()', + \ 'PrtDelete()', + \ 'PrtDeleteWord()', + \ 'PrtClear()', + \ 'PrtCurStart()', + \ 'PrtCurEnd()', + \ 'PrtCurLeft()', + \ 'PrtCurRight()', + \ 'PrtHistory(-1)', + \ 'PrtHistory(1)', + \ 'PrtInsert("w")', + \ 'PrtInsert("s")', + \ 'PrtInsert("v")', + \ 'PrtInsert("+")', + \ ] + " Global options + let s:glbs = { 'magic': 1, 'to': 1, 'tm': 0, 'sb': 1, 'hls': 0, 'im': 0, + \ 'report': 9999, 'sc': 0, 'ss': 0, 'siso': 0, 'mfd': 200, 'mouse': 'n', + \ 'gcr': 'a:blinkon0', 'ic': 1, 'scs': 1 } + if s:lazy + cal extend(s:glbs, { 'ut': ( s:lazy > 1 ? s:lazy : 250 ) }) + en +endf +cal s:opts() + +let s:lash = ctrlp#utils#lash() + +" Limiters +let [s:compare_lim, s:nocache_lim, s:mltipats_lim] = [3000, 4000, 2000] + +" Regexp +let s:fpats = { + \ '^\(\\|\)\|\(\\|\)$': '\\|', + \ '^\\\(zs\|ze\|<\|>\)': '^\\\(zs\|ze\|<\|>\)', + \ '^\S\*$': '\*', + \ '^\S\\?$': '\\?', + \ } +" * Open & Close {{{1 +fu! s:Open() + if exists('g:ctrlp_log') && g:ctrlp_log + let cadir = ctrlp#utils#cachedir() + sil! exe 'redi! >' cadir.s:lash(cadir).'ctrlp.log' + en + cal s:getenv() + sil! exe 'noa keepa' ( s:mwbottom ? 'bo' : 'to' ) '1new ControlP' + let [s:bufnr, s:prompt] = [bufnr('%'), ['', '', '']] + abc + if !exists('s:hstry') + let hst = filereadable(s:gethistloc()[1]) ? s:gethistdata() : [''] + let s:hstry = empty(hst) || !s:maxhst ? [''] : hst + en + for [ke, va] in items(s:glbs) + sil! exe 'let s:glb_'.ke.' = &'.ke.' | let &'.ke.' = '.string(va) + endfo + if s:opmul != '0' && has('signs') + sign define ctrlpmark text=+> texthl=Search + en + cal s:setupblank() +endf + +fu! s:Close() + try | noa bun! | cat | noa clo! | endt + cal s:unmarksigns() + for key in keys(s:glbs) + sil! exe 'let &'.key.' = s:glb_'.key + endfo + if exists('s:glb_acd') | let &acd = s:glb_acd | en + let [g:ctrlp_lines, g:ctrlp_allfiles] = [[], []] + if s:winres[1] >= &lines && s:winres[2] == winnr('$') + exe s:winres[0] + en + unl! s:focus s:hisidx s:hstgot s:marked s:statypes s:cline s:init s:savestr + \ g:ctrlp_nolimit + cal ctrlp#recordhist() + cal s:onexit() + if exists('g:ctrlp_log') && g:ctrlp_log + sil! redi END + en + ec +endf +" * Clear caches {{{1 +fu! ctrlp#clr(...) + exe 'let g:ctrlp_new'.( exists('a:1') ? a:1 : 'cache' ).' = 1' +endf + +fu! ctrlp#clra(...) + if !exists('a:1') && ( has('dialog_gui') || has('dialog_con') ) && + \ confirm("Delete all cache files?", "&OK\n&Cancel") != 1 | retu | en + let cache_dir = ctrlp#utils#cachedir() + if isdirectory(cache_dir) + let cache_files = split(s:glbpath(cache_dir, '**', 1), "\n") + let eval = '!isdirectory(v:val) && v:val !~ ''\= 2 && cmd[:1] != ['', ''] + " Find a repo root + cal s:findroot(getcwd(), cmd[0], 0, 1) + if !exists('s:vcsroot') + " Try the secondary_command + retu len(cmd) == 3 ? cmd[2] : '' + en + unl! s:vcsroot + let s:vcscmd = s:lash == '\' ? 1 : 0 + retu cmd[1] + en +endf +fu! s:Buffers() "{{{1 + let allbufs = [] + for each in range(1, bufnr('$')) + if getbufvar(each, '&bl') && each != s:crbufnr + let bufname = bufname(each) + if strlen(bufname) && getbufvar(each, '&ma') && bufname != 'ControlP' + cal add(allbufs, fnamemodify(bufname, ':.')) + en + en + endfo + retu allbufs +endf +" * MatchedItems() {{{1 +fu! s:MatchIt(items, pat, limit, mfunc) + let newitems = [] + for item in a:items + if call(a:mfunc, [item, a:pat]) >= 0 | cal add(newitems, item) | en + if a:limit > 0 && len(newitems) >= a:limit | brea | en + endfo + retu newitems +endf + +fu! s:MatchedItems(items, pats, limit, bfn) + let [items, pats, limit] = [a:items, a:pats, a:limit] + " If items is longer than s:mltipats_lim, use only the last pattern + if len(items) >= s:mltipats_lim || ( exists('s:height') && s:height > 20 ) + let pats = [pats[-1]] + en + cal map(pats, 'substitute(v:val, "\\\~", "\\\\\\~", "g")') + if !s:regexp | cal map(pats, 'escape(v:val, ".")') | en + let [type, ipt, mfunc] = [s:type(1), s:ispathitem(), 'match'] + if s:byfname && ipt && a:bfn + let mfunc = 's:matchfname' + elsei s:itemtype > 2 + let types = { 'tabs': 's:matchtabs', 'tabe': 's:matchtabe' } + if has_key(types, type) | let mfunc = types[type] | en + en + " Loop through the patterns + for pat in pats + " If newitems is small, set it as items to search in + if exists('newitems') && len(newitems) < limit + let items = copy(newitems) + en + if empty(items) " End here + retu exists('newitems') ? newitems : [] + el " Start here, go back up if have 2 or more in pats + " Loop through the items + let newitems = s:MatchIt(items, pat, limit, mfunc) + en + endfo + let s:matches = len(newitems) + retu newitems +endf +fu! s:SplitPattern(str, ...) "{{{1 + let str = s:sanstail(a:str) + if s:migemo && s:regexp && len(str) > 0 && executable('cmigemo') + let str = s:migemo(str) + en + let s:savestr = str + if s:regexp || match(str, '\\\(zs\|ze\|<\|>\)\|[*|]') >= 0 + let array = [s:regexfilter(str)] + el + let array = split(str, '\zs') + if exists('+ssl') && !&ssl + cal map(array, 'substitute(v:val, "\\", "\\\\\\", "g")') + en + " Literal ^ and $ + for each in ['^', '$'] + cal map(array, 'substitute(v:val, "\\\'.each.'", "\\\\\\'.each.'", "g")') + endfo + en + " Build the new pattern + let nitem = !empty(array) ? array[0] : '' + let newpats = [nitem] + if len(array) > 1 + for item in range(1, len(array) - 1) + " Separator + let sep = a:0 ? a:1 : '[^'.array[item-1].']\{-}' + let nitem .= sep.array[item] + cal add(newpats, nitem) + endfo + en + retu newpats +endf +" * BuildPrompt() {{{1 +fu! s:Render(lines, pat, bfn) + let lines = a:lines + " Setup the match window + let s:height = min([len(lines), s:mxheight]) + sil! exe '%d _ | res' s:height + " Print the new items + if empty(lines) + setl nocul + cal setline(1, ' == NO ENTRIES ==') + cal s:unmarksigns() + if s:dohighlight() | cal clearmatches() | en + retu + en + setl cul + " Sort if not MRU + if ( s:itemtype != 2 && !exists('g:ctrlp_nolimit') ) + \ || !empty(join(s:prompt, '')) + let s:compat = a:pat + cal sort(lines, 's:mixedsort') + unl s:compat + en + if s:mwreverse | cal reverse(lines) | en + let s:matched = copy(lines) + cal map(lines, '"> ".v:val') + cal setline(1, lines) + exe 'keepj norm!' s:mwreverse ? 'G' : 'gg' + keepj norm! 1| + cal s:unmarksigns() + cal s:remarksigns() + if exists('s:cline') && !exists('g:ctrlp_nolimit') + cal cursor(s:cline, 1) + en + " Highlighting + if s:dohighlight() + cal s:highlight(a:pat, s:mathi[1] == '' ? 'Identifier' : s:mathi[1], a:bfn) + en +endf + +fu! s:Update(str) + " Get the previous string if existed + let oldstr = exists('s:savestr') ? s:savestr : '' + let pats = s:SplitPattern(a:str) + " Get the new string sans tail + let notail = substitute(a:str, '\\\\', '\', 'g') + let notail = substitute(notail, '\\\@= 0 + let bfn = s:byfname + en + let lines = exists('g:ctrlp_nolimit') && empty(notail) ? copy(g:ctrlp_lines) + \ : s:MatchedItems(g:ctrlp_lines, copy(pats), s:mxheight, bfn) + cal s:Render(lines, pats[-1], bfn) +endf + +fu! s:ForceUpdate() + let [estr, prt] = ['"\', copy(s:prompt)] + cal map(prt, 'escape(v:val, estr)') + cal s:Update(join(prt, '')) +endf + +fu! s:BuildPrompt(upd, ...) + let base = ( s:regexp ? 'r' : '>' ).( s:byfname ? 'd' : '>' ).'> ' + let [estr, prt] = ['"\', copy(s:prompt)] + cal map(prt, 'escape(v:val, estr)') + let str = join(prt, '') + let lazy = empty(str) || exists('s:force') || !has('autocmd') ? 0 : s:lazy + if a:upd && !lazy && ( s:matches || s:regexp + \ || match(str, '[*|]') >= 0 || match(str, '\\\:\([^:]\|\\:\)*$') >= 0 ) + sil! cal s:Update(str) + en + sil! cal ctrlp#statusline() + " Toggling + let [hiactive, hicursor, base] = exists('a:1') && !a:1 + \ ? ['Comment', 'Comment', tr(base, '>', '-')] + \ : ['Normal', 'Constant', base] + let hibase = 'Comment' + " Build it + redr + exe 'echoh' hibase '| echon "'.base.'" + \ | echoh' hiactive '| echon "'.prt[0].'" + \ | echoh' hicursor '| echon "'.prt[1].'" + \ | echoh' hiactive '| echon "'.prt[2].'" | echoh None' + " Append the cursor at the end + if empty(prt[1]) && ( !exists('a:1') || ( exists('a:1') && a:1 ) ) + exe 'echoh' hibase '| echon "_" | echoh None' + en +endf +" ** Prt Actions {{{1 +" Editing {{{2 +fu! s:PrtClear() + unl! s:hstgot + let [s:prompt, s:matches] = [['', '', ''], 1] + cal s:BuildPrompt(1) +endf + +fu! s:PrtAdd(char) + unl! s:hstgot + let s:prompt[0] = s:prompt[0] . a:char + cal s:BuildPrompt(1) +endf + +fu! s:PrtBS() + unl! s:hstgot + let [prt, s:matches] = [s:prompt, 1] + let prt[0] = strpart(prt[0], -1, strlen(prt[0])) + cal s:BuildPrompt(1) +endf + +fu! s:PrtDelete() + unl! s:hstgot + let [prt, s:matches] = [s:prompt, 1] + let prt[1] = strpart(prt[2], 0, 1) + let prt[2] = strpart(prt[2], 1) + cal s:BuildPrompt(1) +endf + +fu! s:PrtDeleteWord() + unl! s:hstgot + let [str, s:matches] = [s:prompt[0], 1] + let str = match(str, '\W\w\+$') >= 0 ? matchstr(str, '^.\+\W\ze\w\+$') + \ : match(str, '\w\W\+$') >= 0 ? matchstr(str, '^.\+\w\ze\W\+$') + \ : match(str, '\s\+$') >= 0 ? matchstr(str, '^.*[^ \t]\+\ze\s\+$') + \ : match(str, ' ') <= 0 ? '' : str + let s:prompt[0] = str + cal s:BuildPrompt(1) +endf + +fu! s:PrtInsert(type) + unl! s:hstgot + " Insert current word, search register, last visual and clipboard + let s:prompt[0] .= a:type == 'w' ? s:crword + \ : a:type == 's' ? getreg('/') + \ : a:type == 'v' ? s:crvisual + \ : a:type == '+' ? substitute(getreg('+'), '\n', '\\n', 'g') : s:prompt[0] + cal s:BuildPrompt(1) +endf + +fu! s:PrtExpandDir() + let prt = s:prompt + if prt[0] == '' | retu | en + let [base, seed] = s:headntail(prt[0]) + let dirs = s:dircompl(base, seed) + if len(dirs) == 1 + let prt[0] = dirs[0] + elsei len(dirs) > 1 + let prt[0] .= s:findcommon(dirs, prt[0]) + en + cal s:BuildPrompt(1) +endf +" Movement {{{2 +fu! s:PrtCurLeft() + if !empty(s:prompt[0]) + let prt = s:prompt + let prt[2] = prt[1] . prt[2] + let prt[1] = strpart(prt[0], strlen(prt[0]) - 1) + let prt[0] = strpart(prt[0], -1, strlen(prt[0])) + en + cal s:BuildPrompt(0) +endf + +fu! s:PrtCurRight() + let prt = s:prompt + let prt[0] = prt[0] . prt[1] + let prt[1] = strpart(prt[2], 0, 1) + let prt[2] = strpart(prt[2], 1) + cal s:BuildPrompt(0) +endf + +fu! s:PrtCurStart() + let prt = s:prompt + let str = join(prt, '') + let [prt[0], prt[1], prt[2]] = ['', strpart(str, 0, 1), strpart(str, 1)] + cal s:BuildPrompt(0) +endf + +fu! s:PrtCurEnd() + let prt = s:prompt + let [prt[0], prt[1], prt[2]] = [join(prt, ''), '', ''] + cal s:BuildPrompt(0) +endf + +fu! s:PrtSelectMove(dir) + let torb = { 't': 'gg', 'b': 'G' } + exe 'keepj norm!' ( a:dir =~ '^[tb]$' ? torb[a:dir] : a:dir ) + if !exists('g:ctrlp_nolimit') | let s:cline = line('.') | en + if line('$') > winheight(0) | cal s:BuildPrompt(0, s:Focus()) | en +endf + +fu! s:PrtSelectJump(char, ...) + let lines = copy(s:matched) + if exists('a:1') + cal map(lines, 'split(v:val, ''[\/]\ze[^\/]\+$'')[-1]') + en + " Cycle through matches, use s:jmpchr to store last jump + let chr = escape(a:char, '.~') + if match(lines, '\c^'.chr) >= 0 + " If not exists or does but not for the same char + let pos = match(lines, '\c^'.chr) + if !exists('s:jmpchr') || ( exists('s:jmpchr') && s:jmpchr[0] != chr ) + let [jmpln, s:jmpchr] = [pos, [chr, pos]] + elsei exists('s:jmpchr') && s:jmpchr[0] == chr + " Start of lines + if s:jmpchr[1] == -1 | let s:jmpchr[1] = pos | en + let npos = match(lines, '\c^'.chr, s:jmpchr[1] + 1) + let [jmpln, s:jmpchr] = [npos == -1 ? pos : npos, [chr, npos]] + en + keepj exe jmpln + 1 + if !exists('g:ctrlp_nolimit') | let s:cline = line('.') | en + if line('$') > winheight(0) | cal s:BuildPrompt(0, s:Focus()) | en + en +endf +" Misc {{{2 +fu! s:PrtClearCache() + if s:itemtype == 1 | retu | en + if s:itemtype == 0 + cal ctrlp#clr() + elsei s:itemtype > 2 + cal ctrlp#clr(s:statypes[s:itemtype][1]) + en + if s:itemtype == 2 + let g:ctrlp_lines = ctrlp#mrufiles#list(-1, 1) + el + cal s:SetLines(s:itemtype) + en + let s:force = 1 + cal s:BuildPrompt(1) + unl s:force +endf + +fu! s:PrtDeleteMRU() + if s:itemtype == 2 + let s:force = 1 + let g:ctrlp_lines = ctrlp#mrufiles#list(-1, 2) + cal s:BuildPrompt(1) + unl s:force + en +endf + +fu! s:PrtExit() + if !has('autocmd') | cal s:Close() | en + exe s:currwin.'winc w' +endf + +fu! s:PrtHistory(...) + if !s:maxhst | retu | en + let [str, hst, s:matches] = [join(s:prompt, ''), s:hstry, 1] + " Save to history if not saved before + let [hst[0], hslen] = [exists('s:hstgot') ? hst[0] : str, len(hst)] + let idx = exists('s:hisidx') ? s:hisidx + a:1 : a:1 + " Limit idx within 0 and hslen + let idx = idx < 0 ? 0 : idx >= hslen ? hslen > 1 ? hslen - 1 : 0 : idx + let s:prompt = [hst[idx], '', ''] + let [s:hisidx, s:hstgot, s:force] = [idx, 1, 1] + cal s:BuildPrompt(1) + unl s:force +endf +"}}}1 +" * MapKeys() {{{1 +fu! s:MapKeys(...) + " Normal keys + let pfunc = exists('a:1') && !a:1 ? 'PrtSelectJump' : 'PrtAdd' + let dojmp = s:byfname && pfunc == 'PrtSelectJump' ? ', 1' : '' + for each in range(32, 126) + let cmd = "nn \ \ \ :\cal \%s(\"%s\"%s)\" + exe printf(cmd, each, pfunc, escape(nr2char(each), '"|\'), dojmp) + endfo + if exists('a:2') | retu | en + " Special keys + cal call('s:MapSpecs', exists('a:1') && !a:1 ? [1] : []) +endf + +fu! s:MapSpecs(...) + " Correct arrow keys in terminal + if ( has('termresponse') && match(v:termresponse, "\") >= 0 ) + \ || &term =~? 'xterm\|\','\B ','\C ','\D '] + exe s:lcmap.' ['.each + endfo + en + if exists('a:1') + for ke in s:prtunmaps | for kp in s:prtmaps[ke] + exe s:lcmap kp '' + endfo | endfo + el + for [ke, va] in items(s:prtmaps) | for kp in va + exe s:lcmap kp ':cal '.ke.'' + endfo | endfo + en +endf +" * Toggling {{{1 +fu! s:Focus() + retu !exists('s:focus') ? 1 : s:focus +endf + +fu! s:ToggleFocus() + let s:focus = !exists('s:focus') || s:focus ? 0 : 1 + cal s:MapKeys(s:focus) + cal s:BuildPrompt(0, s:focus) +endf + +fu! s:ToggleRegex() + let s:regexp = s:regexp ? 0 : 1 + cal s:PrtSwitcher() +endf + +fu! s:ToggleByFname() + if s:ispathitem() + let s:byfname = s:byfname ? 0 : 1 + cal s:MapKeys(s:Focus(), 1) + cal s:PrtSwitcher() + en +endf + +fu! s:ToggleType(dir) + let ext = exists('g:ctrlp_ext_vars') ? len(g:ctrlp_ext_vars) : 0 + let s:itemtype = s:walker(g:ctrlp_builtins + ext, s:itemtype, a:dir) + if s:byfname && !s:ispathitem() | let s:byfname = 0 | en + unl! g:ctrlp_nolimit + cal s:SetLines(s:itemtype) + cal s:PrtSwitcher() + if has('syntax') && exists('g:syntax_on') + cal s:syntax() + en +endf + +fu! s:PrtSwitcher() + let [s:force, s:matches] = [1, 1] + cal s:BuildPrompt(1, s:Focus()) + unl s:force +endf +fu! s:SetWD(...) "{{{1 + let pathmode = s:pathmode + if exists('a:1') && len(a:1) | if type(a:1) + cal ctrlp#setdir(a:1) | retu + el + let pathmode = a:1 + en | en + if !exists('a:2') + if match(s:crfile, '^\<.\+\>://.*') >= 0 || !pathmode | retu | en + if exists('+acd') | let [s:glb_acd, &acd] = [&acd, 0] | en + cal ctrlp#setdir(s:crfpath) + en + if pathmode == 1 | retu | en + let markers = ['root.dir','.git/','.hg/','_darcs/','.bzr/'] + if type(s:rmarkers) == 3 && !empty(s:rmarkers) + cal extend(markers, s:rmarkers, 0) + en + for marker in markers + cal s:findroot(getcwd(), marker, 0, 0) + if exists('s:foundroot') | brea | en + endfo + unl! s:foundroot +endf +" * AcceptSelection() {{{1 +fu! ctrlp#acceptfile(mode, matchstr, ...) + let [md, filpath] = [a:mode, fnamemodify(a:matchstr, ':p')] + cal s:PrtExit() + let [bufnr, tail] = [bufnr(filpath), s:tail()] + if s:jmptobuf && bufnr > 0 && md =~ 'e\|t' + let [jmpb, bufwinnr] = [1, bufwinnr(bufnr)] + let buftab = s:jmptobuf > 1 ? s:buftab(bufnr, md) : [0, 0] + let j2l = a:0 ? a:1 : str2nr(matchstr(tail, '^ +\D*\zs\d\+\ze\D*')) + en + " Switch to existing buffer or open new one + if exists('jmpb') && bufwinnr > 0 && md != 't' + exe bufwinnr.'winc w' + if j2l | cal ctrlp#j2l(j2l) | en + elsei exists('jmpb') && buftab[0] + exe 'tabn' buftab[0] + exe buftab[1].'winc w' + if j2l | cal ctrlp#j2l(j2l) | en + el + " Determine the command to use + let useb = bufnr > 0 && empty(tail) + let cmd = + \ md == 't' || s:splitwin == 1 ? ( useb ? 'tab sb' : 'tabe' ) : + \ md == 'h' || s:splitwin == 2 ? ( useb ? 'sb' : 'new' ) : + \ md == 'v' || s:splitwin == 3 ? ( useb ? 'vert sb' : 'vne' ) : + \ call('ctrlp#normcmd', useb ? ['b', 'bo vert sb'] : ['e']) + " Reset &switchbuf option + let [swb, &swb] = [&swb, ''] + " Open new window/buffer + let fid = useb ? bufnr : filpath + cal call('s:openfile', a:0 ? [cmd, fid, ' +'.a:1] : [cmd, fid]) + let &swb = swb + en +endf + +fu! s:SpecInputs(str) + let [str, type] = [a:str, s:type()] + if str == '..' && type =~ '\v^(0|dir)$' + cal s:parentdir(getcwd()) + cal s:SetLines(s:itemtype) + cal s:PrtClear() + retu 1 + elsei str =~ '^[\/]$' && type =~ '\v^(0|dir)$' + cal s:SetWD(2, 0) + cal s:SetLines(s:itemtype) + cal s:PrtClear() + retu 1 + elsei str == '?' + cal s:PrtExit() + let hlpwin = &columns > 159 ? '| vert res 80' : '' + sil! exe 'bo vert h ctrlp-mappings' hlpwin '| norm! 0' + retu 1 + en + retu 0 +endf + +fu! s:AcceptSelection(mode) + let str = join(s:prompt, '') + if a:mode == 'e' | if s:SpecInputs(str) | retu | en | en + " Get the selected line + let line = getline('.') + if a:mode != 'e' && s:itemtype < 3 && line == ' == NO ENTRIES ==' + \ && str !~ '\v^(\.\.|/|\\|\?)$' + cal s:CreateNewFile(a:mode) | retu + en + let matchstr = matchstr(line, '^> \zs.\+\ze\t*$') + if empty(matchstr) | retu | en + " Do something with it + let actfunc = s:itemtype < 3 ? 'ctrlp#acceptfile' + \ : g:ctrlp_ext_vars[s:itemtype - ( g:ctrlp_builtins + 1 )]['accept'] + cal call(actfunc, [a:mode, matchstr]) +endf +fu! s:CreateNewFile(...) "{{{1 + let [md, str] = ['', join(s:prompt, '')] + if empty(str) | retu | en + if s:argmap && !a:0 + " Get the extra argument + let md = s:argmaps(md, 1) + if md == 'cancel' | retu | en + en + let str = s:sanstail(str) + let [base, fname] = s:headntail(str) + if fname =~ '^[\/]$' | retu | en + if exists('s:marked') && len(s:marked) + " Use the first marked file's path + let path = fnamemodify(values(s:marked)[0], ':p:h') + let base = path.s:lash(path).base + let str = fnamemodify(base.s:lash.fname, ':.') + en + if base != '' | if isdirectory(ctrlp#utils#mkdir(base)) + let optyp = str | en | el | let optyp = fname + en + if !exists('optyp') | retu | en + let filpath = fnamemodify(optyp, ':p') + cal s:insertcache(str) + cal s:PrtExit() + let cmd = md == 'r' ? ctrlp#normcmd('e') : + \ s:newfop =~ '1\|t' || ( a:0 && a:1 == 't' ) || md == 't' ? 'tabe' : + \ s:newfop =~ '2\|h' || ( a:0 && a:1 == 'h' ) || md == 'h' ? 'new' : + \ s:newfop =~ '3\|v' || ( a:0 && a:1 == 'v' ) || md == 'v' ? 'vne' : + \ ctrlp#normcmd('e') + cal s:openfile(cmd, filpath) +endf +" * OpenMulti() {{{1 +fu! s:MarkToOpen() + if s:bufnr <= 0 || s:opmul == '0' + \ || ( s:itemtype > g:ctrlp_builtins && s:type() !~ 'rts' ) + retu + en + let matchstr = matchstr(getline('.'), '^> \zs.\+\ze\t*$') + if empty(matchstr) | retu | en + let filpath = fnamemodify(matchstr, ':p') + if exists('s:marked') && s:dictindex(s:marked, filpath) > 0 + " Unmark and remove the file from s:marked + let key = s:dictindex(s:marked, filpath) + cal remove(s:marked, key) + if empty(s:marked) | unl! s:marked | en + if has('signs') + exe 'sign unplace' key 'buffer='.s:bufnr + en + el + " Add to s:marked and place a new sign + if exists('s:marked') + let vac = s:vacantdict(s:marked) + let key = empty(vac) ? len(s:marked) + 1 : vac[0] + let s:marked = extend(s:marked, { key : filpath }) + el + let [key, s:marked] = [1, { 1 : filpath }] + en + if has('signs') + exe 'sign place' key 'line='.line('.').' name=ctrlpmark buffer='.s:bufnr + en + en + sil! cal ctrlp#statusline() +endf + +fu! s:OpenMulti() + if !exists('s:marked') || s:opmul == '0' | retu | en + " Get the options + let [nr, md, ucr] = matchlist(s:opmul, '\v^(\d+)=(\w)=(\w)=$')[1:3] + if s:argmap + let md = s:argmaps(md) + if md == 'cancel' | retu | en + en + let mkd = values(s:marked) + cal s:sanstail(join(s:prompt, '')) + cal s:PrtExit() + " Move the cursor to a reusable window + let emptytail = empty(s:tail()) + let useb = bufnr(mkd[0]) > 0 && emptytail + let fst = call('ctrlp#normcmd', useb ? ['b', 'bo vert sb'] : ['e']) + " Check if it's a replaceable buffer + let repabl = ( empty(bufname('%')) && empty(&l:ft) ) || s:nosplit() + " Commands for the rest of the files + let [ic, cmds] = [1, { 'v': ['vert sb', 'vne'], 'h': ['sb', 'new'], + \ 't': ['tab sb', 'tabe'] }] + let [swb, &swb] = [&swb, ''] + " Open the files + for va in mkd + let bufnr = bufnr(va) + let useb = bufnr > 0 && emptytail + let snd = md != '' && has_key(cmds, md) + \ ? ( useb ? cmds[md][0] : cmds[md][1] ) : ( useb ? 'vert sb' : 'vne' ) + let fid = useb ? bufnr : va + cal s:openfile(ic == 1 && ( ucr == 'r' || repabl ) ? fst : snd, fid) + if ( nr != '' && nr > 1 && nr < ic ) || ( nr == '' && ic > 1 ) + sil! hid clo! | el | let ic += 1 + en + endfo + let &swb = swb +endf +" ** Helper functions {{{1 +" Sorting {{{2 +fu! ctrlp#complen(s1, s2) + " By length + let [len1, len2] = [strlen(a:s1), strlen(a:s2)] + retu len1 == len2 ? 0 : len1 > len2 ? 1 : -1 +endf + +fu! s:compmatlen(s1, s2) + " By match length + let mln1 = s:shortest(s:matchlens(a:s1, s:compat)) + let mln2 = s:shortest(s:matchlens(a:s2, s:compat)) + retu mln1 == mln2 ? 0 : mln1 > mln2 ? 1 : -1 +endf + +fu! s:comptime(s1, s2) + " By last modified time + let [time1, time2] = [getftime(a:s1), getftime(a:s2)] + retu time1 == time2 ? 0 : time1 < time2 ? 1 : -1 +endf + +fu! s:comparent(s1, s2) + " By same parent dir + if match(s:crfpath, escape(getcwd(), '.^$*\')) >= 0 + let [as1, as2] = [fnamemodify(a:s1, ':p'), fnamemodify(a:s2, ':p')] + let [loc1, loc2] = [s:getparent(as1), s:getparent(as2)] + if loc1 == s:crfpath && loc2 != s:crfpath | retu -1 | en + if loc2 == s:crfpath && loc1 != s:crfpath | retu 1 | en + retu 0 + en + retu 0 +endf + +fu! s:matchlens(str, pat, ...) + if empty(a:pat) || index(['^','$'], a:pat) >= 0 | retu {} | en + let st = exists('a:1') ? a:1 : 0 + let lens = exists('a:2') ? a:2 : {} + let nr = exists('a:3') ? a:3 : 0 + if match(a:str, a:pat, st) != -1 + let [mst, mnd] = [matchstr(a:str, a:pat, st), matchend(a:str, a:pat, st)] + let lens = extend(lens, { nr : [len(mst), mst] }) + let lens = s:matchlens(a:str, a:pat, mnd, lens, nr + 1) + en + retu lens +endf + +fu! s:shortest(lens) + retu min(map(values(a:lens), 'v:val[0]')) +endf + +fu! s:mixedsort(s1, s2) + let [cml, cln] = [s:compmatlen(a:s1, a:s2), ctrlp#complen(a:s1, a:s2)] + if s:itemtype < 3 && s:height < 51 + let par = s:comparent(a:s1, a:s2) + if s:height < 21 + retu 6 * cml + 3 * par + 2 * s:comptime(a:s1, a:s2) + cln + en + retu 3 * cml + 2 * par + cln + en + retu 2 * cml + cln +endf +" Statusline {{{2 +fu! ctrlp#statusline() + if !exists('s:statypes') + let s:statypes = [ + \ ['files', 'fil'], + \ ['buffers', 'buf'], + \ ['mru files', 'mru'], + \ ] + if exists('g:ctrlp_ext_vars') + cal map(copy(g:ctrlp_ext_vars), + \ 'add(s:statypes, [ v:val["lname"], v:val["sname"] ])') + en + en + let tps = s:statypes + let max = len(tps) - 1 + let nxt = tps[s:walker(max, s:itemtype, 1)][1] + let prv = tps[s:walker(max, s:itemtype, -1)][1] + let item = tps[s:itemtype][0] + let focus = s:Focus() ? 'prt' : 'win' + let byfname = s:byfname ? 'file' : 'path' + let marked = s:opmul != '0' ? + \ exists('s:marked') ? ' <'.s:dismrk().'>' : ' <+>' : '' + if has_key(s:status, 'main') + let args = [focus, byfname, s:regexp, prv, item, nxt, marked] + let &l:stl = call(s:status['main'], args) + el + let item = '%#Character# '.item.' %*' + let focus = '%#LineNr# '.focus.' %*' + let byfname = '%#Character# '.byfname.' %*' + let regex = s:regexp ? '%#LineNr# regex %*' : '' + let slider = ' <'.prv.'>={'.item.'}=<'.nxt.'>' + let dir = ' %=%<%#LineNr# '.getcwd().' %*' + let &l:stl = focus.byfname.regex.slider.marked.dir + en +endf + +fu! s:dismrk() + retu has('signs') ? '+'.len(s:marked) : + \ '%<'.join(values(map(copy(s:marked), 'split(v:val, "[\\/]")[-1]')), ', ') +endf + +fu! ctrlp#progress(enum) + if has('macunix') || has('mac') | sl 1m | en + let &l:stl = has_key(s:status, 'prog') ? call(s:status['prog'], [a:enum]) + \ : '%#Function# '.a:enum.' %* %=%<%#LineNr# '.getcwd().' %*' + redr +endf +" Paths {{{2 +fu! s:dircompl(be, sd) + if a:sd == '' | retu [] | en + let [be, sd] = a:be == '' ? [getcwd(), a:sd] : [a:be, a:be.s:lash(a:be).a:sd] + let dirs = ctrlp#rmbasedir(split(globpath(be, a:sd.'*/'), "\n")) + cal filter(dirs, '!match(v:val, escape(sd, ''~$.\''))' + \ . ' && match(v:val, ''\v(^|[\/])\.{1,2}[\/]$'') < 0') + retu dirs +endf + +fu! s:findcommon(items, seed) + let [items, id, cmn, ic] = [copy(a:items), strlen(a:seed), '', 0] + cal map(items, 'strpart(v:val, id)') + for char in split(items[0], '\zs') + for item in items[1:] + if item[ic] != char | let brk = 1 | brea | en + endfo + if exists('brk') | brea | en + let cmn .= char + let ic += 1 + endfo + retu cmn +endf + +fu! s:headntail(str) + let parts = split(a:str, '[\/]\ze[^\/]\+[\/:]\?$') + retu len(parts) == 1 ? ['', parts[0]] : len(parts) == 2 ? parts : [] +endf + +fu! s:lash(...) + retu match(a:0 ? a:1 : getcwd(), '[\/]$') < 0 ? s:lash : '' +endf + +fu! s:ispathitem() + let ext = s:itemtype - ( g:ctrlp_builtins + 1 ) + retu s:itemtype < 3 + \ || ( s:itemtype > 2 && g:ctrlp_ext_vars[ext]['type'] == 'path' ) +endf + +fu! ctrlp#dirnfile(entries) + let [items, cwd] = [[[], []], getcwd().s:lash()] + for each in a:entries + let etype = getftype(each) + if s:igntype >= 0 && s:usrign(each, etype) | con | en + if etype == 'dir' + if s:dotfiles | if match(each, '[\/]\.\{1,2}$') < 0 + cal add(items[0], each) + en | el + cal add(items[0], each) + en + elsei etype == 'link' + if s:folsym + let isfile = !isdirectory(each) + if !s:samerootsyml(each, isfile, cwd) + cal add(items[isfile], each) + en + en + elsei etype == 'file' + cal add(items[1], each) + en + endfo + retu items +endf + +fu! s:usrign(item, type) + retu s:igntype == 1 ? a:item =~ s:usrign + \ : s:igntype == 4 && has_key(s:usrign, a:type) && s:usrign[a:type] != '' + \ ? a:item =~ s:usrign[a:type] : 0 +endf + +fu! s:samerootsyml(each, isfile, cwd) + let resolve = fnamemodify(resolve(a:each), ':p:h') + let resolve .= s:lash(resolve) + retu !( stridx(resolve, a:cwd) && ( stridx(a:cwd, resolve) || a:isfile ) ) +endf + +fu! ctrlp#rmbasedir(items) + let cwd = getcwd() + if a:items != [] && !stridx(a:items[0], cwd) + let idx = strlen(cwd) + ( match(cwd, '[\/]$') < 0 ) + retu map(a:items, 'strpart(v:val, idx)') + en + retu a:items +endf + +fu! s:parentdir(curr) + let parent = s:getparent(a:curr) + if parent != a:curr | cal ctrlp#setdir(parent) | en +endf + +fu! s:getparent(item) + let parent = substitute(a:item, '[\/][^\/]\+[\/:]\?$', '', '') + if parent == '' || match(parent, '[\/]') < 0 + let parent .= s:lash + en + retu parent +endf + +fu! s:findroot(curr, mark, depth, type) + let [depth, notfound] = [a:depth + 1, empty(s:glbpath(a:curr, a:mark, 1))] + if !notfound || depth > s:maxdepth + if notfound | cal ctrlp#setdir(s:cwd) | en + if a:type && depth <= s:maxdepth + let s:vcsroot = a:curr + elsei !a:type && !notfound + cal ctrlp#setdir(a:curr) | let s:foundroot = 1 + en + el + let parent = s:getparent(a:curr) + if parent != a:curr | cal s:findroot(parent, a:mark, depth, a:type) | en + en +endf + +fu! s:glbpath(...) + let cond = v:version > 702 || ( v:version == 702 && has('patch051') ) + retu call('globpath', cond ? a:000 : a:000[:1]) +endf + +fu! ctrlp#fnesc(path) + retu exists('*fnameescape') ? fnameescape(a:path) : escape(a:path, " %#*?|<\"\n") +endf + +fu! ctrlp#setdir(path, ...) + let cmd = exists('a:1') ? a:1 : 'lc!' + try + exe cmd.' '.ctrlp#fnesc(a:path) + cat + cal ctrlp#msg("Can't change working directory.") + endt +endf +" Highlighting {{{2 +fu! s:syntax() + sy match CtrlPNoEntries '^ == NO ENTRIES ==$' + sy match CtrlPLinePre '^>' + hi link CtrlPNoEntries Error + if exists('g:colors_name') + exe 'hi CtrlPLinePre '.( has("gui_running") ? 'gui' : 'cterm' ).'fg=bg' + en +endf + +fu! s:highlight(pat, grp, bfn) + cal clearmatches() + if !empty(a:pat) && s:ispathitem() + let pat = substitute(a:pat, '\~', '\\~', 'g') + let pat = s:regexp + \ ? substitute(pat, '\\\@ \\zs', 'g') + \ : escape(pat, '.') + " Match only filename + if s:byfname && a:bfn + let pat = substitute(pat, '\[\^\(.\{-}\)\]\\{-}', '[^\\/\1]\\{-}', 'g') + let pat = substitute(pat, '$', '\\ze[^\\/]*$', 'g') + en + cal matchadd(a:grp, '\c'.pat) + cal matchadd('CtrlPLinePre', '^>') + en +endf + +fu! s:dohighlight() + retu len(s:mathi) > 1 && s:mathi[0] && exists('*clearmatches') +endf +" Prompt history {{{2 +fu! s:gethistloc() + let utilcadir = ctrlp#utils#cachedir() + let cache_dir = utilcadir.s:lash(utilcadir).'hist' + retu [cache_dir, cache_dir.s:lash(cache_dir).'cache.txt'] +endf + +fu! s:gethistdata() + retu ctrlp#utils#readfile(s:gethistloc()[1]) +endf + +fu! ctrlp#recordhist() + let str = join(s:prompt, '') + if empty(str) || !s:maxhst | retu | en + let hst = s:hstry + if len(hst) > 1 && hst[1] == str | retu | en + cal extend(hst, [str], 1) + if len(hst) > s:maxhst | cal remove(hst, s:maxhst, -1) | en + cal ctrlp#utils#writecache(hst, s:gethistloc()[0], s:gethistloc()[1]) +endf +" Signs {{{2 +fu! s:unmarksigns() + if !s:dosigns() | retu | en + for key in keys(s:marked) + exe 'sign unplace' key 'buffer='.s:bufnr + endfo +endf + +fu! s:remarksigns() + if !s:dosigns() | retu | en + for ic in range(1, len(s:matched)) + let key = s:dictindex(s:marked, fnamemodify(s:matched[ic - 1], ':p')) + if key > 0 + exe 'sign place' key 'line='.ic.' name=ctrlpmark buffer='.s:bufnr + en + endfo +endf + +fu! s:dosigns() + retu exists('s:marked') && s:bufnr > 0 && s:opmul != '0' && has('signs') +endf +" Dictionaries {{{2 +fu! s:dictindex(dict, expr) + for key in keys(a:dict) + if a:dict[key] == a:expr | retu key | en + endfo + retu -1 +endf + +fu! s:vacantdict(dict) + retu filter(range(1, max(keys(a:dict))), '!has_key(a:dict, v:val)') +endf +" Buffers {{{2 +fu! s:buftab(bufnr, md) + for tabnr in range(1, tabpagenr('$')) + if tabpagenr() == tabnr && a:md == 't' | con | en + let buflist = tabpagebuflist(tabnr) + if index(buflist, a:bufnr) >= 0 + for winnr in range(1, tabpagewinnr(tabnr, '$')) + if buflist[winnr - 1] == a:bufnr + retu [tabnr, winnr] + en + endfo + en + endfo + retu [0, 0] +endf + +fu! s:normbuf() + let winnrs = [] + for each in range(1, winnr('$')) + let bufnr = winbufnr(each) + if getbufvar(bufnr, '&bl') && empty(getbufvar(bufnr, '&bt')) + \ && getbufvar(bufnr, '&ma') + cal add(winnrs, each) + en + endfo + retu winnrs +endf + +fu! ctrlp#normcmd(cmd, ...) + if s:nosplit() + retu a:cmd + en + let norwins = s:normbuf() + for each in norwins + let bufnr = winbufnr(each) + if empty(bufname(bufnr)) && empty(getbufvar(bufnr, '&ft')) + let fstemp = each + brea + en + endfo + let norwin = empty(norwins) ? 0 : norwins[0] + if norwin + if index(norwins, winnr()) < 0 + exe ( exists('fstemp') ? fstemp : norwin ).'winc w' + en + retu a:cmd + en + retu a:0 ? a:1 : 'bo vne' +endf + +fu! s:nosplit() + retu !empty(s:nosplit) && match([bufname('%'), &l:ft], s:nosplit) >= 0 +endf + +fu! s:setupblank() + setl noswf nobl nonu nowrap nolist nospell nocuc wfh + setl fdc=0 fdl=99 tw=0 bt=nofile bh=unload + if v:version > 702 + setl nornu noudf cc=0 + en +endf + +fu! s:leavepre() + if s:clrex && ( !has('clientserver') || + \ ( has('clientserver') && len(split(serverlist(), "\n")) == 1 ) ) + cal ctrlp#clra(1) + en +endf + +fu! s:checkbuf() + if exists('s:init') | retu | en + if exists('s:bufnr') && s:bufnr > 0 + exe s:bufnr.'bw!' + en +endf +" Arguments {{{2 +fu! s:tail() + if exists('s:optail') && !empty('s:optail') + let tailpref = match(s:optail, '^\s*+') < 0 ? ' +' : ' ' + retu tailpref.s:optail + en + retu '' +endf + +fu! s:sanstail(str) + let [str, pat] = [substitute(a:str, '\\\\', '\', 'g'), '\([^:]\|\\:\)*$'] + unl! s:optail + if match(str, '\\\@= 0 + let s:optail = matchstr(str, '\\\@= 0 + retu char + elsei char =~# "\\v\|\|\" + cal s:BuildPrompt(0) + retu 'cancel' + en + retu a:md +endf +" Misc {{{2 +fu! s:getenv() + let [s:cwd, s:winres] = [getcwd(), [winrestcmd(), &lines, winnr('$')]] + let [s:crfile, s:crfpath] = [expand('%:p', 1), expand('%:p:h', 1)] + let [s:crword, s:crline] = [expand(''), getline('.')] + let [s:tagfiles, s:crcursor] = [s:tagfiles(), getpos('.')] + let [s:crbufnr, s:crvisual] = [bufnr('%'), s:lastvisual()] + if exists('g:ctrlp_extensions') && index(g:ctrlp_extensions, 'undo') >= 0 + \ && v:version > 702 && has('patch005') && exists('*undotree') + let s:undotree = undotree() + en + let s:currwin = s:mwbottom ? winnr() : winnr() + has('autocmd') +endf + +fu! s:lastvisual() + let cview = winsaveview() + let [ovreg, ovtype] = [getreg('v'), getregtype('v')] + let [oureg, outype] = [getreg('"'), getregtype('"')] + sil! norm! gv"vy + let selected = substitute(getreg('v'), '\n', '\\n', 'g') + cal setreg('v', ovreg, ovtype) + cal setreg('"', oureg, outype) + cal winrestview(cview) + retu selected +endf + +fu! s:migemo(str) + let str = a:str + let dict = s:glbpath(&rtp, printf("dict/%s/migemo-dict", &enc), 1) + if !len(dict) + let dict = s:glbpath(&rtp, "dict/migemo-dict", 1) + en + if len(dict) + let [tokens, str, cmd] = [split(str, '\s'), '', 'cmigemo -v -w %s -d %s'] + for token in tokens + let rtn = system(printf(cmd, shellescape(token), shellescape(dict))) + let str .= !v:shell_error && len(rtn) > 0 ? '.*'.rtn : token + endfo + en + retu str +endf + +fu! ctrlp#msg(msg) + redr | echoh Identifier | echon "CtrlP: ".a:msg | echoh None +endf + +fu! s:openfile(cmd, filpath, ...) + let cmd = a:cmd =~ '^[eb]$' && &modified ? 'hid '.a:cmd : a:cmd + let cmd = cmd =~ '^tab' ? tabpagenr('$').cmd : cmd + let tail = a:0 ? a:1 : s:tail() + try + exe cmd.tail.' '.ctrlp#fnesc(a:filpath) + cat + fina + if !empty(tail) + sil! norm! zvzz + en + if exists('*haslocaldir') + cal ctrlp#setdir(getcwd(), haslocaldir() ? 'lc!' : 'cd!') + en + endt +endf + +fu! s:writecache(read_cache, cache_file) + if !a:read_cache && ( ( g:ctrlp_newcache || !filereadable(a:cache_file) ) + \ && s:caching || len(g:ctrlp_allfiles) > s:nocache_lim ) + if len(g:ctrlp_allfiles) > s:nocache_lim | let s:caching = 1 | en + cal ctrlp#utils#writecache(g:ctrlp_allfiles) + en +endf + +fu! ctrlp#j2l(nr) + exe a:nr + sil! norm! zvzz +endf + +fu! s:regexfilter(str) + let str = a:str + for key in keys(s:fpats) | if match(str, key) >= 0 + let str = substitute(str, s:fpats[key], '', 'g') + en | endfo + retu str +endf + +fu! s:walker(max, pos, dir) + retu a:dir > 0 ? a:pos < a:max ? a:pos + 1 : 0 : a:pos > 0 ? a:pos - 1 : a:max +endf + +fu! s:matchfname(item, pat) + retu match(split(a:item, s:lash)[-1], a:pat) +endf + +fu! s:matchtabs(item, pat) + retu match(split(a:item, '\t\+')[0], a:pat) +endf + +fu! s:matchtabe(item, pat) + retu match(split(a:item, '\t\+[^\t]\+$')[0], a:pat) +endf + +fu! s:maxf(len) + retu s:maxfiles && a:len > s:maxfiles ? 1 : 0 +endf + +fu! s:insertcache(str) + let [data, g:ctrlp_newcache, str] = [g:ctrlp_allfiles, 1, a:str] + if strlen(str) <= strlen(data[0]) + let pos = 0 + elsei strlen(str) >= strlen(data[-1]) + let pos = len(data) - 1 + el + let pos = 0 + for each in data + if strlen(each) > strlen(str) | brea | en + let pos += 1 + endfo + en + cal insert(data, str, pos) + cal s:writecache(0, ctrlp#utils#cachefile()) +endf +" Extensions {{{2 +fu! s:type(...) + let ext = s:itemtype - ( g:ctrlp_builtins + 1 ) + retu s:itemtype > 2 ? g:ctrlp_ext_vars[ext][a:0 ? 'type' : 'sname'] : s:itemtype +endf + +fu! s:tagfiles() + retu filter(map(tagfiles(), 'fnamemodify(v:val, ":p")'), 'filereadable(v:val)') +endf + +fu! s:onexit() + if exists('g:ctrlp_ext_vars') + cal map(filter(copy(g:ctrlp_ext_vars), + \ 'has_key(v:val, "exit")'), 'eval(v:val["exit"])') + en +endf + +fu! ctrlp#allbufs() + let bufs = [] + for each in range(1, bufnr('$')) + if getbufvar(each, '&bl') + let bufname = bufname(each) + if strlen(bufname) && bufname != 'ControlP' + cal add(bufs, fnamemodify(bufname, ':p')) + en + en + endfo + cal filter(bufs, 'filereadable(v:val)') + retu bufs +endf + +fu! ctrlp#exit() + cal s:PrtExit() +endf + +fu! ctrlp#prtclear() + cal s:PrtClear() +endf + +fu! ctrlp#setlines(type) + cal s:SetLines(a:type) +endf +"}}}1 +" * Initialization {{{1 +fu! s:SetLines(type) + let s:itemtype = a:type + let types = [ + \ 's:Files()', + \ 's:Buffers()', + \ 'ctrlp#mrufiles#list(-1)', + \ ] + if exists('g:ctrlp_ext_vars') + cal map(copy(g:ctrlp_ext_vars), 'add(types, v:val["init"])') + en + let g:ctrlp_lines = eval(types[a:type]) +endf + +fu! ctrlp#init(type, ...) + if exists('s:init') | retu | en + let [s:matches, s:init] = [1, 1] + cal s:Open() + cal s:SetWD(a:0 ? a:1 : '') + cal s:MapKeys() + cal s:SetLines(a:type) + cal s:BuildPrompt(1) + if has('syntax') && exists('g:syntax_on') | cal s:syntax() | en +endf +if has('autocmd') "{{{1 + aug CtrlPAug + au! + au BufEnter ControlP cal s:checkbuf() + au BufLeave ControlP cal s:Close() + au VimLeavePre * cal s:leavepre() + if s:lazy + au CursorHold ControlP cal s:ForceUpdate() + en + aug END +en "}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/autoload/ctrlp/buffertag.vim b/bundle_consider/ctrlp/autoload/ctrlp/buffertag.vim new file mode 100644 index 0000000..e16308e --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp/buffertag.vim @@ -0,0 +1,235 @@ +" ============================================================================= +" File: autoload/ctrlp/buffertag.vim +" Description: Buffer Tag extension +" Maintainer: Kien Nguyen +" Credits: Much of the code was taken from tagbar.vim by Jan Larres, plus +" a few lines from taglist.vim by Yegappan Lakshmanan and from +" buffertag.vim by Takeshi Nishida. +" ============================================================================= + +" Init {{{1 +if exists('g:loaded_ctrlp_buftag') && g:loaded_ctrlp_buftag + fini +en +let g:loaded_ctrlp_buftag = 1 + +let s:buftag_var = { + \ 'init': 'ctrlp#buffertag#init(s:crfile)', + \ 'accept': 'ctrlp#buffertag#accept', + \ 'lname': 'buffer tags', + \ 'sname': 'bft', + \ 'exit': 'ctrlp#buffertag#exit()', + \ 'type': 'tabs', + \ } + +let g:ctrlp_ext_vars = exists('g:ctrlp_ext_vars') && !empty(g:ctrlp_ext_vars) + \ ? add(g:ctrlp_ext_vars, s:buftag_var) : [s:buftag_var] + +let s:id = g:ctrlp_builtins + len(g:ctrlp_ext_vars) + +fu! s:opts() + let opts = { + \ 'g:ctrlp_buftag_systemenc': ['s:enc', &enc], + \ 'g:ctrlp_buftag_ctags_bin': ['s:bin', ''], + \ 'g:ctrlp_buftag_types': ['s:usr_types', ''], + \ } + for [ke, va] in items(opts) + exe 'let' va[0] '=' string(exists(ke) ? eval(ke) : va[1]) + endfo +endf +cal s:opts() + +fu! s:bins() + let bins = [ + \ 'ctags-exuberant', + \ 'exuberant-ctags', + \ 'exctags', + \ '/usr/local/bin/ctags', + \ '/opt/local/bin/ctags', + \ 'ctags', + \ 'ctags.exe', + \ 'tags', + \ ] + if empty(s:bin) + for bin in bins | if executable(bin) + let s:bin = bin + brea + en | endfo + el + let s:bin = expand(s:bin, 1) + en +endf +cal s:bins() + +" s:types {{{2 +let s:types = { + \ 'asm' : '%sasm%sasm%sdlmt', + \ 'aspperl': '%sasp%sasp%sfsv', + \ 'aspvbs' : '%sasp%sasp%sfsv', + \ 'awk' : '%sawk%sawk%sf', + \ 'beta' : '%sbeta%sbeta%sfsv', + \ 'c' : '%sc%sc%sdgsutvf', + \ 'cpp' : '%sc++%sc++%snvdtcgsuf', + \ 'cs' : '%sc#%sc#%sdtncEgsipm', + \ 'cobol' : '%scobol%scobol%sdfgpPs', + \ 'eiffel' : '%seiffel%seiffel%scf', + \ 'erlang' : '%serlang%serlang%sdrmf', + \ 'expect' : '%stcl%stcl%scfp', + \ 'fortran': '%sfortran%sfortran%spbceiklmntvfs', + \ 'html' : '%shtml%shtml%saf', + \ 'java' : '%sjava%sjava%spcifm', + \ 'javascript': '%sjavascript%sjavascript%sf', + \ 'lisp' : '%slisp%slisp%sf', + \ 'lua' : '%slua%slua%sf', + \ 'make' : '%smake%smake%sm', + \ 'pascal' : '%spascal%spascal%sfp', + \ 'perl' : '%sperl%sperl%sclps', + \ 'php' : '%sphp%sphp%scdvf', + \ 'python' : '%spython%spython%scmf', + \ 'rexx' : '%srexx%srexx%ss', + \ 'ruby' : '%sruby%sruby%scfFm', + \ 'scheme' : '%sscheme%sscheme%ssf', + \ 'sh' : '%ssh%ssh%sf', + \ 'csh' : '%ssh%ssh%sf', + \ 'zsh' : '%ssh%ssh%sf', + \ 'slang' : '%sslang%sslang%snf', + \ 'sml' : '%ssml%ssml%secsrtvf', + \ 'sql' : '%ssql%ssql%scFPrstTvfp', + \ 'tcl' : '%stcl%stcl%scfmp', + \ 'vera' : '%svera%svera%scdefgmpPtTvx', + \ 'verilog': '%sverilog%sverilog%smcPertwpvf', + \ 'vim' : '%svim%svim%savf', + \ 'yacc' : '%syacc%syacc%sl', + \ } + +cal map(s:types, 'printf(v:val, "--language-force=", " --", "-types=")') + +if executable('jsctags') + cal extend(s:types, { 'javascript': { 'args': '-f -', 'bin': 'jsctags' } }) +en + +if type(s:usr_types) == 4 + cal extend(s:types, s:usr_types) +en +" Utilities {{{1 +fu! s:validfile(fname, ftype) + if ( !empty(a:fname) || !empty(a:ftype) ) && filereadable(a:fname) + \ && index(keys(s:types), a:ftype) >= 0 | retu 1 | en + retu 0 +endf + +fu! s:exectags(cmd) + if exists('+ssl') + let [ssl, &ssl] = [&ssl, 0] + en + if &sh =~ 'cmd\.exe' + let [sxq, &sxq, shcf, &shcf] = [&sxq, '"', &shcf, '/s /c'] + en + let output = system(a:cmd) + if &sh =~ 'cmd\.exe' + let [&sxq, &shcf] = [sxq, shcf] + en + if exists('+ssl') + let &ssl = ssl + en + retu output +endf + +fu! s:exectagsonfile(fname, ftype) + let [ags, ft] = ['-f - --sort=no --excmd=pattern --fields=nKs ', a:ftype] + if type(s:types[ft]) == 1 + let ags .= s:types[ft] + let bin = s:bin + elsei type(s:types[ft]) == 4 + let ags = s:types[ft]['args'] + let bin = expand(s:types[ft]['bin'], 1) + en + if empty(bin) | retu '' | en + let cmd = s:esctagscmd(bin, ags, a:fname) + if empty(cmd) | retu '' | en + let output = s:exectags(cmd) + if v:shell_error || output =~ 'Warning: cannot open' | retu '' | en + retu output +endf + +fu! s:esctagscmd(bin, args, ...) + if exists('+ssl') + let [ssl, &ssl] = [&ssl, 0] + en + let fname = a:0 == 1 ? shellescape(a:1) : '' + let cmd = shellescape(a:bin).' '.a:args.' '.fname + if exists('+ssl') + let &ssl = ssl + en + if has('iconv') + let last = s:enc != &enc ? s:enc : !empty($LANG) ? $LANG : &enc + let cmd = iconv(cmd, &enc, last) + en + if empty(cmd) + cal ctrlp#msg("Encoding conversion failed!") + en + retu cmd +endf + +fu! s:process(fname, ftype) + if !s:validfile(a:fname, a:ftype) | retu [] | endif + let ftime = getftime(a:fname) + if has_key(g:ctrlp_buftags, a:fname) + \ && g:ctrlp_buftags[a:fname]['time'] >= ftime + let lines = g:ctrlp_buftags[a:fname]['lines'] + el + let data = s:exectagsonfile(a:fname, a:ftype) + let [raw, lines] = [split(data, '\n\+'), []] + for line in raw | if len(split(line, ';"')) == 2 + let parsed_line = s:parseline(line) + if parsed_line != '' + cal add(lines, parsed_line) + en + en | endfo + let cache = { a:fname : { 'time': ftime, 'lines': lines } } + cal extend(g:ctrlp_buftags, cache) + en + retu lines +endf + +fu! s:parseline(line) + let eval = '\v^([^\t]+)\t(.+)\t\/\^(.+)\$\/\;\"\t(.+)\tline(no)?\:(\d+)' + let vals = matchlist(a:line, eval) + if empty(vals) | retu '' | en + let [bufnr, bufname] = [bufnr(vals[2]), fnamemodify(vals[2], ':p:t')] + retu vals[1].' '.vals[4].'|'.bufnr.':'.bufname.'|'.vals[6].'| '.vals[3] +endf +" Public {{{1 +fu! ctrlp#buffertag#init(fname) + let fname = exists('s:bufname') ? s:bufname : a:fname + let bufs = exists('s:btmode') && s:btmode ? ctrlp#allbufs() : [fname] + let lines = [] + for each in bufs + let tftype = get(split(getbufvar(each, '&ft'), '\.'), 0, '') + cal extend(lines, s:process(each, tftype)) + endfo + sy match CtrlPTabExtra '\zs\t.*\ze$' + hi link CtrlPTabExtra Comment + retu lines +endf + +fu! ctrlp#buffertag#accept(mode, str) + let vals = matchlist(a:str, '\v^[^\t]+\t+[^\t|]+\|(\d+)\:[^\t|]+\|(\d+)\|') + let [bufnm, linenr] = [fnamemodify(bufname(str2nr(vals[1])), ':p'), vals[2]] + cal ctrlp#acceptfile(a:mode, bufnm, linenr) +endf + +fu! ctrlp#buffertag#cmd(mode, ...) + let s:btmode = a:mode + if a:0 && !empty(a:1) + let s:bufname = fnamemodify(a:1, ':p') + en + retu s:id +endf + +fu! ctrlp#buffertag#exit() + unl! s:btmode s:bufname +endf +"}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/autoload/ctrlp/dir.vim b/bundle_consider/ctrlp/autoload/ctrlp/dir.vim new file mode 100644 index 0000000..76b2dfc --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp/dir.vim @@ -0,0 +1,93 @@ +" ============================================================================= +" File: autoload/ctrlp/dir.vim +" Description: Directory extension +" Author: Kien Nguyen +" ============================================================================= + +" Init {{{1 +if exists('g:loaded_ctrlp_dir') && g:loaded_ctrlp_dir + fini +en +let [g:loaded_ctrlp_dir, g:ctrlp_newdir] = [1, 0] + +let s:ars = [ + \ 's:maxdepth', + \ 's:maxfiles', + \ 's:compare_lim', + \ 's:glob', + \ ] + +let s:dir_var = { + \ 'init': 'ctrlp#dir#init('.join(s:ars, ', ').')', + \ 'accept': 'ctrlp#dir#accept', + \ 'lname': 'dirs', + \ 'sname': 'dir', + \ 'type': 'path', + \ } + +let g:ctrlp_ext_vars = exists('g:ctrlp_ext_vars') && !empty(g:ctrlp_ext_vars) + \ ? add(g:ctrlp_ext_vars, s:dir_var) : [s:dir_var] + +let s:id = g:ctrlp_builtins + len(g:ctrlp_ext_vars) +" Utilities {{{1 +fu! s:globdirs(dirs, depth) + let entries = split(globpath(a:dirs, s:glob), "\n") + let [dirs, depth] = [ctrlp#dirnfile(entries)[0], a:depth + 1] + cal extend(g:ctrlp_alldirs, dirs) + if !empty(dirs) && !s:max(len(g:ctrlp_alldirs), s:maxfiles) + \ && depth <= s:maxdepth + sil! cal ctrlp#progress(len(g:ctrlp_alldirs)) + cal s:globdirs(join(dirs, ','), depth) + en +endf + +fu! s:max(len, max) + retu a:max && a:len > a:max ? 1 : 0 +endf +" Public {{{1 +fu! ctrlp#dir#init(...) + let s:cwd = getcwd() + for each in range(len(s:ars)) + exe 'let' s:ars[each] '=' string(eval('a:'.(each + 1))) + endfo + let cadir = ctrlp#utils#cachedir().ctrlp#utils#lash().s:dir_var['sname'] + let cafile = cadir.ctrlp#utils#lash().ctrlp#utils#cachefile(s:dir_var['sname']) + if g:ctrlp_newdir || !filereadable(cafile) + let g:ctrlp_alldirs = [] + cal s:globdirs(s:cwd, 0) + cal ctrlp#rmbasedir(g:ctrlp_alldirs) + let read_cache = 0 + el + let g:ctrlp_alldirs = ctrlp#utils#readfile(cafile) + let read_cache = 1 + en + if len(g:ctrlp_alldirs) <= s:compare_lim + cal sort(g:ctrlp_alldirs, 'ctrlp#complen') + en + if !read_cache + cal ctrlp#utils#writecache(g:ctrlp_alldirs, cadir, cafile) + let g:ctrlp_newdir = 0 + en + retu g:ctrlp_alldirs +endf + +fu! ctrlp#dir#accept(mode, str) + let path = a:mode == 'h' ? getcwd() : s:cwd.ctrlp#utils#lash().a:str + if a:mode =~ 't\|v\|h' + cal ctrlp#exit() + en + cal ctrlp#setdir(path, a:mode =~ 't\|h' ? 'chd!' : 'lc!') + if a:mode == 'e' + sil! cal ctrlp#statusline() + cal ctrlp#setlines(s:id) + cal ctrlp#recordhist() + cal ctrlp#prtclear() + en +endf + +fu! ctrlp#dir#id() + retu s:id +endf +"}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/autoload/ctrlp/line.vim b/bundle_consider/ctrlp/autoload/ctrlp/line.vim new file mode 100644 index 0000000..606b65a --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp/line.vim @@ -0,0 +1,65 @@ +" ============================================================================= +" File: autoload/ctrlp/line.vim +" Description: Line extension - Find a line in any buffer +" Author: Kien Nguyen +" ============================================================================= + +" User Configuration {{{1 +" Enable: +" let g:ctrlp_extensions += ['line'] +" Create A Command: +" com! CtrlPLine cal ctrlp#init(ctrlp#line#id()) +"}}} + +" Init {{{1 +if exists('g:loaded_ctrlp_line') && g:loaded_ctrlp_line + fini +en +let g:loaded_ctrlp_line = 1 + +let s:line_var = { + \ 'init': 'ctrlp#line#init()', + \ 'accept': 'ctrlp#line#accept', + \ 'lname': 'lines', + \ 'sname': 'lns', + \ 'type': 'tabe', + \ } + +let g:ctrlp_ext_vars = exists('g:ctrlp_ext_vars') && !empty(g:ctrlp_ext_vars) + \ ? add(g:ctrlp_ext_vars, s:line_var) : [s:line_var] + +let s:id = g:ctrlp_builtins + len(g:ctrlp_ext_vars) +" Public {{{1 +fu! ctrlp#line#init() + let [bufs, lines] = [ctrlp#allbufs(), []] + for each in bufs + let from_file = readfile(each) + cal map(from_file, 'tr(v:val, '' '', '' '')') + let [id, len_ff, bufnr] = [1, len(from_file), bufnr(each)] + wh id <= len_ff + let from_file[id-1] .= ' #:'.bufnr.':'.id + let id += 1 + endw + cal filter(from_file, 'v:val !~ ''^\s*\t#:\d\+:\d\+$''') + cal extend(lines, from_file) + endfo + sy match CtrlPTabExtra '\zs\t.*\ze$' + hi link CtrlPTabExtra Comment + retu lines +endf + +fu! ctrlp#line#accept(mode, str) + let info = get(split(a:str, '\t#:\ze\d\+:\d\+$'), 1, 0) + let bufnr = str2nr(get(split(info, ':'), 0, 0)) + let linenr = get(split(info, ':'), 1, 0) + if bufnr + cal ctrlp#acceptfile(a:mode, fnamemodify(bufname(bufnr), ':p'), linenr) + en +endf + +fu! ctrlp#line#id() + retu s:id +endf +"}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/autoload/ctrlp/mrufiles.vim b/bundle_consider/ctrlp/autoload/ctrlp/mrufiles.vim new file mode 100644 index 0000000..e3d6d0c --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp/mrufiles.vim @@ -0,0 +1,90 @@ +" ============================================================================= +" File: autoload/ctrlp/mrufiles.vim +" Description: Most Recently Used Files extension +" Author: Kien Nguyen +" ============================================================================= + +" Static variables {{{1 +fu! ctrlp#mrufiles#opts() + let opts = { + \ 'g:ctrlp_mruf_max': ['s:max', 250], + \ 'g:ctrlp_mruf_include': ['s:include', ''], + \ 'g:ctrlp_mruf_exclude': ['s:exclude', ''], + \ 'g:ctrlp_mruf_case_sensitive': ['s:csen', 1], + \ 'g:ctrlp_mruf_relative': ['s:relate', 0], + \ 'g:ctrlp_mruf_last_entered': ['s:mre', 0], + \ } + for [ke, va] in items(opts) + exe 'let' va[0] '=' string(exists(ke) ? eval(ke) : va[1]) + endfo + let s:csen = s:csen ? '#' : '?' +endf +cal ctrlp#mrufiles#opts() +fu! ctrlp#mrufiles#list(bufnr, ...) "{{{1 + if s:locked | retu | en + let bufnr = a:bufnr + 0 + if bufnr > 0 + let filename = fnamemodify(bufname(bufnr), ':p') + if empty(filename) || !empty(&bt) + \ || ( !empty(s:include) && filename !~# s:include ) + \ || ( !empty(s:exclude) && filename =~# s:exclude ) + \ || !filereadable(filename) + retu + en + en + if !exists('s:cadir') || !exists('s:cafile') + let s:cadir = ctrlp#utils#cachedir().ctrlp#utils#lash().'mru' + let s:cafile = s:cadir.ctrlp#utils#lash().'cache.txt' + en + if a:0 && a:1 == 2 + cal ctrlp#utils#writecache([], s:cadir, s:cafile) + retu [] + en + " Get the list + let mrufs = ctrlp#utils#readfile(s:cafile) + " Remove non-existent files + if a:0 && a:1 == 1 + cal filter(mrufs, '!empty(ctrlp#utils#glob(v:val, 1)) && !s:excl(v:val)') + cal ctrlp#utils#writecache(mrufs, s:cadir, s:cafile) + en + " Return the list with the active buffer removed + if bufnr == -1 + let crf = fnamemodify(bufname(winbufnr(winnr('#'))), ':p') + let mrufs = empty(crf) ? mrufs : filter(mrufs, 'v:val !='.s:csen.' crf') + if s:relate + let cwd = getcwd() + cal filter(mrufs, '!stridx(v:val, cwd)') + cal ctrlp#rmbasedir(mrufs) + el + cal map(mrufs, 'fnamemodify(v:val, '':.'')') + en + retu mrufs + en + " Remove old entry + cal filter(mrufs, 'v:val !='.s:csen.' filename') + " Insert new one + cal insert(mrufs, filename) + " Remove oldest entry or entries + if len(mrufs) > s:max | cal remove(mrufs, s:max, -1) | en + cal ctrlp#utils#writecache(mrufs, s:cadir, s:cafile) +endf "}}} +fu! s:excl(fname) "{{{ + retu !empty(s:exclude) && a:fname =~# s:exclude +endf "}}} +fu! ctrlp#mrufiles#init() "{{{1 + let s:locked = 0 + aug CtrlPMRUF + au! + au BufReadPost,BufNewFile,BufWritePost * + \ cal ctrlp#mrufiles#list(expand('', 1)) + if s:mre + au BufEnter,BufUnload * + \ cal ctrlp#mrufiles#list(expand('', 1)) + en + au QuickFixCmdPre *vimgrep* let s:locked = 1 + au QuickFixCmdPost *vimgrep* let s:locked = 0 + aug END +endf +"}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/autoload/ctrlp/quickfix.vim b/bundle_consider/ctrlp/autoload/ctrlp/quickfix.vim new file mode 100644 index 0000000..606eb53 --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp/quickfix.vim @@ -0,0 +1,60 @@ +" ============================================================================= +" File: autoload/ctrlp/quickfix.vim +" Description: Quickfix extension +" Author: Kien Nguyen +" ============================================================================= + +" Init {{{1 +if exists('g:loaded_ctrlp_quickfix') && g:loaded_ctrlp_quickfix + fini +en +let g:loaded_ctrlp_quickfix = 1 + +let s:var_qf = { + \ 'init': 'ctrlp#quickfix#init()', + \ 'accept': 'ctrlp#quickfix#accept', + \ 'lname': 'quickfix', + \ 'sname': 'qfx', + \ 'type': 'line', + \ } + +let g:ctrlp_ext_vars = exists('g:ctrlp_ext_vars') && !empty(g:ctrlp_ext_vars) + \ ? add(g:ctrlp_ext_vars, s:var_qf) : [s:var_qf] + +let s:id = g:ctrlp_builtins + len(g:ctrlp_ext_vars) + +fu! s:lineout(dict) + retu printf('%s|%d:%d| %s', bufname(a:dict['bufnr']), a:dict['lnum'], + \ a:dict['col'], matchstr(a:dict['text'], '\s*\zs.*\S')) +endf +" Public {{{1 +fu! ctrlp#quickfix#init() + let g:ctrlp_nolimit = 1 + sy match CtrlPqfLineCol '|\zs\d\+:\d\+\ze|' + hi def link CtrlPqfLineCol Search + retu map(getqflist(), 's:lineout(v:val)') +endf + +fu! ctrlp#quickfix#accept(mode, str) + let items = matchlist(a:str, '^\([^|]\+\ze\)|\(\d\+\):\(\d\+\)|') + let [md, filpath] = [a:mode, fnamemodify(items[1], ':p')] + if empty(filpath) | retu | en + cal ctrlp#exit() + let cmd = md == 't' ? 'tabe' : md == 'h' ? 'new' : md == 'v' ? 'vne' + \ : ctrlp#normcmd('e') + let cmd = cmd == 'e' && &modified ? 'hid e' : cmd + try + exe cmd.' '.ctrlp#fnesc(filpath) + cat + cal ctrlp#msg("Invalid command or argument.") + fina + cal cursor(items[2], items[3]) | sil! norm! zvzz + endt +endf + +fu! ctrlp#quickfix#id() + retu s:id +endf +"}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/autoload/ctrlp/rtscript.vim b/bundle_consider/ctrlp/autoload/ctrlp/rtscript.vim new file mode 100644 index 0000000..a8cec52 --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp/rtscript.vim @@ -0,0 +1,46 @@ +" ============================================================================= +" File: autoload/ctrlp/rtscript.vim +" Description: Runtime scripts extension +" Author: Kien Nguyen +" ============================================================================= + +" Init {{{1 +if exists('g:loaded_ctrlp_rtscript') && g:loaded_ctrlp_rtscript + fini +en +let [g:loaded_ctrlp_rtscript, g:ctrlp_newrts] = [1, 0] + +let s:rtscript_var = { + \ 'init': 'ctrlp#rtscript#init()', + \ 'accept': 'ctrlp#rtscript#accept', + \ 'lname': 'runtime scripts', + \ 'sname': 'rts', + \ 'type': 'path', + \ } + +let g:ctrlp_ext_vars = exists('g:ctrlp_ext_vars') && !empty(g:ctrlp_ext_vars) + \ ? add(g:ctrlp_ext_vars, s:rtscript_var) : [s:rtscript_var] + +let s:id = g:ctrlp_builtins + len(g:ctrlp_ext_vars) +" Public {{{1 +fu! ctrlp#rtscript#init() + if g:ctrlp_newrts || !exists('g:ctrlp_rtscache') + sil! cal ctrlp#progress('Indexing...') + let entries = split(globpath(&rtp, '**/*.*'), "\n") + cal filter(entries, 'index(entries, v:val, v:key + 1) < 0') + cal map(entries, 'fnamemodify(v:val, '':.'')') + let [g:ctrlp_rtscache, g:ctrlp_newrts] = [ctrlp#dirnfile(entries)[1], 0] + en + retu g:ctrlp_rtscache +endf + +fu! ctrlp#rtscript#accept(mode, str) + cal ctrlp#acceptfile(a:mode, a:str) +endf + +fu! ctrlp#rtscript#id() + retu s:id +endf +"}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/autoload/ctrlp/tag.vim b/bundle_consider/ctrlp/autoload/ctrlp/tag.vim new file mode 100644 index 0000000..c4728f2 --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp/tag.vim @@ -0,0 +1,113 @@ +" ============================================================================= +" File: autoload/ctrlp/tag.vim +" Description: Tag file extension +" Author: Kien Nguyen +" ============================================================================= + +" Init {{{1 +if exists('g:loaded_ctrlp_tag') && g:loaded_ctrlp_tag + fini +en +let g:loaded_ctrlp_tag = 1 + +let s:tag_var = { + \ 'init': 'ctrlp#tag#init(s:tagfiles)', + \ 'accept': 'ctrlp#tag#accept', + \ 'lname': 'tags', + \ 'sname': 'tag', + \ 'type': 'tabs', + \ } + +let g:ctrlp_ext_vars = exists('g:ctrlp_ext_vars') && !empty(g:ctrlp_ext_vars) + \ ? add(g:ctrlp_ext_vars, s:tag_var) : [s:tag_var] + +let s:id = g:ctrlp_builtins + len(g:ctrlp_ext_vars) +" Utilities {{{1 +fu! s:nodup(items) + let dict = {} + for each in a:items + cal extend(dict, { each : 0 }) + endfo + retu keys(dict) +endf + +fu! s:findcount(str) + let [tg, fname] = split(a:str, '\t\+\ze[^\t]\+$') + let [fname, tgs] = [expand(fname, 1), taglist('^'.tg.'$')] + if empty(tgs) | retu [1, 1] | en + let [fnd, ct, pos] = [0, 0, 0] + for each in tgs + let ct += 1 + let fulname = fnamemodify(each["filename"], ':p') + if stridx(fulname, fname) >= 0 + \ && strlen(fname) + stridx(fulname, fname) == strlen(fulname) + let fnd += 1 + let pos = ct + en + if fnd > 1 | brea | en + endfo + retu [fnd, pos] +endf + +fu! s:filter(tags) + let [nr, alltags] = [0, a:tags] + wh 0 < 1 + if alltags[nr] =~ '^!' && alltags[nr] !~ '^!_TAG_' + let nr += 1 + con + en + if alltags[nr] =~ '^!_TAG_' && len(alltags) > nr + cal remove(alltags, nr) + el + brea + en + endw + retu alltags +endf +" Public {{{1 +fu! ctrlp#tag#init(tagfiles) + if empty(a:tagfiles) | retu [] | en + let [tagfiles, g:ctrlp_alltags] = [sort(s:nodup(a:tagfiles)), []] + for each in tagfiles + let alltags = s:filter(ctrlp#utils#readfile(each)) + cal extend(g:ctrlp_alltags, alltags) + endfo + sy match CtrlPTabExtra '\zs\t.*\ze$' + hi link CtrlPTabExtra Comment + retu g:ctrlp_alltags +endf + +fu! ctrlp#tag#accept(mode, str) + cal ctrlp#exit() + let str = matchstr(a:str, '^[^\t]\+\t\+[^\t]\+\ze\t') + let [md, tg] = [a:mode, split(str, '^[^\t]\+\zs\t')[0]] + let fnd = s:findcount(str) + let cmds = { + \ 't': ['tab sp', 'tab stj'], + \ 'h': ['sp', 'stj'], + \ 'v': ['vs', 'vert stj'], + \ 'e': ['', 'tj'], + \ } + let cmd = fnd[0] == 1 ? cmds[md][0] : cmds[md][1] + let cmd = cmd == 'tj' && &modified ? 'hid '.cmd : cmd + try + let cmd = cmd =~ '^tab' ? tabpagenr('$').cmd : cmd + if fnd[0] == 1 + if cmd != '' + exe cmd + en + exe fnd[1].'ta' tg + el + exe cmd.' '.tg + en + cat + cal ctrlp#msg("Tag not found.") + endt +endf + +fu! ctrlp#tag#id() + retu s:id +endf +"}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/autoload/ctrlp/undo.vim b/bundle_consider/ctrlp/autoload/ctrlp/undo.vim new file mode 100644 index 0000000..718c1ba --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp/undo.vim @@ -0,0 +1,121 @@ +" ============================================================================= +" File: autoload/ctrlp/undo.vim +" Description: Undo extension - Browse undo history (requires Vim 7.3.005+) +" Author: Kien Nguyen +" ============================================================================= + +" User Configuration {{{1 +" Enable: +" let g:ctrlp_extensions += ['undo'] +" Create A Command: +" com! CtrlPUndo cal ctrlp#init(ctrlp#undo#id()) +"}}} + +" Init {{{1 +if ( exists('g:loaded_ctrlp_undo') && g:loaded_ctrlp_undo ) + \ || !( v:version > 702 && has('patch005') ) + fini +en +let g:loaded_ctrlp_undo = 1 + +let s:undo_var = { + \ 'init': 'ctrlp#undo#init(s:undotree)', + \ 'accept': 'ctrlp#undo#accept', + \ 'lname': 'undo', + \ 'sname': 'udo', + \ 'type': 'line', + \ } + +let g:ctrlp_ext_vars = exists('g:ctrlp_ext_vars') && !empty(g:ctrlp_ext_vars) + \ ? add(g:ctrlp_ext_vars, s:undo_var) : [s:undo_var] + +let s:id = g:ctrlp_builtins + len(g:ctrlp_ext_vars) +" Utilities {{{1 +fu! s:flatten(tree) + let flatdict = {} + for each in a:tree + cal extend(flatdict, { each['seq'] : each['time'] }) + if has_key(each, 'alt') + cal extend(flatdict, s:flatten(each['alt'])) + en + endfo + retu flatdict +endf + +fu! s:humantime(nr) + let elapsed = localtime() - a:nr + let mins = elapsed / 60 + let hrs = elapsed / 3600 + let days = elapsed / 86400 + let wks = elapsed / 604800 + let mons = elapsed / 2592000 + let yrs = elapsed / 31536000 + let text = [ + \ ' second ago', + \ ' seconds ago', + \ ' minutes ago', + \ ' hours ago', + \ ' days ago', + \ ' weeks ago', + \ ' months ago', + \ ' years ago', + \ ] + if yrs > 1 + retu yrs.text[7] + elsei mons > 1 + retu mons.text[6] + elsei wks > 1 + retu wks.text[5] + elsei days > 1 + retu days.text[4] + elsei hrs > 1 + retu hrs.text[3] + elsei mins > 1 + retu mins.text[2] + elsei elapsed == 1 + retu elapsed.text[0] + elsei elapsed < 120 + retu elapsed.text[1] + en +endf + +fu! s:syntax() + sy match CtrlPUndoT '\d\+ \zs[^ ]\+\ze' + sy match CtrlPUndoBr '\[\|\]' + sy match CtrlPUndoNr '\[\d\+\]$' contains=CtrlPUndoBr + hi link CtrlPUndoT Directory + hi link CtrlPUndoBr Comment + hi link CtrlPUndoNr String +endf + +fu! s:dict2list(dict) + let dict = map(a:dict, 's:humantime(v:val)') + retu map(keys(dict), 'eval(''[v:val, dict[v:val]]'')') +endf + +fu! s:compval(...) + retu a:2[0] - a:1[0] +endf +" Public {{{1 +fu! ctrlp#undo#init(undo) + let entries = a:undo['entries'] + if empty(entries) | retu [] | en + cal s:syntax() + let g:ctrlp_nolimit = 1 + let entries = sort(s:dict2list(s:flatten(entries)), 's:compval') + retu map(entries, 'v:val[1]." [".v:val[0]."]"') +endf + +fu! ctrlp#undo#accept(mode, str) + let undon = matchstr(a:str, '\[\zs\d\+\ze\]') + if empty(undon) | retu | en + cal ctrlp#exit() + exe 'u' undon +endf + +fu! ctrlp#undo#id() + retu s:id +endf +"}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/autoload/ctrlp/utils.vim b/bundle_consider/ctrlp/autoload/ctrlp/utils.vim new file mode 100644 index 0000000..c086c0c --- /dev/null +++ b/bundle_consider/ctrlp/autoload/ctrlp/utils.vim @@ -0,0 +1,75 @@ +" ============================================================================= +" File: autoload/ctrlp/utils.vim +" Description: Utilities +" Author: Kien Nguyen +" ============================================================================= + +" Static variables {{{1 +fu! ctrlp#utils#lash() + retu &ssl || !exists('+ssl') ? '/' : '\' +endf +let s:lash = ctrlp#utils#lash() + +fu! s:lash(...) + retu match(a:0 ? a:1 : getcwd(), '[\/]$') < 0 ? s:lash : '' +endf + +fu! ctrlp#utils#opts() + let usrhome = $HOME.s:lash($HOME) + let cahome = exists('$XDG_CACHE_HOME') ? $XDG_CACHE_HOME : usrhome.'.cache' + let s:cache_dir = isdirectory(usrhome.'.ctrlp_cache') + \ ? usrhome.'.ctrlp_cache' : cahome.s:lash(cahome).'ctrlp' + if exists('g:ctrlp_cache_dir') + let s:cache_dir = expand(g:ctrlp_cache_dir, 1) + if isdirectory(s:cache_dir.s:lash(s:cache_dir).'.ctrlp_cache') + let s:cache_dir = s:cache_dir.s:lash(s:cache_dir).'.ctrlp_cache' + en + en +endf +cal ctrlp#utils#opts() +" Files and Directories {{{1 +fu! ctrlp#utils#cachedir() + retu s:cache_dir +endf + +fu! ctrlp#utils#cachefile(...) + let tail = exists('a:1') ? '.'.a:1 : '' + let cache_file = substitute(getcwd(), '\([\/]\|^\a\zs:\)', '%', 'g').tail.'.txt' + retu exists('a:1') ? cache_file : s:cache_dir.s:lash(s:cache_dir).cache_file +endf + +fu! ctrlp#utils#readfile(file) + if filereadable(a:file) + let data = readfile(a:file) + if empty(data) || type(data) != 3 + unl data + let data = [] + en + retu data + en + retu [] +endf + +fu! ctrlp#utils#mkdir(dir) + if exists('*mkdir') && !isdirectory(a:dir) + sil! cal mkdir(a:dir, 'p') + en + retu a:dir +endf + +fu! ctrlp#utils#writecache(lines, ...) + if isdirectory(ctrlp#utils#mkdir(exists('a:1') ? a:1 : s:cache_dir)) + sil! cal writefile(a:lines, exists('a:2') ? a:2 : ctrlp#utils#cachefile()) + if !exists('a:1') + let g:ctrlp_newcache = 0 + en + en +endf + +fu! ctrlp#utils#glob(...) + let cond = v:version > 702 || ( v:version == 702 && has('patch051') ) + retu call('glob', cond ? a:000 : [a:1]) +endf +"}}} + +" vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2 diff --git a/bundle_consider/ctrlp/doc/ctrlp.txt b/bundle_consider/ctrlp/doc/ctrlp.txt new file mode 100644 index 0000000..98989c8 --- /dev/null +++ b/bundle_consider/ctrlp/doc/ctrlp.txt @@ -0,0 +1,846 @@ +*ctrlp.txt* Fuzzy file, buffer, mru and tag finder. v1.6.9 +*CtrlP* *ControlP* *'ctrlp'* *'ctrl-p'* +=============================================================================== +# # +# :::::::: ::::::::::: ::::::::: ::: ::::::::: # +# :+: :+: :+: :+: :+: :+: :+: :+: # +# +:+ +:+ +:+ +:+ +:+ +:+ +:+ # +# +#+ +#+ +#++:++#: +#+ +#++:++#+ # +# +#+ +#+ +#+ +#+ +#+ +#+ # +# #+# #+# #+# #+# #+# #+# #+# # +# ######## ### ### ### ########## ### # +# # +=============================================================================== +CONTENTS *ctrlp-contents* + + 1. Intro........................................|ctrlp-intro| + 2. Options......................................|ctrlp-options| + 3. Commands.....................................|ctrlp-commands| + 4. Mappings.....................................|ctrlp-mappings| + 5. Input Formats................................|ctrlp-input-formats| + 6. Extensions...................................|ctrlp-extensions| + +=============================================================================== +1. Intro *ctrlp-intro* + +Full path fuzzy file, buffer, mru and tag finder with an intuitive interface. +Written in pure Vimscript for MacVim and Vim version 7.0+. Has full support for +Vim’s |regexp| as search pattern, built-in MRU files monitoring, project’s root +finder, and more. + +To enable optional extensions (tag, quickfix, dir...), see |ctrlp-extensions|. + +=============================================================================== +2. Options *ctrlp-options* + +Below are the available options and their default values:~ + + *'g:ctrlp_map'* +Use this option to change the mapping to invoke |CtrlP| in |Normal| mode: > + let g:ctrlp_map = '' +< + + *'g:ctrlp_cmd'* +Set the default opening command to use when pressing the above mapping: > + let g:ctrlp_cmd = 'CtrlP' +< + + *'g:loaded_ctrlp'* +Use this to disable the plugin completely: > + let g:loaded_ctrlp = 1 +< + + *'g:ctrlp_by_filename'* +Set this to 1 to set search by filename (not full path) as the default: > + let g:ctrlp_by_filename = 0 +< + + *'g:ctrlp_regexp_search'* +Set this to 1 to set |regexp| search as the default: > + let g:ctrlp_regexp_search = 0 +< + + *'g:ctrlp_match_window_bottom'* +Set this to 0 to show the match window at the top of the screen: > + let g:ctrlp_match_window_bottom = 1 +< + + *'g:ctrlp_match_window_reversed'* +Change the listing order of the matched files in the match window. The default +setting (1) is from bottom to top: > + let g:ctrlp_match_window_reversed = 1 +< + + *'g:ctrlp_max_height'* +Set the maximum height of the match window: > + let g:ctrlp_max_height = 10 +< + + *'g:ctrlp_jump_to_buffer'* +When opening a file, if it's already opened somewhere |CtrlP| will try to jump +to it instead of opening a new window or new tab: > + let g:ctrlp_jump_to_buffer = 2 +< + 1 - only jump to the buffer if it’s opened in the current tab. + 2 - jump tab as well if the buffer's opened in another tab. + 0 - disable this feature. + + *'g:ctrlp_working_path_mode'* +When starting up the prompt, temporarily set the working directory (i.e. the +|current-directory|) to: + 1 - the parent directory of the current file. + 2 - the nearest ancestor that contains one of these directories/files: + .git/ + .hg/ + .bzr/ + _darcs/ + root.dir + 0 - don’t manage working directory. +> + let g:ctrlp_working_path_mode = 2 +< + + *'g:ctrlp_root_markers'* +Use this to set your own root markers in addition to the default ones. Your +markers will take precedence: > + let g:ctrlp_root_markers = [''] +< +These markers (builtins and yours) will serve as identifiers for the '/' and +'\' special inputs (section 5.e) + + *'g:ctrlp_use_caching'* +Set this to 0 to disable per-session caching. When disabled, caching will still +be enabled for directories that have more than 4000 files: > + let g:ctrlp_use_caching = 1 +< +Note: you can quickly purge the cache by pressing while inside |CtrlP|. + + *'g:ctrlp_clear_cache_on_exit'* +Set this to 0 to enable cross-sessions caching by not clearing the cache files +upon exiting Vim: > + let g:ctrlp_clear_cache_on_exit = 1 +< + + *'g:ctrlp_cache_dir'* +Set the directory to store the cache files: > + let g:ctrlp_cache_dir = $HOME.'/.cache/ctrlp' +< + + *'g:ctrlp_prompt_mappings'* +Use this to customize the mappings inside |CtrlP|’s prompt to your liking. You +only need to keep the lines that you’ve changed the values (inside []): > + let g:ctrlp_prompt_mappings = { + \ 'PrtBS()': ['', ''], + \ 'PrtDelete()': [''], + \ 'PrtDeleteWord()': [''], + \ 'PrtClear()': [''], + \ 'PrtSelectMove("j")': ['', ''], + \ 'PrtSelectMove("k")': ['', ''], + \ 'PrtHistory(-1)': [''], + \ 'PrtHistory(1)': [''], + \ 'AcceptSelection("e")': ['', '', '<2-LeftMouse>'], + \ 'AcceptSelection("h")': ['', '', ''], + \ 'AcceptSelection("t")': ['', ''], + \ 'AcceptSelection("v")': ['', ''], + \ 'ToggleFocus()': [''], + \ 'ToggleRegex()': [''], + \ 'ToggleByFname()': [''], + \ 'ToggleType(1)': ['', ''], + \ 'ToggleType(-1)': ['', ''], + \ 'PrtExpandDir()': ['', ''], + \ 'PrtInsert("w")': [''], + \ 'PrtInsert("s")': [''], + \ 'PrtInsert("v")': [''], + \ 'PrtInsert("+")': [''], + \ 'PrtCurStart()': [''], + \ 'PrtCurEnd()': [''], + \ 'PrtCurLeft()': ['', '', ''], + \ 'PrtCurRight()': ['', ''], + \ 'PrtClearCache()': [''], + \ 'PrtDeleteMRU()': [''], + \ 'CreateNewFile()': [''], + \ 'MarkToOpen()': [''], + \ 'OpenMulti()': [''], + \ 'PrtExit()': ['', '', ''], + \ } +< +Note: In some terminals, it’s not possible to remap without also changing +. So if pressing moves the cursor to the left instead of deleting a +char for you, add this to your |vimrc| to change the default mapping: > + let g:ctrlp_prompt_mappings = { + \ 'PrtBS()': ['', '', ''], + \ 'PrtCurLeft()': ['', ''], + \ } +< + + *'g:ctrlp_mruf_max'* +Specify the number of recently opened files you want |CtrlP| to remember: > + let g:ctrlp_mruf_max = 250 +< + + *'g:ctrlp_mruf_exclude'* +Files you don’t want |CtrlP| to remember. Use |regexp| to specify the patterns: +> + let g:ctrlp_mruf_exclude = '' +< +Examples: > + let g:ctrlp_mruf_exclude = '/tmp/.*\|/temp/.*' " MacOSX/Linux + let g:ctrlp_mruf_exclude = '^C:\\dev\\tmp\\.*' " Windows +< + + *'g:ctrlp_mruf_include'* +And if you want |CtrlP| to only remember some files, specify them here: > + let g:ctrlp_mruf_include = '' +< +Example: > + let g:ctrlp_mruf_include = '\.py$\|\.rb$' +< + + *'g:ctrlp_mruf_relative'* +Set this to 1 to show only MRU files in the current working directory: > + let g:ctrlp_mruf_relative = 0 +< + + *'g:ctrlp_mruf_case_sensitive'* +Match this with your file system case-sensitivity setting to avoid duplicate +MRU entries: > + let g:ctrlp_mruf_case_sensitive = 1 +< + + *'g:ctrlp_mruf_last_entered'* +Set to 1 to sort the MRU file list to most-recently-entered-buffer order: > + let g:ctrlp_mruf_last_entered = 0 +< + + *'g:ctrlp_dotfiles'* +Set this to 0 if you don’t want |CtrlP| to search for dotfiles and dotdirs: > + let g:ctrlp_dotfiles = 1 +< +You can use |'wildignore'| to exclude anything from the search. +e.g. exclude version control directories: > + set wildignore+=*/.git/*,*/.hg/*,*/.svn/* " Linux/MacOSX + set wildignore+=.git\*,.hg\*,.svn\* " Windows +< +Note #1: the `*/` in front of each directory glob is required. + +Note #2: |wildignore| influences the result of |expand()|, |globpath()| and +|glob()| which many plugins use to find stuff on the system (e.g. fugitive.vim +looks for .git/, some other plugins look for external exe tools on Windows). +So be a little mindful of what you put in your |wildignore|. + + *'g:ctrlp_custom_ignore'* +In addition to |'wildignore'|, use this for files and directories you want only +|CtrlP| to not show. Use |regexp| to specify the patterns: > + let g:ctrlp_custom_ignore = '' +< +Examples: > + let g:ctrlp_custom_ignore = '\.git$\|\.hg$\|\.svn$' + let g:ctrlp_custom_ignore = { + \ 'dir': '\.git$\|\.hg$\|\.svn$', + \ 'file': '\.exe$\|\.so$\|\.dll$', + \ 'link': 'some$\|bad$\|symbolic$\|links$', + \ } +< + + *'g:ctrlp_highlight_match'* +Use this to enable/disable highlighting of the matched patterns and to specify +the highlight group that’ll be used: > + let g:ctrlp_highlight_match = [1, 'Identifier'] +< + + *'g:ctrlp_max_files'* +The maximum number of files to scan, set to 0 for no limit: > + let g:ctrlp_max_files = 20000 +< + + *'g:ctrlp_max_depth'* +The maximum depth of a directory tree to recurse into: > + let g:ctrlp_max_depth = 40 +< +Note: the larger these values, the more memory Vim uses. + + *'g:ctrlp_user_command'* +Specify an external tool to use for listing files instead of Vim’s globpath(). +Use %s in place of the target directory: > + let g:ctrlp_user_command = '' +< +Examples: > + let g:ctrlp_user_command = 'find %s -type f' " MacOSX/Linux + let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d' " Windows +< +You can also use 'grep', 'findstr' or something else to filter the results. +Examples: > + let g:ctrlp_user_command = 'find %s -type f | grep (?!tmp/.*)' + let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d | findstr .*\.py$' +< +Use a version control listing command when inside a repository, this is faster +when scanning large projects: > + let g:ctrlp_user_command = [repo_marker, vcs_ls_command, fallback_command] +< +If the fallback_command is empty or not defined, |globpath()| will then be used +when searching outside a repo. +Examples: > + let g:ctrlp_user_command = ['.git/', 'cd %s && git ls-files'] + let g:ctrlp_user_command = ['.hg/', 'hg --cwd %s locate -I .'] +< + + *'g:ctrlp_max_history'* +The maximum number of input strings you want |CtrlP| to remember. The default +value mirrors Vim’s global |'history'| option: > + let g:ctrlp_max_history = &history +< +Set to 0 to disable prompt’s history. Browse the history with and . + + *'g:ctrlp_open_new_file'* +Use this option to specify how the newly created file is to be opened when +pressing : + t - in a new tab + h - in a new horizontal split + v - in a new vertical split + r - in the current window +> + let g:ctrlp_open_new_file = 'v' +< + + *'g:ctrlp_open_multi'* +If non-zero, this will enable opening multiple files with and : > + let g:ctrlp_open_multi = '1v' +< +For the number: + - If bigger than 1, it’ll be used as the maximum number of windows or tabs to + create when opening the files (the rest will be hidden buffers). + - If is 1, will open all files, each in a new window or new tab. + - If no number is given, only the first file will be opened in a window, + either new window or reused, and the rest will be hidden buffers. +For the letters: + t - each in a new tab + h - each in a new horizontal split + v - each in a new vertical split + Reuse the current window: + tr, + hr, + vr - open the first file in the current window, then the remaining files in + new splits or new tabs just like with t, h, v. + + *'g:ctrlp_arg_map'* +When this is set to 1, the and mappings will accept one extra key +as an argument to override their default behavior: > + let g:ctrlp_arg_map = 0 +< +Pressing or will then prompt for a keypress. The key can be: + t - open in tab(s) + h - open in horizontal split(s) + v - open in vertical split(s) + r - open in current window (for only) + , - cancel and go back to |CtrlP| + Any other key - use the behavior specified with |g:ctrlp_open_new_file| and + |g:ctrlp_open_multi|. + + *'g:ctrlp_dont_split'* +When opening a file with , |CtrlP| avoids opening it in windows created by +plugins, help and quickfix. Use this to setup some exceptions: > + let g:ctrlp_dont_split = 'netrw' +< +Acceptable values are partial names or filetypes of the special buffers. Use +|regexp| to specify the pattern. Example: > + let g:ctrlp_dont_split = 'netrw\|help\|quickfix' +< + + *'g:ctrlp_follow_symlinks'* +Set this to 1 to follow symbolic links when listing files: > + let g:ctrlp_follow_symlinks = 0 +< +When enabled, looped internal symlinks will be ignored to avoid duplicates. + + *'g:ctrlp_lazy_update'* +Set this to 1 to enable the lazy-update feature: only update the match window +after typing’s been stopped for a certain amount of time: > + let g:ctrlp_lazy_update = 0 +< +If is 1, update after 250ms. If bigger than 1, the number will be used as the +delay time in milliseconds. + + *'g:ctrlp_use_migemo'* +Set this to 1 to use Migemo Pattern for Japanese filenames. Migemo Search only +works in |regexp| mode. To split the pattern, separate words with space: > + let g:ctrlp_use_migemo = 0 +< + + *'g:ctrlp_status_func'* +Use this to customize the statuslines for the |CtrlP| window: > + let g:ctrlp_status_func = {} +< +Example: > + let g:ctrlp_status_func = { + \ 'main': 'Function_Name_1', + \ 'prog': 'Function_Name_2', + \ } +< +See https://gist.github.com/1610859 for a working example. + +=============================================================================== +3. Commands *ctrlp-commands* + + *:CtrlP* +:CtrlP [starting-directory] + Open |CtrlP| in find file mode. + + If no argument is given, the value of |g:ctrlp_working_path_mode| will be + used to determine the starting directory. + You can use to auto-complete the [starting-directory] when typing it. + + *:CtrlPBuffer* +:CtrlPBuffer + Open |CtrlP| in find buffer mode. + + *:CtrlPMRU* +:CtrlPMRU + Open |CtrlP| in find Most-Recently-Used file mode. + + *:ClearCtrlPCache* +:ClearCtrlPCache + Flush the cache for the current working directory. The same as pressing + inside |CtrlP|. + + *:ClearAllCtrlPCaches* +:ClearAllCtrlPCaches + Delete all the cache files saved in |ctrlp_cache_dir|. + + *:ResetCtrlP* +:ResetCtrlP + Reset all options and take in new values of the option variables. + +------------------------------------------------------------------------------- +The following commands ignore the current value of |g:ctrlp_working_path_mode|: + +:CtrlPCurWD *:CtrlPCurWD* + This acts like |:CtrlP| with |path_mode| = 0 + +:CtrlPCurFile *:CtrlPCurFile* + This acts like |:CtrlP| with |path_mode| = 1 + +:CtrlPRoot *:CtrlPRoot* + This acts like |:CtrlP| with |path_mode| = 2 + +=============================================================================== +4. Mappings *ctrlp-mappings* + + *'ctrlp-'* + + Default |Normal| mode mapping to open the |CtrlP| prompt in find file mode. + +Once inside the prompt:~ + + *'ctrlp-fullregexp'* + Toggle between the string mode (section 5.a & b) and full |regexp| mode. + (note: in full |regexp| mode, the prompt’s base is 'r>>' instead of '>>>') + + See also |input-formats| (guide) and |g:ctrlp_regexp_search| (option). + + + Toggle between full path search and filename only search. + (note: in filename mode, the prompt’s base is '>d>' instead of '>>>') + + , 'forward' + + Scroll to the 'next' search mode in the sequence. + + , 'backward' + + Scroll to the 'previous' search mode in the sequence. + + + Auto-complete directory names under the current working directory inside + the prompt. + + + Toggle the focus between the match window and the prompt. + + , + + Move selection down. + + , + + Move selection up. + + + Move the cursor to the 'start' of the prompt. + + + Move the cursor to the 'end' of the prompt. + + , + , + + Move the cursor one character to the 'left'. + + , + + Move the cursor one character to the 'right'. + + , + + Delete the preceding character. + + + Delete the current character. + + + Delete a preceding inner word. + + + Clear the input field. + + + Open selected file in the active window if possible. + + + Open selected file in a new 'tab' after the last tabpage. + + + Open selected file in a 'vertical' split. + + , + , + + Open selected file in a 'horizontal' split. + + + Create a new file and its parent directories. + + + Next string in the prompt’s history. + + + Previous string in the prompt’s history. + + + - Mark/unmark a file to be opened with . + - Mark/unmark a file to create a new file in its directory using . + + + Open files marked by . + + + - Refresh the match window and purge the cache for the current directory. + - Remove deleted files from MRU list. + + + Clear MRU list. + + , + , + + Exit |CtrlP|. can also be used to stop the scan. + +Choose your own mappings with |g:ctrlp_prompt_mappings|. + +When inside the match window (press to switch):~ + + a-z + 0-9 + ~^-=;`',.+!@#$%&_(){}[] + Cycle through the lines with the first letter (of paths or filenames) that + matches that key. + +=============================================================================== +5. Input Formats *ctrlp-input-formats* + +Formats for inputting in the prompt:~ + +a) Simple string. + e.g. 'abc' is understood internally as 'a[^a]\{-}b[^b]\{-}c' + +b) Vim |regexp|. If the input string contains '*' or '|', it’ll be treated as + a Vim’s |regexp| |pattern| without any modification. + e.g. 'abc\d*efg' will be read as 'abc\d*efg'. + + See also |ctrlp-fullregexp| (keymap) and |g:ctrlp_regexp_search| (option). + +c) End the string with a colon ':' followed by a Vim command to execute that + command after opening the file. If you need to use ':' literally, escape it + with a backslash: '\:'. When opening multiple files, the command will be + executed on each opening file. + e.g. 'abc:45' will open the selected file and jump to line 45. + 'abc:/my\:string' will open the selected file and jump to the first + instance of 'my:function'. + 'abc:+setf\ myfiletype|50' will open the selected file and set its + filetype to 'myfiletype', then jump to line 50. + 'abc:diffthis' will open the selected file and run |:diffthis| on the + first 4 files. + + See also Vim’s |++opt| and |+cmd|. + +d) Type exactly two dots '..' at the start of the prompt and press enter to go + backward in the directory tree by 1 level. If the parent directory is + large, this might be slow. + +e) Similarly, submit '/' or '\' to find and go to the project’s root. If the + project is large, using a VCS listing command to look for files might help + speeding up the intial scan (see |g:ctrlp_user_command| for more details). + +f) Type the name of a non-existent file and press to create it. Mark a + file with to create the new file in the same directory as the marked + file. + e.g. 'parentdir/newfile.txt' will create a directory named 'parentdir' as + well as 'newfile.txt'. + If 'some/old/dirs/oldfile.txt' is marked with , then 'parentdir' + and 'newfile.txt' will be created in 'some/old/dirs'. The final path + will then be 'some/old/dirs/parentdir/newfile.txt'. + Use '\' in place of '/' on Windows (if |'ssl'| is not set). + +g) Submit ? to open this help file. + +=============================================================================== +6. Extensions *g:ctrlp-extensions* + +Extensions are optional. To enable an extension, add its name to the variable +g:ctrlp_extensions: > + let g:ctrlp_extensions = ['tag', 'buffertag', 'quickfix', 'dir', 'rtscript'] +< +The order of the items will be the order they appear on the statusline and when +using , . + +Available extensions:~ + + *:CtrlPTag* + * Tag mode:~ + - Name: 'tag' + - Command: ':CtrlPTag' + - Search for a tag within a generated central tags file, and jump to the + definition. Use the Vim’s option |'tags'| to specify the names and the + locations of the tags file(s). Example: `set tags+=tags/help,doc/tags` + + *:CtrlPBufTag* + *:CtrlPBufTagAll* + * Buffer Tag mode:~ + - Name: 'buffertag' + - Commands: ':CtrlPBufTag [buffer-name]', + ':CtrlPBufTagAll'. + - Search for a tag within the current buffer or all buffers and jump to the + definition. Requires |exuberant_ctags| or compatible programs. + + *:CtrlPQuickfix* + * Quickfix mode:~ + - Name: 'quickfix' + - Command: ':CtrlPQuickfix' + - Search for an entry in the current quickfix errors and jump to it. + + *:CtrlPDir* + * Directory mode:~ + - Name: 'dir' + - Command: ':CtrlPDir [starting-directory]' + - Search for a directory and change the working directory to it. + - Mappings: + + change the local working directory for |CtrlP| and keep it open. + + change the global working directory (exit). + + change the local working directory for the current window (exit). + + change the global working directory to |CtrlP|’s current local + working directory (exit). + + *:CtrlPRTS* + * Runtime script mode:~ + - Name: 'rtscript' + - Command: ':CtrlPRTS' + - Search for files (vimscripts, docs...) in runtimepath. + +------------------------------------------------------------------------------- +Buffer Tag mode options:~ + + *'g:ctrlp_buftag_ctags_bin'* +If ctags isn’t in your $PATH, use this to set its location: > + let g:ctrlp_buftag_ctags_bin = '' +< + + *'g:ctrlp_buftag_systemenc'* +Match this with your OS’s encoding (not Vim’s). The default value mirrors Vim’s +global |'encoding'| option: > + let g:ctrlp_buftag_systemenc = &encoding +< + + *'g:ctrlp_buftag_types'* +Use this to set the arguments for ctags, jsctags... for a given filetype: > + let g:ctrlp_buftag_types = '' +< +Examples: > + let g:ctrlp_buftag_types = { + \ 'erlang' : '--language-force=erlang --erlang-types=drmf', + \ 'javascript' : { + \ 'bin': 'jsctags', + \ 'args': '-f -', + \ }, + \ } +< + +=============================================================================== +EXTENDING *ctrlp-extending* + +Extending |CtrlP| is very simple. Simply create a vim file following a short +guidelines, place it in autoload/ctrlp/ and add its name to your .vimrc. + +To see how it works, get the sample.vim from the extensions branch on the main +git repository (https://github.com/kien/ctrlp.vim/tree/extensions), and place +it along with the parent directories somewhere in your runtimepath. Then put +this into your .vimrc: > + let g:ctrlp_extensions = ['sample'] +< +A new search type will show up the next time you open |CtrlP|. + +For more details, check out the comments inside sample.vim.~ + +=============================================================================== +USER-CONFIGURATION *ctrlp-user-config* + +Some miscellaneous configurations:~ + ++) |g:ctrlp_user_command| config that makes use of your |wildignore| setting: + https://github.com/kien/ctrlp.vim/issues/70 by Rich Alesi + +=============================================================================== +CREDITS *ctrlp-credits* + +Developed by Kien Nguyen , initially based on the Command-T +and the LustyExplorer plugins. No code was taken from these plugins, but I did +clone the majority of their (awesome) interfaces and the way they work. + +This was originally written as a module for a would-be larger plugin called +AutoDoc.vim which I’ve stopped developing because of lost of interest. I really +liked the way Command-T and LustyExplorer deal with user’s input, so I wrote a +pure Vimscript version of their prompt window, intended to use it for the +aforementioned plugin. + +Homepage: http://kien.github.com/ctrlp.vim +Git repository: https://github.com/kien/ctrlp.vim +Mercurial repository: https://bitbucket.org/kien/ctrlp.vim + +=============================================================================== +THANKS *ctrlp-thanks* + +Thanks to everyone that has submitted ideas, bug reports or helped debugging on +gibhub, bitbucket, and through email. + +Special thanks:~ + + * Woojong Koh + Forked and suggested the support for VCS listing commands. + + * Yasuhiro Matsumoto + Added option to use Migemo for Japanese filenames. + + * Kyo Nagashima + Made some enhancements to file opening mappings. + + * Piet Delport + Changed the default cache directory to meet XDG spec. + + * Kent Sibilev + Debugged and made various patches. + + * Simon Ruderich + * Ken Earley + * Zak Johnson + * Diego Viola + * Thibault Duplessis + Bugfixes/Corrections. + +=============================================================================== +CHANGELOG *ctrlp-changelog* + + + New option: |g:ctrlp_mruf_last_entered| change MRU to recently-entered. + +Before 2012/01/15~ + + + New mapping: Switch and . is now used for completion + of directory names under the current working directory. + + New options: |g:ctrlp_arg_map| for , to accept an argument. + |g:ctrlp_status_func| custom statusline. + |g:ctrlp_mruf_relative| show only MRU files inside cwd. + + Extend |g:ctrlp_open_multi| with new optional values: tr, hr, vr. + + Extend |g:ctrlp_custom_ignore| to specifically filter dir, file and link. + +Before 2012/01/05~ + + + New feature: Buffer Tag extension. + + New commands: |:CtrlPBufTag|, |:CtrlPBufTagAll|. + + New options: |g:ctrlp_cmd|, + |g:ctrlp_custom_ignore| + +Before 2011/11/30~ + + + New features: Tag, Quickfix and Directory extensions. + + New commands: |:CtrlPTag|, |:CtrlPQuickfix|, |:CtrlPDir|. + + New options: |g:ctrlp_use_migemo|, + |g:ctrlp_lazy_update|, + |g:ctrlp_follow_symlinks| + +Before 2011/11/13~ + + + New special input: '/' and '\' find root (section 5.e) + + Remove ctrlp#SetWorkingPath(). + + Remove |g:ctrlp_mru_files|, make MRU permanent. + + Extend |g:ctrlp_open_multi|, add new ways to open files. + + New option: |g:ctrlp_dont_split|, + |g:ctrlp_mruf_case_sensitive| + +Before 2011/10/30~ + + + New feature: Support for custom extensions. + also removes non-existent files from MRU list. + + New option: |g:ctrlp_jump_to_buffer| + +Before 2011/10/12~ + + + New features: Open multiple files. + Pass Vim’s |++opt| and |+cmd| to the opening file + (section 5.c) + Auto-complete each dir for |:CtrlP| [starting-directory] + + New mappings: mark/unmark a file to be opened with . + open all marked files. + + New option: |g:ctrlp_open_multi| + + Remove |g:ctrlp_persistent_input|, |g:ctrlp_live_update| and . + +Before 2011/09/29~ + + + New mappings: , next/prev string in the input history. + create a new file and its parent dirs. + + New options: |g:ctrlp_open_new_file|, + |g:ctrlp_max_history| + + Added a new open-in-horizontal-split mapping: + +Before 2011/09/19~ + + + New command: |ResetCtrlP| + + New options: |g:ctrlp_max_files|, + |g:ctrlp_max_depth|, + |g:ctrlp_live_update| + + New mapping: + +Before 2011/09/12~ + + + Ability to cycle through matched lines in the match window. + + Extend the behavior of |g:ctrlp_persistent_input| + + Extend the behavior of |:CtrlP| + + New options: |g:ctrlp_dotfiles|, + |g:ctrlp_clear_cache_on_exit|, + |g:ctrlp_highlight_match|, + |g:ctrlp_user_command| + + New special input: '..' (section 5.d) + + New mapping: . + + New commands: |:CtrlPCurWD|, + |:CtrlPCurFile|, + |:CtrlPRoot| + + + New feature: Search in most recently used (MRU) files + + New mapping: . + + Extended the behavior of . + + New options: |g:ctrlp_mru_files|, + |g:ctrlp_mruf_max|, + |g:ctrlp_mruf_exclude|, + |g:ctrlp_mruf_include| + + New command: |:CtrlPMRUFiles| + +First public release: 2011/09/06~ + +=============================================================================== +vim:ft=help:et:ts=2:sw=2:sts=2:norl diff --git a/bundle_consider/ctrlp/plugin/ctrlp.vim b/bundle_consider/ctrlp/plugin/ctrlp.vim new file mode 100644 index 0000000..5150c43 --- /dev/null +++ b/bundle_consider/ctrlp/plugin/ctrlp.vim @@ -0,0 +1,64 @@ +" ============================================================================= +" File: plugin/ctrlp.vim +" Description: Fuzzy file, buffer, mru and tag finder. +" Author: Kien Nguyen +" ============================================================================= +" GetLatestVimScripts: 3736 1 :AutoInstall: ctrlp.zip + +if ( exists('g:loaded_ctrlp') && g:loaded_ctrlp ) || v:version < 700 || &cp + fini +en +let [g:loaded_ctrlp, g:ctrlp_lines, g:ctrlp_allfiles] = [1, [], []] + +if !exists('g:ctrlp_map') | let g:ctrlp_map = '' | en +if !exists('g:ctrlp_cmd') | let g:ctrlp_cmd = 'CtrlP' | en + +com! -n=? -com=dir CtrlP cal ctrlp#init(0, ) + +com! CtrlPBuffer cal ctrlp#init(1) +com! CtrlPMRUFiles cal ctrlp#init(2) + +com! ClearCtrlPCache cal ctrlp#clr() +com! ClearAllCtrlPCaches cal ctrlp#clra() +com! ResetCtrlP cal ctrlp#reset() + +com! CtrlPCurWD cal ctrlp#init(0, 0) +com! CtrlPCurFile cal ctrlp#init(0, 1) +com! CtrlPRoot cal ctrlp#init(0, 2) + +if g:ctrlp_map != '' + exe 'nn ' g:ctrlp_map ':'.g:ctrlp_cmd.'' +en + +cal ctrlp#mrufiles#init() + +if !exists('g:ctrlp_extensions') | fini | en + +let s:ext = g:ctrlp_extensions + +if index(s:ext, 'tag') >= 0 + let g:ctrlp_alltags = [] + com! CtrlPTag cal ctrlp#init(ctrlp#tag#id()) +en + +if index(s:ext, 'quickfix') >= 0 + com! CtrlPQuickfix cal ctrlp#init(ctrlp#quickfix#id()) +en + +if index(s:ext, 'dir') >= 0 + let g:ctrlp_alldirs = [] + com! -n=? -com=dir CtrlPDir cal ctrlp#init(ctrlp#dir#id(), ) +en + +if index(s:ext, 'buffertag') >= 0 + let g:ctrlp_buftags = {} + com! -n=? -com=buffer CtrlPBufTag + \ cal ctrlp#init(ctrlp#buffertag#cmd(0, )) + com! CtrlPBufTagAll cal ctrlp#init(ctrlp#buffertag#cmd(1)) +en + +if index(s:ext, 'rtscript') >= 0 + com! CtrlPRTS cal ctrlp#init(ctrlp#rtscript#id()) +en + +unl s:ext diff --git a/bundle_consider/ctrlp/readme.md b/bundle_consider/ctrlp/readme.md new file mode 100644 index 0000000..bf84bb2 --- /dev/null +++ b/bundle_consider/ctrlp/readme.md @@ -0,0 +1,8 @@ +# ctrlp.vim +Fuzzy __file__, __buffer__, __mru__ and __tag__ finder for Vim. + +* [**Project's homepage**][1] +* [**Main git repository**][2] + +[1]: http://kien.github.com/ctrlp.vim +[2]: https://github.com/kien/ctrlp.vim diff --git a/bundle_consider/fontzoom/doc/fontzoom.txt b/bundle_consider/fontzoom/doc/fontzoom.txt new file mode 100644 index 0000000..f3d1749 --- /dev/null +++ b/bundle_consider/fontzoom/doc/fontzoom.txt @@ -0,0 +1,105 @@ +*fontzoom.txt* The fontsize controller in gVim. + +Version: 0.1.1 +Modified: thinca +License: Creative Commons Attribution 2.1 Japan License + + +============================================================================== +CONTENTS *fontzoom-contents* + +INTRODUCTION |fontzoom-introduction| +INTERFACE |fontzoom-interface| + KEY MAPPINGS |fontzoom-key-mappings| + COMMANDS |fontzoom-commands| +SETTINGS |fontzoom-settings| +LIMITATION |fontzoom-limitation| +CHANGELOG |fontzoom-changelog| + + +============================================================================== +INTRODUCTION *fontzoom-introduction* + +*fontzoom* is a Vim plugin to control gui fontsize. You can change fontsize +with + and - keys(when default setting). You can also use the [count]. +This plugin remember 'guifont', 'lines', and 'columns' when you change +fontsize first. And tries to keep the size of the window as much as possible. + + + +============================================================================== +INTERFACE *fontzoom-interface* + +------------------------------------------------------------------------------ +KEY MAPPINGS *fontzoom-key-mappings* + +(fontzoom-learger) *(fontzoom-learger)* + Fontsize is made large [count] point. + +(fontzoom-smaller) *(fontzoom-smaller)* + Fontsize is made small [count] point. + + + *g:fontzoom_no_default_key_mappings* +The following key mappings will be also available unless +g:fontzoom_no_default_key_mappings is defined: + +{lhs} {rhs} +-------- ----------------------------- ++ (fontzoom-larger) +- (fontzoom-smaller) + (fontzoom-larger) + (fontzoom-smaller) + +------------------------------------------------------------------------------ +COMMANDS *fontzoom-commands* + +:Fontzoom *:Fontzoom* + Show fontsize in current. + +:Fontzoom +[N] + Fontsize is made large [N] point. + +:Fontzoom -[N] + Fontsize is made small [N] point. + +:Fontzoom [N] + Fontsize is changed into [N] points. + +:Fontzoom! + Fontsize is changed into initial size. All arguments + are ignored. + + + +============================================================================== +SETTINGS *fontzoom-settings* + +g:fontzoom_pattern *g:fontzoom_pattern* + Pick out the Fontsize from font name. The pattern + must match to the Fontsize. |/\zs| and |/\ze| are + convenient. + + + +============================================================================== +LIMITATION *fontzoom-limitation* + +- 'guifont' should contain fontsize that matches to |g:fontzoom_pattern|. + + + +============================================================================== +CHANGELOG *fontzoom-changelog* + +0.1.1 2011-02-24 + - Added default key mappings. + - and . + +0.1.0 2009-12-25 + - Initial version. + + + +============================================================================== +vim:tw=78:fo=tcq2mM:ts=8:ft=help:norl diff --git a/bundle_consider/fontzoom/plugin/fontzoom.vim b/bundle_consider/fontzoom/plugin/fontzoom.vim new file mode 100644 index 0000000..844cfce --- /dev/null +++ b/bundle_consider/fontzoom/plugin/fontzoom.vim @@ -0,0 +1,69 @@ +" The fontsize controller in gVim. +" Version: 0.1.1 +" Author : thinca +" License: Creative Commons Attribution 2.1 Japan License +" + +if exists('g:loaded_fontzoom') || !has('gui_running') + finish +endif +let g:loaded_fontzoom = 1 + +let s:save_cpo = &cpo +set cpo&vim + + +function! s:fontzoom(size, reset) + if a:reset + if exists('s:keep') " Reset font size. + let [&guifont, &lines, &columns] = s:keep + unlet! s:keep + endif + elseif a:size == '' + echo matchstr(&guifont, g:fontzoom_pattern) + else + let size = (a:size =~ '^[+-]' ? 'submatch(0)' : '') . a:size + if !exists('s:keep') + let s:keep = [&guifont, &lines, &columns] + endif + let &guifont = join(map(split(&guifont, '\\\@, 0) + +" Key mappings. +nnoremap (fontzoom-larger) +\ :Fontzoom +=v:count1 +nnoremap (fontzoom-smaller) +\ :Fontzoom -=v:count1 + +if !exists('g:fontzoom_no_default_key_mappings') +\ || !g:fontzoom_no_default_key_mappings + silent! nmap + (fontzoom-larger) + silent! nmap - (fontzoom-smaller) + silent! nmap (fontzoom-larger) + silent! nmap (fontzoom-smaller) +endif + +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/colors/tolerable256.vim b/colors/tolerable256.vim deleted file mode 100644 index e6afb8f..0000000 --- a/colors/tolerable256.vim +++ /dev/null @@ -1,267 +0,0 @@ -" Vim color file -" Maintainer: Ian Langworth -" Last Change: 2004 Dec 24 -" Email: - -" Color settings inspired by BBEdit for Mac OS, plus I liked -" the low-contrast comments from the 'oceandeep' colorscheme -" -" gryf: Nice colorscheme for printing in white, or to generate html in dark on -" bright. Added functions for converting it into terminal 256xterm codes. - -set background=light - -hi clear -if exists("syntax_on") - syntax reset -endif - -if !has("gui_running") && &t_Co != 88 && &t_Co != 256 - finish -endif - -let g:colors_name="tolerable" - -" 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 -" }}} - -call X("Cursor", "006400", "", "none") -call X("CursorLine", "", "eeeeee", "none") -call X("CursorColumn", "", "eeeeee", "none") - -call X("Normal", "000000", "ffffff", "none") -call X("NonText", "ffae1b", "", "none") - -call X("Statement", "0000ff", "", "none") -call X("Special", "ff0000", "", "none") -call X("Constant", "8b0000", "", "none") -call X("Comment", "555555", "", "none") -call X("Preproc", "008b8b", "", "none") -call X("Type", "8b008b", "", "none") -call X("Identifier", "006400", "", "none") -call X("Title", "000000", "", "none") - -call X("StatusLine", "ffffff", "333333", "none") -call X("StatusLineNC", "ffffff", "333333", "none") -call X("VertSplit", "ffffff", "333333", "none") - -call X("Visual", "000000", "00ff00", "none") -call X("Search", "", "ffff00", "none") -call X("Directory", "00008b", "", "none") -call X("WarningMsg", "ff0000", "", "none") -call X("Error", "ffffff", "ff0000", "none") -call X("Todo", "000000", "ffff00", "none") - -call X("MoreMsg", "", "", "none") -call X("ModeMsg", "", "", "none") - -" vim:set ts=4 sw=4 noet fdm=marker: diff --git a/doc/tags b/doc/tags deleted file mode 100644 index 45305c0..0000000 --- a/doc/tags +++ /dev/null @@ -1,1068 +0,0 @@ -'NERDAllowAnyVisualDelims' NERD_commenter.txt /*'NERDAllowAnyVisualDelims'* -'NERDBlockComIgnoreEmpty' NERD_commenter.txt /*'NERDBlockComIgnoreEmpty'* -'NERDCommentWholeLinesInVMode' NERD_commenter.txt /*'NERDCommentWholeLinesInVMode'* -'NERDCompactSexyComs' NERD_commenter.txt /*'NERDCompactSexyComs'* -'NERDCreateDefaultMappings' NERD_commenter.txt /*'NERDCreateDefaultMappings'* -'NERDDefaultNesting' NERD_commenter.txt /*'NERDDefaultNesting'* -'NERDLPlace' NERD_commenter.txt /*'NERDLPlace'* -'NERDMenuMode' NERD_commenter.txt /*'NERDMenuMode'* -'NERDRPlace' NERD_commenter.txt /*'NERDRPlace'* -'NERDRemoveAltComs' NERD_commenter.txt /*'NERDRemoveAltComs'* -'NERDRemoveExtraSpaces' NERD_commenter.txt /*'NERDRemoveExtraSpaces'* -'NERDSpaceDelims' NERD_commenter.txt /*'NERDSpaceDelims'* -'NERDUsePlaceHolders' NERD_commenter.txt /*'NERDUsePlaceHolders'* -'loaded_nerd_comments' NERD_commenter.txt /*'loaded_nerd_comments'* -'showmarks_enable' showmarks.txt /*'showmarks_enable'* -'showmarks_hlline_lower' showmarks.txt /*'showmarks_hlline_lower'* -'showmarks_hlline_other' showmarks.txt /*'showmarks_hlline_other'* -'showmarks_hlline_upper' showmarks.txt /*'showmarks_hlline_upper'* -'showmarks_ignore_name' showmarks.txt /*'showmarks_ignore_name'* -'showmarks_ignore_type' showmarks.txt /*'showmarks_ignore_type'* -'showmarks_include' showmarks.txt /*'showmarks_include'* -'showmarks_textother' showmarks.txt /*'showmarks_textother'* -'showmarks_textupper' showmarks.txt /*'showmarks_textupper'* -'snippets' snipMate.txt /*'snippets'* -.snippet snipMate.txt /*.snippet* -.snippets snipMate.txt /*.snippets* -:Ack ack.txt /*:Ack* -:AckAdd ack.txt /*:AckAdd* -:CVSEdit vcscommand.txt /*:CVSEdit* -:CVSEditors vcscommand.txt /*:CVSEditors* -:CVSUnedit vcscommand.txt /*:CVSUnedit* -:CVSWatch vcscommand.txt /*:CVSWatch* -:CVSWatchAdd vcscommand.txt /*:CVSWatchAdd* -:CVSWatchOff vcscommand.txt /*:CVSWatchOff* -:CVSWatchOn vcscommand.txt /*:CVSWatchOn* -:CVSWatchRemove vcscommand.txt /*:CVSWatchRemove* -:CVSWatchers vcscommand.txt /*:CVSWatchers* -:Date: vimblogger_ft.txt /*:Date:* -:DeleteBlogArticle vimblogger_ft.txt /*:DeleteBlogArticle* -:FufBookmarkDir fuf.txt /*:FufBookmarkDir* -:FufBookmarkDirAdd fuf.txt /*:FufBookmarkDirAdd* -:FufBookmarkFile fuf.txt /*:FufBookmarkFile* -:FufBookmarkFileAdd fuf.txt /*:FufBookmarkFileAdd* -:FufBookmarkFileAddAsSelectedText fuf.txt /*:FufBookmarkFileAddAsSelectedText* -:FufBuffer fuf.txt /*:FufBuffer* -:FufBufferTag fuf.txt /*:FufBufferTag* -:FufBufferTagAll fuf.txt /*:FufBufferTagAll* -:FufBufferTagAllWithCursorWord fuf.txt /*:FufBufferTagAllWithCursorWord* -:FufBufferTagAllWithSelectedText fuf.txt /*:FufBufferTagAllWithSelectedText* -:FufBufferTagWithCursorWord fuf.txt /*:FufBufferTagWithCursorWord* -:FufBufferTagWithSelectedText fuf.txt /*:FufBufferTagWithSelectedText* -:FufChangeList fuf.txt /*:FufChangeList* -:FufCoverageFile fuf.txt /*:FufCoverageFile* -:FufCoverageFileChange fuf.txt /*:FufCoverageFileChange* -:FufCoverageFileRegister fuf.txt /*:FufCoverageFileRegister* -:FufDir fuf.txt /*:FufDir* -:FufDirWithCurrentBufferDir fuf.txt /*:FufDirWithCurrentBufferDir* -:FufDirWithFullCwd fuf.txt /*:FufDirWithFullCwd* -:FufEditDataFile fuf.txt /*:FufEditDataFile* -:FufFile fuf.txt /*:FufFile* -:FufFileWithCurrentBufferDir fuf.txt /*:FufFileWithCurrentBufferDir* -:FufFileWithFullCwd fuf.txt /*:FufFileWithFullCwd* -:FufHelp fuf.txt /*:FufHelp* -:FufJumpList fuf.txt /*:FufJumpList* -:FufLine fuf.txt /*:FufLine* -:FufMruCmd fuf.txt /*:FufMruCmd* -:FufMruFile fuf.txt /*:FufMruFile* -:FufMruFileInCwd fuf.txt /*:FufMruFileInCwd* -:FufQuickfix fuf.txt /*:FufQuickfix* -:FufRenewCache fuf.txt /*:FufRenewCache* -:FufTag fuf.txt /*:FufTag* -:FufTagWithCursorWord fuf.txt /*:FufTagWithCursorWord* -:FufTaggedFile fuf.txt /*:FufTaggedFile* -:Id: vimblogger_ft.txt /*:Id:* -:LAck ack.txt /*:LAck* -:LAckAdd ack.txt /*:LAckAdd* -:Loremipsum loremipsum.txt /*:Loremipsum* -:Loreplace loremipsum.txt /*:Loreplace* -:Mark mark.txt /*:Mark* -:MarkClear mark.txt /*:MarkClear* -:MarkLoad mark.txt /*:MarkLoad* -:MarkSave mark.txt /*:MarkSave* -:Modified: vimblogger_ft.txt /*:Modified:* -:PreviewBlogArticle vimblogger_ft.txt /*:PreviewBlogArticle* -:SendBlogArticle vimblogger_ft.txt /*:SendBlogArticle* -:Tags: vimblogger_ft.txt /*:Tags:* -:Title: vimblogger_ft.txt /*:Title:* -:TlistToo taglisttoo.txt /*:TlistToo* -:VCSAdd vcscommand.txt /*:VCSAdd* -:VCSAnnotate vcscommand.txt /*:VCSAnnotate* -:VCSBlame vcscommand.txt /*:VCSBlame* -:VCSCommit vcscommand.txt /*:VCSCommit* -:VCSDelete vcscommand.txt /*:VCSDelete* -:VCSDiff vcscommand.txt /*:VCSDiff* -:VCSGotoOriginal vcscommand.txt /*:VCSGotoOriginal* -:VCSInfo vcscommand.txt /*:VCSInfo* -:VCSLock vcscommand.txt /*:VCSLock* -:VCSLog vcscommand.txt /*:VCSLog* -:VCSRemove vcscommand.txt /*:VCSRemove* -:VCSRevert vcscommand.txt /*:VCSRevert* -:VCSReview vcscommand.txt /*:VCSReview* -:VCSStatus vcscommand.txt /*:VCSStatus* -:VCSUnlock vcscommand.txt /*:VCSUnlock* -:VCSUpdate vcscommand.txt /*:VCSUpdate* -:VCSVimDiff vcscommand.txt /*:VCSVimDiff* -:VWS vimwiki.txt /*:VWS* -:Vimwiki2HTML vimwiki.txt /*:Vimwiki2HTML* -:Vimwiki2HTMLBrowse vimwiki.txt /*:Vimwiki2HTMLBrowse* -:VimwikiAll2HTML vimwiki.txt /*:VimwikiAll2HTML* -:VimwikiDeleteLink vimwiki.txt /*:VimwikiDeleteLink* -:VimwikiDiaryIndex vimwiki.txt /*:VimwikiDiaryIndex* -:VimwikiDiaryNextDay vimwiki.txt /*:VimwikiDiaryNextDay* -:VimwikiDiaryPrevDay vimwiki.txt /*:VimwikiDiaryPrevDay* -:VimwikiFollowLink vimwiki.txt /*:VimwikiFollowLink* -:VimwikiGenerateLinks vimwiki.txt /*:VimwikiGenerateLinks* -:VimwikiGoBackLink vimwiki.txt /*:VimwikiGoBackLink* -:VimwikiGoto vimwiki.txt /*:VimwikiGoto* -:VimwikiIndex vimwiki.txt /*:VimwikiIndex* -:VimwikiMakeDiaryNote vimwiki.txt /*:VimwikiMakeDiaryNote* -:VimwikiNextLink vimwiki.txt /*:VimwikiNextLink* -:VimwikiPrevLink vimwiki.txt /*:VimwikiPrevLink* -:VimwikiRenameLink vimwiki.txt /*:VimwikiRenameLink* -:VimwikiSearch vimwiki.txt /*:VimwikiSearch* -:VimwikiSplitLink vimwiki.txt /*:VimwikiSplitLink* -:VimwikiTabIndex vimwiki.txt /*:VimwikiTabIndex* -:VimwikiTabMakeDiaryNote vimwiki.txt /*:VimwikiTabMakeDiaryNote* -:VimwikiTable vimwiki.txt /*:VimwikiTable* -:VimwikiTableMoveColumnLeft vimwiki.txt /*:VimwikiTableMoveColumnLeft* -:VimwikiTableMoveColumnRight vimwiki.txt /*:VimwikiTableMoveColumnRight* -:VimwikiTabnewLink vimwiki.txt /*:VimwikiTabnewLink* -:VimwikiToggleListItem vimwiki.txt /*:VimwikiToggleListItem* -:VimwikiUISelect vimwiki.txt /*:VimwikiUISelect* -:VimwikiVSplitLink vimwiki.txt /*:VimwikiVSplitLink* -# mark.txt /*#* -/ mark.txt /*\/* -? mark.txt /*?* -m mark.txt /*m* -n mark.txt /*n* -r mark.txt /*r* -star mark.txt /*star* -ExtractSnips() snipMate.txt /*ExtractSnips()* -ExtractSnipsFile() snipMate.txt /*ExtractSnipsFile()* -Filename() snipMate.txt /*Filename()* -Gundo-contents gundo.txt /*Gundo-contents* -GundoBugs gundo.txt /*GundoBugs* -GundoChangelog gundo.txt /*GundoChangelog* -GundoConfig gundo.txt /*GundoConfig* -GundoContributing gundo.txt /*GundoContributing* -GundoCredits gundo.txt /*GundoCredits* -GundoIntro gundo.txt /*GundoIntro* -GundoLicense gundo.txt /*GundoLicense* -GundoUsage gundo.txt /*GundoUsage* -NERDComAbout NERD_commenter.txt /*NERDComAbout* -NERDComAlignedComment NERD_commenter.txt /*NERDComAlignedComment* -NERDComAltDelim NERD_commenter.txt /*NERDComAltDelim* -NERDComAppendComment NERD_commenter.txt /*NERDComAppendComment* -NERDComChangelog NERD_commenter.txt /*NERDComChangelog* -NERDComComment NERD_commenter.txt /*NERDComComment* -NERDComCredits NERD_commenter.txt /*NERDComCredits* -NERDComDefaultDelims NERD_commenter.txt /*NERDComDefaultDelims* -NERDComEOLComment NERD_commenter.txt /*NERDComEOLComment* -NERDComFunctionality NERD_commenter.txt /*NERDComFunctionality* -NERDComFunctionalityDetails NERD_commenter.txt /*NERDComFunctionalityDetails* -NERDComFunctionalitySummary NERD_commenter.txt /*NERDComFunctionalitySummary* -NERDComHeuristics NERD_commenter.txt /*NERDComHeuristics* -NERDComInsertComment NERD_commenter.txt /*NERDComInsertComment* -NERDComInstallation NERD_commenter.txt /*NERDComInstallation* -NERDComInvertComment NERD_commenter.txt /*NERDComInvertComment* -NERDComIssues NERD_commenter.txt /*NERDComIssues* -NERDComLicense NERD_commenter.txt /*NERDComLicense* -NERDComMappings NERD_commenter.txt /*NERDComMappings* -NERDComMinimalComment NERD_commenter.txt /*NERDComMinimalComment* -NERDComNERDComment NERD_commenter.txt /*NERDComNERDComment* -NERDComNestedComment NERD_commenter.txt /*NERDComNestedComment* -NERDComNesting NERD_commenter.txt /*NERDComNesting* -NERDComOptions NERD_commenter.txt /*NERDComOptions* -NERDComOptionsDetails NERD_commenter.txt /*NERDComOptionsDetails* -NERDComOptionsSummary NERD_commenter.txt /*NERDComOptionsSummary* -NERDComSexyComment NERD_commenter.txt /*NERDComSexyComment* -NERDComSexyComments NERD_commenter.txt /*NERDComSexyComments* -NERDComToggleComment NERD_commenter.txt /*NERDComToggleComment* -NERDComUncommentLine NERD_commenter.txt /*NERDComUncommentLine* -NERDComYankComment NERD_commenter.txt /*NERDComYankComment* -NERDCommenter NERD_commenter.txt /*NERDCommenter* -NERDCommenterContents NERD_commenter.txt /*NERDCommenterContents* -NERD_commenter.txt NERD_commenter.txt /*NERD_commenter.txt* -ResetSnippets() snipMate.txt /*ResetSnippets()* -ShowMarksClearAll showmarks.txt /*ShowMarksClearAll* -ShowMarksClearMark showmarks.txt /*ShowMarksClearMark* -ShowMarksOn showmarks.txt /*ShowMarksOn* -ShowMarksPlaceMark showmarks.txt /*ShowMarksPlaceMark* -ShowMarksToggle showmarks.txt /*ShowMarksToggle* -TaglistToo taglisttoo.txt /*TaglistToo* -VCSCommandCVSDiffOpt vcscommand.txt /*VCSCommandCVSDiffOpt* -VCSCommandCVSExec vcscommand.txt /*VCSCommandCVSExec* -VCSCommandCommitOnWrite vcscommand.txt /*VCSCommandCommitOnWrite* -VCSCommandDeleteOnHide vcscommand.txt /*VCSCommandDeleteOnHide* -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* -VCSCommandSVNDiffExt vcscommand.txt /*VCSCommandSVNDiffExt* -VCSCommandSVNDiffOpt vcscommand.txt /*VCSCommandSVNDiffOpt* -VCSCommandSVNExec vcscommand.txt /*VCSCommandSVNExec* -VCSCommandSplit vcscommand.txt /*VCSCommandSplit* -VCSCommandVCSTypeOverride vcscommand.txt /*VCSCommandVCSTypeOverride* -VCSCommandVCSTypePreference vcscommand.txt /*VCSCommandVCSTypePreference* -VimwikiWeblinkHandler vimwiki.txt /*VimwikiWeblinkHandler* -abc fuf.txt /*abc* -ack ack.txt /*ack* -ack-author ack.txt /*ack-author* -ack.txt ack.txt /*ack.txt* -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* -buffergator buffergator.txt /*buffergator* -buffergator-buffer-keys buffergator.txt /*buffergator-buffer-keys* -buffergator-commands buffergator.txt /*buffergator-commands* -buffergator-contents buffergator.txt /*buffergator-contents* -buffergator-global-keys buffergator.txt /*buffergator-global-keys* -buffergator-introduction buffergator.txt /*buffergator-introduction* -buffergator-options buffergator.txt /*buffergator-options* -buffergator-tabpage-keys buffergator.txt /*buffergator-tabpage-keys* -buffergator.txt buffergator.txt /*buffergator.txt* -cs surround.txt /*cs* -cvscommand-changes vcscommand.txt /*cvscommand-changes* -docinfo vimblogger_ft.txt /*docinfo* -ds surround.txt /*ds* -fuf fuf.txt /*fuf* -fuf#setOneTimeVariables() fuf.txt /*fuf#setOneTimeVariables()* -fuf-abbreviation fuf.txt /*fuf-abbreviation* -fuf-about fuf.txt /*fuf-about* -fuf-author fuf.txt /*fuf-author* -fuf-bookmarkdir-mode fuf.txt /*fuf-bookmarkdir-mode* -fuf-bookmarkfile-mode fuf.txt /*fuf-bookmarkfile-mode* -fuf-buffer-mode fuf.txt /*fuf-buffer-mode* -fuf-buffertag-mode fuf.txt /*fuf-buffertag-mode* -fuf-cache fuf.txt /*fuf-cache* -fuf-callbackfile-mode fuf.txt /*fuf-callbackfile-mode* -fuf-callbackitem-mode fuf.txt /*fuf-callbackitem-mode* -fuf-changelist-mode fuf.txt /*fuf-changelist-mode* -fuf-changelog fuf.txt /*fuf-changelog* -fuf-commands fuf.txt /*fuf-commands* -fuf-contact fuf.txt /*fuf-contact* -fuf-coveragefile-mode fuf.txt /*fuf-coveragefile-mode* -fuf-data-file fuf.txt /*fuf-data-file* -fuf-detailed-topics fuf.txt /*fuf-detailed-topics* -fuf-dir-mode fuf.txt /*fuf-dir-mode* -fuf-dot-sequence fuf.txt /*fuf-dot-sequence* -fuf-file-mode fuf.txt /*fuf-file-mode* -fuf-givencmd-mode fuf.txt /*fuf-givencmd-mode* -fuf-givendir-mode fuf.txt /*fuf-givendir-mode* -fuf-givenfile-mode fuf.txt /*fuf-givenfile-mode* -fuf-help-mode fuf.txt /*fuf-help-mode* -fuf-hiding-menu fuf.txt /*fuf-hiding-menu* -fuf-how-to-add-mode fuf.txt /*fuf-how-to-add-mode* -fuf-installation fuf.txt /*fuf-installation* -fuf-introduction fuf.txt /*fuf-introduction* -fuf-jumplist-mode fuf.txt /*fuf-jumplist-mode* -fuf-line-mode fuf.txt /*fuf-line-mode* -fuf-migemo fuf.txt /*fuf-migemo* -fuf-modes fuf.txt /*fuf-modes* -fuf-mrucmd-mode fuf.txt /*fuf-mrucmd-mode* -fuf-mrufile-mode fuf.txt /*fuf-mrufile-mode* -fuf-multiple-search fuf.txt /*fuf-multiple-search* -fuf-options fuf.txt /*fuf-options* -fuf-options-for-all-modes fuf.txt /*fuf-options-for-all-modes* -fuf-options-for-bookmarkdir-mode fuf.txt /*fuf-options-for-bookmarkdir-mode* -fuf-options-for-bookmarkfile-mode fuf.txt /*fuf-options-for-bookmarkfile-mode* -fuf-options-for-buffer-mode fuf.txt /*fuf-options-for-buffer-mode* -fuf-options-for-buffertag-mode fuf.txt /*fuf-options-for-buffertag-mode* -fuf-options-for-changelist-mode fuf.txt /*fuf-options-for-changelist-mode* -fuf-options-for-coveragefile-mode fuf.txt /*fuf-options-for-coveragefile-mode* -fuf-options-for-dir-mode fuf.txt /*fuf-options-for-dir-mode* -fuf-options-for-file-mode fuf.txt /*fuf-options-for-file-mode* -fuf-options-for-help-mode fuf.txt /*fuf-options-for-help-mode* -fuf-options-for-jumplist-mode fuf.txt /*fuf-options-for-jumplist-mode* -fuf-options-for-line-mode fuf.txt /*fuf-options-for-line-mode* -fuf-options-for-mrucmd-mode fuf.txt /*fuf-options-for-mrucmd-mode* -fuf-options-for-mrufile-mode fuf.txt /*fuf-options-for-mrufile-mode* -fuf-options-for-quickfix-mode fuf.txt /*fuf-options-for-quickfix-mode* -fuf-options-for-tag-mode fuf.txt /*fuf-options-for-tag-mode* -fuf-options-for-taggedfile-mode fuf.txt /*fuf-options-for-taggedfile-mode* -fuf-quickfix-mode fuf.txt /*fuf-quickfix-mode* -fuf-reusing-window fuf.txt /*fuf-reusing-window* -fuf-search-patterns fuf.txt /*fuf-search-patterns* -fuf-setting-one-time-option fuf.txt /*fuf-setting-one-time-option* -fuf-sorting-of-completion-items fuf.txt /*fuf-sorting-of-completion-items* -fuf-tag-mode fuf.txt /*fuf-tag-mode* -fuf-taggedfile-mode fuf.txt /*fuf-taggedfile-mode* -fuf-thanks fuf.txt /*fuf-thanks* -fuf-usage fuf.txt /*fuf-usage* -fuf-vimrc-example fuf.txt /*fuf-vimrc-example* -fuf.txt fuf.txt /*fuf.txt* -fuzzyfinder fuf.txt /*fuzzyfinder* -g:TagList_title taglisttoo.txt /*g:TagList_title* -g:TaglistTooEnabled taglisttoo.txt /*g:TaglistTooEnabled* -g:TaglistTooPosition taglisttoo.txt /*g:TaglistTooPosition* -g:TaglistTooTagEcho taglisttoo.txt /*g:TaglistTooTagEcho* -g:Tlist_Auto_Open taglisttoo.txt /*g:Tlist_Auto_Open* -g:Tlist_Ctags_Cmd taglisttoo.txt /*g:Tlist_Ctags_Cmd* -g:Tlist_Sort_Type taglisttoo.txt /*g:Tlist_Sort_Type* -g:Tlist_WinWidth taglisttoo.txt /*g:Tlist_WinWidth* -g:blogger_browser vimblogger_ft.txt /*g:blogger_browser* -g:blogger_confirm_del vimblogger_ft.txt /*g:blogger_confirm_del* -g:blogger_draft vimblogger_ft.txt /*g:blogger_draft* -g:blogger_login vimblogger_ft.txt /*g:blogger_login* -g:blogger_maxarticles vimblogger_ft.txt /*g:blogger_maxarticles* -g:blogger_name vimblogger_ft.txt /*g:blogger_name* -g:blogger_pass vimblogger_ft.txt /*g:blogger_pass* -g:blogger_pygments_class vimblogger_ft.txt /*g:blogger_pygments_class* -g:blogger_stylesheets vimblogger_ft.txt /*g:blogger_stylesheets* -g:fuf_abbrevMap fuf.txt /*g:fuf_abbrevMap* -g:fuf_autoPreview fuf.txt /*g:fuf_autoPreview* -g:fuf_bookmarkdir_keyDelete fuf.txt /*g:fuf_bookmarkdir_keyDelete* -g:fuf_bookmarkdir_prompt fuf.txt /*g:fuf_bookmarkdir_prompt* -g:fuf_bookmarkdir_switchOrder fuf.txt /*g:fuf_bookmarkdir_switchOrder* -g:fuf_bookmarkfile_keyDelete fuf.txt /*g:fuf_bookmarkfile_keyDelete* -g:fuf_bookmarkfile_prompt fuf.txt /*g:fuf_bookmarkfile_prompt* -g:fuf_bookmarkfile_searchRange fuf.txt /*g:fuf_bookmarkfile_searchRange* -g:fuf_bookmarkfile_switchOrder fuf.txt /*g:fuf_bookmarkfile_switchOrder* -g:fuf_buffer_keyDelete fuf.txt /*g:fuf_buffer_keyDelete* -g:fuf_buffer_mruOrder fuf.txt /*g:fuf_buffer_mruOrder* -g:fuf_buffer_prompt fuf.txt /*g:fuf_buffer_prompt* -g:fuf_buffer_switchOrder fuf.txt /*g:fuf_buffer_switchOrder* -g:fuf_buffertag_ctagsPath fuf.txt /*g:fuf_buffertag_ctagsPath* -g:fuf_buffertag_prompt fuf.txt /*g:fuf_buffertag_prompt* -g:fuf_buffertag_switchOrder fuf.txt /*g:fuf_buffertag_switchOrder* -g:fuf_changelist_prompt fuf.txt /*g:fuf_changelist_prompt* -g:fuf_changelist_switchOrder fuf.txt /*g:fuf_changelist_switchOrder* -g:fuf_coveragefile_exclude fuf.txt /*g:fuf_coveragefile_exclude* -g:fuf_coveragefile_globPatterns fuf.txt /*g:fuf_coveragefile_globPatterns* -g:fuf_coveragefile_prompt fuf.txt /*g:fuf_coveragefile_prompt* -g:fuf_coveragefile_switchOrder fuf.txt /*g:fuf_coveragefile_switchOrder* -g:fuf_dataDir fuf.txt /*g:fuf_dataDir* -g:fuf_dir_exclude fuf.txt /*g:fuf_dir_exclude* -g:fuf_dir_prompt fuf.txt /*g:fuf_dir_prompt* -g:fuf_dir_switchOrder fuf.txt /*g:fuf_dir_switchOrder* -g:fuf_enumeratingLimit fuf.txt /*g:fuf_enumeratingLimit* -g:fuf_file_exclude fuf.txt /*g:fuf_file_exclude* -g:fuf_file_prompt fuf.txt /*g:fuf_file_prompt* -g:fuf_file_switchOrder fuf.txt /*g:fuf_file_switchOrder* -g:fuf_fuzzyRefining fuf.txt /*g:fuf_fuzzyRefining* -g:fuf_help_prompt fuf.txt /*g:fuf_help_prompt* -g:fuf_help_switchOrder fuf.txt /*g:fuf_help_switchOrder* -g:fuf_ignoreCase fuf.txt /*g:fuf_ignoreCase* -g:fuf_jumplist_prompt fuf.txt /*g:fuf_jumplist_prompt* -g:fuf_jumplist_switchOrder fuf.txt /*g:fuf_jumplist_switchOrder* -g:fuf_keyNextMode fuf.txt /*g:fuf_keyNextMode* -g:fuf_keyNextPattern fuf.txt /*g:fuf_keyNextPattern* -g:fuf_keyOpen fuf.txt /*g:fuf_keyOpen* -g:fuf_keyOpenSplit fuf.txt /*g:fuf_keyOpenSplit* -g:fuf_keyOpenTabpage fuf.txt /*g:fuf_keyOpenTabpage* -g:fuf_keyOpenVsplit fuf.txt /*g:fuf_keyOpenVsplit* -g:fuf_keyPrevMode fuf.txt /*g:fuf_keyPrevMode* -g:fuf_keyPrevPattern fuf.txt /*g:fuf_keyPrevPattern* -g:fuf_keyPreview fuf.txt /*g:fuf_keyPreview* -g:fuf_keySwitchMatching fuf.txt /*g:fuf_keySwitchMatching* -g:fuf_learningLimit fuf.txt /*g:fuf_learningLimit* -g:fuf_line_prompt fuf.txt /*g:fuf_line_prompt* -g:fuf_line_switchOrder fuf.txt /*g:fuf_line_switchOrder* -g:fuf_maxMenuWidth fuf.txt /*g:fuf_maxMenuWidth* -g:fuf_modesDisable fuf.txt /*g:fuf_modesDisable* -g:fuf_mrucmd_exclude fuf.txt /*g:fuf_mrucmd_exclude* -g:fuf_mrucmd_maxItem fuf.txt /*g:fuf_mrucmd_maxItem* -g:fuf_mrucmd_prompt fuf.txt /*g:fuf_mrucmd_prompt* -g:fuf_mrucmd_switchOrder fuf.txt /*g:fuf_mrucmd_switchOrder* -g:fuf_mrufile_exclude fuf.txt /*g:fuf_mrufile_exclude* -g:fuf_mrufile_keyExpand fuf.txt /*g:fuf_mrufile_keyExpand* -g:fuf_mrufile_maxItem fuf.txt /*g:fuf_mrufile_maxItem* -g:fuf_mrufile_maxItemDir fuf.txt /*g:fuf_mrufile_maxItemDir* -g:fuf_mrufile_prompt fuf.txt /*g:fuf_mrufile_prompt* -g:fuf_mrufile_switchOrder fuf.txt /*g:fuf_mrufile_switchOrder* -g:fuf_patternSeparator fuf.txt /*g:fuf_patternSeparator* -g:fuf_previewHeight fuf.txt /*g:fuf_previewHeight* -g:fuf_promptHighlight fuf.txt /*g:fuf_promptHighlight* -g:fuf_quickfix_prompt fuf.txt /*g:fuf_quickfix_prompt* -g:fuf_quickfix_switchOrder fuf.txt /*g:fuf_quickfix_switchOrder* -g:fuf_reuseWindow fuf.txt /*g:fuf_reuseWindow* -g:fuf_splitPathMatching fuf.txt /*g:fuf_splitPathMatching* -g:fuf_tag_prompt fuf.txt /*g:fuf_tag_prompt* -g:fuf_tag_switchOrder fuf.txt /*g:fuf_tag_switchOrder* -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:mwAutoLoadMarks mark.txt /*g:mwAutoLoadMarks* -g:mwAutoSaveMarks mark.txt /*g:mwAutoSaveMarks* -g:mwHistAdd mark.txt /*g:mwHistAdd* -g:snippets_dir snipMate.txt /*g:snippets_dir* -g:snips_author snipMate.txt /*g:snips_author* -g:tagbar_autoclose tagbar.txt /*g:tagbar_autoclose* -g:tagbar_autofocus tagbar.txt /*g:tagbar_autofocus* -g:tagbar_autoshowtag tagbar.txt /*g:tagbar_autoshowtag* -g:tagbar_compact tagbar.txt /*g:tagbar_compact* -g:tagbar_ctags_bin tagbar.txt /*g:tagbar_ctags_bin* -g:tagbar_expand tagbar.txt /*g:tagbar_expand* -g:tagbar_foldlevel tagbar.txt /*g:tagbar_foldlevel* -g:tagbar_iconchars tagbar.txt /*g:tagbar_iconchars* -g:tagbar_left tagbar.txt /*g:tagbar_left* -g:tagbar_singleclick tagbar.txt /*g:tagbar_singleclick* -g:tagbar_sort tagbar.txt /*g:tagbar_sort* -g:tagbar_systemenc tagbar.txt /*g:tagbar_systemenc* -g:tagbar_updateonsave_maxlines tagbar.txt /*g:tagbar_updateonsave_maxlines* -g:tagbar_width tagbar.txt /*g:tagbar_width* -g:vimwiki_CJK_length vimwiki.txt /*g:vimwiki_CJK_length* -g:vimwiki_auto_checkbox vimwiki.txt /*g:vimwiki_auto_checkbox* -g:vimwiki_badsyms vimwiki.txt /*g:vimwiki_badsyms* -g:vimwiki_browsers vimwiki.txt /*g:vimwiki_browsers* -g:vimwiki_camel_case vimwiki.txt /*g:vimwiki_camel_case* -g:vimwiki_conceallevel vimwiki.txt /*g:vimwiki_conceallevel* -g:vimwiki_dir_link vimwiki.txt /*g:vimwiki_dir_link* -g:vimwiki_file_exts vimwiki.txt /*g:vimwiki_file_exts* -g:vimwiki_fold_lists vimwiki.txt /*g:vimwiki_fold_lists* -g:vimwiki_fold_trailing_empty_lines vimwiki.txt /*g:vimwiki_fold_trailing_empty_lines* -g:vimwiki_folding vimwiki.txt /*g:vimwiki_folding* -g:vimwiki_global_ext vimwiki.txt /*g:vimwiki_global_ext* -g:vimwiki_hl_cb_checked vimwiki.txt /*g:vimwiki_hl_cb_checked* -g:vimwiki_hl_headers vimwiki.txt /*g:vimwiki_hl_headers* -g:vimwiki_html_header_numbering vimwiki.txt /*g:vimwiki_html_header_numbering* -g:vimwiki_html_header_numbering_sym vimwiki.txt /*g:vimwiki_html_header_numbering_sym* -g:vimwiki_list vimwiki.txt /*g:vimwiki_list* -g:vimwiki_list_ignore_newline vimwiki.txt /*g:vimwiki_list_ignore_newline* -g:vimwiki_listsyms vimwiki.txt /*g:vimwiki_listsyms* -g:vimwiki_lower vimwiki.txt /*g:vimwiki_lower* -g:vimwiki_menu vimwiki.txt /*g:vimwiki_menu* -g:vimwiki_stripsym vimwiki.txt /*g:vimwiki_stripsym* -g:vimwiki_table_auto_fmt vimwiki.txt /*g:vimwiki_table_auto_fmt* -g:vimwiki_upper vimwiki.txt /*g:vimwiki_upper* -g:vimwiki_use_calendar vimwiki.txt /*g:vimwiki_use_calendar* -g:vimwiki_use_mouse vimwiki.txt /*g:vimwiki_use_mouse* -g:vimwiki_user_htmls vimwiki.txt /*g:vimwiki_user_htmls* -g:vimwiki_valid_html_tags vimwiki.txt /*g:vimwiki_valid_html_tags* -g:vimwiki_w32_dir_enc vimwiki.txt /*g:vimwiki_w32_dir_enc* -gundo.txt gundo.txt /*gundo.txt* -gundo_close_on_revert gundo.txt /*gundo_close_on_revert* -gundo_disable gundo.txt /*gundo_disable* -gundo_help gundo.txt /*gundo_help* -gundo_map_move_newer gundo.txt /*gundo_map_move_newer* -gundo_map_move_older gundo.txt /*gundo_map_move_older* -gundo_preview_bottom gundo.txt /*gundo_preview_bottom* -gundo_preview_height gundo.txt /*gundo_preview_height* -gundo_right gundo.txt /*gundo_right* -gundo_width gundo.txt /*gundo_width* -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_* -l9 l9.txt /*l9* -l9-about l9.txt /*l9-about* -l9-author l9.txt /*l9-author* -l9-changelog l9.txt /*l9-changelog* -l9-contact l9.txt /*l9-contact* -l9-installation l9.txt /*l9-installation* -l9-introduction l9.txt /*l9-introduction* -l9-usage l9.txt /*l9-usage* -l9.txt l9.txt /*l9.txt* -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* -mark-highlight-colors mark.txt /*mark-highlight-colors* -mark-highlighting mark.txt /*mark-highlighting* -mark-history mark.txt /*mark-history* -mark-ideas mark.txt /*mark-ideas* -mark-installation mark.txt /*mark-installation* -mark-known-problems mark.txt /*mark-known-problems* -mark-limitations mark.txt /*mark-limitations* -mark-mappings mark.txt /*mark-mappings* -mark-persistence mark.txt /*mark-persistence* -mark-searching mark.txt /*mark-searching* -mark-todo mark.txt /*mark-todo* -mark-usage mark.txt /*mark-usage* -mark-whitespace-indifferent mark.txt /*mark-whitespace-indifferent* -mark.txt mark.txt /*mark.txt* -mark.vim mark.txt /*mark.vim* -multi_snip snipMate.txt /*multi_snip* -py2stdlib py2stdlib.txt /*py2stdlib* -py2stdlib-__future__ py2stdlib.txt /*py2stdlib-__future__* -py2stdlib-__main__ py2stdlib.txt /*py2stdlib-__main__* -py2stdlib-_winreg py2stdlib.txt /*py2stdlib-_winreg* -py2stdlib-abc py2stdlib.txt /*py2stdlib-abc* -py2stdlib-aepack py2stdlib.txt /*py2stdlib-aepack* -py2stdlib-aetools py2stdlib.txt /*py2stdlib-aetools* -py2stdlib-aetypes py2stdlib.txt /*py2stdlib-aetypes* -py2stdlib-aifc py2stdlib.txt /*py2stdlib-aifc* -py2stdlib-al py2stdlib.txt /*py2stdlib-al* -py2stdlib-al^ py2stdlib.txt /*py2stdlib-al^* -py2stdlib-anydbm py2stdlib.txt /*py2stdlib-anydbm* -py2stdlib-applesingle py2stdlib.txt /*py2stdlib-applesingle* -py2stdlib-argparse py2stdlib.txt /*py2stdlib-argparse* -py2stdlib-array py2stdlib.txt /*py2stdlib-array* -py2stdlib-ast py2stdlib.txt /*py2stdlib-ast* -py2stdlib-asynchat py2stdlib.txt /*py2stdlib-asynchat* -py2stdlib-asyncore py2stdlib.txt /*py2stdlib-asyncore* -py2stdlib-atexit py2stdlib.txt /*py2stdlib-atexit* -py2stdlib-audioop py2stdlib.txt /*py2stdlib-audioop* -py2stdlib-autogil py2stdlib.txt /*py2stdlib-autogil* -py2stdlib-base64 py2stdlib.txt /*py2stdlib-base64* -py2stdlib-basehttpserver py2stdlib.txt /*py2stdlib-basehttpserver* -py2stdlib-bastion py2stdlib.txt /*py2stdlib-bastion* -py2stdlib-bdb py2stdlib.txt /*py2stdlib-bdb* -py2stdlib-binascii py2stdlib.txt /*py2stdlib-binascii* -py2stdlib-binhex py2stdlib.txt /*py2stdlib-binhex* -py2stdlib-bisect py2stdlib.txt /*py2stdlib-bisect* -py2stdlib-bsddb py2stdlib.txt /*py2stdlib-bsddb* -py2stdlib-buildtools py2stdlib.txt /*py2stdlib-buildtools* -py2stdlib-builtin py2stdlib.txt /*py2stdlib-builtin* -py2stdlib-builtin:Constants py2stdlib.txt /*py2stdlib-builtin:Constants* -py2stdlib-builtin:Exceptions py2stdlib.txt /*py2stdlib-builtin:Exceptions* -py2stdlib-builtin:Functions py2stdlib.txt /*py2stdlib-builtin:Functions* -py2stdlib-builtin:Types py2stdlib.txt /*py2stdlib-builtin:Types* -py2stdlib-bz2 py2stdlib.txt /*py2stdlib-bz2* -py2stdlib-calendar py2stdlib.txt /*py2stdlib-calendar* -py2stdlib-carbon.ae py2stdlib.txt /*py2stdlib-carbon.ae* -py2stdlib-carbon.ah py2stdlib.txt /*py2stdlib-carbon.ah* -py2stdlib-carbon.app py2stdlib.txt /*py2stdlib-carbon.app* -py2stdlib-carbon.appearance py2stdlib.txt /*py2stdlib-carbon.appearance* -py2stdlib-carbon.carbonevents py2stdlib.txt /*py2stdlib-carbon.carbonevents* -py2stdlib-carbon.carbonevt py2stdlib.txt /*py2stdlib-carbon.carbonevt* -py2stdlib-carbon.cf py2stdlib.txt /*py2stdlib-carbon.cf* -py2stdlib-carbon.cg py2stdlib.txt /*py2stdlib-carbon.cg* -py2stdlib-carbon.cm py2stdlib.txt /*py2stdlib-carbon.cm* -py2stdlib-carbon.components py2stdlib.txt /*py2stdlib-carbon.components* -py2stdlib-carbon.controlaccessor py2stdlib.txt /*py2stdlib-carbon.controlaccessor* -py2stdlib-carbon.controls py2stdlib.txt /*py2stdlib-carbon.controls* -py2stdlib-carbon.corefounation py2stdlib.txt /*py2stdlib-carbon.corefounation* -py2stdlib-carbon.coregraphics py2stdlib.txt /*py2stdlib-carbon.coregraphics* -py2stdlib-carbon.ctl py2stdlib.txt /*py2stdlib-carbon.ctl* -py2stdlib-carbon.dialogs py2stdlib.txt /*py2stdlib-carbon.dialogs* -py2stdlib-carbon.dlg py2stdlib.txt /*py2stdlib-carbon.dlg* -py2stdlib-carbon.drag py2stdlib.txt /*py2stdlib-carbon.drag* -py2stdlib-carbon.dragconst py2stdlib.txt /*py2stdlib-carbon.dragconst* -py2stdlib-carbon.events py2stdlib.txt /*py2stdlib-carbon.events* -py2stdlib-carbon.evt py2stdlib.txt /*py2stdlib-carbon.evt* -py2stdlib-carbon.file py2stdlib.txt /*py2stdlib-carbon.file* -py2stdlib-carbon.files py2stdlib.txt /*py2stdlib-carbon.files* -py2stdlib-carbon.fm py2stdlib.txt /*py2stdlib-carbon.fm* -py2stdlib-carbon.folder py2stdlib.txt /*py2stdlib-carbon.folder* -py2stdlib-carbon.folders py2stdlib.txt /*py2stdlib-carbon.folders* -py2stdlib-carbon.fonts py2stdlib.txt /*py2stdlib-carbon.fonts* -py2stdlib-carbon.help py2stdlib.txt /*py2stdlib-carbon.help* -py2stdlib-carbon.ibcarbon py2stdlib.txt /*py2stdlib-carbon.ibcarbon* -py2stdlib-carbon.ibcarbonruntime py2stdlib.txt /*py2stdlib-carbon.ibcarbonruntime* -py2stdlib-carbon.icns py2stdlib.txt /*py2stdlib-carbon.icns* -py2stdlib-carbon.icons py2stdlib.txt /*py2stdlib-carbon.icons* -py2stdlib-carbon.launch py2stdlib.txt /*py2stdlib-carbon.launch* -py2stdlib-carbon.launchservices py2stdlib.txt /*py2stdlib-carbon.launchservices* -py2stdlib-carbon.list py2stdlib.txt /*py2stdlib-carbon.list* -py2stdlib-carbon.lists py2stdlib.txt /*py2stdlib-carbon.lists* -py2stdlib-carbon.machelp py2stdlib.txt /*py2stdlib-carbon.machelp* -py2stdlib-carbon.mediadescr py2stdlib.txt /*py2stdlib-carbon.mediadescr* -py2stdlib-carbon.menu py2stdlib.txt /*py2stdlib-carbon.menu* -py2stdlib-carbon.menus py2stdlib.txt /*py2stdlib-carbon.menus* -py2stdlib-carbon.mlte py2stdlib.txt /*py2stdlib-carbon.mlte* -py2stdlib-carbon.osa py2stdlib.txt /*py2stdlib-carbon.osa* -py2stdlib-carbon.osaconst py2stdlib.txt /*py2stdlib-carbon.osaconst* -py2stdlib-carbon.qd py2stdlib.txt /*py2stdlib-carbon.qd* -py2stdlib-carbon.qdoffs py2stdlib.txt /*py2stdlib-carbon.qdoffs* -py2stdlib-carbon.qdoffscreen py2stdlib.txt /*py2stdlib-carbon.qdoffscreen* -py2stdlib-carbon.qt py2stdlib.txt /*py2stdlib-carbon.qt* -py2stdlib-carbon.quickdraw py2stdlib.txt /*py2stdlib-carbon.quickdraw* -py2stdlib-carbon.quicktime py2stdlib.txt /*py2stdlib-carbon.quicktime* -py2stdlib-carbon.res py2stdlib.txt /*py2stdlib-carbon.res* -py2stdlib-carbon.resources py2stdlib.txt /*py2stdlib-carbon.resources* -py2stdlib-carbon.scrap py2stdlib.txt /*py2stdlib-carbon.scrap* -py2stdlib-carbon.snd py2stdlib.txt /*py2stdlib-carbon.snd* -py2stdlib-carbon.sound py2stdlib.txt /*py2stdlib-carbon.sound* -py2stdlib-carbon.te py2stdlib.txt /*py2stdlib-carbon.te* -py2stdlib-carbon.textedit py2stdlib.txt /*py2stdlib-carbon.textedit* -py2stdlib-carbon.win py2stdlib.txt /*py2stdlib-carbon.win* -py2stdlib-carbon.windows py2stdlib.txt /*py2stdlib-carbon.windows* -py2stdlib-cd py2stdlib.txt /*py2stdlib-cd* -py2stdlib-cfmfile py2stdlib.txt /*py2stdlib-cfmfile* -py2stdlib-cgi py2stdlib.txt /*py2stdlib-cgi* -py2stdlib-cgihttpserver py2stdlib.txt /*py2stdlib-cgihttpserver* -py2stdlib-cgitb py2stdlib.txt /*py2stdlib-cgitb* -py2stdlib-chunk py2stdlib.txt /*py2stdlib-chunk* -py2stdlib-cmath py2stdlib.txt /*py2stdlib-cmath* -py2stdlib-cmd py2stdlib.txt /*py2stdlib-cmd* -py2stdlib-code py2stdlib.txt /*py2stdlib-code* -py2stdlib-codecs py2stdlib.txt /*py2stdlib-codecs* -py2stdlib-codeop py2stdlib.txt /*py2stdlib-codeop* -py2stdlib-collections py2stdlib.txt /*py2stdlib-collections* -py2stdlib-colorpicker py2stdlib.txt /*py2stdlib-colorpicker* -py2stdlib-colorsys py2stdlib.txt /*py2stdlib-colorsys* -py2stdlib-commands py2stdlib.txt /*py2stdlib-commands* -py2stdlib-compileall py2stdlib.txt /*py2stdlib-compileall* -py2stdlib-compiler py2stdlib.txt /*py2stdlib-compiler* -py2stdlib-compiler.ast py2stdlib.txt /*py2stdlib-compiler.ast* -py2stdlib-compiler.visitor py2stdlib.txt /*py2stdlib-compiler.visitor* -py2stdlib-configparser py2stdlib.txt /*py2stdlib-configparser* -py2stdlib-contextlib py2stdlib.txt /*py2stdlib-contextlib* -py2stdlib-cookie py2stdlib.txt /*py2stdlib-cookie* -py2stdlib-cookielib py2stdlib.txt /*py2stdlib-cookielib* -py2stdlib-copy py2stdlib.txt /*py2stdlib-copy* -py2stdlib-copy_reg py2stdlib.txt /*py2stdlib-copy_reg* -py2stdlib-cpickle py2stdlib.txt /*py2stdlib-cpickle* -py2stdlib-cprofile py2stdlib.txt /*py2stdlib-cprofile* -py2stdlib-crypt py2stdlib.txt /*py2stdlib-crypt* -py2stdlib-cstringio py2stdlib.txt /*py2stdlib-cstringio* -py2stdlib-csv py2stdlib.txt /*py2stdlib-csv* -py2stdlib-ctypes py2stdlib.txt /*py2stdlib-ctypes* -py2stdlib-curses py2stdlib.txt /*py2stdlib-curses* -py2stdlib-curses.ascii py2stdlib.txt /*py2stdlib-curses.ascii* -py2stdlib-curses.panel py2stdlib.txt /*py2stdlib-curses.panel* -py2stdlib-curses.textpad py2stdlib.txt /*py2stdlib-curses.textpad* -py2stdlib-curses.wrapper py2stdlib.txt /*py2stdlib-curses.wrapper* -py2stdlib-datetime py2stdlib.txt /*py2stdlib-datetime* -py2stdlib-dbhash py2stdlib.txt /*py2stdlib-dbhash* -py2stdlib-dbm py2stdlib.txt /*py2stdlib-dbm* -py2stdlib-decimal py2stdlib.txt /*py2stdlib-decimal* -py2stdlib-device py2stdlib.txt /*py2stdlib-device* -py2stdlib-difflib py2stdlib.txt /*py2stdlib-difflib* -py2stdlib-dircache py2stdlib.txt /*py2stdlib-dircache* -py2stdlib-dis py2stdlib.txt /*py2stdlib-dis* -py2stdlib-distutils py2stdlib.txt /*py2stdlib-distutils* -py2stdlib-dl py2stdlib.txt /*py2stdlib-dl* -py2stdlib-doctest py2stdlib.txt /*py2stdlib-doctest* -py2stdlib-docxmlrpcserver py2stdlib.txt /*py2stdlib-docxmlrpcserver* -py2stdlib-dumbdbm py2stdlib.txt /*py2stdlib-dumbdbm* -py2stdlib-dummy_thread py2stdlib.txt /*py2stdlib-dummy_thread* -py2stdlib-dummy_threading py2stdlib.txt /*py2stdlib-dummy_threading* -py2stdlib-easydialogs py2stdlib.txt /*py2stdlib-easydialogs* -py2stdlib-email py2stdlib.txt /*py2stdlib-email* -py2stdlib-email.charset py2stdlib.txt /*py2stdlib-email.charset* -py2stdlib-email.encoders py2stdlib.txt /*py2stdlib-email.encoders* -py2stdlib-email.errors py2stdlib.txt /*py2stdlib-email.errors* -py2stdlib-email.generator py2stdlib.txt /*py2stdlib-email.generator* -py2stdlib-email.header py2stdlib.txt /*py2stdlib-email.header* -py2stdlib-email.iterators py2stdlib.txt /*py2stdlib-email.iterators* -py2stdlib-email.message py2stdlib.txt /*py2stdlib-email.message* -py2stdlib-email.mime py2stdlib.txt /*py2stdlib-email.mime* -py2stdlib-email.parser py2stdlib.txt /*py2stdlib-email.parser* -py2stdlib-email.utils py2stdlib.txt /*py2stdlib-email.utils* -py2stdlib-encodings.idna py2stdlib.txt /*py2stdlib-encodings.idna* -py2stdlib-encodings.utf_8_sig py2stdlib.txt /*py2stdlib-encodings.utf_8_sig* -py2stdlib-errno py2stdlib.txt /*py2stdlib-errno* -py2stdlib-exceptions py2stdlib.txt /*py2stdlib-exceptions* -py2stdlib-fcntl py2stdlib.txt /*py2stdlib-fcntl* -py2stdlib-filecmp py2stdlib.txt /*py2stdlib-filecmp* -py2stdlib-fileinput py2stdlib.txt /*py2stdlib-fileinput* -py2stdlib-findertools py2stdlib.txt /*py2stdlib-findertools* -py2stdlib-fl py2stdlib.txt /*py2stdlib-fl* -py2stdlib-fl^ py2stdlib.txt /*py2stdlib-fl^* -py2stdlib-flp py2stdlib.txt /*py2stdlib-flp* -py2stdlib-fm py2stdlib.txt /*py2stdlib-fm* -py2stdlib-fnmatch py2stdlib.txt /*py2stdlib-fnmatch* -py2stdlib-formatter py2stdlib.txt /*py2stdlib-formatter* -py2stdlib-fpectl py2stdlib.txt /*py2stdlib-fpectl* -py2stdlib-fpformat py2stdlib.txt /*py2stdlib-fpformat* -py2stdlib-fractions py2stdlib.txt /*py2stdlib-fractions* -py2stdlib-framework py2stdlib.txt /*py2stdlib-framework* -py2stdlib-ftplib py2stdlib.txt /*py2stdlib-ftplib* -py2stdlib-functools py2stdlib.txt /*py2stdlib-functools* -py2stdlib-future_builtins py2stdlib.txt /*py2stdlib-future_builtins* -py2stdlib-gc py2stdlib.txt /*py2stdlib-gc* -py2stdlib-gdbm py2stdlib.txt /*py2stdlib-gdbm* -py2stdlib-gensuitemodule py2stdlib.txt /*py2stdlib-gensuitemodule* -py2stdlib-getopt py2stdlib.txt /*py2stdlib-getopt* -py2stdlib-getpass py2stdlib.txt /*py2stdlib-getpass* -py2stdlib-gettext py2stdlib.txt /*py2stdlib-gettext* -py2stdlib-gl py2stdlib.txt /*py2stdlib-gl* -py2stdlib-gl^ py2stdlib.txt /*py2stdlib-gl^* -py2stdlib-glob py2stdlib.txt /*py2stdlib-glob* -py2stdlib-grp py2stdlib.txt /*py2stdlib-grp* -py2stdlib-gzip py2stdlib.txt /*py2stdlib-gzip* -py2stdlib-hashlib py2stdlib.txt /*py2stdlib-hashlib* -py2stdlib-heapq py2stdlib.txt /*py2stdlib-heapq* -py2stdlib-hmac py2stdlib.txt /*py2stdlib-hmac* -py2stdlib-hotshot py2stdlib.txt /*py2stdlib-hotshot* -py2stdlib-hotshot.stats py2stdlib.txt /*py2stdlib-hotshot.stats* -py2stdlib-htmlentitydefs py2stdlib.txt /*py2stdlib-htmlentitydefs* -py2stdlib-htmllib py2stdlib.txt /*py2stdlib-htmllib* -py2stdlib-htmlparser py2stdlib.txt /*py2stdlib-htmlparser* -py2stdlib-httplib py2stdlib.txt /*py2stdlib-httplib* -py2stdlib-ic py2stdlib.txt /*py2stdlib-ic* -py2stdlib-icopen py2stdlib.txt /*py2stdlib-icopen* -py2stdlib-imageop py2stdlib.txt /*py2stdlib-imageop* -py2stdlib-imaplib py2stdlib.txt /*py2stdlib-imaplib* -py2stdlib-imgfile py2stdlib.txt /*py2stdlib-imgfile* -py2stdlib-imghdr py2stdlib.txt /*py2stdlib-imghdr* -py2stdlib-imp py2stdlib.txt /*py2stdlib-imp* -py2stdlib-importlib py2stdlib.txt /*py2stdlib-importlib* -py2stdlib-imputil py2stdlib.txt /*py2stdlib-imputil* -py2stdlib-inspect py2stdlib.txt /*py2stdlib-inspect* -py2stdlib-io py2stdlib.txt /*py2stdlib-io* -py2stdlib-itertools py2stdlib.txt /*py2stdlib-itertools* -py2stdlib-jpeg py2stdlib.txt /*py2stdlib-jpeg* -py2stdlib-json py2stdlib.txt /*py2stdlib-json* -py2stdlib-keyword py2stdlib.txt /*py2stdlib-keyword* -py2stdlib-lib2to3 py2stdlib.txt /*py2stdlib-lib2to3* -py2stdlib-linecache py2stdlib.txt /*py2stdlib-linecache* -py2stdlib-locale py2stdlib.txt /*py2stdlib-locale* -py2stdlib-logging py2stdlib.txt /*py2stdlib-logging* -py2stdlib-macerrors py2stdlib.txt /*py2stdlib-macerrors* -py2stdlib-macos py2stdlib.txt /*py2stdlib-macos* -py2stdlib-macostools py2stdlib.txt /*py2stdlib-macostools* -py2stdlib-macpath py2stdlib.txt /*py2stdlib-macpath* -py2stdlib-macresource py2stdlib.txt /*py2stdlib-macresource* -py2stdlib-mailbox py2stdlib.txt /*py2stdlib-mailbox* -py2stdlib-mailcap py2stdlib.txt /*py2stdlib-mailcap* -py2stdlib-marshal py2stdlib.txt /*py2stdlib-marshal* -py2stdlib-math py2stdlib.txt /*py2stdlib-math* -py2stdlib-md5 py2stdlib.txt /*py2stdlib-md5* -py2stdlib-mhlib py2stdlib.txt /*py2stdlib-mhlib* -py2stdlib-mimetools py2stdlib.txt /*py2stdlib-mimetools* -py2stdlib-mimetypes py2stdlib.txt /*py2stdlib-mimetypes* -py2stdlib-mimewriter py2stdlib.txt /*py2stdlib-mimewriter* -py2stdlib-mimify py2stdlib.txt /*py2stdlib-mimify* -py2stdlib-miniaeframe py2stdlib.txt /*py2stdlib-miniaeframe* -py2stdlib-mmap py2stdlib.txt /*py2stdlib-mmap* -py2stdlib-modulefinder py2stdlib.txt /*py2stdlib-modulefinder* -py2stdlib-msilib py2stdlib.txt /*py2stdlib-msilib* -py2stdlib-msvcrt py2stdlib.txt /*py2stdlib-msvcrt* -py2stdlib-multifile py2stdlib.txt /*py2stdlib-multifile* -py2stdlib-multiprocessing py2stdlib.txt /*py2stdlib-multiprocessing* -py2stdlib-multiprocessing.connection py2stdlib.txt /*py2stdlib-multiprocessing.connection* -py2stdlib-multiprocessing.dummy py2stdlib.txt /*py2stdlib-multiprocessing.dummy* -py2stdlib-multiprocessing.managers py2stdlib.txt /*py2stdlib-multiprocessing.managers* -py2stdlib-multiprocessing.pool py2stdlib.txt /*py2stdlib-multiprocessing.pool* -py2stdlib-multiprocessing.sharedctypes py2stdlib.txt /*py2stdlib-multiprocessing.sharedctypes* -py2stdlib-mutex py2stdlib.txt /*py2stdlib-mutex* -py2stdlib-nav py2stdlib.txt /*py2stdlib-nav* -py2stdlib-netrc py2stdlib.txt /*py2stdlib-netrc* -py2stdlib-new py2stdlib.txt /*py2stdlib-new* -py2stdlib-nis py2stdlib.txt /*py2stdlib-nis* -py2stdlib-nntplib py2stdlib.txt /*py2stdlib-nntplib* -py2stdlib-numbers py2stdlib.txt /*py2stdlib-numbers* -py2stdlib-operator py2stdlib.txt /*py2stdlib-operator* -py2stdlib-optparse py2stdlib.txt /*py2stdlib-optparse* -py2stdlib-os py2stdlib.txt /*py2stdlib-os* -py2stdlib-os.path py2stdlib.txt /*py2stdlib-os.path* -py2stdlib-ossaudiodev py2stdlib.txt /*py2stdlib-ossaudiodev* -py2stdlib-parser py2stdlib.txt /*py2stdlib-parser* -py2stdlib-pdb py2stdlib.txt /*py2stdlib-pdb* -py2stdlib-pickle py2stdlib.txt /*py2stdlib-pickle* -py2stdlib-pickletools py2stdlib.txt /*py2stdlib-pickletools* -py2stdlib-pipes py2stdlib.txt /*py2stdlib-pipes* -py2stdlib-pixmapwrapper py2stdlib.txt /*py2stdlib-pixmapwrapper* -py2stdlib-pkgutil py2stdlib.txt /*py2stdlib-pkgutil* -py2stdlib-platform py2stdlib.txt /*py2stdlib-platform* -py2stdlib-plistlib py2stdlib.txt /*py2stdlib-plistlib* -py2stdlib-popen2 py2stdlib.txt /*py2stdlib-popen2* -py2stdlib-poplib py2stdlib.txt /*py2stdlib-poplib* -py2stdlib-posix py2stdlib.txt /*py2stdlib-posix* -py2stdlib-posixfile py2stdlib.txt /*py2stdlib-posixfile* -py2stdlib-pprint py2stdlib.txt /*py2stdlib-pprint* -py2stdlib-profile py2stdlib.txt /*py2stdlib-profile* -py2stdlib-pstats py2stdlib.txt /*py2stdlib-pstats* -py2stdlib-pty py2stdlib.txt /*py2stdlib-pty* -py2stdlib-pwd py2stdlib.txt /*py2stdlib-pwd* -py2stdlib-py_compile py2stdlib.txt /*py2stdlib-py_compile* -py2stdlib-pyclbr py2stdlib.txt /*py2stdlib-pyclbr* -py2stdlib-pydoc py2stdlib.txt /*py2stdlib-pydoc* -py2stdlib-queue py2stdlib.txt /*py2stdlib-queue* -py2stdlib-quopri py2stdlib.txt /*py2stdlib-quopri* -py2stdlib-random py2stdlib.txt /*py2stdlib-random* -py2stdlib-re py2stdlib.txt /*py2stdlib-re* -py2stdlib-readline py2stdlib.txt /*py2stdlib-readline* -py2stdlib-repr py2stdlib.txt /*py2stdlib-repr* -py2stdlib-resource py2stdlib.txt /*py2stdlib-resource* -py2stdlib-rexec py2stdlib.txt /*py2stdlib-rexec* -py2stdlib-rfc822 py2stdlib.txt /*py2stdlib-rfc822* -py2stdlib-rlcompleter py2stdlib.txt /*py2stdlib-rlcompleter* -py2stdlib-robotparser py2stdlib.txt /*py2stdlib-robotparser* -py2stdlib-runpy py2stdlib.txt /*py2stdlib-runpy* -py2stdlib-sched py2stdlib.txt /*py2stdlib-sched* -py2stdlib-scrolledtext py2stdlib.txt /*py2stdlib-scrolledtext* -py2stdlib-select py2stdlib.txt /*py2stdlib-select* -py2stdlib-sets py2stdlib.txt /*py2stdlib-sets* -py2stdlib-sgmllib py2stdlib.txt /*py2stdlib-sgmllib* -py2stdlib-sha py2stdlib.txt /*py2stdlib-sha* -py2stdlib-shelve py2stdlib.txt /*py2stdlib-shelve* -py2stdlib-shlex py2stdlib.txt /*py2stdlib-shlex* -py2stdlib-shutil py2stdlib.txt /*py2stdlib-shutil* -py2stdlib-signal py2stdlib.txt /*py2stdlib-signal* -py2stdlib-simplehttpserver py2stdlib.txt /*py2stdlib-simplehttpserver* -py2stdlib-simplexmlrpcserver py2stdlib.txt /*py2stdlib-simplexmlrpcserver* -py2stdlib-site py2stdlib.txt /*py2stdlib-site* -py2stdlib-smtpd py2stdlib.txt /*py2stdlib-smtpd* -py2stdlib-smtplib py2stdlib.txt /*py2stdlib-smtplib* -py2stdlib-sndhdr py2stdlib.txt /*py2stdlib-sndhdr* -py2stdlib-socket py2stdlib.txt /*py2stdlib-socket* -py2stdlib-socketserver py2stdlib.txt /*py2stdlib-socketserver* -py2stdlib-spwd py2stdlib.txt /*py2stdlib-spwd* -py2stdlib-sqlite3 py2stdlib.txt /*py2stdlib-sqlite3* -py2stdlib-ssl py2stdlib.txt /*py2stdlib-ssl* -py2stdlib-stat py2stdlib.txt /*py2stdlib-stat* -py2stdlib-statvfs py2stdlib.txt /*py2stdlib-statvfs* -py2stdlib-string py2stdlib.txt /*py2stdlib-string* -py2stdlib-stringio py2stdlib.txt /*py2stdlib-stringio* -py2stdlib-stringprep py2stdlib.txt /*py2stdlib-stringprep* -py2stdlib-struct py2stdlib.txt /*py2stdlib-struct* -py2stdlib-subprocess py2stdlib.txt /*py2stdlib-subprocess* -py2stdlib-sunau py2stdlib.txt /*py2stdlib-sunau* -py2stdlib-sunaudiodev py2stdlib.txt /*py2stdlib-sunaudiodev* -py2stdlib-sunaudiodev^ py2stdlib.txt /*py2stdlib-sunaudiodev^* -py2stdlib-symbol py2stdlib.txt /*py2stdlib-symbol* -py2stdlib-symtable py2stdlib.txt /*py2stdlib-symtable* -py2stdlib-sys py2stdlib.txt /*py2stdlib-sys* -py2stdlib-sysconfig py2stdlib.txt /*py2stdlib-sysconfig* -py2stdlib-syslog py2stdlib.txt /*py2stdlib-syslog* -py2stdlib-tabnanny py2stdlib.txt /*py2stdlib-tabnanny* -py2stdlib-tarfile py2stdlib.txt /*py2stdlib-tarfile* -py2stdlib-telnetlib py2stdlib.txt /*py2stdlib-telnetlib* -py2stdlib-tempfile py2stdlib.txt /*py2stdlib-tempfile* -py2stdlib-termios py2stdlib.txt /*py2stdlib-termios* -py2stdlib-test py2stdlib.txt /*py2stdlib-test* -py2stdlib-test.test_support py2stdlib.txt /*py2stdlib-test.test_support* -py2stdlib-textwrap py2stdlib.txt /*py2stdlib-textwrap* -py2stdlib-thread py2stdlib.txt /*py2stdlib-thread* -py2stdlib-threading py2stdlib.txt /*py2stdlib-threading* -py2stdlib-time py2stdlib.txt /*py2stdlib-time* -py2stdlib-timeit py2stdlib.txt /*py2stdlib-timeit* -py2stdlib-tix py2stdlib.txt /*py2stdlib-tix* -py2stdlib-tkinter py2stdlib.txt /*py2stdlib-tkinter* -py2stdlib-token py2stdlib.txt /*py2stdlib-token* -py2stdlib-tokenize py2stdlib.txt /*py2stdlib-tokenize* -py2stdlib-trace py2stdlib.txt /*py2stdlib-trace* -py2stdlib-traceback py2stdlib.txt /*py2stdlib-traceback* -py2stdlib-ttk py2stdlib.txt /*py2stdlib-ttk* -py2stdlib-tty py2stdlib.txt /*py2stdlib-tty* -py2stdlib-turtle py2stdlib.txt /*py2stdlib-turtle* -py2stdlib-types py2stdlib.txt /*py2stdlib-types* -py2stdlib-unicodedata py2stdlib.txt /*py2stdlib-unicodedata* -py2stdlib-unittest py2stdlib.txt /*py2stdlib-unittest* -py2stdlib-urllib py2stdlib.txt /*py2stdlib-urllib* -py2stdlib-urllib2 py2stdlib.txt /*py2stdlib-urllib2* -py2stdlib-urlparse py2stdlib.txt /*py2stdlib-urlparse* -py2stdlib-user py2stdlib.txt /*py2stdlib-user* -py2stdlib-userdict py2stdlib.txt /*py2stdlib-userdict* -py2stdlib-userlist py2stdlib.txt /*py2stdlib-userlist* -py2stdlib-userstring py2stdlib.txt /*py2stdlib-userstring* -py2stdlib-uu py2stdlib.txt /*py2stdlib-uu* -py2stdlib-uuid py2stdlib.txt /*py2stdlib-uuid* -py2stdlib-videoreader py2stdlib.txt /*py2stdlib-videoreader* -py2stdlib-w py2stdlib.txt /*py2stdlib-w* -py2stdlib-warnings py2stdlib.txt /*py2stdlib-warnings* -py2stdlib-wave py2stdlib.txt /*py2stdlib-wave* -py2stdlib-weakref py2stdlib.txt /*py2stdlib-weakref* -py2stdlib-webbrowser py2stdlib.txt /*py2stdlib-webbrowser* -py2stdlib-whichdb py2stdlib.txt /*py2stdlib-whichdb* -py2stdlib-winsound py2stdlib.txt /*py2stdlib-winsound* -py2stdlib-wsgiref py2stdlib.txt /*py2stdlib-wsgiref* -py2stdlib-wsgiref.handlers py2stdlib.txt /*py2stdlib-wsgiref.handlers* -py2stdlib-wsgiref.headers py2stdlib.txt /*py2stdlib-wsgiref.headers* -py2stdlib-wsgiref.simple_server py2stdlib.txt /*py2stdlib-wsgiref.simple_server* -py2stdlib-wsgiref.util py2stdlib.txt /*py2stdlib-wsgiref.util* -py2stdlib-wsgiref.validate py2stdlib.txt /*py2stdlib-wsgiref.validate* -py2stdlib-xdrlib py2stdlib.txt /*py2stdlib-xdrlib* -py2stdlib-xml.dom py2stdlib.txt /*py2stdlib-xml.dom* -py2stdlib-xml.dom.minidom py2stdlib.txt /*py2stdlib-xml.dom.minidom* -py2stdlib-xml.dom.pulldom py2stdlib.txt /*py2stdlib-xml.dom.pulldom* -py2stdlib-xml.etree.elementtree py2stdlib.txt /*py2stdlib-xml.etree.elementtree* -py2stdlib-xml.parsers.expat py2stdlib.txt /*py2stdlib-xml.parsers.expat* -py2stdlib-xml.sax py2stdlib.txt /*py2stdlib-xml.sax* -py2stdlib-xml.sax.handler py2stdlib.txt /*py2stdlib-xml.sax.handler* -py2stdlib-xml.sax.saxutils py2stdlib.txt /*py2stdlib-xml.sax.saxutils* -py2stdlib-xml.sax.xmlreader py2stdlib.txt /*py2stdlib-xml.sax.xmlreader* -py2stdlib-xmllib py2stdlib.txt /*py2stdlib-xmllib* -py2stdlib-xmlrpclib py2stdlib.txt /*py2stdlib-xmlrpclib* -py2stdlib-zipfile py2stdlib.txt /*py2stdlib-zipfile* -py2stdlib-zipimport py2stdlib.txt /*py2stdlib-zipimport* -py2stdlib-zlib py2stdlib.txt /*py2stdlib-zlib* -py2stdlib.txt py2stdlib.txt /*py2stdlib.txt* -showmarks showmarks.txt /*showmarks* -showmarks-changelog showmarks.txt /*showmarks-changelog* -showmarks-commands showmarks.txt /*showmarks-commands* -showmarks-configuration showmarks.txt /*showmarks-configuration* -showmarks-contents showmarks.txt /*showmarks-contents* -showmarks-highlighting showmarks.txt /*showmarks-highlighting* -showmarks-mappings showmarks.txt /*showmarks-mappings* -showmarks.txt showmarks.txt /*showmarks.txt* -snipMate snipMate.txt /*snipMate* -snipMate-$# snipMate.txt /*snipMate-$#* -snipMate-${#:} snipMate.txt /*snipMate-${#:}* -snipMate-${#} snipMate.txt /*snipMate-${#}* -snipMate-author snipMate.txt /*snipMate-author* -snipMate-commands snipMate.txt /*snipMate-commands* -snipMate-contact snipMate.txt /*snipMate-contact* -snipMate-description snipMate.txt /*snipMate-description* -snipMate-disadvantages snipMate.txt /*snipMate-disadvantages* -snipMate-expandtab snipMate.txt /*snipMate-expandtab* -snipMate-features snipMate.txt /*snipMate-features* -snipMate-filename snipMate.txt /*snipMate-filename* -snipMate-indenting snipMate.txt /*snipMate-indenting* -snipMate-placeholders snipMate.txt /*snipMate-placeholders* -snipMate-remap snipMate.txt /*snipMate-remap* -snipMate-settings snipMate.txt /*snipMate-settings* -snipMate-usage snipMate.txt /*snipMate-usage* -snipMate.txt snipMate.txt /*snipMate.txt* -snippet snipMate.txt /*snippet* -snippet-syntax snipMate.txt /*snippet-syntax* -snippets snipMate.txt /*snippets* -surround surround.txt /*surround* -surround-author surround.txt /*surround-author* -surround-customizing surround.txt /*surround-customizing* -surround-issues surround.txt /*surround-issues* -surround-mappings surround.txt /*surround-mappings* -surround-replacements surround.txt /*surround-replacements* -surround-targets surround.txt /*surround-targets* -surround.txt surround.txt /*surround.txt* -tagbar tagbar.txt /*tagbar* -tagbar-autoopen tagbar.txt /*tagbar-autoopen* -tagbar-commands tagbar.txt /*tagbar-commands* -tagbar-configuration tagbar.txt /*tagbar-configuration* -tagbar-contents tagbar.txt /*tagbar-contents* -tagbar-credits tagbar.txt /*tagbar-credits* -tagbar-extend tagbar.txt /*tagbar-extend* -tagbar-features tagbar.txt /*tagbar-features* -tagbar-highlight tagbar.txt /*tagbar-highlight* -tagbar-history tagbar.txt /*tagbar-history* -tagbar-installation tagbar.txt /*tagbar-installation* -tagbar-intro tagbar.txt /*tagbar-intro* -tagbar-issues tagbar.txt /*tagbar-issues* -tagbar-keys tagbar.txt /*tagbar-keys* -tagbar-other tagbar.txt /*tagbar-other* -tagbar-pseudotags tagbar.txt /*tagbar-pseudotags* -tagbar-requirements tagbar.txt /*tagbar-requirements* -tagbar-todo tagbar.txt /*tagbar-todo* -tagbar-usage tagbar.txt /*tagbar-usage* -tagbar.txt tagbar.txt /*tagbar.txt* -taglisttoo taglisttoo.txt /*taglisttoo* -taglisttoo-configuration taglisttoo.txt /*taglisttoo-configuration* -taglisttoo-customization taglisttoo.txt /*taglisttoo-customization* -taglisttoo-format taglisttoo.txt /*taglisttoo-format* -taglisttoo-overview taglisttoo.txt /*taglisttoo-overview* -taglisttoo-parse taglisttoo.txt /*taglisttoo-parse* -taglisttoo-prerequisites taglisttoo.txt /*taglisttoo-prerequisites* -taglisttoo-usage taglisttoo.txt /*taglisttoo-usage* -taglisttoo.txt taglisttoo.txt /*taglisttoo.txt* -vS surround.txt /*vS* -v_m mark.txt /*v_m* -v_r mark.txt /*v_r* -vcscommand vcscommand.txt /*vcscommand* -vcscommand-buffer-management vcscommand.txt /*vcscommand-buffer-management* -vcscommand-buffer-variables vcscommand.txt /*vcscommand-buffer-variables* -vcscommand-bugs vcscommand.txt /*vcscommand-bugs* -vcscommand-commands vcscommand.txt /*vcscommand-commands* -vcscommand-config vcscommand.txt /*vcscommand-config* -vcscommand-contents vcscommand.txt /*vcscommand-contents* -vcscommand-customize vcscommand.txt /*vcscommand-customize* -vcscommand-events vcscommand.txt /*vcscommand-events* -vcscommand-install vcscommand.txt /*vcscommand-install* -vcscommand-intro vcscommand.txt /*vcscommand-intro* -vcscommand-manual vcscommand.txt /*vcscommand-manual* -vcscommand-mappings vcscommand.txt /*vcscommand-mappings* -vcscommand-mappings-override vcscommand.txt /*vcscommand-mappings-override* -vcscommand-naming vcscommand.txt /*vcscommand-naming* -vcscommand-options vcscommand.txt /*vcscommand-options* -vcscommand-ssh vcscommand.txt /*vcscommand-ssh* -vcscommand-ssh-config vcscommand.txt /*vcscommand-ssh-config* -vcscommand-ssh-env vcscommand.txt /*vcscommand-ssh-env* -vcscommand-ssh-other vcscommand.txt /*vcscommand-ssh-other* -vcscommand-ssh-wrapper vcscommand.txt /*vcscommand-ssh-wrapper* -vcscommand-statusline vcscommand.txt /*vcscommand-statusline* -vcscommand.txt vcscommand.txt /*vcscommand.txt* -vgS surround.txt /*vgS* -vimblogger_ft.txt vimblogger_ft.txt /*vimblogger_ft.txt* -vimwiki vimwiki.txt /*vimwiki* -vimwiki-calendar vimwiki.txt /*vimwiki-calendar* -vimwiki-changelog vimwiki.txt /*vimwiki-changelog* -vimwiki-commands vimwiki.txt /*vimwiki-commands* -vimwiki-contents vimwiki.txt /*vimwiki-contents* -vimwiki-developers vimwiki.txt /*vimwiki-developers* -vimwiki-diary vimwiki.txt /*vimwiki-diary* -vimwiki-folding vimwiki.txt /*vimwiki-folding* -vimwiki-global-commands vimwiki.txt /*vimwiki-global-commands* -vimwiki-global-mappings vimwiki.txt /*vimwiki-global-mappings* -vimwiki-help vimwiki.txt /*vimwiki-help* -vimwiki-license vimwiki.txt /*vimwiki-license* -vimwiki-local-commands vimwiki.txt /*vimwiki-local-commands* -vimwiki-local-mappings vimwiki.txt /*vimwiki-local-mappings* -vimwiki-mappings vimwiki.txt /*vimwiki-mappings* -vimwiki-multiple-wikies vimwiki.txt /*vimwiki-multiple-wikies* -vimwiki-nohtml vimwiki.txt /*vimwiki-nohtml* -vimwiki-option-auto_export vimwiki.txt /*vimwiki-option-auto_export* -vimwiki-option-css_name vimwiki.txt /*vimwiki-option-css_name* -vimwiki-option-diary_header vimwiki.txt /*vimwiki-option-diary_header* -vimwiki-option-diary_index vimwiki.txt /*vimwiki-option-diary_index* -vimwiki-option-diary_link_count vimwiki.txt /*vimwiki-option-diary_link_count* -vimwiki-option-diary_rel_path vimwiki.txt /*vimwiki-option-diary_rel_path* -vimwiki-option-ext vimwiki.txt /*vimwiki-option-ext* -vimwiki-option-index vimwiki.txt /*vimwiki-option-index* -vimwiki-option-maxhi vimwiki.txt /*vimwiki-option-maxhi* -vimwiki-option-nested_syntaxes vimwiki.txt /*vimwiki-option-nested_syntaxes* -vimwiki-option-path vimwiki.txt /*vimwiki-option-path* -vimwiki-option-path_html vimwiki.txt /*vimwiki-option-path_html* -vimwiki-option-syntax vimwiki.txt /*vimwiki-option-syntax* -vimwiki-option-template_default vimwiki.txt /*vimwiki-option-template_default* -vimwiki-option-template_ext vimwiki.txt /*vimwiki-option-template_ext* -vimwiki-option-template_path vimwiki.txt /*vimwiki-option-template_path* -vimwiki-options vimwiki.txt /*vimwiki-options* -vimwiki-placeholders vimwiki.txt /*vimwiki-placeholders* -vimwiki-prerequisites vimwiki.txt /*vimwiki-prerequisites* -vimwiki-syntax vimwiki.txt /*vimwiki-syntax* -vimwiki-syntax-blockquotes vimwiki.txt /*vimwiki-syntax-blockquotes* -vimwiki-syntax-comments vimwiki.txt /*vimwiki-syntax-comments* -vimwiki-syntax-headers vimwiki.txt /*vimwiki-syntax-headers* -vimwiki-syntax-hr vimwiki.txt /*vimwiki-syntax-hr* -vimwiki-syntax-links vimwiki.txt /*vimwiki-syntax-links* -vimwiki-syntax-lists vimwiki.txt /*vimwiki-syntax-lists* -vimwiki-syntax-paragraphs vimwiki.txt /*vimwiki-syntax-paragraphs* -vimwiki-syntax-preformatted vimwiki.txt /*vimwiki-syntax-preformatted* -vimwiki-syntax-tables vimwiki.txt /*vimwiki-syntax-tables* -vimwiki-syntax-typefaces vimwiki.txt /*vimwiki-syntax-typefaces* -vimwiki-table-mappings vimwiki.txt /*vimwiki-table-mappings* -vimwiki-table-of-contents vimwiki.txt /*vimwiki-table-of-contents* -vimwiki-tables vimwiki.txt /*vimwiki-tables* -vimwiki-template vimwiki.txt /*vimwiki-template* -vimwiki-temporary-wiki vimwiki.txt /*vimwiki-temporary-wiki* -vimwiki-text-objects vimwiki.txt /*vimwiki-text-objects* -vimwiki-title vimwiki.txt /*vimwiki-title* -vimwiki-toc vimwiki.txt /*vimwiki-toc* -vimwiki-todo-lists vimwiki.txt /*vimwiki-todo-lists* -vimwiki.txt vimwiki.txt /*vimwiki.txt* -vimwiki_- vimwiki.txt /*vimwiki_-* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_wd vimwiki.txt /*vimwiki_wd* -vimwiki_wh vimwiki.txt /*vimwiki_wh* -vimwiki_whh vimwiki.txt /*vimwiki_whh* -vimwiki_wr vimwiki.txt /*vimwiki_wr* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_ vimwiki.txt /*vimwiki_* -vimwiki_= vimwiki.txt /*vimwiki_=* -vimwiki_gqq vimwiki.txt /*vimwiki_gqq* -vimwiki_gww vimwiki.txt /*vimwiki_gww* -vimwiki_i_ vimwiki.txt /*vimwiki_i_* -vimwiki_i_ vimwiki.txt /*vimwiki_i_* -vimwiki_i_ vimwiki.txt /*vimwiki_i_* -viwmiki-global-options vimwiki.txt /*viwmiki-global-options* -viwmiki-local-options vimwiki.txt /*viwmiki-local-options* -vs surround.txt /*vs* -yS surround.txt /*yS* -ySS surround.txt /*ySS* -ys surround.txt /*ys* -yss surround.txt /*yss* diff --git a/plugin/buffers.vim b/plugin/buffers.vim deleted file mode 100644 index 2cafd0b..0000000 --- a/plugin/buffers.vim +++ /dev/null @@ -1,547 +0,0 @@ -" ============================================================================ -" File: buffers.vim -" Description: vim plugin that provides buffers helpers. Almost all of parts -" are taken from Eclim project -" Maintainer: Roman 'gryf' Dobosz -" Last Change: 2011-07-16 -" License: 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 -" . -" ============================================================================ -let s:Eclim_ver = '1.7.1' - -" Eclim: {{{1 -" files: -" - plugin/eclim.vim (global vars) -" - plugin/common.vim (commands) - -" Global Variables {{{2 - -if has("signs") - if !exists("g:EclimSignLevel") - let g:EclimSignLevel = 5 - endif -else - let g:EclimSignLevel = 0 -endif - -if !exists("g:EclimInfoHighlight") - let g:EclimInfoHighlight = "Statement" -endif - -if !exists("g:EclimLogLevel") - let g:EclimLogLevel = 4 -endif - -if !exists("g:EclimTraceHighlight") - let g:EclimTraceHighlight = "Normal" -endif -if !exists("g:EclimDebugHighlight") - let g:EclimDebugHighlight = "Normal" -endif -if !exists("g:EclimInfoHighlight") - let g:EclimInfoHighlight = "Statement" -endif -if !exists("g:EclimWarningHighlight") - let g:EclimWarningHighlight = "WarningMsg" -endif -if !exists("g:EclimErrorHighlight") - let g:EclimErrorHighlight = "Error" -endif -if !exists("g:EclimFatalHighlight") - let g:EclimFatalHighlight = "Error" -endif - -if !exists("g:EclimShowCurrentError") - let g:EclimShowCurrentError = 1 -endif - -if !exists("g:EclimShowCurrentErrorBalloon") - let g:EclimShowCurrentErrorBalloon = 1 -endif - -if !exists("g:EclimOpenQFLists") - let g:EclimOpenQFLists = 1 -endif - -" }}} - -" Command Declarations {{{2 - -if !exists(":Buffers") - command Buffers :call s:Buffers() -endif - -" }}} - -" End Eclim: }}} - -" Common Buffers: {{{1 - -" Global Variables {{{2 -if !exists('g:EclimBuffersSort') - let g:EclimBuffersSort = 'file' -endif -if !exists('g:EclimBuffersSortDirection') - let g:EclimBuffersSortDirection = 'asc' -endif -if !exists('g:EclimBuffersDefaultAction') - let g:EclimBuffersDefaultAction = 'edit' -endif -" }}} - -" Buffers() eclim/autoload/eclim/common/buffers.vim {{{2 -" Like, :buffers, but opens a temporary buffer. -function! s:Buffers() - redir => list - silent exec 'buffers' - redir END - - let buffers = [] - let filelength = 0 - for entry in split(list, '\n') - let buffer = {} - let buffer.status = substitute(entry, '\s*[0-9]\+\s\+\(.\{-}\)\s\+".*', '\1', '') - let buffer.path = substitute(entry, '.\{-}"\(.\{-}\)".*', '\1', '') - let buffer.path = fnamemodify(buffer.path, ':p') - let buffer.file = fnamemodify(buffer.path, ':p:t') - let buffer.dir = fnamemodify(buffer.path, ':p:h') - exec 'let buffer.bufnr = ' . substitute(entry, '\s*\([0-9]\+\).*', '\1', '') - exec 'let buffer.lnum = ' . - \ substitute(entry, '.*"\s\+line\s\+\([0-9]\+\).*', '\1', '') - call add(buffers, buffer) - - if len(buffer.file) > filelength - let filelength = len(buffer.file) - endif - endfor - - if g:EclimBuffersSort != '' - call sort(buffers, 'BufferCompare') - endif - - let lines = [] - for buffer in buffers - call add(lines, s:BufferEntryToLine(buffer, filelength)) - endfor - - call TempWindow('[buffers]', lines) - - setlocal modifiable noreadonly - call append(line('$'), ['', '" use ? to view help']) - setlocal nomodifiable readonly - - let b:eclim_buffers = buffers - - " syntax - set ft=eclim_buffers - hi link BufferActive Special - hi link BufferHidden Comment - syntax match BufferActive /+\?active\s\+\(\[RO\]\)\?/ - syntax match BufferHidden /+\?hidden\s\+\(\[RO\]\)\?/ - syntax match Comment /^".*/ - - " mappings - nnoremap :call BufferOpen2(g:EclimBuffersDefaultAction) - nnoremap E :call BufferOpen2('edit') - nnoremap S :call BufferOpen2('split') - nnoremap T :call BufferOpen('tablast \| tabnew') - nnoremap D :call BufferDelete() - nnoremap R :Buffers - - " assign to buffer var to get around weird vim issue passing list containing - " a string w/ a '<' in it on execution of mapping. - let b:buffers_help = [ - \ ' - open buffer with default action', - \ 'E - open with :edit', - \ 'S - open in a new split window', - \ 'T - open in a new tab', - \ 'D - delete the buffer', - \ 'R - refresh the buffer list', - \ ] - nnoremap ? - \ :call BufferHelp(b:buffers_help, 'vertical', 40) - - "augroup eclim_buffers - " autocmd! - " autocmd BufAdd,BufWinEnter,BufDelete,BufWinLeave * - " \ call eclim#common#buffers#BuffersUpdate() - " autocmd BufUnload autocmd! eclim_buffers - "augroup END -endfunction " }}} - -" BufferCompare(buffer1, buffer2) eclim/autoload/eclim/common/buffers.vim {{{2 -function! BufferCompare(buffer1, buffer2) - exec 'let attr1 = a:buffer1.' . g:EclimBuffersSort - exec 'let attr2 = a:buffer2.' . g:EclimBuffersSort - let compare = attr1 == attr2 ? 0 : attr1 > attr2 ? 1 : -1 - if g:EclimBuffersSortDirection == 'desc' - let compare = 0 - compare - endif - return compare -endfunction " }}} - -" s:BufferDelete() {{{2 -function! s:BufferDelete() - let line = line('.') - if line > len(b:eclim_buffers) - return - endif - - let index = line - 1 - setlocal modifiable - setlocal noreadonly - exec line . ',' . line . 'delete _' - setlocal nomodifiable - setlocal readonly - let buffer = b:eclim_buffers[index] - call remove(b:eclim_buffers, index) - - let winnr = bufwinnr(buffer.bufnr) - if winnr != -1 - " if active in a window, go to the window to delete the buffer since that - " keeps eclim's prevention of closing the last non-utility window working - " properly. - let curwin = winnr() - exec winnr . 'winc w' - bdelete - exec curwin . 'winc w' - else - exec 'bd ' . buffer.bufnr - endif -endfunction " }}} - -" s:BufferEntryToLine(buffer, filelength) eclim/autoload/eclim/common/buffers.vim {{{2 -function! s:BufferEntryToLine(buffer, filelength) - let line = '' - let line .= a:buffer.status =~ '+' ? '+' : ' ' - let line .= a:buffer.status =~ 'a' ? 'active' : 'hidden' - let line .= a:buffer.status =~ '[-=]' ? ' [RO] ' : ' ' - let line .= a:buffer.file - - let pad = a:filelength - len(a:buffer.file) + 2 - while pad > 0 - let line .= ' ' - let pad -= 1 - endwhile - - let line .= a:buffer.dir - return line -endfunction " }}} - -" s:BufferOpen(cmd) eclim/autoload/eclim/common/buffers.vim {{{2 -function! s:BufferOpen(cmd) - let line = line('.') - if line > len(b:eclim_buffers) - return - endif - - let file = bufname(b:eclim_buffers[line - 1].bufnr) - let winnr = b:winnr - close - exec winnr . 'winc w' - call GoToBufferWindowOrOpen(file, a:cmd) -endfunction " }}} - -" End Common Buffers: }}} - -" Util: {{{1 - -" Script Variables eclim/autoload/eclim/util.vim {{{2 - let s:buffer_write_closing_commands = '^\s*\(' . - \ 'wq\|xa\|' . - \ '\d*w[nN]\|\d*wp\|' . - \ 'ZZ' . - \ '\)' - - let s:bourne_shells = ['sh', 'bash', 'dash', 'ksh', 'zsh'] - let s:c_shells = ['csh', 'tcsh'] - - let s:show_current_error_displaying = 0 -" }}} - -" DelayedCommand(command, [delay]) eclim/autoload/eclim/util.vim {{{2 -" Executes a delayed command. Useful in cases where one would expect an -" autocommand event (WinEnter, etc) to fire, but doesn't, or you need a -" command to execute after other autocommands have finished. -" Note: Nesting is not supported. A delayed command cannot be invoke off -" another delayed command. -function! DelayedCommand(command, ...) - let uid = fnamemodify(tempname(), ':t:r') - if &updatetime > 1 - exec 'let g:eclim_updatetime_save' . uid . ' = &updatetime' - endif - exec 'let g:eclim_delayed_command' . uid . ' = a:command' - let &updatetime = len(a:000) ? a:000[0] : 1 - exec 'augroup delayed_command' . uid - exec 'autocmd CursorHold * ' . - \ ' if exists("g:eclim_updatetime_save' . uid . '") | ' . - \ ' let &updatetime = g:eclim_updatetime_save' . uid . ' | ' . - \ ' unlet g:eclim_updatetime_save' . uid . ' | ' . - \ ' endif | ' . - \ ' exec g:eclim_delayed_command' . uid . ' | ' . - \ ' unlet g:eclim_delayed_command' . uid . ' | ' . - \ ' autocmd! delayed_command' . uid - exec 'augroup END' -endfunction " }}} - -" EscapeBufferName(name) eclim/autoload/eclim/util.vim {{{2 -" Escapes the supplied buffer name so that it can be safely used by buf* -" functions. -function! EscapeBufferName(name) - let name = a:name - " escaping the space in cygwin could lead to the dos path error message that - " cygwin throws when a dos path is referenced. - if !has('win32unix') - let name = escape(a:name, ' ') - endif - return substitute(name, '\(.\{-}\)\[\(.\{-}\)\]\(.\{-}\)', '\1[[]\2[]]\3', 'g') -endfunction " }}} - -" GoToBufferWindow(buf) eclim/autoload/eclim/util.vim {{{2 -" Focuses the window containing the supplied buffer name or buffer number. -" Returns 1 if the window was found, 0 otherwise. -function! GoToBufferWindow(buf) - if type(a:buf) == 0 - let winnr = bufwinnr(a:buf) - else - let name = EscapeBufferName(a:buf) - let winnr = bufwinnr(bufnr('^' . name . '$')) - endif - if winnr != -1 - exec winnr . "winc w" - call DelayedCommand('doautocmd WinEnter') - return 1 - endif - return 0 -endfunction " }}} - -" GoToBufferWindowOrOpen(name, cmd) eclim/autoload/eclim/util.vim {{{2 -" Gives focus to the window containing the buffer for the supplied file, or if -" none, opens the file using the supplied command. -function! GoToBufferWindowOrOpen(name, cmd) - let name = EscapeBufferName(a:name) - let winnr = bufwinnr(bufnr('^' . name)) - if winnr != -1 - exec winnr . "winc w" - call DelayedCommand('doautocmd WinEnter') - else - let cmd = a:cmd - " if splitting and the buffer is a unamed empty buffer, then switch to an - " edit. - if cmd == 'split' && expand('%') == '' && - \ !&modified && line('$') == 1 && getline(1) == '' - let cmd = 'edit' - endif - silent exec cmd . ' ' . escape(Simplify(a:name), ' ') - endif -endfunction " }}} - - -" GoToBufferWindowRegister(buf) eclim/autoload/eclim/util.vim {{{2 -" Registers the autocmd for returning the user to the supplied buffer when the -" current buffer is closed. -function! GoToBufferWindowRegister(buf) - exec 'autocmd BufWinLeave ' . - \ 'call GoToBufferWindow("' . escape(a:buf, '\') . '") | ' . - \ 'doautocmd BufEnter' -endfunction " }}} - -" Simplify(file) eclim/autoload/eclim/util.vim {{{2 -" Simply the supplied file to the shortest valid name. -function! Simplify(file) - let file = a:file - - " Don't run simplify on url files, it will screw them up. - if file !~ '://' - let file = simplify(file) - endif - - " replace all '\' chars with '/' except those escaping spaces. - let file = substitute(file, '\\\([^[:space:]]\)', '/\1', 'g') - let cwd = substitute(getcwd(), '\', '/', 'g') - if cwd !~ '/$' - let cwd .= '/' - endif - - if file =~ '^' . cwd - let file = substitute(file, '^' . cwd, '', '') - endif - - return file -endfunction " }}} - -" TempWindow(name, lines, [readonly]) eclim/autoload/eclim/util.vim {{{2 -" Opens a temp window w/ the given name and contents which is readonly unless -" specified otherwise. -function! TempWindow(name, lines, ...) - let filename = expand('%:p') - let winnr = winnr() - - call TempWindowClear(a:name) - let name = EscapeBufferName(a:name) - - if bufwinnr(name) == -1 - silent! noautocmd exec "botright 10sview " . escape(a:name, ' []') - setlocal nowrap - setlocal winfixheight - setlocal noswapfile - setlocal nobuflisted - setlocal buftype=nofile - setlocal bufhidden=delete - silent doautocmd WinEnter - else - let temp_winnr = bufwinnr(name) - if temp_winnr != winnr() - exec temp_winnr . 'winc w' - silent doautocmd WinEnter - endif - endif - - setlocal modifiable - setlocal noreadonly - call append(1, a:lines) - retab - silent 1,1delete _ - - if len(a:000) == 0 || a:000[0] - setlocal nomodified - setlocal nomodifiable - setlocal readonly - endif - - silent doautocmd BufEnter - - " Store filename and window number so that plugins can use it if necessary. - if filename != expand('%:p') - let b:filename = filename - let b:winnr = winnr - - augroup eclim_temp_window - autocmd! BufWinLeave - call GoToBufferWindowRegister(b:filename) - augroup END - endif -endfunction " }}} - -" TempWindowClear(name) eclim/autoload/eclim/util.vim {{{2 -" Clears the contents of the temp window with the given name. -function! TempWindowClear(name) - let name = EscapeBufferName(a:name) - if bufwinnr(name) != -1 - let curwinnr = winnr() - exec bufwinnr(name) . "winc w" - setlocal modifiable - setlocal noreadonly - silent 1,$delete _ - exec curwinnr . "winc w" - endif -endfunction " }}} - -" End Util: }}} - -" Eclim Help: {{{1 - -" BufferHelp(lines, orientation, size) eclim/autoload/eclim/help.vim {{{ -" Function to display a help window for the current buffer. -function! BufferHelp(lines, orientation, size) - let orig_bufnr = bufnr('%') - let name = expand('%') - if name =~ '^\W.*\W$' - let name = name[:-2] . ' Help' . name[len(name) - 1] - else - let name .= ' Help' - endif - - let bname = EscapeBufferName(name) - - let orient = a:orientation == 'vertical' ? 'v' : '' - if bufwinnr(bname) != -1 - exec 'bd ' . bufnr(bname) - return - endif - - silent! noautocmd exec a:size . orient . "new " . escape(name, ' ') - if a:orientation == 'vertical' - setlocal winfixwidth - else - setlocal winfixheight - endif - setlocal nowrap - setlocal noswapfile nobuflisted nonumber - setlocal buftype=nofile bufhidden=delete - nnoremap ? :bd - nnoremap q :bd - - setlocal modifiable noreadonly - silent 1,$delete _ - call append(1, a:lines) - retab - silent 1,1delete _ - - if len(a:000) == 0 || a:000[0] - setlocal nomodified nomodifiable readonly - endif - - let help_bufnr = bufnr('%') - augroup eclim_help_buffer - autocmd! BufWinLeave - autocmd BufWinLeave nested autocmd! eclim_help_buffer * - exec 'autocmd BufWinLeave nested ' . - \ 'autocmd! eclim_help_buffer * ' - exec 'autocmd! BufWinLeave ' - exec 'autocmd BufWinLeave nested bd ' . help_bufnr - augroup END - - return help_bufnr -endfunction " }}} - -" }}} - -" Gryfs Mods: {{{ - -" s:BufferOpen2(cmd) (gryf) {{{2 -function! s:BufferOpen2(cmd) - let line = line('.') - if line > len(b:eclim_buffers) - return - endif - - let bufnr = b:eclim_buffers[line - 1].bufnr - let winnr = b:winnr - close - exec winnr . 'winc w' - call s:GoToBufferWindowOrOpen2(bufnr, a:cmd) -endfunction " }}} - -" GoToBufferWindowOrOpen2(nr, cmd) (gryf) {{{2 -" modified function GoToBufferWindowOrOpen. instead of buffer name it accepts -" buffer number. -function! s:GoToBufferWindowOrOpen2(nr, cmd) - let winnr = bufwinnr(a:nr) - if winnr != -1 - exec winnr . "winc w" - call DelayedCommand('doautocmd WinEnter') - else - if a:cmd == 'edit' - silent exec 'buffer ' . a:nr - elseif a:cmd == 'split' - silent exec 'sbuffer ' . a:nr - endif - endif -endfunction " }}} - -" End Gryfs Mods: }}} - -" vim:ft=vim:fdm=marker - diff --git a/plugin/gundo.vim b/plugin/gundo.vim deleted file mode 100644 index 5d6d9d7..0000000 --- a/plugin/gundo.vim +++ /dev/null @@ -1,401 +0,0 @@ -" ============================================================================ -" File: gundo.vim -" Description: vim global plugin to visualize your undo tree -" Maintainer: Steve Losh -" License: GPLv2+ -- look it up. -" Notes: Much of this code was thiefed from Mercurial, and the rest was -" heavily inspired by scratch.vim and histwin.vim. -" -" ============================================================================ - - -"{{{ Init - -if !exists('g:gundo_debug') && (exists('g:gundo_disable') || exists('loaded_gundo') || &cp)"{{{ - finish -endif -let loaded_gundo = 1"}}} - -if v:version < '703'"{{{ - function! s:GundoDidNotLoad() - echohl WarningMsg|echomsg "Gundo unavailable: requires Vim 7.3+"|echohl None - endfunction - command! -nargs=0 GundoToggle call s:GundoDidNotLoad() - finish -endif"}}} - -if has('python')"{{{ - let s:has_supported_python = 1 -else - let s:has_supported_python = 0 -endif - -if !s:has_supported_python - function! s:GundoDidNotLoad() - echohl WarningMsg|echomsg "Gundo requires Vim to be compiled with Python 2.4+"|echohl None - endfunction - command! -nargs=0 GundoToggle call s:GundoDidNotLoad() - finish -endif"}}} - -let s:plugin_path = escape(expand(':p:h'), '\') - -if !exists('g:gundo_width')"{{{ - let g:gundo_width = 45 -endif"}}} -if !exists('g:gundo_preview_height')"{{{ - let g:gundo_preview_height = 15 -endif"}}} -if !exists('g:gundo_preview_bottom')"{{{ - let g:gundo_preview_bottom = 0 -endif"}}} -if !exists('g:gundo_right')"{{{ - let g:gundo_right = 0 -endif"}}} -if !exists('g:gundo_help')"{{{ - let g:gundo_help = 1 -endif"}}} -if !exists("g:gundo_map_move_older")"{{{ - let g:gundo_map_move_older = 'j' -endif"}}} -if !exists("g:gundo_map_move_newer")"{{{ - let g:gundo_map_move_newer = 'k' -endif"}}} -if !exists("g:gundo_close_on_revert")"{{{ - let g:gundo_close_on_revert = 0 -endif"}}} - -"}}} - -"{{{ Gundo utility functions - -function! s:GundoGetTargetState()"{{{ - let target_line = matchstr(getline("."), '\v\[[0-9]+\]') - return matchstr(target_line, '\v[0-9]+') -endfunction"}}} - -function! s:GundoGoToWindowForBufferName(name)"{{{ - if bufwinnr(bufnr(a:name)) != -1 - exe bufwinnr(bufnr(a:name)) . "wincmd w" - return 1 - else - return 0 - endif -endfunction"}}} - -function! s:GundoIsVisible()"{{{ - if bufwinnr(bufnr("__Gundo__")) != -1 || bufwinnr(bufnr("__Gundo_Preview__")) != -1 - return 1 - else - return 0 - endif -endfunction"}}} - -function! s:GundoInlineHelpLength()"{{{ - if g:gundo_help - return 6 - else - return 0 - endif -endfunction"}}} - -"}}} - -"{{{ Gundo buffer settings - -function! s:GundoMapGraph()"{{{ - exec 'nnoremap