Browse files

Migrated to pathogen:

- Install bundle/vim-pathogen.
- Move UltiSnips-1.6 to bundle/ultisnips.
- Move clearsnippets/ beneath pre-bundle/ to ensure it lives before
  bundle/ultisnips/ on the runtimepath.
  • Loading branch information...
1 parent dc441df commit f32546e43441cac243e979c2c96b09acce536bf7 @drmikehenry drmikehenry committed Apr 30, 2012
Showing with 534 additions and 31 deletions.
  1. 0 {UltiSnips-1.6 → bundle/ultisnips}/.gitignore
  2. 0 {UltiSnips-1.6 → bundle/ultisnips}/ChangeLog
  3. 0 {UltiSnips-1.6 → bundle/ultisnips}/README.rst
  4. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/README
  5. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/all.snippets
  6. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/c.snippets
  7. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/cpp.snippets
  8. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/css.snippets
  9. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/erlang.snippets
  10. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/eruby.snippets
  11. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/go.snippets
  12. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/help.snippets
  13. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/html.snippets
  14. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/htmldjango.snippets
  15. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/java.snippets
  16. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/javascript.snippets
  17. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/jinja2.snippets
  18. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/lua.snippets
  19. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/mako.snippets
  20. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/mkd.snippets
  21. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/objc.snippets
  22. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/perl.snippets
  23. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/php.snippets
  24. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/puppet.snippets
  25. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/python.snippets
  26. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/rails.snippets
  27. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/rst.snippets
  28. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/ruby.snippets
  29. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/sh.snippets
  30. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/snippets.snippets
  31. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/tcl.snippets
  32. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/tex.snippets
  33. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/texmath.snippets
  34. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/vim.snippets
  35. 0 {UltiSnips-1.6 → bundle/ultisnips}/UltiSnips/xhtml.snippets
  36. 0 {UltiSnips-1.6 → bundle/ultisnips}/after/plugin/UltiSnips_after.vim
  37. 0 {UltiSnips-1.6 → bundle/ultisnips}/doc/UltiSnips.txt
  38. +43 −0 bundle/ultisnips/doc/tags
  39. 0 {UltiSnips-1.6 → bundle/ultisnips}/ftdetect/snippets.vim
  40. 0 {UltiSnips-1.6 → bundle/ultisnips}/ftplugin/snippets.vim
  41. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/UltiSnips.vim
  42. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/UltiSnips/Buffer.py
  43. BIN bundle/ultisnips/plugin/UltiSnips/Buffer.pyc
  44. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/UltiSnips/Geometry.py
  45. BIN bundle/ultisnips/plugin/UltiSnips/Geometry.pyc
  46. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/UltiSnips/Langmap.py
  47. BIN bundle/ultisnips/plugin/UltiSnips/Langmap.pyc
  48. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/UltiSnips/Lexer.py
  49. BIN bundle/ultisnips/plugin/UltiSnips/Lexer.pyc
  50. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/UltiSnips/TextObjects.py
  51. BIN bundle/ultisnips/plugin/UltiSnips/TextObjects.pyc
  52. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/UltiSnips/Util.py
  53. BIN bundle/ultisnips/plugin/UltiSnips/Util.pyc
  54. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/UltiSnips/__init__.py
  55. BIN bundle/ultisnips/plugin/UltiSnips/__init__.pyc
  56. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/UltiSnips/debug.py
  57. 0 {UltiSnips-1.6 → bundle/ultisnips}/plugin/snipMate_compatibility.vim
  58. 0 {UltiSnips-1.6 → bundle/ultisnips}/syntax/snippets.vim
  59. 0 {UltiSnips-1.6 → bundle/ultisnips}/test.py
  60. 0 {UltiSnips-1.6 → bundle/ultisnips}/utils/convert_snipmate_snippets.py
  61. 0 {UltiSnips-1.6 → bundle/ultisnips}/utils/get_tm_snippets.py
  62. +176 −0 bundle/vim-pathogen/README.markdown
  63. +245 −0 bundle/vim-pathogen/autoload/pathogen.vim
  64. +37 −8 doc/notes.txt
  65. +1 −0 doc/tags
  66. 0 { → pre-bundle}/clearsnippets/UltiSnips/c.snippets
  67. 0 { → pre-bundle}/clearsnippets/UltiSnips/python.snippets
  68. 0 { → pre-bundle}/clearsnippets/UltiSnips/rst.snippets
  69. +32 −23 vimrc
View
0 UltiSnips-1.6/.gitignore → bundle/ultisnips/.gitignore
File renamed without changes.
View
0 UltiSnips-1.6/ChangeLog → bundle/ultisnips/ChangeLog
File renamed without changes.
View
0 UltiSnips-1.6/README.rst → bundle/ultisnips/README.rst
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/README → bundle/ultisnips/UltiSnips/README
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/all.snippets → bundle/ultisnips/UltiSnips/all.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/c.snippets → bundle/ultisnips/UltiSnips/c.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/cpp.snippets → bundle/ultisnips/UltiSnips/cpp.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/css.snippets → bundle/ultisnips/UltiSnips/css.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/erlang.snippets → bundle/ultisnips/UltiSnips/erlang.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/eruby.snippets → bundle/ultisnips/UltiSnips/eruby.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/go.snippets → bundle/ultisnips/UltiSnips/go.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/help.snippets → bundle/ultisnips/UltiSnips/help.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/html.snippets → bundle/ultisnips/UltiSnips/html.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/htmldjango.snippets → ...e/ultisnips/UltiSnips/htmldjango.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/java.snippets → bundle/ultisnips/UltiSnips/java.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/javascript.snippets → ...e/ultisnips/UltiSnips/javascript.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/jinja2.snippets → bundle/ultisnips/UltiSnips/jinja2.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/lua.snippets → bundle/ultisnips/UltiSnips/lua.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/mako.snippets → bundle/ultisnips/UltiSnips/mako.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/mkd.snippets → bundle/ultisnips/UltiSnips/mkd.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/objc.snippets → bundle/ultisnips/UltiSnips/objc.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/perl.snippets → bundle/ultisnips/UltiSnips/perl.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/php.snippets → bundle/ultisnips/UltiSnips/php.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/puppet.snippets → bundle/ultisnips/UltiSnips/puppet.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/python.snippets → bundle/ultisnips/UltiSnips/python.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/rails.snippets → bundle/ultisnips/UltiSnips/rails.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/rst.snippets → bundle/ultisnips/UltiSnips/rst.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/ruby.snippets → bundle/ultisnips/UltiSnips/ruby.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/sh.snippets → bundle/ultisnips/UltiSnips/sh.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/snippets.snippets → bundle/ultisnips/UltiSnips/snippets.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/tcl.snippets → bundle/ultisnips/UltiSnips/tcl.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/tex.snippets → bundle/ultisnips/UltiSnips/tex.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/texmath.snippets → bundle/ultisnips/UltiSnips/texmath.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/vim.snippets → bundle/ultisnips/UltiSnips/vim.snippets
File renamed without changes.
View
0 UltiSnips-1.6/UltiSnips/xhtml.snippets → bundle/ultisnips/UltiSnips/xhtml.snippets
File renamed without changes.
View
0 ...nips-1.6/after/plugin/UltiSnips_after.vim → ...ltisnips/after/plugin/UltiSnips_after.vim
File renamed without changes.
View
0 UltiSnips-1.6/doc/UltiSnips.txt → bundle/ultisnips/doc/UltiSnips.txt
File renamed without changes.
View
43 bundle/ultisnips/doc/tags
@@ -0,0 +1,43 @@
+:UltiSnipsEdit UltiSnips.txt /*:UltiSnipsEdit*
+:smap UltiSnips.txt /*:smap*
+:sunmap UltiSnips.txt /*:sunmap*
+UltiSnips UltiSnips.txt /*UltiSnips*
+UltiSnips-acknowledgments UltiSnips.txt /*UltiSnips-acknowledgments*
+UltiSnips-adding-snippets UltiSnips.txt /*UltiSnips-adding-snippets*
+UltiSnips-character-escaping UltiSnips.txt /*UltiSnips-character-escaping*
+UltiSnips-clearing-snippets UltiSnips.txt /*UltiSnips-clearing-snippets*
+UltiSnips-commands UltiSnips.txt /*UltiSnips-commands*
+UltiSnips-contact UltiSnips.txt /*UltiSnips-contact*
+UltiSnips-contributors UltiSnips.txt /*UltiSnips-contributors*
+UltiSnips-contricoding UltiSnips.txt /*UltiSnips-contricoding*
+UltiSnips-contrisnippets UltiSnips.txt /*UltiSnips-contrisnippets*
+UltiSnips-deinstallation UltiSnips.txt /*UltiSnips-deinstallation*
+UltiSnips-demos UltiSnips.txt /*UltiSnips-demos*
+UltiSnips-description UltiSnips.txt /*UltiSnips-description*
+UltiSnips-functions UltiSnips.txt /*UltiSnips-functions*
+UltiSnips-globals UltiSnips.txt /*UltiSnips-globals*
+UltiSnips-helping UltiSnips.txt /*UltiSnips-helping*
+UltiSnips-installation UltiSnips.txt /*UltiSnips-installation*
+UltiSnips-installnupdate UltiSnips.txt /*UltiSnips-installnupdate*
+UltiSnips-interpolation UltiSnips.txt /*UltiSnips-interpolation*
+UltiSnips-mirrors UltiSnips.txt /*UltiSnips-mirrors*
+UltiSnips-placeholders UltiSnips.txt /*UltiSnips-placeholders*
+UltiSnips-plaintext-snippets UltiSnips.txt /*UltiSnips-plaintext-snippets*
+UltiSnips-python UltiSnips.txt /*UltiSnips-python*
+UltiSnips-replacement-string UltiSnips.txt /*UltiSnips-replacement-string*
+UltiSnips-settings UltiSnips.txt /*UltiSnips-settings*
+UltiSnips-shellcode UltiSnips.txt /*UltiSnips-shellcode*
+UltiSnips-snippet-search-path UltiSnips.txt /*UltiSnips-snippet-search-path*
+UltiSnips-syntax UltiSnips.txt /*UltiSnips-syntax*
+UltiSnips-tabstops UltiSnips.txt /*UltiSnips-tabstops*
+UltiSnips-transformations UltiSnips.txt /*UltiSnips-transformations*
+UltiSnips-triggers UltiSnips.txt /*UltiSnips-triggers*
+UltiSnips-updating UltiSnips.txt /*UltiSnips-updating*
+UltiSnips-vimscript UltiSnips.txt /*UltiSnips-vimscript*
+UltiSnips-warning-smappings UltiSnips.txt /*UltiSnips-warning-smappings*
+UltiSnips.txt UltiSnips.txt /*UltiSnips.txt*
+UltiSnips_AddSnippet UltiSnips.txt /*UltiSnips_AddSnippet*
+UltiSnips_Anon UltiSnips.txt /*UltiSnips_Anon*
+mapmode-s UltiSnips.txt /*mapmode-s*
+snippet UltiSnips.txt /*snippet*
+snippets UltiSnips.txt /*snippets*
View
0 UltiSnips-1.6/ftdetect/snippets.vim → bundle/ultisnips/ftdetect/snippets.vim
File renamed without changes.
View
0 UltiSnips-1.6/ftplugin/snippets.vim → bundle/ultisnips/ftplugin/snippets.vim
File renamed without changes.
View
0 UltiSnips-1.6/plugin/UltiSnips.vim → bundle/ultisnips/plugin/UltiSnips.vim
File renamed without changes.
View
0 UltiSnips-1.6/plugin/UltiSnips/Buffer.py → bundle/ultisnips/plugin/UltiSnips/Buffer.py
File renamed without changes.
View
BIN bundle/ultisnips/plugin/UltiSnips/Buffer.pyc
Binary file not shown.
View
0 UltiSnips-1.6/plugin/UltiSnips/Geometry.py → ...le/ultisnips/plugin/UltiSnips/Geometry.py
File renamed without changes.
View
BIN bundle/ultisnips/plugin/UltiSnips/Geometry.pyc
Binary file not shown.
View
0 UltiSnips-1.6/plugin/UltiSnips/Langmap.py → bundle/ultisnips/plugin/UltiSnips/Langmap.py
File renamed without changes.
View
BIN bundle/ultisnips/plugin/UltiSnips/Langmap.pyc
Binary file not shown.
View
0 UltiSnips-1.6/plugin/UltiSnips/Lexer.py → bundle/ultisnips/plugin/UltiSnips/Lexer.py
File renamed without changes.
View
BIN bundle/ultisnips/plugin/UltiSnips/Lexer.pyc
Binary file not shown.
View
0 ...Snips-1.6/plugin/UltiSnips/TextObjects.py → ...ultisnips/plugin/UltiSnips/TextObjects.py
File renamed without changes.
View
BIN bundle/ultisnips/plugin/UltiSnips/TextObjects.pyc
Binary file not shown.
View
0 UltiSnips-1.6/plugin/UltiSnips/Util.py → bundle/ultisnips/plugin/UltiSnips/Util.py
File renamed without changes.
View
BIN bundle/ultisnips/plugin/UltiSnips/Util.pyc
Binary file not shown.
View
0 UltiSnips-1.6/plugin/UltiSnips/__init__.py → ...le/ultisnips/plugin/UltiSnips/__init__.py
File renamed without changes.
View
BIN bundle/ultisnips/plugin/UltiSnips/__init__.pyc
Binary file not shown.
View
0 UltiSnips-1.6/plugin/UltiSnips/debug.py → bundle/ultisnips/plugin/UltiSnips/debug.py
File renamed without changes.
View
0 ...ips-1.6/plugin/snipMate_compatibility.vim → ...tisnips/plugin/snipMate_compatibility.vim
File renamed without changes.
View
0 UltiSnips-1.6/syntax/snippets.vim → bundle/ultisnips/syntax/snippets.vim
File renamed without changes.
View
0 UltiSnips-1.6/test.py → bundle/ultisnips/test.py
File renamed without changes.
View
0 ...ps-1.6/utils/convert_snipmate_snippets.py → ...isnips/utils/convert_snipmate_snippets.py
File renamed without changes.
View
0 UltiSnips-1.6/utils/get_tm_snippets.py → bundle/ultisnips/utils/get_tm_snippets.py
File renamed without changes.
View
176 bundle/vim-pathogen/README.markdown
@@ -0,0 +1,176 @@
+pathogen.vim
+============
+
+Manage your `'runtimepath'` with ease. In practical terms, pathogen.vim
+makes it super easy to install plugins and runtime files in their own
+private directories.
+
+Installation
+------------
+
+Install to `~/.vim/autoload/pathogen.vim`. Or copy and paste:
+
+ mkdir -p ~/.vim/autoload ~/.vim/bundle; \
+ curl -so ~/.vim/autoload/pathogen.vim \
+ https://raw.github.com/tpope/vim-pathogen/HEAD/autoload/pathogen.vim
+
+If you don't have `curl`, use `wget -O -` instead.
+
+By the way, if you're using Windows, change all occurrences of `~/.vim`
+to `~\vimfiles`.
+
+Runtime Path Manipulation
+-------------------------
+
+Add this to your vimrc:
+
+ call pathogen#infect()
+
+If you're brand new to Vim and lacking a vimrc, `vim ~/.vimrc` and paste
+in the following super-minimal example:
+
+ call pathogen#infect()
+ syntax on
+ filetype plugin indent on
+
+Now any plugins you wish to install can be extracted to a subdirectory
+under `~/.vim/bundle`, and they will be added to the `'runtimepath'`.
+Observe:
+
+ cd ~/.vim/bundle
+ git clone git://github.com/tpope/vim-fugitive.git
+
+Now [fugitive.vim](https://github.com/tpope/vim-fugitive) is installed.
+If you really want to get crazy, you could set it up as a submodule in
+whatever repository you keep your dot files in. I don't like to get
+crazy.
+
+If you don't like the directory name `bundle`, you can pass a different
+name as an argument:
+
+ call pathogen#infect('stuff')
+
+You can also pass an entire path instead. I keep the plugins I maintain
+under `~/src`, and this is how I add them:
+
+ call pathogen#infect('~/src/vim/bundle')
+
+Normally to generate documentation, Vim expects you to run `:helptags`
+on each directory with documentation (e.g., `:helptags ~/.vim/doc`).
+Provided with pathogen.vim is a `:Helptags` command that does this on
+every directory in your `'runtimepath'`. If you really want to get
+crazy, you could even invoke `Helptags` in your vimrc. I don't like to
+get crazy.
+
+Finally, pathogen.vim has a rich API that can manipulate `'runtimepath'`
+and other comma-delimited path options in ways most people will never
+need to do. If you're one of those edge cases, look at the source.
+It's well documented.
+
+Runtime File Editing
+--------------------
+
+As a guy who writes a lot of Vim script, I edit a lot of runtime files.
+For example, when editing PDF files like I do every day, I might notice
+something weird in the syntax highlighting and want to have a look:
+
+ :sp $VIMRUNTIME/syntax/pdf.vim
+
+Even the best case scenario with tab complete is painful:
+
+ :sp $VIMR<Tab>/synt<Tab>/pd<Tab>
+
+The picture is even bleaker if the file in question sits in a
+bundle. Enter the V family of commands. The V stands for Vimruntime
+(work with me here).
+
+ :Vsp s/pd<Tab>
+
+As you can see, not only does it eliminate the need to qualify the
+runtime path being targeted, the tab completion is friendlier, allowing
+you to expand multiple components at once. Here's me editing
+pathogen.vim itself:
+
+ :Ve a/pat<Tab>
+
+In the event of duplicate files, you can give a count to disambiguate.
+Here's the full list of commands:
+
+* `:Vedit`
+* `:Vsplit`
+* `:Vvsplit`
+* `:Vtabedit`
+* `:Vpedit`
+* `:Vread`
+
+All but `:Vedit` automatically `:lcd` to the target's runtime path. To
+suppress that behavior, use a `!`, and to `:lcd` with `:Vedit`, use
+`:Vopen` instead.
+
+FAQ
+---
+
+> Can I put pathogen.vim in a submodule like all my other plugins?
+
+Sure, stick it under `~/.vim/bundle`, and prepend the following to your
+vimrc:
+
+ runtime bundle/vim-pathogen/autoload/pathogen.vim
+
+Or if your bundles are somewhere other than `~/.vim` (say, `~/src/vim`):
+
+ source ~/src/vim/bundle/vim-pathogen/autoload/pathogen.vim
+
+> Will you accept these 14 pull requests adding a `.gitignore` for
+> `tags` so I don't see untracked changes in my dot files repository?
+
+No, but I'll teach you how to ignore `tags` globally:
+
+ git config --global core.excludesfile '~/.cvsignore'
+ echo tags >> ~/.cvsignore
+
+While any filename will work, I've chosen to follow the ancient
+tradition of `.cvsignore` because utilities like rsync use it, too.
+Clever, huh?
+
+> What about Vimballs?
+
+If you really must use one:
+
+ :e name.vba
+ :!mkdir ~/.vim/bundle/name
+ :UseVimball ~/.vim/bundle/name
+
+Contributing
+------------
+
+If your [commit message sucks](http://stopwritingramblingcommitmessages.com/),
+I'm not going to accept your pull request. I've explained very politely
+dozens of times that
+[my general guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
+are absolute rules on my own repositories, so I may lack the energy to
+explain it to you yet another time. And please, if I ask you to change
+something, `git commit --amend`.
+
+Beyond that, don't be shy about asking before patching. What takes you
+hours might take me minutes simply because I have both domain knowledge
+and a perverse knowledge of Vim script so vast that many would consider
+it a symptom of mental illness. On the flip side, some ideas I'll
+reject no matter how good the implementation is. "Send a patch" is an
+edge case answer in my book.
+
+Self-Promotion
+--------------
+
+Like pathogen.vim? Follow the repository on
+[GitHub](https://github.com/tpope/vim-pathogen) and vote for it on
+[vim.org](http://www.vim.org/scripts/script.php?script_id=2332). And if
+you're feeling especially charitable, follow [tpope](http://tpo.pe/) on
+[Twitter](http://twitter.com/tpope) and
+[GitHub](https://github.com/tpope).
+
+License
+-------
+
+Copyright (c) Tim Pope. Distributed under the same terms as Vim itself.
+See `:help license`.
View
245 bundle/vim-pathogen/autoload/pathogen.vim
@@ -0,0 +1,245 @@
+" pathogen.vim - path option manipulation
+" Maintainer: Tim Pope <http://tpo.pe/>
+" 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 `filetype 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,'\\\@<!\%(\\\\\)*\zs,')
+ return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
+endfunction " }}}1
+
+" Convert a list to a path.
+function! pathogen#join(...) abort " {{{1
+ if type(a:1) == type(1) && a:1
+ let i = 1
+ let space = ' '
+ else
+ let i = 0
+ let space = ''
+ endif
+ let path = ""
+ while i < a:0
+ if type(a:000[i]) == type([])
+ let list = a:000[i]
+ let j = 0
+ while j < len(list)
+ let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
+ let path .= ',' . escaped
+ let j += 1
+ endwhile
+ else
+ let path .= "," . a:000[i]
+ endif
+ let i += 1
+ endwhile
+ return substitute(path,'^,','','')
+endfunction " }}}1
+
+" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
+function! pathogen#legacyjoin(...) abort " {{{1
+ return call('pathogen#join',[1] + a:000)
+endfunction " }}}1
+
+" Remove duplicates from a list.
+function! pathogen#uniq(list) abort " {{{1
+ let i = 0
+ let seen = {}
+ while i < len(a:list)
+ if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
+ call remove(a:list,i)
+ elseif a:list[i] ==# ''
+ let i += 1
+ let empty = 1
+ else
+ let seen[a:list[i]] = 1
+ let i += 1
+ endif
+ endwhile
+ return a:list
+endfunction " }}}1
+
+" \ on Windows unless shellslash is set, / everywhere else.
+function! pathogen#separator() abort " {{{1
+ return !exists("+shellslash") || &shellslash ? '/' : '\'
+endfunction " }}}1
+
+" Convenience wrapper around glob() which returns a list.
+function! pathogen#glob(pattern) abort " {{{1
+ let files = split(glob(a:pattern),"\n")
+ return map(files,'substitute(v:val,"[".pathogen#separator()."/]$","","")')
+endfunction "}}}1
+
+" Like pathogen#glob(), only limit the results to directories.
+function! pathogen#glob_directories(pattern) abort " {{{1
+ return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
+endfunction "}}}1
+
+" Turn filetype detection off and back on again if it was already enabled.
+function! pathogen#cycle_filetype() " {{{1
+ if exists('g:did_load_filetypes')
+ filetype off
+ filetype on
+ endif
+endfunction " }}}1
+
+" Checks if a bundle is 'disabled'. A bundle is considered 'disabled' if
+" its 'basename()' is included in g:pathogen_disabled[]' or ends in a tilde.
+function! pathogen#is_disabled(path) " {{{1
+ if a:path =~# '\~$'
+ return 1
+ elseif !exists("g:pathogen_disabled")
+ return 0
+ endif
+ let sep = pathogen#separator()
+ return index(g:pathogen_disabled, strpart(a:path, strridx(a:path, sep)+1)) != -1
+endfunction "}}}1
+
+" Prepend all subdirectories of path to the rtp, and append all 'after'
+" directories in those subdirectories.
+function! pathogen#runtime_prepend_subdirectories(path) " {{{1
+ let sep = pathogen#separator()
+ let before = filter(pathogen#glob_directories(a:path.sep."*"), '!pathogen#is_disabled(v:val)')
+ let after = filter(pathogen#glob_directories(a:path.sep."*".sep."after"), '!pathogen#is_disabled(v:val[0:-7])')
+ let rtp = pathogen#split(&rtp)
+ let path = expand(a:path)
+ call filter(rtp,'v:val[0:strlen(path)-1] !=# path')
+ let &rtp = pathogen#join(pathogen#uniq(before + rtp + after))
+ return &rtp
+endfunction " }}}1
+
+" For each directory in rtp, check for a subdirectory named dir. If it
+" exists, add all subdirectories of that subdirectory to the rtp, immediately
+" after the original directory. If no argument is given, 'bundle' is used.
+" Repeated calls with the same arguments are ignored.
+function! pathogen#runtime_append_all_bundles(...) " {{{1
+ let sep = pathogen#separator()
+ let name = a:0 ? a:1 : 'bundle'
+ if "\n".s:done_bundles =~# "\\M\n".name."\n"
+ return ""
+ endif
+ let s:done_bundles .= name . "\n"
+ let list = []
+ for dir in pathogen#split(&rtp)
+ if dir =~# '\<after$'
+ let list += filter(pathogen#glob_directories(substitute(dir,'after$',name,'').sep.'*[^~]'.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])') + [dir]
+ else
+ let list += [dir] + filter(pathogen#glob_directories(dir.sep.name.sep.'*[^~]'), '!pathogen#is_disabled(v:val)')
+ endif
+ endfor
+ let &rtp = pathogen#join(pathogen#uniq(list))
+ return 1
+endfunction
+
+let s:done_bundles = ''
+" }}}1
+
+" Invoke :helptags on all non-$VIM doc directories in runtimepath.
+function! pathogen#helptags() " {{{1
+ let sep = pathogen#separator()
+ for dir in pathogen#split(&rtp)
+ if (dir.sep)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir.sep.'doc') == 2 && !empty(filter(split(glob(dir.sep.'doc'.sep.'*'),"\n>"),'!isdirectory(v:val)')) && (!filereadable(dir.sep.'doc'.sep.'tags') || filewritable(dir.sep.'doc'.sep.'tags'))
+ helptags `=dir.'/doc'`
+ endif
+ endfor
+endfunction " }}}1
+
+command! -bar Helptags :call pathogen#helptags()
+
+" Like findfile(), but hardcoded to use the runtimepath.
+function! pathogen#runtime_findfile(file,count) "{{{1
+ let rtp = pathogen#join(1,pathogen#split(&rtp))
+ return fnamemodify(findfile(a:file,rtp,a:count),':p')
+endfunction " }}}1
+
+" Backport of fnameescape().
+function! pathogen#fnameescape(string) " {{{1
+ if exists('*fnameescape')
+ return fnameescape(a:string)
+ elseif a:string ==# '-'
+ return '\-'
+ else
+ return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
+ endif
+endfunction " }}}1
+
+function! s:find(count,cmd,file,lcd) " {{{1
+ let rtp = pathogen#join(1,pathogen#split(&runtimepath))
+ let file = pathogen#runtime_findfile(a:file,a:count)
+ if file ==# ''
+ return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'"
+ elseif a:lcd
+ let path = file[0:-strlen(a:file)-2]
+ execute 'lcd `=path`'
+ return a:cmd.' '.pathogen#fnameescape(a:file)
+ else
+ return a:cmd.' '.pathogen#fnameescape(file)
+ endif
+endfunction " }}}1
+
+function! s:Findcomplete(A,L,P) " {{{1
+ let sep = pathogen#separator()
+ let cheats = {
+ \'a': 'autoload',
+ \'d': 'doc',
+ \'f': 'ftplugin',
+ \'i': 'indent',
+ \'p': 'plugin',
+ \'s': 'syntax'}
+ if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0])
+ let request = cheats[a:A[0]].a:A[1:-1]
+ else
+ let request = a:A
+ endif
+ let pattern = substitute(request,'\'.sep,'*'.sep,'g').'*'
+ let found = {}
+ for path in pathogen#split(&runtimepath)
+ let path = expand(path, ':p')
+ let matches = split(glob(path.sep.pattern),"\n")
+ call map(matches,'isdirectory(v:val) ? v:val.sep : v:val')
+ call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]')
+ for match in matches
+ let found[match] = 1
+ endfor
+ endfor
+ return sort(keys(found))
+endfunction " }}}1
+
+command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(<count>,'edit<bang>',<q-args>,0)
+command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(<count>,'edit<bang>',<q-args>,0)
+command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(<count>,'edit<bang>',<q-args>,1)
+command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(<count>,'split',<q-args>,<bang>1)
+command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(<count>,'vsplit',<q-args>,<bang>1)
+command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(<count>,'tabedit',<q-args>,<bang>1)
+command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(<count>,'pedit',<q-args>,<bang>1)
+command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(<count>,'read',<q-args>,<bang>1)
+
+" vim:set ft=vim ts=8 sw=2 sts=2:
View
45 doc/notes.txt
@@ -30,6 +30,7 @@
Matchit - Extended matching with '%' |notes_matchit|
Netrw - File reading and writing across networks |notes_netrw|
OmniCppComplete - C/C++ Omnicompletion |notes_omnicppcomplete|
+ Pathogen - Runtime path management for bundles |notes_pathogen|
Project - Managing "projects" of files |notes_project|
Python - Python Syntax file with folding |notes_python|
PythonComplete - Python Omnicompletion |notes_pythoncomplete|
@@ -949,6 +950,25 @@ Installation:
- :helptags ~/.vim/doc
------------------------------------------------------------------------------
+PATHOGEN *notes_pathogen*
+ Runtime path management for bundles |notes_pathogen|
+
+Version 2012-04-29 from https://github.com/tpope/vim-pathogen
+
+Installation:
+- Remove existing bundle (if any): >
+ cd ~/.vim/bundle
+ rm -rf vim-pathogen
+- Clone latest version: >
+ git clone git@github.com:tpope/vim-pathogen
+- Remove .git directory: >
+ rm -rf vim-pathogen/.git
+- Process help tags (if any) in Vim: >
+ :Helptags
+- Force-add all files with Git: >
+ git add -f vim-pathogen
+
+------------------------------------------------------------------------------
PROJECT *notes_project*
Managing "projects" of files |project|
@@ -1225,16 +1245,17 @@ followed by <C-Tab>.
Custom additional command to reset and reload snippets: >
UltiSnipsReset
-Snippets live in two places:
+Snippets live in any "UltiSnips" subdirectory on the 'runtimepath'. Snippets
+earlier in the 'runtimepath' take precedence. For example:
- ~/.vim/UltiSnips - Snippets common to all configurations
- ~/.vim/local/UltiSnips - Optional snippets local to an installation
For select languages, the default snippets provided by UltiSnips are
-overridden by local snippets. This is accomplished by putting the
-directory ~/.vim/clearsnippets into the &runtimepath before the new
-locally defined snippets. In this directory are snippets files using
-the "clearsnippets" directive to wipe out the default snippets.
+overridden by local snippets. This is accomplished by putting the directory
+~/.vim/pre-bundle/clearsnippets into the 'runtimepath' before the new locally
+defined snippets. In this directory are snippets files using the
+"clearsnippets" directive to wipe out the default snippets.
To avoid rampant duplication when defining snippets, a custom set of Python
scripts is used to define snippets. For example, the file
@@ -1246,9 +1267,17 @@ reload the snippets.
Version 1.6 from http://www.vim.org/scripts/script.php?script_id=2715
Installation:
-- If upgrading, remove ~/.vim/UltiSnips-old.version/
-- Unpack in ~/.vim/, creating ~/.vim/UltiSnips-x.y/
-- Update $ULTISNIPS variable in ~/.vim/vimrc for new directory name
+- If upgrading, remove old bundle: >
+ rm -rf ~/.vim/bundle/ultisnips
+- Unpack in temporary directory, e.g.: >
+ cd ~/tmp
+ tar -zxf UltiSnips-1.6.tar.gz
+- Move to bundle directory: >
+ mv ~/tmp/UltiSnips-1.6 ~/.vim/bundle/ultisnips
+- Regenerate all help tags inside Vim: >
+ :Helptags
+- Add to git, forcing to include any tags: >
+ git add -f ~/.vim/bundle/ultisnips
- See ~/.vim/vimrc for detailed configuration steps
------------------------------------------------------------------------------
View
1 doc/tags
@@ -818,6 +818,7 @@ notes_markdown notes.txt /*notes_markdown*
notes_matchit notes.txt /*notes_matchit*
notes_netrw notes.txt /*notes_netrw*
notes_omnicppcomplete notes.txt /*notes_omnicppcomplete*
+notes_pathogen notes.txt /*notes_pathogen*
notes_plugins notes.txt /*notes_plugins*
notes_project notes.txt /*notes_project*
notes_python notes.txt /*notes_python*
View
0 clearsnippets/UltiSnips/c.snippets → ...bundle/clearsnippets/UltiSnips/c.snippets
File renamed without changes.
View
0 clearsnippets/UltiSnips/python.snippets → ...e/clearsnippets/UltiSnips/python.snippets
File renamed without changes.
View
0 clearsnippets/UltiSnips/rst.snippets → ...ndle/clearsnippets/UltiSnips/rst.snippets
File renamed without changes.
View
55 vimrc
@@ -3,12 +3,28 @@
" Enable vi-incompatible Vim extensions (redundant since .vimrc exists).
set nocompatible
+" -------------------------------------------------------------
+" runtimepath manipulation
+" -------------------------------------------------------------
+
+function! RtpPrepend(path)
+ if isdirectory(a:path)
+ let &runtimepath = a:path . "," . &runtimepath
+ if isdirectory(a:path . '/after')
+ let &runtimepath = &runtimepath . "," . a:path . "/after"
+ endif
+ endif
+endfunction
+
" Set environment variable to directory containing this vimrc.
-" On Unix, expect ~/.vim; on Windows, expect $HOME/vimfiles.
+" Expect absolute directory $HOME/.vim on Unix ($HOME/vimfiles on Windows).
" Note: using an environment variable instead of normal Vim variable
" because environment variables are expanded in values used with
" setting 'runtimepath' later.
-let $VIMFILES=expand("<sfile>:h")
+let $VIMFILES=expand("<sfile>:p:h")
+
+" If local customizations directory exists, it takes precedence.
+call RtpPrepend($VIMFILES . "/local")
" Provide for per-user hook points before and after common vimrc.
" User may supply a "-before.vim" hook that runs before the main contents
@@ -53,15 +69,23 @@ if $VIMRC_AFTER == ""
endif
" Prepend per-user directory to runtimepath (provides the highest priority).
-if isdirectory($VIMUSERFILES . "/" . $VIMUSER)
- set runtimepath^=$VIMUSERFILES/$VIMUSER
-endif
+call RtpPrepend($VIMUSERFILES . "/" . $VIMUSER)
" If it exists, source the specified "-before.vim" hook.
if filereadable($VIMRC_BEFORE)
source $VIMRC_BEFORE
endif
+" -------------------------------------------------------------
+" Pathogen plugin management
+" -------------------------------------------------------------
+runtime bundle/vim-pathogen/autoload/pathogen.vim
+call pathogen#infect()
+
+" Bundles in the "pre-bundle" directories will come earlier in the path
+" than those in "bundle" directories.
+call pathogen#infect('pre-bundle')
+
" Number of lines of VIM history to remember.
set history=500
@@ -1183,8 +1207,6 @@ nnoremap <Leader><Leader>b :CommandTBuffer<CR>
" CtrlP
" -------------------------------------------------------------
-set runtimepath+=$VIMFILES/bundle/ctrlp
-
" No default mappings.
let g:ctrlp_map = ''
@@ -1460,25 +1482,12 @@ nnoremap <silent> <C-Q>t :TlistToggle<CR>
" -------------------------------------------------------------
" UltiSnips
" -------------------------------------------------------------
-if !exists('$ULTISNIPS')
- let $ULTISNIPS=$VIMFILES . "/UltiSnips-1.6"
-endif
" Paths found earlier in runtimepath have higher snippet priority.
-" Therefore, put the distribution snippets in $ULTISNIPS last, and put
-" the "clearsnippets" path just before this to allow wiping of the
-" default snippets that come with UltiSnips.
-" Per-user customization will have highest priority because the per-user
-" directory was prepended to runtimepath.
-
-" Local customizations.
-if isdirectory($VIMFILES . '/local')
- set runtimepath+=$VIMFILES/local
-endif
+" In order to remove snippets distributed with UltiSnips, the
+" directory "pre-bundle/clearsnippets" will be earlier in the
+" runtimepath.
-" The "clearsnippets" directory wipes out default snippets.
-set runtimepath+=$VIMFILES/clearsnippets
-set runtimepath+=$ULTISNIPS
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<tab>"
let g:UltiSnipsJumpBackwardTrigger="<s-tab>"

0 comments on commit f32546e

Please sign in to comment.