r171 - in trunk/vim-scripts/vim-scripts-6: debian html plugin
Stefano Zacchiroli
zack@costa.debian.org
Sat, 16 Apr 2005 21:00:46 +0000
Author: zack
Date: 2005-04-16 21:00:46 +0000 (Sat, 16 Apr 2005)
New Revision: 171
Added:
trunk/vim-scripts/vim-scripts-6/debian/doc-base
trunk/vim-scripts/vim-scripts-6/html/index.html
trunk/vim-scripts/vim-scripts-6/html/plugin_svncommand.vim.html
trunk/vim-scripts/vim-scripts-6/plugin/svncommand.vim
Modified:
trunk/vim-scripts/vim-scripts-6/debian/README.Debian
trunk/vim-scripts/vim-scripts-6/debian/changelog
trunk/vim-scripts/vim-scripts-6/debian/copyright
trunk/vim-scripts/vim-scripts-6/debian/dirs
trunk/vim-scripts/vim-scripts-6/debian/rules
trunk/vim-scripts/vim-scripts-6/debian/vim-scripts.pl
Log:
- added svncommand.vim plugin
- generate index.html of shipped documentation, register documentation
to doc-base
- improved README.Debian
Modified: trunk/vim-scripts/vim-scripts-6/debian/README.Debian
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/README.Debian 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/README.Debian 2005-04-16 21:00:46 UTC (rev 171)
@@ -1,3 +1,4 @@
+
If you just link these scripts instead of copying them, they will be
upgraded automatically. That's a good idea.
@@ -7,12 +8,24 @@
$VIMRUNTIME directory is used - the old symlinks are ignored; on
removing the old version, the symlinks might be removed, leaving no
trace behind.
- You can, however, put them into the vimfiles directory, that's
-/etc/vim on Debian systems. Thus "cd /etc/vim; mkdir ftplugin; cd
-ftplugin; ln -s /usr/share/vim-scripts/ftplugin/xml.vim" does the trick.
+ You can, however, put them into /etc/vim which is included in
+option 'runtimepath' on Debian systems. For example:
+
+ cd /etc/vim
+ mkdir ftplugin
+ cd ftplugin
+ ln -s /usr/share/vim-scripts/ftplugin/xml.vim
+
+will make the xml.vim filetype plugin available to every user.
+
+ You can also have all scripts available by all users adding
+/usr/share/vim-scripts to the 'runtimepath' vim option. Just add the
+following line to your /etc/vim/vimrc:
+
+ set runtimepath+=/usr/share/vim-scripts
+
Also you may want to have a look at the scripts which hide in Vim's
macro directory, which is found at /usr/share/vim/vim63/macros in
Debian. Especially the matchit.vim script is nice.
-vim:tw=72
Modified: trunk/vim-scripts/vim-scripts-6/debian/changelog
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/changelog 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/changelog 2005-04-16 21:00:46 UTC (rev 171)
@@ -1,8 +1,8 @@
vim-scripts (6-1) unstable; urgency=low
* major review of shipped scripts
- - added scripts: plugin/{calendar.vim, gnupg.vim, minibufexpl.vim,
- themes.vim, utl.vim, vimspell.vim, winmanager.vim},
+ - added scripts: plugin/{calendar.vim,gnupg.vim,minibufexpl.vim,
+ svncommand.vim,themes.vim,utl.vim,vimspell.vim,winmanager.vim},
ftplugin/xml.vim (Closes: Bug#303587, Bug#303589, Bug#303592)
- removed scripts: closetag.vim
- upgraded to latest version on vim.org scripts: ftplugin/po.vim,
@@ -10,11 +10,12 @@
cvsmenu.vim, taglist.vim, whatdomain.vim}
- replaced scripts: colors/* (by themes.vim above), plugin/thlnk.vim
(by utl.vim)
- * ship webpages of shipped scripts in html/ dir
+ * ship webpages of scripts in html/; registered them to doc-base
* debian/rules
- install scripts in /usr/share/vim-scripts/ instead of
- /usr/share/doc/vim-scripts/examples/. Symlinks provided for
+ /usr/share/doc/vim-scripts/examples/. Symlink provided for
backward compatibility
+ - invokes dh_compress
- moved debhelper compatibility level to debian/compat
* use dpatch, changed debian/{control,rules,patches} as needed
* debian/control
@@ -26,6 +27,7 @@
* debian/copyright
- rewritten including copyright/license information about all
shipped script
+ * improved debian/README.Debian
-- Stefano Zacchiroli <zack@debian.org> Fri, 8 Apr 2005 17:39:18 +0200
Modified: trunk/vim-scripts/vim-scripts-6/debian/copyright
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/copyright 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/copyright 2005-04-16 21:00:46 UTC (rev 171)
@@ -110,6 +110,14 @@
license: public domain
version: 1.67
+script_name: plugin/svncommand.vim
+script_url: http://www.vim.org/scripts/script.php?script_id=922
+author: Adam Lazur
+author_url: http://www.vim.org/account/profile.php?user_id=1129
+email: adam at lazur.org
+license: public domain
+version: 2
+
script_name: plugin/utl.vim
script_url: http://www.vim.org/scripts/script.php?script_id=293
author: Stefan Bittner
Modified: trunk/vim-scripts/vim-scripts-6/debian/dirs
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/dirs 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/dirs 2005-04-16 21:00:46 UTC (rev 171)
@@ -1,2 +1 @@
usr/share/vim-scripts/
-usr/share/doc/vim-scripts/examples/
Added: trunk/vim-scripts/vim-scripts-6/debian/doc-base
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/doc-base 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/doc-base 2005-04-16 21:00:46 UTC (rev 171)
@@ -0,0 +1,9 @@
+Document: vim-scripts
+Title: vim-scripts' scripts web pages
+Author: Various
+Abstract: Web pages of vim scripts shipped by vim-scripts
+Section: Apps/Tools
+
+Format: HTML
+Index: /usr/share/doc/vim-scripts/html/index.html
+Files: /usr/share/doc/vim-scripts/html/*
Modified: trunk/vim-scripts/vim-scripts-6/debian/rules
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/rules 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/rules 2005-04-16 21:00:46 UTC (rev 171)
@@ -24,7 +24,6 @@
binary-arch:
# Nothing to do here.
-DESTDIR = /usr/share/vim-scripts
OLD_DESTDIR = /usr/share/doc/vim-scripts/examples
# Build architecture-independent files here.
@@ -34,10 +33,8 @@
dh_installdirs
dh_install
dh_installdocs
- for dir in `cat debian/install | sed 's|/.*||'`; do \
- test -L debian/vim-scripts$(OLD_DESTDIR)/$$dir || \
- ln -s ../../../vim-scripts/$$dir debian/vim-scripts$(OLD_DESTDIR)/; \
- done
+ test -L debian/vim-scripts$(OLD_DESTDIR) || \
+ ln -s ../../vim-scripts debian/vim-scripts$(OLD_DESTDIR)
dh_installchangelogs
dh_fixperms
dh_compress
Modified: trunk/vim-scripts/vim-scripts-6/debian/vim-scripts.pl
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/vim-scripts.pl 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/vim-scripts.pl 2005-04-16 21:00:46 UTC (rev 171)
@@ -4,7 +4,7 @@
# Copyright (C) 2005, Stefano Zacchiroli <zack@debian.org>
#
# Created: Sat, 16 Apr 2005 12:43:04 +0200 zack
-# Last-Modified: Sat, 16 Apr 2005 12:43:04 +0200 zack
+# Last-Modified: Sat, 16 Apr 2005 22:59:01 +0200 zack
#
# This is free software, you can redistribute it and/or modify it under the
# terms of the GNU General Public License version 2 as published by the Free
@@ -48,6 +48,37 @@
return [$script_version, $script_date, $download_url];
}
+sub rebuild_index() {
+ open INDEX, "> html/index.html";
+ print INDEX <<EOH;
+<html>
+ <head>
+ <title>vim-scripts - scripts web pages index</title>
+ </head>
+ <body>
+ <p>
+ <h2>vim-scripts - scripts web pages index:</h2>
+ </p>
+ <ul>
+EOH
+ open FIND, "find html/ -type f -name '*.html' -printf '\%f\\n' |";
+ my @fnames = <FIND>;
+ close FIND;
+ foreach my $fname (sort @fnames) {
+ chomp $fname;
+ next if $fname =~ "index.html";
+ my $anchor = $fname;
+ $anchor =~ s/_/\//;
+ print INDEX " <li><a href=\"$fname\">$anchor</a></li>\n";
+ }
+ print INDEX <<EOT;
+ </ul>
+ </body>
+</html>
+EOT
+ close INDEX;
+}
+
open STATUS, "< $status" or die "Can't open debian/copyright";
my ($script_name, $script_url, $author, $author_url, $email, $license,
$version);
@@ -87,6 +118,7 @@
}
}
}
+ rebuild_index() if ($action eq "doc");
}
close STATUS;
Added: trunk/vim-scripts/vim-scripts-6/html/index.html
===================================================================
--- trunk/vim-scripts/vim-scripts-6/html/index.html 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/html/index.html 2005-04-16 21:00:46 UTC (rev 171)
@@ -0,0 +1,33 @@
+<html>
+ <head>
+ <title>vim-scripts - scripts documentation index</title>
+ </head>
+ <body>
+ <p>
+ <h2>vim-scripts - script documentation index:</h2>
+ </p>
+ <ul>
+ <li><a href="ftplugin_po.vim.html">ftplugin/po.vim.html</a></li>
+ <li><a href="ftplugin_xml.vim.html">ftplugin/xml.vim.html</a></li>
+ <li><a href="games_VimSokoban_sokoban.vim.html">games/VimSokoban_sokoban.vim.html</a></li>
+ <li><a href="games_tetris.vim.html">games/tetris.vim.html</a></li>
+ <li><a href="plugin_Align.vim.html">plugin/Align.vim.html</a></li>
+ <li><a href="plugin_a.vim.html">plugin/a.vim.html</a></li>
+ <li><a href="plugin_bufexplorer.vim.html">plugin/bufexplorer.vim.html</a></li>
+ <li><a href="plugin_calendar.vim.html">plugin/calendar.vim.html</a></li>
+ <li><a href="plugin_cvscommand.vim.html">plugin/cvscommand.vim.html</a></li>
+ <li><a href="plugin_cvsmenu.vim.html">plugin/cvsmenu.vim.html</a></li>
+ <li><a href="plugin_gnupg.vim.html">plugin/gnupg.vim.html</a></li>
+ <li><a href="plugin_info.vim.html">plugin/info.vim.html</a></li>
+ <li><a href="plugin_minibufexpl.vim.html">plugin/minibufexpl.vim.html</a></li>
+ <li><a href="plugin_svncommand.vim.html">plugin/svncommand.vim.html</a></li>
+ <li><a href="plugin_taglist.vim.html">plugin/taglist.vim.html</a></li>
+ <li><a href="plugin_themes.vim.html">plugin/themes.vim.html</a></li>
+ <li><a href="plugin_utl.vim.html">plugin/utl.vim.html</a></li>
+ <li><a href="plugin_vimspell.vim.html">plugin/vimspell.vim.html</a></li>
+ <li><a href="plugin_whatdomain.vim.html">plugin/whatdomain.vim.html</a></li>
+ <li><a href="plugin_winmanager.vim.html">plugin/winmanager.vim.html</a></li>
+ <li><a href="syntax_CVSAnnotate.vim.html">syntax/CVSAnnotate.vim.html</a></li>
+ </ul>
+ </body>
+</html>
Added: trunk/vim-scripts/vim-scripts-6/html/plugin_svncommand.vim.html
===================================================================
--- trunk/vim-scripts/vim-scripts-6/html/plugin_svncommand.vim.html 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/html/plugin_svncommand.vim.html 2005-04-16 21:00:46 UTC (rev 171)
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+ <link rel="Stylesheet" type="text/css" href="/css/style.css" >
+ <title>svncommand.vim - Subversion (svn) integration plugin : vim online</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <meta name="KEYWORDS" content="Vim, Vi IMproved, text editor, home, documentation, tips, scripts, news">
+ <link rel="shortcut icon" type="image/x-icon" href="/images/vim_shortcut.ico">
+</head>
+
+<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#ffffff">
+
+<!-- HEADER, SPONSOR IMAGE, VIM IMAGE AND BOOK AD -->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+ <tr>
+ <td colspan="4" class="lightbg"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+ </tr>
+ <tr>
+ <td class="lightbg"> </td>
+ <td class="lightbg" align="left"><a href="/sponsor/index.php"><img src="/images/sponsorvim.gif" alt="sponsor Vim development" border="0"></a></td>
+ <td class="lightbg" align="center"><a href="/index.php"><img src="/images/vim_header.gif" border="0" alt="Vim logo"></a></td>
+ <td class="lightbg" align="right"><a href="http://iccf-holland.org/click5.html"><img src="/images/buyhelplearn.gif" alt="Vim Book Ad" border="0"></a></td>
+ </tr>
+ <tr>
+ <td colspan="4" class="lightbg"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+ </tr>
+ <tr>
+ <td colspan="4" class="darkbg"><img src="/images/spacer.gif" width="1" height="10" alt=""></td>
+ </tr>
+</table>
+<!-- THE PAGE BODY: BETWEEN HEADER AND FOOTER -->
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+ <col width="180">
+ <col width="1">
+
+ <tr valign="top">
+ <td class="sidebar">
+ <table width="180" cellpadding="4" cellspacing="0" border="0">
+ <tr valign="top">
+ <td class="sidebar">
+
+<!-- INCLUDE THE PAGE NAVIGATION -->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+ <tr>
+ <td><small>not logged in (<a href="/login.php">login</a>)</small></td>
+ </tr>
+ <tr>
+ <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="1"></td>
+ </tr>
+ <tr>
+ <td class="darkbg"><img src="/images/spacer.gif" alt='' border="0" height="3"></td>
+ </tr>
+ <tr>
+ <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="2"></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/index.php">Home</a></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/search.php">Search</a></td>
+ </tr>
+ <tr>
+ <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+ </tr>
+ <tr>
+ <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+ </tr>
+ <tr>
+ <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/about.php">About Vim</a></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/community.php">Community</a></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/news/news.php">News</a></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/sponsor/index.php">Sponsoring</a></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/trivia.php">Trivia</a></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/docs.php">Documentation</a></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/download.php">Download</a></td>
+ </tr>
+ <tr>
+ <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+ </tr>
+ <tr>
+ <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+ </tr>
+ <tr>
+ <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/scripts/index.php">Scripts</a></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/tips/index.php">Tips</a></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/account/index.php">My Account</a></td>
+ </tr>
+ <tr>
+ <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+ </tr>
+ <tr>
+ <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+ </tr>
+ <tr>
+ <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+ </tr>
+ <tr>
+ <td class="sidebarheader"><a href="/huh.php">Site Help</a></td>
+ </tr>
+</table>
+
+ <table width="172" cellpadding="0" cellspacing="0" border="0">
+ <tr><td><img src="/images/spacer.gif" alt="" border="0" width="1" height="8"></td></tr>
+ <tr><td class="darkbg"><img src="/images/spacer.gif" width="1" height="3" alt=""></td></tr>
+ </table>
+ <br>
+
+<!-- INCLUDE THE PAGE SIDEBAR TEXT -->
+
+
+ </td>
+ </tr>
+ </table>
+ </td>
+
+ <td class="darkbg"><img src="/images/spacer.gif" width="1" height="1" border="0" alt=""><br></td>
+ <td>
+ <table width="100%" cellpadding="10" cellspacing="0" border="0" bordercolor="red">
+ <tr>
+ <td valign="top">
+
+<span class="txth1">svncommand.vim : Subversion (svn) integration plugin</span>
+
+<br>
+<br>
+
+<!-- karma table -->
+<table cellpadding="4" cellspacing="0" border="1" bordercolor="#000066">
+<tr>
+ <td class="lightbg"><b> script karma </b></td>
+ <td>
+ Rating <b>92/38</b>,
+ Downloaded by 1436 </td>
+</tr>
+</table>
+<p>
+
+<table cellspacing="0" cellpadding="0" border="0">
+<tr><td class="prompt">created by</td></tr>
+<tr><td><a href="/account/profile.php?user_id=1129">Adam Lazur</a></td></tr>
+<tr><td> </td></tr>
+<tr><td class="prompt">script type</td></tr>
+<tr><td>utility</td></tr>
+<tr><td> </td></tr>
+<tr><td class="prompt">description</td></tr>
+<tr><td>This is almost a straight port of cvscommand.vim to support subversion. There's some stuff hacked out, some stuff hacked in, and a lot of s/CVS/SVN/g going on.
<br>
<br>Current support is for single file type ops, just like cvscommand.vim. The commandset available is basically: status, info, update, revert, diff, annotate, commit, add, log, vimdiff, review.
<br>
<br>There is no support for properties, directories, or anything super advanced.</td></tr>
+<tr><td> </td></tr>
+<tr><td class="prompt">install details</td></tr>
+<tr><td>plop svncommand.vim in ~/.vim/plugin and away you go. Read the script for things that can be customized out of the box. Hack the script to do whatever else you want.</td></tr>
+<tr><td> </td></tr>
+</table>
+
+<!-- rating table -->
+<form name="rating">
+<input type="hidden" name="script_id" value="922">
+<table cellpadding="4" cellspacing="0" border="1" bordercolor="#000066">
+<tr>
+ <td class="lightbg"><b>rate this script</b></td>
+ <td valign="middle">
+ <input type="radio" name="rating" value="life_changing">Life Changing
+ <input type="radio" name="rating" value="helpful">Helpful
+ <input type="radio" name="rating" value="unfulfilling">Unfulfilling
+ <input type="submit" value="rate">
+ </td>
+</tr>
+</table>
+</form>
+<span class="txth2">script versions</span> (<a href="add_script_version.php?script_id=922">upload new version</a>)
+<p>
+Click on the package to download.
+<p>
+
+<table cellspacing="2" cellpadding="4" border="0" width="100%">
+<tr class='tableheader'>
+ <th valign="top">package</th>
+ <th valign="top">script version</th>
+ <th valign="top">date</th>
+ <th valign="top">Vim version</th>
+ <th valign="top">user</th>
+ <th valign="top">release notes</th>
+</tr>
+<tr>
+ <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=2784">svncommand.vim</a></td>
+ <td class="rowodd" valign="top" nowrap><b>2</b></td>
+ <td class="rowodd" valign="top" nowrap><i>2004-02-25</i></td>
+ <td class="rowodd" valign="top" nowrap>6.0</td>
+ <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=1129">Adam Lazur</a></i></td>
+ <td class="rowodd" valign="top" width="2000">added svn info support</td>
+</tr>
+<tr>
+ <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=2782">svncommand.vim</a></td>
+ <td class="roweven" valign="top" nowrap><b>1</b></td>
+ <td class="roweven" valign="top" nowrap><i>2004-02-25</i></td>
+ <td class="roweven" valign="top" nowrap>6.0</td>
+ <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=1129">Adam Lazur</a></i></td>
+ <td class="roweven" valign="top" width="2000">Initial upload</td>
+</tr>
+</table>
+<!-- finish off the framework -->
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+<!-- END OF THE PAGE BODY: BETWEEN HEADER AND FOOTER -->
+
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+ <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr>
+ <tr><td colspan="4" bgcolor="#000000"><img src="/images/spacer.gif" height="2" width="1" alt=""></td></tr>
+ <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr>
+ <tr>
+ <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td>
+
+ <td align="left" valign="top"><small>
+ If you have questions or remarks about this site, visit the
+ <a href="http://vimonline.sf.net">vimonline development</a> pages.
+ Please use this site responsibly.
+ <br>
+
+ Questions about <a href="http://www.vim.org/about.php">Vim</a> should go
+ to vim@vim.org after searching
+ <a href="http://groups.yahoo.com/group/vim">the archive</a>.
+ Help Bram <a href="http://iccf-holland.org/">help Uganda</a>.
+ </small>
+ </td>
+
+ <td align="right" valign="top">
+ <a href="http://www.webconceptgroup.net"><img src="/images/logo_sponsor_wcg.jpg" width="131" height="30" border="0" alt="Sponsored by Web Concept Group Inc."></a>
+ <a href="http://sflogo.sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=8&type=1" width="88" height="31" border="0" alt="SourceForge Logo"></a>
+ </td>
+
+ <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td>
+ </tr>
+
+
+ <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+
+ </tr>
+</table>
+
+</body>
+</html>
+
Added: trunk/vim-scripts/vim-scripts-6/plugin/svncommand.vim
===================================================================
--- trunk/vim-scripts/vim-scripts-6/plugin/svncommand.vim 2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/plugin/svncommand.vim 2005-04-16 21:00:46 UTC (rev 171)
@@ -0,0 +1,547 @@
+" vim600: set foldmethod=marker ts=2 sts=2:
+" $Id: svncommand.vim 879 2004-02-26 04:46:28Z laz $
+"
+" Vim plugin to assist in working with SVN-controlled files.
+"
+" Last Change: $Date: 2004-02-25 23:46:28 -0500 (Wed, 25 Feb 2004) $
+" Maintainer: Adam Lazur <adam@lazur.org>
+" License: This file is placed in the public domain.
+" Version: 2
+"
+" Section: Documentation {{{1
+"
+" This is mostly a s/CVS/SVN/g on cvscommand.vim by Bob Hiestand
+" <bob@hiestandfamily.org> with some svn translations for various things.
+"
+" Provides functions to invoke various SVN commands on the current file.
+" The output of the commands is captured in a new scratch window. For
+" convenience, if the functions are invoked on a SVN output window, the
+" original file is used for the svn operation instead after the window is
+" split. This is primarily useful when running SVNCommit and you need to see
+" the changes made, so that SVNDiff is usable and shows up in another window.
+"
+" These functions are exported into the global environment, meaning they are
+" directly accessed without prepending '<PLUG>'. This is because the author
+" directly accesses several of them without using the mappings in order to
+" pass parameters.
+"
+" Several of these act immediately, such as
+"
+" SVNAdd Performs "svn add" on the current file.
+"
+" SVNAnnotate Performs "svn annotate" on the current file. If not given an
+" argument, uses the most recent version of the file.
+" Otherwise, the argument is used as a revision number.
+"
+" SVNCommit This is a two-stage command. The first step opens a buffer to
+" accept a log message. When that buffer is written, it is
+" automatically closed and the file is committed using the
+" information from that log message. If the file should not be
+" committed, just destroy the log message buffer without writing
+" it.
+"
+" SVNDiff With no arguments, this performs "svn diff" on the current
+" file. With one argument, "svn diff" is performed on the
+" current file against the specified revision. With two
+" arguments, svn diff is performed between the specified
+" revisions of the current file. This command uses the
+" 'SVNCommandDiffOpt' variable to specify diff options. If that
+" variable does not exist, then 'wbBc' is assumed. If you wish
+" to have no options, then set it to the empty string.
+"
+" SVNLog Performs "svn log" on the current file.
+"
+" SVNReview Retrieves a particular version of the current file. If no
+" argument is given, the most recent version of the file on
+" the current branch is retrieved. The specified revision is
+" retrieved into a new buffer.
+"
+" SVNStatus Performs "svn status" on the current file.
+"
+" SVNInfo Performs "svn info" on the current file.
+"
+" SVNUpdate Performs "svn update" on the current file.
+"
+" SVNVimDiff With no arguments, this prompts the user for a revision and
+" then uses vimdiff to display the differences between the current
+" file and the specified revision. If no revision is specified,
+" the most recent version of the file on the current branch is used.
+" With one argument, that argument is used as the revision as
+" above. With two arguments, the differences between the two
+" revisions is displayed using vimdiff.
+"
+" With either zero or one argument, the original buffer is used
+" to perform the vimdiff. When the other buffer is closed, the
+" original buffer will be returned to normal mode.
+"
+" By default, a mapping is defined for each command. User-provided mappings
+" can be used instead by mapping to <Plug>CommandName, for instance:
+"
+" nnoremap ,ca <Plug>SVNAdd
+"
+" The default mappings are as follow:
+"
+" <Leader>sa SVNAdd
+" <Leader>sn SVNAnnotate
+" <Leader>sc SVNCommit
+" <Leader>sd SVNDiff
+" <Leader>sl SVNLog
+" <Leader>sr SVNReview
+" <Leader>ss SVNStatus
+" <Leader>si SVNInfo
+" <Leader>sq SVNRevert
+" <Leader>sv SVNVimDiff
+"
+" Options:
+"
+" Several variables are checked by the script to determine behavior as follow:
+"
+" SVNCommandDeleteOnHide
+" This variable, if set to a non-zero value, causes the temporary SVN result
+" buffers to automatically delete themselves when hidden.
+"
+" SVNCommandDiffOpt
+" This variable, if set, determines the options passed to the "svn diff"
+" command. If not set, it defaults to ''.
+"
+" SVNCommandNameMarker
+" This variable, if set, configures the special attention-getting characters
+" that appear on either side of the svn buffer type in the buffer name. If
+" not set, it defaults to '_'.
+"
+" SVNCommandSplit
+" This variable controls the orientation of the buffer split when executing
+" the SVNVimDiff command. If set to 'horizontal', the resulting buffers
+" will be on top of one another.
+
+" Section: Plugin header {{{1
+
+if exists("loaded_svncommand")
+ finish
+endif
+let loaded_svncommand = 1
+
+" Section: Utility functions {{{1
+
+" Function: s:SVNResolveLink() {{{2
+" Fully resolve the given file name to remove shortcuts or symbolic links.
+
+function! s:SVNResolveLink(fileName)
+ let resolved = resolve(a:fileName)
+ if resolved != a:fileName
+ let resolved = s:SVNResolveLink(resolved)
+ endif
+ return resolved
+endfunction
+
+" Function: s:SVNChangeToCurrentFileDir() {{{2
+" Go to the directory in which the current SVN-controlled file is located.
+" If this is a SVN command buffer, first switch to the original file.
+
+function! s:SVNChangeToCurrentFileDir()
+ let oldCwd=getcwd()
+ let fileName=s:SVNResolveLink(@%)
+ let newCwd=fnamemodify(fileName, ':h')
+ if strlen(newCwd) > 0
+ execute 'cd' escape(newCwd, ' ')
+ endif
+ return oldCwd
+endfunction
+
+" Function: s:SVNCreateCommandBuffer(cmd, cmdname, filename) {{{2
+" Creates a new scratch buffer and captures the output from execution of the
+" given command. The name of the scratch buffer is returned.
+
+function! s:SVNCreateCommandBuffer(cmd, cmdname, filename)
+ let nameMarker = s:SVNGetOption("SVNCommandNameMarker", '_')
+ let origBuffNR=bufnr("%")
+ let bufName=a:filename . ' ' . nameMarker . a:cmdname . nameMarker
+ let counter=0
+ let currentBufName = bufName
+ while buflisted(currentBufName)
+ let counter=counter + 1
+ let currentBufName=bufName . ' (' . counter . ')'
+ endwhile
+ let currentBufName = escape(currentBufName, ' *\')
+
+ if s:SVNEditFile(currentBufName) == -1
+ return ""
+ endif
+
+ set buftype=nofile
+ set noswapfile
+ set filetype=
+ if s:SVNGetOption("SVNCommandDeleteOnHide", 0)
+ set bufhidden=delete
+ else
+ set bufhidden=hide
+ endif
+ let b:svnOrigBuffNR=origBuffNR
+ silent execute a:cmd
+ $d
+ 1
+ return currentBufName
+endfunction
+
+" Function: s:SVNBufferCheck() {{{2
+" Attempts to locate the original file to which SVN operations were applied.
+
+function! s:SVNBufferCheck()
+ if exists("b:svnOrigBuffNR")
+ if bufexists(b:svnOrigBuffNR)
+ execute "sbuffer" . b:svnOrigBuffNR
+ return 1
+ else
+ " Original buffer no longer exists.
+ return -1
+ endif
+ else
+ " No original buffer
+ return 0
+ endif
+endfunction
+
+" Function: s:SVNToggleDeleteOnHide() {{{2
+" Toggles on and off the delete-on-hide behavior of SVN buffers
+
+function! s:SVNToggleDeleteOnHide()
+ if exists("g:SVNCommandDeleteOnHide")
+ unlet g:SVNCommandDeleteOnHide
+ else
+ let g:SVNCommandDeleteOnHide=1
+ endif
+endfunction
+
+" Function: s:SVNGetOption(name, default) {{{2
+" Grab a user-specified option to override the default provided. Options are
+" searched in the window, buffer, then global spaces.
+
+function! s:SVNGetOption(name, default)
+ if exists("w:" . a:name)
+ execute "return w:".a:name
+ elseif exists("b:" . a:name)
+ execute "return b:".a:name
+ elseif exists("g:" . a:name)
+ execute "return g:".a:name
+ else
+ return a:default
+ endif
+endfunction
+
+" Function: s:SVNEditFile(name) {{{2
+" Wrapper around the 'edit' command to provide some helpful error text if the
+" current buffer can't be abandoned.
+" Returns: 0 if successful, -1 if an error occurs.
+
+function! s:SVNEditFile(name)
+ let v:errmsg = ""
+ execute 'edit' a:name
+ if v:errmsg != ""
+ if &modified && !&hidden
+ echoerr "Unable to open command buffer because 'nohidden' is set and the current buffer is modified (see :help 'hidden')."
+ else
+ echoerr "Unable to open command buffer" v:errmsg
+ endif
+ return -1
+ endif
+endfunction
+
+" Function: s:SVNDoCommand(svncmd, cmdName) {{{2
+" General skeleton for SVN function execution.
+" Returns: name of the new command buffer containing the command results
+
+function! s:SVNDoCommand(cmd, cmdName)
+ let svnBufferCheck=s:SVNBufferCheck()
+ if svnBufferCheck == -1
+ echo "Original buffer no longer exists, aborting."
+ return ""
+ endif
+
+ let fileName=@%
+ let realFileName = fnamemodify(s:SVNResolveLink(fileName), ':t')
+ let oldCwd=s:SVNChangeToCurrentFileDir()
+ let fullCmd = '0r!' . a:cmd . ' "' . realFileName . '"'
+ let resultBufferName=s:SVNCreateCommandBuffer(fullCmd, a:cmdName, fileName)
+ execute 'cd' escape(oldCwd, ' ')
+ return resultBufferName
+endfunction
+
+" Section: SVN functions {{{1
+
+" Function: s:SVNAdd() {{{2
+function! s:SVNAdd()
+ return s:SVNDoCommand('svn add', 'svnadd')
+endfunction
+
+" Function: s:SVNAnnotate(...) {{{2
+function! s:SVNAnnotate(...)
+ let svnBufferCheck=s:SVNBufferCheck()
+ if svnBufferCheck == -1
+ echo "Original buffer no longer exists, aborting."
+ return ""
+ endif
+
+ let currentLine=line(".")
+ let oldCwd=s:SVNChangeToCurrentFileDir()
+
+ if a:0 == 0
+ let revOptions = ''
+ let caption = 'current'
+ else
+ let revOptions = '-r' . a:1
+ let caption = 'r' . a:1
+ endif
+
+ let resultBufferName=s:SVNCreateCommandBuffer('0r!svn annotate ' . revOptions . ' "' . s:SVNResolveLink(@%) . '"', 'svnannotate', expand("%"))
+ if resultBufferName != ""
+ exec currentLine
+ set filetype=SVNAnnotate
+ endif
+
+ execute 'cd' escape(oldCwd, ' ')
+ return resultBufferName
+endfunction
+
+" Function: s:SVNCommit() {{{2
+function! s:SVNCommit()
+ let svnBufferCheck=s:SVNBufferCheck()
+ if svnBufferCheck == -1
+ echo "Original buffer no longer exists, aborting."
+ return ""
+ endif
+
+ let originalBuffer=bufnr("%")
+ let nameMarker = s:SVNGetOption("SVNCommandNameMarker", '_')
+ let messageFileName = escape(tempname().'svn-commit.'.nameMarker.'log message'.nameMarker, ' ?*\')
+ let newCwd=expand("%:h")
+ let fileName=expand("%:t")
+
+ execute 'au BufWritePost' messageFileName 'call s:SVNFinishCommit("' . messageFileName . '", "' . newCwd . '", "' . fileName . '") | au! * ' messageFileName
+ execute 'au BufDelete' messageFileName 'au! * ' messageFileName
+
+ if s:SVNEditFile(messageFileName) == -1
+ execute 'au! *' messageFileName
+ else
+ " succeeded... turn buffer into svn commit buffer and simulate the ci
+ " stuff
+ set ft=svn
+ let l:statuscmd = 'r!svn status '.fileName
+ silent! exe l:statuscmd
+ call append(0,"")
+ call append(1,"--This line, and those below, will be ignored--")
+ 0
+ let b:svnOrigBuffNR=originalBuffer
+ endif
+endfunction
+
+" Function: s:SVNDiff(...) {{{2
+function! s:SVNDiff(...)
+ if a:0 == 1
+ let revOptions = '-r' . a:1
+ let caption = 'svndiff ' . a:1 . ' -> current'
+ elseif a:0 == 2
+ let revOptions = '-r' . a:1 . ' -r' . a:2
+ let caption = 'svndiff ' . a:1 . ' -> ' . a:2
+ else
+ let revOptions = ''
+ let caption = 'svndiff'
+ endif
+
+ let svndiffopt=s:SVNGetOption('SVNCommandDiffOpt', '')
+
+ if svndiffopt == ""
+ let diffoptionstring=""
+ else
+ let diffoptionstring=" -" . svndiffopt . " "
+ endif
+
+ let resultBufferName = s:SVNDoCommand('svn diff ' . diffoptionstring . revOptions , caption)
+ if resultBufferName != ""
+ set filetype=diff
+ endif
+ return resultBufferName
+endfunction
+
+" Function: s:SVNFinishCommit(messageFile, targetDir, targetFile) {{{2
+function! s:SVNFinishCommit(messageFile, targetDir, targetFile)
+ if filereadable(a:messageFile)
+ let oldCwd=getcwd()
+ if strlen(a:targetDir) > 0
+ execute 'cd' escape(a:targetDir, ' ')
+ endif
+ let resultBufferName=s:SVNCreateCommandBuffer('0r!svn commit -F "' . a:messageFile . '" "'. a:targetFile . '"', 'svncommit', expand("%"))
+ execute 'cd' escape(oldCwd, ' ')
+ execute 'bw' escape(a:messageFile, ' *?\')
+ silent execute '!rm' a:messageFile
+ return resultBufferName
+ else
+ echo "Can't read message file; no commit is possible."
+ return ""
+ endif
+endfunction
+
+" Function: s:SVNLog() {{{2
+function! s:SVNLog()
+ let resultBufferName=s:SVNDoCommand('svn log', 'svnlog')
+ if resultBufferName != ""
+ set filetype=rcslog
+ endif
+ return resultBufferName
+endfunction
+
+" Function: s:SVNRevert() {{{2
+function! s:SVNRevert()
+ return s:SVNDoCommand('svn revert ', 'svnrevert')
+endfunction
+
+" Function: s:SVNReview(...) {{{2
+function! s:SVNReview(...)
+ if a:0 == 0
+ let versiontag="current"
+ let versionOption=""
+ else
+ let versiontag='r'.a:1
+ let versionOption=" -r " . a:1 . " "
+ endif
+
+ let origFileType=&filetype
+
+ let resultBufferName = s:SVNDoCommand('svn cat ' . versionOption, versiontag)
+
+ let &filetype=origFileType
+ return resultBufferName
+endfunction
+
+" Function: s:SVNStatus() {{{2
+function! s:SVNStatus()
+ return s:SVNDoCommand('svn status -v', 'svnstatus')
+endfunction
+
+" Function: s:SVNInfo() {{{2
+function! s:SVNInfo()
+ return s:SVNDoCommand('svn info', 'svninfo')
+endfunction
+
+" Function: s:SVNUpdate() {{{2
+function! s:SVNUpdate()
+ return s:SVNDoCommand('svn update', 'update')
+endfunction
+
+" Function: s:SVNVimDiff(...) {{{2
+function! s:SVNVimDiff(...)
+ let svnBufferCheck=s:SVNBufferCheck()
+ if svnBufferCheck == -1
+ echo "Original buffer no longer exists, aborting."
+ return ""
+ endif
+
+ " Establish split before leaving original buffer
+ let splitModifier="vertical"
+ if s:SVNGetOption('SVNCommandSplit', 'vertical') == 'horizontal'
+ let splitModifier = ''
+ endif
+
+ let originalBuffer=bufnr("%")
+
+ let isUsingSource=1
+
+ if(a:0 == 0)
+ let resultBufferName=s:SVNReview()
+ elseif(a:0 == 1)
+ let resultBufferName=s:SVNReview(a:1)
+ else
+ let isUsingSource=0
+ let resultBufferName=s:SVNReview(a:1)
+ set buftype=
+ w!
+ execute "au BufDelete" resultBufferName "call delete(\"".resultBufferName ."\") | au! BufDelete" resultBufferName
+ execute "buffer" originalBuffer
+ let originalBuffer=bufnr(resultBufferName)
+ let resultBufferName=s:SVNReview(a:2)
+ endif
+
+ if isUsingSource
+ " Provide for restoring state of original buffer
+ execute "au BufDelete" resultBufferName "call setbufvar(" b:svnOrigBuffNR ", \"&diff\", 0)"
+ execute "au BufDelete" resultBufferName "call setbufvar(" b:svnOrigBuffNR ", \"&foldcolumn\", 0)"
+ execute "au BufDelete" resultBufferName "au! BufDelete " escape(resultBufferName, ' *?\')
+ endif
+
+ execute "silent leftabove" splitModifier "diffsplit" escape(bufname(originalBuffer), ' *?\')
+ execute bufwinnr(originalBuffer) "wincmd w"
+ return resultBufferName
+endfunction
+
+" Section: Command definitions {{{1
+com! SVNAdd call s:SVNAdd()
+com! -nargs=? SVNAnnotate call s:SVNAnnotate(<f-args>)
+com! SVNCommit call s:SVNCommit()
+com! -nargs=* SVNDiff call s:SVNDiff(<f-args>)
+com! SVNLog call s:SVNLog()
+com! -nargs=? SVNRevert call s:SVNRevert(<f-args>)
+com! -nargs=? SVNReview call s:SVNReview(<f-args>)
+com! SVNStatus call s:SVNStatus()
+com! SVNInfo call s:SVNInfo()
+com! SVNUpdate call s:SVNUpdate()
+com! -nargs=* SVNVimDiff call s:SVNVimDiff(<f-args>)
+
+" Section: Plugin command mappings {{{1
+nnoremap <unique> <Plug>SVNAdd :SVNAdd<CR>
+nnoremap <unique> <Plug>SVNAnnotate :SVNAnnotate<CR>
+nnoremap <unique> <Plug>SVNCommit :SVNCommit<CR>
+nnoremap <unique> <Plug>SVNDiff :SVNDiff<CR>
+nnoremap <unique> <Plug>SVNLog :SVNLog<CR>
+nnoremap <unique> <Plug>SVNRevert :SVNRevert<CR>
+nnoremap <unique> <Plug>SVNReview :SVNReview<CR>
+nnoremap <unique> <Plug>SVNStatus :SVNStatus<CR>
+nnoremap <unique> <Plug>SVNInfo :SVNInfo<CR>
+nnoremap <unique> <Plug>SVNUpdate :SVNUpdate<CR>
+nnoremap <unique> <Plug>SVNVimDiff :SVNVimDiff<CR>
+
+" Section: Default mappings {{{1
+if !hasmapto('<Plug>SVNAdd')
+ nmap <unique> <Leader>sa <Plug>SVNAdd
+endif
+if !hasmapto('<Plug>SVNAnnotate')
+ nmap <unique> <Leader>sn <Plug>SVNAnnotate
+endif
+if !hasmapto('<Plug>SVNCommit')
+ nmap <unique> <Leader>sc <Plug>SVNCommit
+endif
+if !hasmapto('<Plug>SVNDiff')
+ nmap <unique> <Leader>sd <Plug>SVNDiff
+endif
+if !hasmapto('<Plug>SVNLog')
+ nmap <unique> <Leader>sl <Plug>SVNLog
+endif
+if !hasmapto('<Plug>SVNRevert')
+ nmap <unique> <Leader>sq <Plug>SVNRevert
+endif
+if !hasmapto('<Plug>SVNReview')
+ nmap <unique> <Leader>sr <Plug>SVNReview
+endif
+if !hasmapto('<Plug>SVNStatus')
+ nmap <unique> <Leader>ss <Plug>SVNStatus
+endif
+if !hasmapto('<Plug>SVNInfo')
+ nmap <unique> <Leader>si <Plug>SVNInfo
+endif
+if !hasmapto('<Plug>SVNUpdate')
+ nmap <unique> <Leader>su <Plug>SVNUpdate
+endif
+if !hasmapto('<Plug>SVNVimDiff')
+ nmap <unique> <Leader>sv <Plug>SVNVimDiff
+endif
+
+" Section: Menu items {{{1
+amenu <silent> &Plugin.SVN.&Add <Plug>SVNAdd
+amenu <silent> &Plugin.SVN.A&nnotate <Plug>SVNAnnotate
+amenu <silent> &Plugin.SVN.&Commit <Plug>SVNCommit
+amenu <silent> &Plugin.SVN.&Diff <Plug>SVNDiff
+amenu <silent> &Plugin.SVN.&Log <Plug>SVNLog
+amenu <silent> &Plugin.SVN.Revert <Plug>SVNRevert
+amenu <silent> &Plugin.SVN.&Review <Plug>SVNReview
+amenu <silent> &Plugin.SVN.&Status <Plug>SVNStatus
+amenu <silent> &Plugin.SVN.&Info <Plug>SVNInfo
+amenu <silent> &Plugin.SVN.&Update <Plug>SVNUpdate
+amenu <silent> &Plugin.SVN.&VimDiff <Plug>SVNVimDiff