[SCM] vim-addon-manager packaging branch, master, updated. v0.4.4-57-gc3d8a72
Antonio Terceiro
terceiro at debian.org
Wed Feb 1 01:12:21 UTC 2012
The following commit has been merged in the master branch:
commit b4c3950f26df09db1d903818076e071feaa2655e
Author: Antonio Terceiro <terceiro at debian.org>
Date: Tue Jan 31 21:54:57 2012 -0200
Manipulate &runtimepath without pathogen
It's simpler than I thought.
diff --git a/debian/copyright b/debian/copyright
index 85129e1..5542c6e 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -11,88 +11,3 @@ License: GPL-3+
or (at your option) any later version.
.
See `/usr/share/common-licenses/GPL-3' for the license text.
-
-Files: vendor/vim-pathogen/*
-Copyright: (c) Tim Pope.
-License: vim
- Distributed under the same terms as Vim itself. See `:help license`.
-Comment: Vim license
- I) There are no restrictions on distributing unmodified copies of Vim except
- that they must include this license text. You can also distribute
- unmodified parts of Vim, likewise unrestricted except that they must
- include this license text. You are also allowed to include executables
- that you made from the unmodified Vim sources, plus your own usage
- examples and Vim scripts.
- .
- II) It is allowed to distribute a modified (or extended) version of Vim,
- including executables and/or source code, when the following four
- conditions are met:
- 1) This license text must be included unmodified.
- 2) The modified Vim must be distributed in one of the following five ways:
- a) If you make changes to Vim yourself, you must clearly describe in
- the distribution how to contact you. When the maintainer asks you
- (in any way) for a copy of the modified Vim you distributed, you
- must make your changes, including source code, available to the
- maintainer without fee. The maintainer reserves the right to
- include your changes in the official version of Vim. What the
- maintainer will do with your changes and under what license they
- will be distributed is negotiable. If there has been no negotiation
- then this license, or a later version, also applies to your changes.
- The current maintainer is Bram Moolenaar <Bram at vim.org>. If this
- changes it will be announced in appropriate places (most likely
- vim.sf.net, www.vim.org and/or comp.editors). When it is completely
- impossible to contact the maintainer, the obligation to send him
- your changes ceases. Once the maintainer has confirmed that he has
- received your changes they will not have to be sent again.
- b) If you have received a modified Vim that was distributed as
- mentioned under a) you are allowed to further distribute it
- unmodified, as mentioned at I). If you make additional changes the
- text under a) applies to those changes.
- c) Provide all the changes, including source code, with every copy of
- the modified Vim you distribute. This may be done in the form of a
- context diff. You can choose what license to use for new code you
- add. The changes and their license must not restrict others from
- making their own changes to the official version of Vim.
- d) When you have a modified Vim which includes changes as mentioned
- under c), you can distribute it without the source code for the
- changes if the following three conditions are met:
- - The license that applies to the changes permits you to distribute
- the changes to the Vim maintainer without fee or restriction, and
- permits the Vim maintainer to include the changes in the official
- version of Vim without fee or restriction.
- - You keep the changes for at least three years after last
- distributing the corresponding modified Vim. When the maintainer
- or someone who you distributed the modified Vim to asks you (in
- any way) for the changes within this period, you must make them
- available to him.
- - You clearly describe in the distribution how to contact you. This
- contact information must remain valid for at least three years
- after last distributing the corresponding modified Vim, or as long
- as possible.
- e) When the GNU General Public License (GPL) applies to the changes,
- you can distribute the modified Vim under the GNU GPL version 2 or
- any later version.
- 3) A message must be added, at least in the output of the ":version"
- command and in the intro screen, such that the user of the modified Vim
- is able to see that it was modified. When distributing as mentioned
- under 2)e) adding the message is only required for as far as this does
- not conflict with the license used for the changes.
- 4) The contact information as required under 2)a) and 2)d) must not be
- removed or changed, except that the person himself can make
- corrections.
- .
- III) If you distribute a modified version of Vim, you are encouraged to use
- the Vim license for your changes and make them available to the
- maintainer, including the source code. The preferred way to do this is
- by e-mail or by uploading the files to a server and e-mailing the URL.
- If the number of changes is small (e.g., a modified Makefile) e-mailing a
- context diff will do. The e-mail address to be used is
- <maintainer at vim.org>
- .
- IV) It is not allowed to remove this license from the distribution of the Vim
- sources, parts of it or from a modified version. You may use this
- license for previous Vim releases instead of the license that they came
- with, at your option.
- .
- On Debian systems the GNU General Public License (GPL) version 2 is located on
- the filesystem at /usr/share/common-licenses/GPL-2.
diff --git a/debian/vim-addon-manager.install b/debian/vim-addon-manager.install
index 146cc3a..808021a 100644
--- a/debian/vim-addon-manager.install
+++ b/debian/vim-addon-manager.install
@@ -1,2 +1 @@
etc/vim/vimrc.d/vim-addon-manager.vim /etc/vim/vimrc.d
-vendor/vim-pathogen/autoload/pathogen.vim /usr/share/vim/addons/autoload
diff --git a/etc/vim/vimrc.d/vim-addon-manager.vim b/etc/vim/vimrc.d/vim-addon-manager.vim
index 45c7dc8..a87c1ad 100644
--- a/etc/vim/vimrc.d/vim-addon-manager.vim
+++ b/etc/vim/vimrc.d/vim-addon-manager.vim
@@ -1 +1,11 @@
-call pathogen#infect('vambundle')
+" adds all addons installed (vambundle/* inside all pre-existing runtime path
+" directories) to the runtimepath
+let s:path = []
+for dir in split(&runtimepath, ',')
+ call add(s:path, dir)
+ for vambundle in split(glob(dir . '/vambundle/*'))
+ " FIXME test if vambundle here is actually a directory
+ call add(s:path, vambundle)
+ endfor
+endfor
+let &runtimepath = join(s:path, ',')
diff --git a/vendor/vim-pathogen/README.markdown b/vendor/vim-pathogen/README.markdown
deleted file mode 100644
index cc8bbd1..0000000
--- a/vendor/vim-pathogen/README.markdown
+++ /dev/null
@@ -1,176 +0,0 @@
-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`.
diff --git a/vendor/vim-pathogen/autoload/pathogen.vim b/vendor/vim-pathogen/autoload/pathogen.vim
deleted file mode 100644
index df4f22d..0000000
--- a/vendor/vim-pathogen/autoload/pathogen.vim
+++ /dev/null
@@ -1,245 +0,0 @@
-" 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(glob(dir.sep.'doc'.sep.'*')) && (!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:
--
vim-addon-manager packaging
More information about the pkg-vim-maintainers
mailing list