Mercurial > public > mercurial-scm > hg
annotate contrib/vim/hgcommand.vim @ 4531:b51a8138292a
Avoid extra filelogs entries.
Right now, there are some situations in which localrepo.filecommit can
create filelog entries even though they're not needed. For example:
- permissions for a file have changed;
- qrefresh can create a filelog entry identical to its parent (see the
added test);
- convert-repo creates extra filelog entries in every merge where the
first parent has added files (for example, changeset ebebe9577a1a of
the kernel repo added extra filelog entries to files in the
arch/blackfin directory, even though the merge should only touch the
drivers/ata directory). This makes "hg log file" in a converted repo
less useful than it could be, since it may mention many merges that
don't actually touch that specific file.
They all come from the same basic problem: localrepo.commit (through
filecommit) creates new filelog entries for all files passed to it
(except for some cases during a merge).
Patch and test case provided by Benoit.
This should fix issue351.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sat, 09 Jun 2007 01:04:28 -0300 |
parents | 04d44c3d64f7 |
children | 75ce89ed3b6e |
rev | line source |
---|---|
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1 " vim600: set foldmethod=marker: |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
2 " |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
3 " Vim plugin to assist in working with HG-controlled files. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
4 " |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
5 " Last Change: 2006/02/22 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
6 " Version: 1.77 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
7 " Maintainer: Mathieu Clabaut <mathieu.clabaut@gmail.com> |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
8 " License: This file is placed in the public domain. |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
9 " Credits: |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
10 " Bob Hiestand <bob.hiestand@gmail.com> for the fabulous |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
11 " cvscommand.vim from which this script was directly created by |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
12 " means of sed commands and minor tweaks. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
13 |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
14 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
15 " |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
16 " Section: Documentation |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
17 "---------------------------- |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
18 " |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
19 " Documentation should be available by ":help hgcommand" command, once the |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
20 " script has been copied in you .vim/plugin directory. |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
21 " |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
22 " You still can read the documentation at the end of this file. Locate it by |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
23 " searching the "hgcommand-contents" string (and set ft=help to have |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
24 " appropriate syntaxic coloration). |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
25 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
26 " Section: Plugin header {{{1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
27 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
28 " loaded_hgcommand is set to 1 when the initialization begins, and 2 when it |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
29 " completes. This allows various actions to only be taken by functions after |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
30 " system initialization. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
31 |
3546
04d44c3d64f7
hgcommand.vim: doc install delete into "black hole", g: prefix global vars.
Christian Ebert <blacktrash@gmx.net>
parents:
3542
diff
changeset
|
32 if exists("g:loaded_hgcommand") |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
33 finish |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
34 endif |
3546
04d44c3d64f7
hgcommand.vim: doc install delete into "black hole", g: prefix global vars.
Christian Ebert <blacktrash@gmx.net>
parents:
3542
diff
changeset
|
35 let g:loaded_hgcommand = 1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
36 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
37 " store 'compatible' settings |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
38 let s:save_cpo = &cpo |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
39 set cpo&vim |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
40 |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
41 " run checks |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
42 let s:script_name = expand("<sfile>:t:r") |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
43 |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
44 function! s:HGCleanupOnFailure(err) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
45 echohl WarningMsg |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
46 echomsg s:script_name . ":" a:err "Plugin not loaded" |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
47 echohl None |
3546
04d44c3d64f7
hgcommand.vim: doc install delete into "black hole", g: prefix global vars.
Christian Ebert <blacktrash@gmx.net>
parents:
3542
diff
changeset
|
48 let g:loaded_hgcommand = "no" |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
49 unlet s:save_cpo s:script_name |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
50 endfunction |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
51 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
52 if v:version < 602 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
53 call <SID>HGCleanupOnFailure("VIM 6.2 or later required.") |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
54 finish |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
55 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
56 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
57 if !exists("*system") |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
58 call <SID>HGCleanupOnFailure("builtin system() function required.") |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
59 finish |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
60 endif |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
61 |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
62 let s:script_version = "v0.2" |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
63 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
64 " Section: Event group setup {{{1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
65 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
66 augroup HGCommand |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
67 augroup END |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
68 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
69 " Section: Plugin initialization {{{1 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
70 silent do HGCommand User HGPluginInit |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
71 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
72 " Section: Script variable initialization {{{1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
73 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
74 let s:HGCommandEditFileRunning = 0 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
75 unlet! s:vimDiffRestoreCmd |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
76 unlet! s:vimDiffSourceBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
77 unlet! s:vimDiffBufferCount |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
78 unlet! s:vimDiffScratchList |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
79 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
80 " Section: Utility functions {{{1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
81 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
82 " Function: s:HGResolveLink() {{{2 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
83 " Fully resolve the given file name to remove shortcuts or symbolic links. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
84 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
85 function! s:HGResolveLink(fileName) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
86 let resolved = resolve(a:fileName) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
87 if resolved != a:fileName |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
88 let resolved = <SID>HGResolveLink(resolved) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
89 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
90 return resolved |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
91 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
92 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
93 " Function: s:HGChangeToCurrentFileDir() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
94 " Go to the directory in which the current HG-controlled file is located. |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
95 " If this is a HG command buffer, first switch to the original file. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
96 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
97 function! s:HGChangeToCurrentFileDir(fileName) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
98 let oldCwd=getcwd() |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
99 let fileName=<SID>HGResolveLink(a:fileName) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
100 let newCwd=fnamemodify(fileName, ':h') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
101 if strlen(newCwd) > 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
102 execute 'cd' escape(newCwd, ' ') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
103 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
104 return oldCwd |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
105 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
106 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
107 " Function: <SID>HGGetOption(name, default) {{{2 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
108 " Grab a user-specified option to override the default provided. Options are |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
109 " searched in the window, buffer, then global spaces. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
110 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
111 function! s:HGGetOption(name, default) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
112 if exists("s:" . a:name . "Override") |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
113 execute "return s:".a:name."Override" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
114 elseif exists("w:" . a:name) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
115 execute "return w:".a:name |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
116 elseif exists("b:" . a:name) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
117 execute "return b:".a:name |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
118 elseif exists("g:" . a:name) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
119 execute "return g:".a:name |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
120 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
121 return a:default |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
122 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
123 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
124 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
125 " Function: s:HGEditFile(name, origBuffNR) {{{2 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
126 " Wrapper around the 'edit' command to provide some helpful error text if the |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
127 " current buffer can't be abandoned. If name is provided, it is used; |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
128 " otherwise, a nameless scratch buffer is used. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
129 " Returns: 0 if successful, -1 if an error occurs. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
130 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
131 function! s:HGEditFile(name, origBuffNR) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
132 "Name parameter will be pasted into expression. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
133 let name = escape(a:name, ' *?\') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
134 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
135 let editCommand = <SID>HGGetOption('HGCommandEdit', 'edit') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
136 if editCommand != 'edit' |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
137 if <SID>HGGetOption('HGCommandSplit', 'horizontal') == 'horizontal' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
138 if name == "" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
139 let editCommand = 'rightbelow new' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
140 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
141 let editCommand = 'rightbelow split ' . name |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
142 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
143 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
144 if name == "" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
145 let editCommand = 'vert rightbelow new' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
146 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
147 let editCommand = 'vert rightbelow split ' . name |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
148 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
149 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
150 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
151 if name == "" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
152 let editCommand = 'enew' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
153 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
154 let editCommand = 'edit ' . name |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
155 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
156 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
157 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
158 " Protect against useless buffer set-up |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
159 let s:HGCommandEditFileRunning = s:HGCommandEditFileRunning + 1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
160 try |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
161 execute editCommand |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
162 finally |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
163 let s:HGCommandEditFileRunning = s:HGCommandEditFileRunning - 1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
164 endtry |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
165 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
166 let b:HGOrigBuffNR=a:origBuffNR |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
167 let b:HGCommandEdit='split' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
168 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
169 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
170 " Function: s:HGCreateCommandBuffer(cmd, cmdName, statusText, filename) {{{2 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
171 " Creates a new scratch buffer and captures the output from execution of the |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
172 " given command. The name of the scratch buffer is returned. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
173 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
174 function! s:HGCreateCommandBuffer(cmd, cmdName, statusText, origBuffNR) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
175 let fileName=bufname(a:origBuffNR) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
176 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
177 let resultBufferName='' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
178 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
179 if <SID>HGGetOption("HGCommandNameResultBuffers", 0) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
180 let nameMarker = <SID>HGGetOption("HGCommandNameMarker", '_') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
181 if strlen(a:statusText) > 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
182 let bufName=a:cmdName . ' -- ' . a:statusText |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
183 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
184 let bufName=a:cmdName |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
185 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
186 let bufName=fileName . ' ' . nameMarker . bufName . nameMarker |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
187 let counter=0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
188 let resultBufferName = bufName |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
189 while buflisted(resultBufferName) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
190 let counter=counter + 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
191 let resultBufferName=bufName . ' (' . counter . ')' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
192 endwhile |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
193 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
194 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
195 let hgCommand = <SID>HGGetOption("HGCommandHGExec", "hg") . " " . a:cmd |
2634
105708ba518f
Test if file is below an HG root before doing anything
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2607
diff
changeset
|
196 "echomsg "DBG :".hgCommand |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
197 let hgOut = system(hgCommand) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
198 " HACK: diff command does not return proper error codes |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
199 if v:shell_error && a:cmdName != 'hgdiff' |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
200 if strlen(hgOut) == 0 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
201 echoerr "HG command failed" |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
202 else |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
203 echoerr "HG command failed: " . hgOut |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
204 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
205 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
206 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
207 if strlen(hgOut) == 0 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
208 " Handle case of no output. In this case, it is important to check the |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
209 " file status, especially since hg edit/unedit may change the attributes |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
210 " of the file with no visible output. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
211 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
212 echomsg "No output from HG command" |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
213 checktime |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
214 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
215 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
216 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
217 if <SID>HGEditFile(resultBufferName, a:origBuffNR) == -1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
218 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
219 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
220 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
221 set buftype=nofile |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
222 set noswapfile |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
223 set filetype= |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
224 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
225 if <SID>HGGetOption("HGCommandDeleteOnHide", 0) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
226 set bufhidden=delete |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
227 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
228 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
229 silent 0put=hgOut |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
230 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
231 " The last command left a blank line at the end of the buffer. If the |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
232 " last line is folded (a side effect of the 'put') then the attempt to |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
233 " remove the blank line will kill the last fold. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
234 " |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
235 " This could be fixed by explicitly detecting whether the last line is |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
236 " within a fold, but I prefer to simply unfold the result buffer altogether. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
237 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
238 if has("folding") |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
239 setlocal nofoldenable |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
240 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
241 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
242 $d |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
243 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
244 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
245 " Define the environment and execute user-defined hooks. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
246 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
247 let b:HGSourceFile=fileName |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
248 let b:HGCommand=a:cmdName |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
249 if a:statusText != "" |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
250 let b:HGStatusText=a:statusText |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
251 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
252 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
253 silent do HGCommand User HGBufferCreated |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
254 return bufnr("%") |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
255 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
256 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
257 " Function: s:HGBufferCheck(hgBuffer) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
258 " Attempts to locate the original file to which HG operations were applied |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
259 " for a given buffer. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
260 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
261 function! s:HGBufferCheck(hgBuffer) |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
262 let origBuffer = getbufvar(a:hgBuffer, "HGOrigBuffNR") |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
263 if origBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
264 if bufexists(origBuffer) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
265 return origBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
266 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
267 " Original buffer no longer exists. |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
268 return -1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
269 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
270 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
271 " No original buffer |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
272 return a:hgBuffer |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
273 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
274 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
275 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
276 " Function: s:HGCurrentBufferCheck() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
277 " Attempts to locate the original file to which HG operations were applied |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
278 " for the current buffer. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
279 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
280 function! s:HGCurrentBufferCheck() |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
281 return <SID>HGBufferCheck(bufnr("%")) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
282 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
283 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
284 " Function: s:HGToggleDeleteOnHide() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
285 " Toggles on and off the delete-on-hide behavior of HG buffers |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
286 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
287 function! s:HGToggleDeleteOnHide() |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
288 if exists("g:HGCommandDeleteOnHide") |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
289 unlet g:HGCommandDeleteOnHide |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
290 else |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
291 let g:HGCommandDeleteOnHide=1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
292 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
293 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
294 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
295 " Function: s:HGDoCommand(hgcmd, cmdName, statusText) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
296 " General skeleton for HG function execution. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
297 " Returns: name of the new command buffer containing the command results |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
298 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
299 function! s:HGDoCommand(cmd, cmdName, statusText) |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
300 let hgBufferCheck=<SID>HGCurrentBufferCheck() |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
301 if hgBufferCheck == -1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
302 echo "Original buffer no longer exists, aborting." |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
303 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
304 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
305 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
306 let fileName=bufname(hgBufferCheck) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
307 if isdirectory(fileName) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
308 let fileName=fileName . "/" . getline(".") |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
309 endif |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
310 let realFileName = fnamemodify(<SID>HGResolveLink(fileName), ':t') |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
311 let oldCwd=<SID>HGChangeToCurrentFileDir(fileName) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
312 try |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
313 " TODO |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
314 "if !filereadable('HG/Root') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
315 "throw fileName . ' is not a HG-controlled file.' |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
316 "endif |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
317 let fullCmd = a:cmd . ' "' . realFileName . '"' |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
318 "echomsg "DEBUG".fullCmd |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
319 let resultBuffer=<SID>HGCreateCommandBuffer(fullCmd, a:cmdName, a:statusText, hgBufferCheck) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
320 return resultBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
321 catch |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
322 echoerr v:exception |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
323 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
324 finally |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
325 execute 'cd' escape(oldCwd, ' ') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
326 endtry |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
327 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
328 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
329 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
330 " Function: s:HGGetStatusVars(revision, branch, repository) {{{2 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
331 " |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
332 " Obtains a HG revision number and branch name. The 'revisionVar', |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
333 " 'branchVar'and 'repositoryVar' arguments, if non-empty, contain the names of variables to hold |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
334 " the corresponding results. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
335 " |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
336 " Returns: string to be exec'd that sets the multiple return values. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
337 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
338 function! s:HGGetStatusVars(revisionVar, branchVar, repositoryVar) |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
339 let hgBufferCheck=<SID>HGCurrentBufferCheck() |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
340 "echomsg "DBG : in HGGetStatusVars" |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
341 if hgBufferCheck == -1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
342 return "" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
343 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
344 let fileName=bufname(hgBufferCheck) |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
345 let fileNameWithoutLink=<SID>HGResolveLink(fileName) |
2634
105708ba518f
Test if file is below an HG root before doing anything
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2607
diff
changeset
|
346 let realFileName = fnamemodify(fileNameWithoutLink, ':t') |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
347 let oldCwd=<SID>HGChangeToCurrentFileDir(realFileName) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
348 try |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
349 let hgCommand = <SID>HGGetOption("HGCommandHGExec", "hg") . " root " |
2634
105708ba518f
Test if file is below an HG root before doing anything
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2607
diff
changeset
|
350 let roottext=system(hgCommand) |
105708ba518f
Test if file is below an HG root before doing anything
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2607
diff
changeset
|
351 " Suppress ending null char ! Does it work in window ? |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
352 let roottext=substitute(roottext,'^.*/\([^/\n\r]*\)\n\_.*$','\1','') |
2634
105708ba518f
Test if file is below an HG root before doing anything
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2607
diff
changeset
|
353 if match(getcwd()."/".fileNameWithoutLink, roottext) == -1 |
105708ba518f
Test if file is below an HG root before doing anything
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2607
diff
changeset
|
354 return "" |
105708ba518f
Test if file is below an HG root before doing anything
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2607
diff
changeset
|
355 endif |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
356 let returnExpression = "" |
2637
fcfd46c4a27a
HGcommand.vim : the status was read for the wrong file as we changed the current directory before
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2636
diff
changeset
|
357 if a:repositoryVar != "" |
fcfd46c4a27a
HGcommand.vim : the status was read for the wrong file as we changed the current directory before
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2636
diff
changeset
|
358 let returnExpression=returnExpression . " | let " . a:repositoryVar . "='" . roottext . "'" |
fcfd46c4a27a
HGcommand.vim : the status was read for the wrong file as we changed the current directory before
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2636
diff
changeset
|
359 endif |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
360 let hgCommand = <SID>HGGetOption("HGCommandHGExec", "hg") . " status -mardui " . realFileName |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
361 let statustext=system(hgCommand) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
362 if(v:shell_error) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
363 return "" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
364 endif |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
365 if match(statustext, '^[?I]') >= 0 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
366 let revision="NEW" |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
367 elseif match(statustext, '^[R]') >= 0 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
368 let revision="REMOVED" |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
369 elseif match(statustext, '^[D]') >= 0 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
370 let revision="DELETED" |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
371 elseif match(statustext, '^[A]') >= 0 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
372 let revision="ADDED" |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
373 else |
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
374 " The file is tracked, we can try to get is revision number |
3542
bf48ca46139b
hgcommand.vim: remove deprecated -b option from hg parents.
Christian Ebert <blacktrash@gmx.net>
parents:
2759
diff
changeset
|
375 let hgCommand = <SID>HGGetOption("HGCommandHGExec", "hg") . " parents " |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
376 let statustext=system(hgCommand) |
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
377 if(v:shell_error) |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
378 return "" |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
379 endif |
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
380 let revision=substitute(statustext, '^changeset:\s*\(\d\+\):.*\_$\_.*$', '\1', "") |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
381 |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
382 if a:branchVar != "" && match(statustext, '^\_.*\_^branch:') >= 0 |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
383 let branch=substitute(statustext, '^\_.*\_^branch:\s*\(\S\+\)\n\_.*$', '\1', "") |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
384 let returnExpression=returnExpression . " | let " . a:branchVar . "='" . branch . "'" |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
385 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
386 endif |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
387 if (exists('revision')) |
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
388 let returnExpression = "let " . a:revisionVar . "='" . revision . "' " . returnExpression |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
389 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
390 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
391 return returnExpression |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
392 finally |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
393 execute 'cd' escape(oldCwd, ' ') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
394 endtry |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
395 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
396 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
397 " Function: s:HGSetupBuffer() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
398 " Attempts to set the b:HGBranch, b:HGRevision and b:HGRepository variables. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
399 |
2607
070736e20dfd
HGcommand.vim : HGCommandEnableBufferSetup on by default
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2606
diff
changeset
|
400 function! s:HGSetupBuffer(...) |
070736e20dfd
HGcommand.vim : HGCommandEnableBufferSetup on by default
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2606
diff
changeset
|
401 if (exists("b:HGBufferSetup") && b:HGBufferSetup && !exists('a:1')) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
402 " This buffer is already set up. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
403 return |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
404 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
405 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
406 if !<SID>HGGetOption("HGCommandEnableBufferSetup", 0) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
407 \ || @% == "" |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
408 \ || s:HGCommandEditFileRunning > 0 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
409 \ || exists("b:HGOrigBuffNR") |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
410 unlet! b:HGRevision |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
411 unlet! b:HGBranch |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
412 unlet! b:HGRepository |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
413 return |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
414 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
415 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
416 if !filereadable(expand("%")) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
417 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
418 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
419 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
420 let revision="" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
421 let branch="" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
422 let repository="" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
423 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
424 exec <SID>HGGetStatusVars('revision', 'branch', 'repository') |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
425 "echomsg "DBG ".revision."#".branch."#".repository |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
426 if revision != "" |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
427 let b:HGRevision=revision |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
428 else |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
429 unlet! b:HGRevision |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
430 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
431 if branch != "" |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
432 let b:HGBranch=branch |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
433 else |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
434 unlet! b:HGBranch |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
435 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
436 if repository != "" |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
437 let b:HGRepository=repository |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
438 else |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
439 unlet! b:HGRepository |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
440 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
441 silent do HGCommand User HGBufferSetup |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
442 let b:HGBufferSetup=1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
443 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
444 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
445 " Function: s:HGMarkOrigBufferForSetup(hgbuffer) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
446 " Resets the buffer setup state of the original buffer for a given HG buffer. |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
447 " Returns: The HG buffer number in a passthrough mode. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
448 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
449 function! s:HGMarkOrigBufferForSetup(hgBuffer) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
450 checktime |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
451 if a:hgBuffer != -1 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
452 let origBuffer = <SID>HGBufferCheck(a:hgBuffer) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
453 "This should never not work, but I'm paranoid |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
454 if origBuffer != a:hgBuffer |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
455 call setbufvar(origBuffer, "HGBufferSetup", 0) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
456 endif |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
457 else |
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
458 "We are presumably in the original buffer |
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
459 let b:HGBufferSetup = 0 |
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
460 "We do the setup now as now event will be triggered allowing it later. |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
461 call <SID>HGSetupBuffer() |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
462 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
463 return a:hgBuffer |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
464 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
465 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
466 " Function: s:HGOverrideOption(option, [value]) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
467 " Provides a temporary override for the given HG option. If no value is |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
468 " passed, the override is disabled. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
469 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
470 function! s:HGOverrideOption(option, ...) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
471 if a:0 == 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
472 unlet! s:{a:option}Override |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
473 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
474 let s:{a:option}Override = a:1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
475 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
476 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
477 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
478 " Function: s:HGWipeoutCommandBuffers() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
479 " Clears all current HG buffers of the specified type for a given source. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
480 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
481 function! s:HGWipeoutCommandBuffers(originalBuffer, hgCommand) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
482 let buffer = 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
483 while buffer <= bufnr('$') |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
484 if getbufvar(buffer, 'HGOrigBuffNR') == a:originalBuffer |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
485 if getbufvar(buffer, 'HGCommand') == a:hgCommand |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
486 execute 'bw' buffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
487 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
488 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
489 let buffer = buffer + 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
490 endwhile |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
491 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
492 |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
493 " Function: s:HGInstallDocumentation(full_name, revision) {{{2 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
494 " Install help documentation. |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
495 " Arguments: |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
496 " full_name: Full name of this vim plugin script, including path name. |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
497 " revision: Revision of the vim script. #version# mark in the document file |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
498 " will be replaced with this string with 'v' prefix. |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
499 " Return: |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
500 " 1 if new document installed, 0 otherwise. |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
501 " Note: Cleaned and generalized by guo-peng Wen |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
502 "''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
503 " Helper function to make mkdir as portable as possible |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
504 function! s:HGFlexiMkdir(dir) |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
505 if exists("*mkdir") " we can use Vim's own mkdir() |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
506 call mkdir(a:dir) |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
507 elseif !exists("+shellslash") |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
508 call system("mkdir -p '".a:dir."'") |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
509 else " M$ |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
510 let l:ssl = &shellslash |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
511 try |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
512 set shellslash |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
513 " no single quotes? |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
514 call system('mkdir "'.a:dir.'"') |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
515 finally |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
516 let &shellslash = l:ssl |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
517 endtry |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
518 endif |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
519 endfunction |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
520 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
521 function! s:HGInstallDocumentation(full_name) |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
522 " Figure out document path based on full name of this script: |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
523 let l:vim_doc_path = fnamemodify(a:full_name, ":h:h") . "/doc" |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
524 if filewritable(l:vim_doc_path) != 2 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
525 echomsg s:script_name . ": Trying to update docs at" l:vim_doc_path |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
526 silent! call <SID>HGFlexiMkdir(l:vim_doc_path) |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
527 if filewritable(l:vim_doc_path) != 2 |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
528 " Try first item in 'runtimepath': |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
529 let l:vim_doc_path = |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
530 \ substitute(&runtimepath, '^\([^,]*\).*', '\1/doc', 'e') |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
531 if filewritable(l:vim_doc_path) != 2 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
532 echomsg s:script_name . ": Trying to update docs at" l:vim_doc_path |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
533 silent! call <SID>HGFlexiMkdir(l:vim_doc_path) |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
534 if filewritable(l:vim_doc_path) != 2 |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
535 " Put a warning: |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
536 echomsg "Unable to open documentation directory" |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
537 echomsg " type `:help add-local-help' for more information." |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
538 return 0 |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
539 endif |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
540 endif |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
541 endif |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
542 endif |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
543 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
544 " Full name of documentation file: |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
545 let l:doc_file = |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
546 \ l:vim_doc_path . "/" . s:script_name . ".txt" |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
547 " Bail out if document file is still up to date: |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
548 if filereadable(l:doc_file) && |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
549 \ getftime(a:full_name) < getftime(l:doc_file) |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
550 return 0 |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
551 endif |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
552 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
553 " temporary global settings |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
554 let l:lz = &lazyredraw |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
555 let l:hls = &hlsearch |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
556 set lazyredraw nohlsearch |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
557 " Create a new buffer & read in the plugin file (me): |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
558 1 new |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
559 setlocal noswapfile modifiable nomodeline |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
560 if has("folding") |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
561 setlocal nofoldenable |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
562 endif |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
563 silent execute "read" escape(a:full_name, " ") |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
564 let l:doc_buf = bufnr("%") |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
565 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
566 1 |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
567 " Delete from first line to a line starts with |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
568 " === START_DOC |
3546
04d44c3d64f7
hgcommand.vim: doc install delete into "black hole", g: prefix global vars.
Christian Ebert <blacktrash@gmx.net>
parents:
3542
diff
changeset
|
569 silent 1,/^=\{3,}\s\+START_DOC\C/ delete _ |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
570 " Delete from a line starts with |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
571 " === END_DOC |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
572 " to the end of the documents: |
3546
04d44c3d64f7
hgcommand.vim: doc install delete into "black hole", g: prefix global vars.
Christian Ebert <blacktrash@gmx.net>
parents:
3542
diff
changeset
|
573 silent /^=\{3,}\s\+END_DOC\C/,$ delete _ |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
574 |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
575 " Add modeline for help doc: the modeline string is mangled intentionally |
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
576 " to avoid it be recognized by VIM: |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
577 call append(line("$"), "") |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
578 call append(line("$"), " v" . "im:tw=78:ts=8:ft=help:norl:") |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
579 |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
580 " Replace revision: |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
581 silent execute "normal :1s/#version#/" . s:script_version . "/\<CR>" |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
582 " Save the help document and wipe out buffer: |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
583 silent execute "wq!" escape(l:doc_file, " ") "| bw" l:doc_buf |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
584 " Build help tags: |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
585 silent execute "helptags" l:vim_doc_path |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
586 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
587 let &hlsearch = l:hls |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
588 let &lazyredraw = l:lz |
2734
0b7206a65325
hgcommand.vim: cleanup of doc self-install code
Christian Ebert <blacktrash@gmx.net>
parents:
2638
diff
changeset
|
589 return 1 |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
590 endfunction |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
591 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
592 " Section: Public functions {{{1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
593 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
594 " Function: HGGetRevision() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
595 " Global function for retrieving the current buffer's HG revision number. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
596 " Returns: Revision number or an empty string if an error occurs. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
597 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
598 function! HGGetRevision() |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
599 let revision="" |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
600 exec <SID>HGGetStatusVars('revision', '', '') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
601 return revision |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
602 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
603 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
604 " Function: HGDisableBufferSetup() {{{2 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
605 " Global function for deactivating the buffer autovariables. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
606 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
607 function! HGDisableBufferSetup() |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
608 let g:HGCommandEnableBufferSetup=0 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
609 silent! augroup! HGCommandPlugin |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
610 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
611 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
612 " Function: HGEnableBufferSetup() {{{2 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
613 " Global function for activating the buffer autovariables. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
614 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
615 function! HGEnableBufferSetup() |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
616 let g:HGCommandEnableBufferSetup=1 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
617 augroup HGCommandPlugin |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
618 au! |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
619 au BufEnter * call <SID>HGSetupBuffer() |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
620 au BufWritePost * call <SID>HGSetupBuffer() |
2607
070736e20dfd
HGcommand.vim : HGCommandEnableBufferSetup on by default
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2606
diff
changeset
|
621 " Force resetting up buffer on external file change (HG update) |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
622 au FileChangedShell * call <SID>HGSetupBuffer(1) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
623 augroup END |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
624 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
625 " Only auto-load if the plugin is fully loaded. This gives other plugins a |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
626 " chance to run. |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
627 if g:loaded_hgcommand == 2 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
628 call <SID>HGSetupBuffer() |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
629 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
630 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
631 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
632 " Function: HGGetStatusLine() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
633 " Default (sample) status line entry for HG files. This is only useful if |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
634 " HG-managed buffer mode is on (see the HGCommandEnableBufferSetup variable |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
635 " for how to do this). |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
636 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
637 function! HGGetStatusLine() |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
638 if exists('b:HGSourceFile') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
639 " This is a result buffer |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
640 let value='[' . b:HGCommand . ' ' . b:HGSourceFile |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
641 if exists('b:HGStatusText') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
642 let value=value . ' ' . b:HGStatusText |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
643 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
644 let value = value . ']' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
645 return value |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
646 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
647 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
648 if exists('b:HGRevision') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
649 \ && b:HGRevision != '' |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
650 \ && exists('b:HGRepository') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
651 \ && b:HGRepository != '' |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
652 \ && exists('g:HGCommandEnableBufferSetup') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
653 \ && g:HGCommandEnableBufferSetup |
2606
5cef1a92aa04
HGcommand.vim : HGGetStatusLine accept to display an empty 'branch' value
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2605
diff
changeset
|
654 if !exists('b:HGBranch') |
5cef1a92aa04
HGcommand.vim : HGGetStatusLine accept to display an empty 'branch' value
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2605
diff
changeset
|
655 let l:branch='' |
5cef1a92aa04
HGcommand.vim : HGGetStatusLine accept to display an empty 'branch' value
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2605
diff
changeset
|
656 else |
5cef1a92aa04
HGcommand.vim : HGGetStatusLine accept to display an empty 'branch' value
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2605
diff
changeset
|
657 let l:branch=b:HGBranch |
5cef1a92aa04
HGcommand.vim : HGGetStatusLine accept to display an empty 'branch' value
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2605
diff
changeset
|
658 endif |
5cef1a92aa04
HGcommand.vim : HGGetStatusLine accept to display an empty 'branch' value
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2605
diff
changeset
|
659 return '[HG ' . b:HGRepository . '/' . l:branch .'/' . b:HGRevision . ']' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
660 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
661 return '' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
662 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
663 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
664 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
665 " Section: HG command functions {{{1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
666 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
667 " Function: s:HGAdd() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
668 function! s:HGAdd() |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
669 return <SID>HGMarkOrigBufferForSetup(<SID>HGDoCommand('add', 'hgadd', '')) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
670 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
671 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
672 " Function: s:HGAnnotate(...) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
673 function! s:HGAnnotate(...) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
674 if a:0 == 0 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
675 if &filetype == "HGAnnotate" |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
676 " This is a HGAnnotate buffer. Perform annotation of the version |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
677 " indicated by the current line. |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
678 let revision = substitute(getline("."),'\(^[0-9]*\):.*','\1','') |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
679 if <SID>HGGetOption('HGCommandAnnotateParent', 0) != 0 && revision > 0 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
680 let revision = revision - 1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
681 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
682 else |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
683 let revision=HGGetRevision() |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
684 if revision == "" |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
685 echoerr "Unable to obtain HG version information." |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
686 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
687 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
688 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
689 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
690 let revision=a:1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
691 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
692 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
693 if revision == "NEW" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
694 echo "No annotatation available for new file." |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
695 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
696 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
697 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
698 let resultBuffer=<SID>HGDoCommand('annotate -ndu -r ' . revision, 'hgannotate', revision) |
2634
105708ba518f
Test if file is below an HG root before doing anything
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2607
diff
changeset
|
699 "echomsg "DBG: ".resultBuffer |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
700 if resultBuffer != -1 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
701 set filetype=HGAnnotate |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
702 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
703 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
704 return resultBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
705 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
706 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
707 " Function: s:HGCommit() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
708 function! s:HGCommit(...) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
709 " Handle the commit message being specified. If a message is supplied, it |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
710 " is used; if bang is supplied, an empty message is used; otherwise, the |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
711 " user is provided a buffer from which to edit the commit message. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
712 if a:2 != "" || a:1 == "!" |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
713 return <SID>HGMarkOrigBufferForSetup(<SID>HGDoCommand('commit -m "' . a:2 . '"', 'hgcommit', '')) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
714 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
715 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
716 let hgBufferCheck=<SID>HGCurrentBufferCheck() |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
717 if hgBufferCheck == -1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
718 echo "Original buffer no longer exists, aborting." |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
719 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
720 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
721 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
722 " Protect against windows' backslashes in paths. They confuse exec'd |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
723 " commands. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
724 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
725 let shellSlashBak = &shellslash |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
726 try |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
727 set shellslash |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
728 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
729 let messageFileName = tempname() |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
730 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
731 let fileName=bufname(hgBufferCheck) |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
732 let realFilePath=<SID>HGResolveLink(fileName) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
733 let newCwd=fnamemodify(realFilePath, ':h') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
734 if strlen(newCwd) == 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
735 " Account for autochdir being in effect, which will make this blank, but |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
736 " we know we'll be in the current directory for the original file. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
737 let newCwd = getcwd() |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
738 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
739 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
740 let realFileName=fnamemodify(realFilePath, ':t') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
741 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
742 if <SID>HGEditFile(messageFileName, hgBufferCheck) == -1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
743 return |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
744 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
745 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
746 " Protect against case and backslash issues in Windows. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
747 let autoPattern = '\c' . messageFileName |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
748 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
749 " Ensure existance of group |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
750 augroup HGCommit |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
751 augroup END |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
752 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
753 execute 'au HGCommit BufDelete' autoPattern 'call delete("' . messageFileName . '")' |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
754 execute 'au HGCommit BufDelete' autoPattern 'au! HGCommit * ' autoPattern |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
755 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
756 " Create a commit mapping. The mapping must clear all autocommands in case |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
757 " it is invoked when HGCommandCommitOnWrite is active, as well as to not |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
758 " invoke the buffer deletion autocommand. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
759 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
760 execute 'nnoremap <silent> <buffer> <Plug>HGCommit '. |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
761 \ ':au! HGCommit * ' . autoPattern . '<CR>'. |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
762 \ ':g/^HG:/d<CR>'. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
763 \ ':update<CR>'. |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
764 \ ':call <SID>HGFinishCommit("' . messageFileName . '",' . |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
765 \ '"' . newCwd . '",' . |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
766 \ '"' . realFileName . '",' . |
2636
733fff9b23f7
Do not try to get revision and branch information for file which are not tracked
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2635
diff
changeset
|
767 \ hgBufferCheck . ')<CR>' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
768 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
769 silent 0put ='HG: ----------------------------------------------------------------------' |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
770 silent put =\"HG: Enter Log. Lines beginning with `HG:' are removed automatically\" |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
771 silent put ='HG: Type <leader>cc (or your own <Plug>HGCommit mapping)' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
772 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
773 if <SID>HGGetOption('HGCommandCommitOnWrite', 1) == 1 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
774 execute 'au HGCommit BufWritePre' autoPattern 'g/^HG:/d' |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
775 execute 'au HGCommit BufWritePost' autoPattern 'call <SID>HGFinishCommit("' . messageFileName . '", "' . newCwd . '", "' . realFileName . '", ' . hgBufferCheck . ') | au! * ' autoPattern |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
776 silent put ='HG: or write this buffer' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
777 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
778 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
779 silent put ='HG: to finish this commit operation' |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
780 silent put ='HG: ----------------------------------------------------------------------' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
781 $ |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
782 let b:HGSourceFile=fileName |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
783 let b:HGCommand='HGCommit' |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
784 set filetype=hg |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
785 finally |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
786 let &shellslash = shellSlashBak |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
787 endtry |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
788 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
789 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
790 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
791 " Function: s:HGDiff(...) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
792 function! s:HGDiff(...) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
793 if a:0 == 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
794 let revOptions = '-r' . a:1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
795 let caption = a:1 . ' -> current' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
796 elseif a:0 == 2 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
797 let revOptions = '-r' . a:1 . ' -r' . a:2 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
798 let caption = a:1 . ' -> ' . a:2 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
799 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
800 let revOptions = '' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
801 let caption = '' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
802 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
803 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
804 let hgdiffopt=<SID>HGGetOption('HGCommandDiffOpt', 'w') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
805 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
806 if hgdiffopt == "" |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
807 let diffoptionstring="" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
808 else |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
809 let diffoptionstring=" -" . hgdiffopt . " " |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
810 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
811 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
812 let resultBuffer = <SID>HGDoCommand('diff ' . diffoptionstring . revOptions , 'hgdiff', caption) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
813 if resultBuffer != -1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
814 set filetype=diff |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
815 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
816 return resultBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
817 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
818 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
819 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
820 " Function: s:HGGotoOriginal(["!]) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
821 function! s:HGGotoOriginal(...) |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
822 let origBuffNR = <SID>HGCurrentBufferCheck() |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
823 if origBuffNR > 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
824 let origWinNR = bufwinnr(origBuffNR) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
825 if origWinNR == -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
826 execute 'buffer' origBuffNR |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
827 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
828 execute origWinNR . 'wincmd w' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
829 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
830 if a:0 == 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
831 if a:1 == "!" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
832 let buffnr = 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
833 let buffmaxnr = bufnr("$") |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
834 while buffnr <= buffmaxnr |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
835 if getbufvar(buffnr, "HGOrigBuffNR") == origBuffNR |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
836 execute "bw" buffnr |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
837 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
838 let buffnr = buffnr + 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
839 endwhile |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
840 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
841 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
842 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
843 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
844 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
845 " Function: s:HGFinishCommit(messageFile, targetDir, targetFile) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
846 function! s:HGFinishCommit(messageFile, targetDir, targetFile, origBuffNR) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
847 if filereadable(a:messageFile) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
848 let oldCwd=getcwd() |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
849 if strlen(a:targetDir) > 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
850 execute 'cd' escape(a:targetDir, ' ') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
851 endif |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
852 let resultBuffer=<SID>HGCreateCommandBuffer('commit -l "' . a:messageFile . '" "'. a:targetFile . '"', 'hgcommit', '', a:origBuffNR) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
853 execute 'cd' escape(oldCwd, ' ') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
854 execute 'bw' escape(a:messageFile, ' *?\') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
855 silent execute 'call delete("' . a:messageFile . '")' |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
856 return <SID>HGMarkOrigBufferForSetup(resultBuffer) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
857 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
858 echoerr "Can't read message file; no commit is possible." |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
859 return -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
860 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
861 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
862 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
863 " Function: s:HGLog() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
864 function! s:HGLog(...) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
865 if a:0 == 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
866 let versionOption = "" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
867 let caption = '' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
868 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
869 let versionOption=" -r" . a:1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
870 let caption = a:1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
871 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
872 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
873 let resultBuffer=<SID>HGDoCommand('log' . versionOption, 'hglog', caption) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
874 if resultBuffer != "" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
875 set filetype=rcslog |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
876 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
877 return resultBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
878 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
879 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
880 " Function: s:HGRevert() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
881 function! s:HGRevert() |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
882 return <SID>HGMarkOrigBufferForSetup(<SID>HGDoCommand('revert', 'hgrevert', '')) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
883 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
884 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
885 " Function: s:HGReview(...) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
886 function! s:HGReview(...) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
887 if a:0 == 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
888 let versiontag="" |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
889 if <SID>HGGetOption('HGCommandInteractive', 0) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
890 let versiontag=input('Revision: ') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
891 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
892 if versiontag == "" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
893 let versiontag="(current)" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
894 let versionOption="" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
895 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
896 let versionOption=" -r " . versiontag . " " |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
897 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
898 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
899 let versiontag=a:1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
900 let versionOption=" -r " . versiontag . " " |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
901 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
902 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
903 let resultBuffer = <SID>HGDoCommand('cat' . versionOption, 'hgreview', versiontag) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
904 if resultBuffer > 0 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
905 let &filetype=getbufvar(b:HGOrigBuffNR, '&filetype') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
906 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
907 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
908 return resultBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
909 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
910 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
911 " Function: s:HGStatus() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
912 function! s:HGStatus() |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
913 return <SID>HGDoCommand('status', 'hgstatus', '') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
914 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
915 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
916 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
917 " Function: s:HGUpdate() {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
918 function! s:HGUpdate() |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
919 return <SID>HGMarkOrigBufferForSetup(<SID>HGDoCommand('update', 'update', '')) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
920 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
921 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
922 " Function: s:HGVimDiff(...) {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
923 function! s:HGVimDiff(...) |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
924 let originalBuffer = <SID>HGCurrentBufferCheck() |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
925 let s:HGCommandEditFileRunning = s:HGCommandEditFileRunning + 1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
926 try |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
927 " If there's already a VimDiff'ed window, restore it. |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
928 " There may only be one HGVimDiff original window at a time. |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
929 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
930 if exists("s:vimDiffSourceBuffer") && s:vimDiffSourceBuffer != originalBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
931 " Clear the existing vimdiff setup by removing the result buffers. |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
932 call <SID>HGWipeoutCommandBuffers(s:vimDiffSourceBuffer, 'vimdiff') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
933 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
934 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
935 " Split and diff |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
936 if(a:0 == 2) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
937 " Reset the vimdiff system, as 2 explicit versions were provided. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
938 if exists('s:vimDiffSourceBuffer') |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
939 call <SID>HGWipeoutCommandBuffers(s:vimDiffSourceBuffer, 'vimdiff') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
940 endif |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
941 let resultBuffer = <SID>HGReview(a:1) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
942 if resultBuffer < 0 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
943 echomsg "Can't open HG revision " . a:1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
944 return resultBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
945 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
946 let b:HGCommand = 'vimdiff' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
947 diffthis |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
948 let s:vimDiffBufferCount = 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
949 let s:vimDiffScratchList = '{'. resultBuffer . '}' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
950 " If no split method is defined, cheat, and set it to vertical. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
951 try |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
952 call <SID>HGOverrideOption('HGCommandSplit', <SID>HGGetOption('HGCommandDiffSplit', <SID>HGGetOption('HGCommandSplit', 'vertical'))) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
953 let resultBuffer=<SID>HGReview(a:2) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
954 finally |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
955 call <SID>HGOverrideOption('HGCommandSplit') |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
956 endtry |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
957 if resultBuffer < 0 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
958 echomsg "Can't open HG revision " . a:1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
959 return resultBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
960 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
961 let b:HGCommand = 'vimdiff' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
962 diffthis |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
963 let s:vimDiffBufferCount = 2 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
964 let s:vimDiffScratchList = s:vimDiffScratchList . '{'. resultBuffer . '}' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
965 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
966 " Add new buffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
967 try |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
968 " Force splitting behavior, otherwise why use vimdiff? |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
969 call <SID>HGOverrideOption("HGCommandEdit", "split") |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
970 call <SID>HGOverrideOption("HGCommandSplit", <SID>HGGetOption('HGCommandDiffSplit', <SID>HGGetOption('HGCommandSplit', 'vertical'))) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
971 if(a:0 == 0) |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
972 let resultBuffer=<SID>HGReview() |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
973 else |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
974 let resultBuffer=<SID>HGReview(a:1) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
975 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
976 finally |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
977 call <SID>HGOverrideOption("HGCommandEdit") |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
978 call <SID>HGOverrideOption("HGCommandSplit") |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
979 endtry |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
980 if resultBuffer < 0 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
981 echomsg "Can't open current HG revision" |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
982 return resultBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
983 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
984 let b:HGCommand = 'vimdiff' |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
985 diffthis |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
986 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
987 if !exists('s:vimDiffBufferCount') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
988 " New instance of vimdiff. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
989 let s:vimDiffBufferCount = 2 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
990 let s:vimDiffScratchList = '{' . resultBuffer . '}' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
991 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
992 " This could have been invoked on a HG result buffer, not the |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
993 " original buffer. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
994 wincmd W |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
995 execute 'buffer' originalBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
996 " Store info for later original buffer restore |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
997 let s:vimDiffRestoreCmd = |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
998 \ "call setbufvar(".originalBuffer.", \"&diff\", ".getbufvar(originalBuffer, '&diff').")" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
999 \ . "|call setbufvar(".originalBuffer.", \"&foldcolumn\", ".getbufvar(originalBuffer, '&foldcolumn').")" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1000 \ . "|call setbufvar(".originalBuffer.", \"&foldenable\", ".getbufvar(originalBuffer, '&foldenable').")" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1001 \ . "|call setbufvar(".originalBuffer.", \"&foldmethod\", '".getbufvar(originalBuffer, '&foldmethod')."')" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1002 \ . "|call setbufvar(".originalBuffer.", \"&scrollbind\", ".getbufvar(originalBuffer, '&scrollbind').")" |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1003 \ . "|call setbufvar(".originalBuffer.", \"&wrap\", ".getbufvar(originalBuffer, '&wrap').")" |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1004 \ . "|if &foldmethod=='manual'|execute 'normal! zE'|endif" |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1005 diffthis |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1006 wincmd w |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1007 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1008 " Adding a window to an existing vimdiff |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1009 let s:vimDiffBufferCount = s:vimDiffBufferCount + 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1010 let s:vimDiffScratchList = s:vimDiffScratchList . '{' . resultBuffer . '}' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1011 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1012 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1013 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1014 let s:vimDiffSourceBuffer = originalBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1015 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1016 " Avoid executing the modeline in the current buffer after the autocommand. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1017 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1018 let currentBuffer = bufnr('%') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1019 let saveModeline = getbufvar(currentBuffer, '&modeline') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1020 try |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1021 call setbufvar(currentBuffer, '&modeline', 0) |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1022 silent do HGCommand User HGVimDiffFinish |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1023 finally |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1024 call setbufvar(currentBuffer, '&modeline', saveModeline) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1025 endtry |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1026 return resultBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1027 finally |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1028 let s:HGCommandEditFileRunning = s:HGCommandEditFileRunning - 1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1029 endtry |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1030 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1031 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1032 " Section: Command definitions {{{1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1033 " Section: Primary commands {{{2 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1034 com! HGAdd call <SID>HGAdd() |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1035 com! -nargs=? HGAnnotate call <SID>HGAnnotate(<f-args>) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1036 com! -bang -nargs=? HGCommit call <SID>HGCommit(<q-bang>, <q-args>) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1037 com! -nargs=* HGDiff call <SID>HGDiff(<f-args>) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1038 com! -bang HGGotoOriginal call <SID>HGGotoOriginal(<q-bang>) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1039 com! -nargs=? HGLog call <SID>HGLog(<f-args>) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1040 com! HGRevert call <SID>HGRevert() |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1041 com! -nargs=? HGReview call <SID>HGReview(<f-args>) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1042 com! HGStatus call <SID>HGStatus() |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1043 com! HGUpdate call <SID>HGUpdate() |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1044 com! -nargs=* HGVimDiff call <SID>HGVimDiff(<f-args>) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1045 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1046 " Section: HG buffer management commands {{{2 |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1047 com! HGDisableBufferSetup call HGDisableBufferSetup() |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1048 com! HGEnableBufferSetup call HGEnableBufferSetup() |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1049 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1050 " Allow reloading hgcommand.vim |
3546
04d44c3d64f7
hgcommand.vim: doc install delete into "black hole", g: prefix global vars.
Christian Ebert <blacktrash@gmx.net>
parents:
3542
diff
changeset
|
1051 com! HGReload unlet! g:loaded_hgcommand | runtime plugin/hgcommand.vim |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1052 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1053 " Section: Plugin command mappings {{{1 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1054 nnoremap <silent> <Plug>HGAdd :HGAdd<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1055 nnoremap <silent> <Plug>HGAnnotate :HGAnnotate<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1056 nnoremap <silent> <Plug>HGCommit :HGCommit<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1057 nnoremap <silent> <Plug>HGDiff :HGDiff<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1058 nnoremap <silent> <Plug>HGGotoOriginal :HGGotoOriginal<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1059 nnoremap <silent> <Plug>HGClearAndGotoOriginal :HGGotoOriginal!<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1060 nnoremap <silent> <Plug>HGLog :HGLog<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1061 nnoremap <silent> <Plug>HGRevert :HGRevert<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1062 nnoremap <silent> <Plug>HGReview :HGReview<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1063 nnoremap <silent> <Plug>HGStatus :HGStatus<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1064 nnoremap <silent> <Plug>HGUpdate :HGUpdate<CR> |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1065 nnoremap <silent> <Plug>HGVimDiff :HGVimDiff<CR> |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1066 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1067 " Section: Default mappings {{{1 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1068 if !hasmapto('<Plug>HGAdd') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1069 nmap <unique> <Leader>hga <Plug>HGAdd |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1070 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1071 if !hasmapto('<Plug>HGAnnotate') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1072 nmap <unique> <Leader>hgn <Plug>HGAnnotate |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1073 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1074 if !hasmapto('<Plug>HGClearAndGotoOriginal') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1075 nmap <unique> <Leader>hgG <Plug>HGClearAndGotoOriginal |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1076 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1077 if !hasmapto('<Plug>HGCommit') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1078 nmap <unique> <Leader>hgc <Plug>HGCommit |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1079 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1080 if !hasmapto('<Plug>HGDiff') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1081 nmap <unique> <Leader>hgd <Plug>HGDiff |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1082 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1083 if !hasmapto('<Plug>HGGotoOriginal') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1084 nmap <unique> <Leader>hgg <Plug>HGGotoOriginal |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1085 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1086 if !hasmapto('<Plug>HGLog') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1087 nmap <unique> <Leader>hgl <Plug>HGLog |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1088 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1089 if !hasmapto('<Plug>HGRevert') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1090 nmap <unique> <Leader>hgq <Plug>HGRevert |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1091 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1092 if !hasmapto('<Plug>HGReview') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1093 nmap <unique> <Leader>hgr <Plug>HGReview |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1094 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1095 if !hasmapto('<Plug>HGStatus') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1096 nmap <unique> <Leader>hgs <Plug>HGStatus |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1097 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1098 if !hasmapto('<Plug>HGUpdate') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1099 nmap <unique> <Leader>hgu <Plug>HGUpdate |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1100 endif |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1101 if !hasmapto('<Plug>HGVimDiff') |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1102 nmap <unique> <Leader>hgv <Plug>HGVimDiff |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1103 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1104 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1105 " Section: Menu items {{{1 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1106 silent! aunmenu Plugin.HG |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1107 amenu <silent> &Plugin.HG.&Add <Plug>HGAdd |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1108 amenu <silent> &Plugin.HG.A&nnotate <Plug>HGAnnotate |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1109 amenu <silent> &Plugin.HG.&Commit <Plug>HGCommit |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1110 amenu <silent> &Plugin.HG.&Diff <Plug>HGDiff |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1111 amenu <silent> &Plugin.HG.&Log <Plug>HGLog |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1112 amenu <silent> &Plugin.HG.Revert <Plug>HGRevert |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1113 amenu <silent> &Plugin.HG.&Review <Plug>HGReview |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1114 amenu <silent> &Plugin.HG.&Status <Plug>HGStatus |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1115 amenu <silent> &Plugin.HG.&Update <Plug>HGUpdate |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1116 amenu <silent> &Plugin.HG.&VimDiff <Plug>HGVimDiff |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1117 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1118 " Section: Autocommands to restore vimdiff state {{{1 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1119 function! s:HGVimDiffRestore(vimDiffBuff) |
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1120 let s:HGCommandEditFileRunning = s:HGCommandEditFileRunning + 1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1121 try |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1122 if exists("s:vimDiffSourceBuffer") |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1123 if a:vimDiffBuff == s:vimDiffSourceBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1124 " Original file is being removed. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1125 unlet! s:vimDiffSourceBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1126 unlet! s:vimDiffBufferCount |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1127 unlet! s:vimDiffRestoreCmd |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1128 unlet! s:vimDiffScratchList |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1129 elseif match(s:vimDiffScratchList, '{' . a:vimDiffBuff . '}') >= 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1130 let s:vimDiffScratchList = substitute(s:vimDiffScratchList, '{' . a:vimDiffBuff . '}', '', '') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1131 let s:vimDiffBufferCount = s:vimDiffBufferCount - 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1132 if s:vimDiffBufferCount == 1 && exists('s:vimDiffRestoreCmd') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1133 " All scratch buffers are gone, reset the original. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1134 " Only restore if the source buffer is still in Diff mode |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1135 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1136 let sourceWinNR=bufwinnr(s:vimDiffSourceBuffer) |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1137 if sourceWinNR != -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1138 " The buffer is visible in at least one window |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1139 let currentWinNR = winnr() |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1140 while winbufnr(sourceWinNR) != -1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1141 if winbufnr(sourceWinNR) == s:vimDiffSourceBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1142 execute sourceWinNR . 'wincmd w' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1143 if getwinvar('', "&diff") |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1144 execute s:vimDiffRestoreCmd |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1145 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1146 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1147 let sourceWinNR = sourceWinNR + 1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1148 endwhile |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1149 execute currentWinNR . 'wincmd w' |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1150 else |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1151 " The buffer is hidden. It must be visible in order to set the |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1152 " diff option. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1153 let currentBufNR = bufnr('') |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1154 execute "hide buffer" s:vimDiffSourceBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1155 if getwinvar('', "&diff") |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1156 execute s:vimDiffRestoreCmd |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1157 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1158 execute "hide buffer" currentBufNR |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1159 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1160 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1161 unlet s:vimDiffRestoreCmd |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1162 unlet s:vimDiffSourceBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1163 unlet s:vimDiffBufferCount |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1164 unlet s:vimDiffScratchList |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1165 elseif s:vimDiffBufferCount == 0 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1166 " All buffers are gone. |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1167 unlet s:vimDiffSourceBuffer |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1168 unlet s:vimDiffBufferCount |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1169 unlet s:vimDiffScratchList |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1170 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1171 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1172 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1173 finally |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1174 let s:HGCommandEditFileRunning = s:HGCommandEditFileRunning - 1 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1175 endtry |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1176 endfunction |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1177 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1178 augroup HGVimDiffRestore |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1179 au! |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1180 au BufUnload * call <SID>HGVimDiffRestore(expand("<abuf>")) |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1181 augroup END |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1182 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1183 " Section: Optional activation of buffer management {{{1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1184 |
2607
070736e20dfd
HGcommand.vim : HGCommandEnableBufferSetup on by default
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2606
diff
changeset
|
1185 if s:HGGetOption('HGCommandEnableBufferSetup', 1) |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1186 call HGEnableBufferSetup() |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1187 endif |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1188 |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1189 " Section: Doc installation {{{1 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1190 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1191 if <SID>HGInstallDocumentation(expand("<sfile>:p")) |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1192 echomsg s:script_name s:script_version . ": updated documentation" |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1193 endif |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1194 |
2591
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1195 " Section: Plugin completion {{{1 |
61f2008cd6bf
Addition of CVScommand vim script as a base for HGcommand
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
diff
changeset
|
1196 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1197 " delete one-time vars and functions |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1198 delfunction <SID>HGInstallDocumentation |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1199 delfunction <SID>HGFlexiMkdir |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1200 delfunction <SID>HGCleanupOnFailure |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1201 unlet s:script_version s:script_name |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1202 |
3546
04d44c3d64f7
hgcommand.vim: doc install delete into "black hole", g: prefix global vars.
Christian Ebert <blacktrash@gmx.net>
parents:
3542
diff
changeset
|
1203 let g:loaded_hgcommand=2 |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1204 silent do HGCommand User HGPluginFinish |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1205 |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1206 let &cpo = s:save_cpo |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1207 unlet s:save_cpo |
2592
457846f400e8
Vim script: Adaptation from CVS to Mercurial
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2591
diff
changeset
|
1208 " vim:se expandtab sts=2 sw=2: |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1209 finish |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1210 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1211 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1212 " Section: Documentation content {{{1 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1213 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1214 === START_DOC |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1215 *hgcommand.txt* Mercurial vim integration #version# |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1216 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1217 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1218 HGCOMMAND REFERENCE MANUAL~ |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1219 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1220 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1221 Author: Mathieu Clabaut <mathieu.clabaut@gmail.com> |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1222 Credits: Bob Hiestand <bob.hiestand@gmail.com> |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1223 Mercurial: http://www.selenic.com/mercurial |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1224 Mercurial (noted Hg) is a fast, lightweight Source Control Management |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1225 system designed for efficient handling of very large distributed projects. |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1226 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1227 ============================================================================== |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1228 1. Contents *hgcommand-contents* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1229 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1230 Installation : |hgcommand-install| |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1231 HGCommand Intro : |hgcommand| |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1232 HGCommand Manual : |hgcommand-manual| |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1233 Customization : |hgcommand-customize| |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1234 Bugs : |hgcommand-bugs| |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1235 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1236 ============================================================================== |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1237 2. HGCommand Installation *hgcommand-install* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1238 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1239 In order to install the plugin, place the hgcommand.vim file into a plugin' |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1240 directory in your runtime path (please see |add-global-plugin| and |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1241 |'runtimepath'|. |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1242 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1243 HGCommand may be customized by setting variables, creating maps, and |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1244 specifying event handlers. Please see |hgcommand-customize| for more |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1245 details. |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1246 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1247 *hgcommand-auto-help* |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1248 The help file is automagically generated when the |hgcommand| script is |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1249 loaded for the first time. |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1250 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1251 ============================================================================== |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1252 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1253 3. HGCommand Intro *hgcommand* |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1254 *hgcommand-intro* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1255 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1256 The HGCommand plugin provides global ex commands for manipulating |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1257 HG-controlled source files. In general, each command operates on the |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1258 current buffer and accomplishes a separate hg function, such as update, |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1259 commit, log, and others (please see |hgcommand-commands| for a list of all |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1260 available commands). The results of each operation are displayed in a |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1261 scratch buffer. Several buffer variables are defined for those scratch |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1262 buffers (please see |hgcommand-buffer-variables|). |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1263 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1264 The notion of "current file" means either the current buffer, or, in the |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1265 case of a directory buffer, the file on the current line within the buffer. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1266 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1267 For convenience, any HGCommand invoked on a HGCommand scratch buffer acts |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1268 as though it was invoked on the original file and splits the screen so that |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1269 the output appears in a new window. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1270 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1271 Many of the commands accept revisions as arguments. By default, most |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1272 operate on the most recent revision on the current branch if no revision is |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1273 specified (though see |HGCommandInteractive| to prompt instead). |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1274 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1275 Each HGCommand is mapped to a key sequence starting with the <Leader> |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1276 keystroke. The default mappings may be overridden by supplying different |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1277 mappings before the plugin is loaded, such as in the vimrc, in the standard |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1278 fashion for plugin mappings. For examples, please see |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1279 |hgcommand-mappings-override|. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1280 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1281 The HGCommand plugin may be configured in several ways. For more details, |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1282 please see |hgcommand-customize|. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1283 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1284 ============================================================================== |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1285 4. HGCommand Manual *hgcommand-manual* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1286 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1287 4.1 HGCommand commands *hgcommand-commands* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1288 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1289 HGCommand defines the following commands: |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1290 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1291 |:HGAdd| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1292 |:HGAnnotate| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1293 |:HGCommit| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1294 |:HGDiff| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1295 |:HGGotoOriginal| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1296 |:HGLog| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1297 |:HGRevert| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1298 |:HGReview| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1299 |:HGStatus| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1300 |:HGUpdate| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1301 |:HGVimDiff| |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1302 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1303 :HGAdd *:HGAdd* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1304 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1305 This command performs "hg add" on the current file. Please note, this does |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1306 not commit the newly-added file. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1307 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1308 :HGAnnotate *:HGAnnotate* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1309 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1310 This command performs "hg annotate" on the current file. If an argument is |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1311 given, the argument is used as a revision number to display. If not given |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1312 an argument, it uses the most recent version of the file on the current |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1313 branch. Additionally, if the current buffer is a HGAnnotate buffer |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1314 already, the version number on the current line is used. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1315 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1316 If the |HGCommandAnnotateParent| variable is set to a non-zero value, the |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1317 version previous to the one on the current line is used instead. This |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1318 allows one to navigate back to examine the previous version of a line. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1319 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1320 The filetype of the HGCommand scratch buffer is set to 'HGAnnotate', to |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1321 take advantage of the bundled syntax file. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1322 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1323 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1324 :HGCommit[!] *:HGCommit* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1325 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1326 If called with arguments, this performs "hg commit" using the arguments as |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1327 the log message. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1328 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1329 If '!' is used with no arguments, an empty log message is committed. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1330 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1331 If called with no arguments, this is a two-step command. The first step |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1332 opens a buffer to accept a log message. When that buffer is written, it is |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1333 automatically closed and the file is committed using the information from |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1334 that log message. The commit can be abandoned if the log message buffer is |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1335 deleted or wiped before being written. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1336 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1337 Alternatively, the mapping that is used to invoke :HGCommit (by default |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1338 <Leader>hgc) can be used in the log message buffer to immediately commit. |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1339 This is useful if the |HGCommandCommitOnWrite| variable is set to 0 to |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1340 disable the normal commit-on-write behavior. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1341 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1342 :HGDiff *:HGDiff* |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1343 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1344 With no arguments, this performs "hg diff" on the current file against the |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1345 current repository version. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1346 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1347 With one argument, "hg diff" is performed on the current file against the |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1348 specified revision. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1349 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1350 With two arguments, hg diff is performed between the specified revisions of |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1351 the current file. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1352 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1353 This command uses the 'HGCommandDiffOpt' variable to specify diff options. |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1354 If that variable does not exist, then 'wbBc' is assumed. If you wish to |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1355 have no options, then set it to the empty string. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1356 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1357 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1358 :HGGotoOriginal *:HGGotoOriginal* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1359 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1360 This command returns the current window to the source buffer, if the |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1361 current buffer is a HG command output buffer. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1362 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1363 :HGGotoOriginal! |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1364 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1365 Like ":HGGotoOriginal" but also executes :bufwipeout on all HG command |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1366 output buffers for the source buffer. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1367 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1368 :HGLog *:HGLog* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1369 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1370 Performs "hg log" on the current file. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1371 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1372 If an argument is given, it is passed as an argument to the "-r" option of |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1373 "hg log". |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1374 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1375 :HGRevert *:HGRevert* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1376 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1377 Replaces the current file with the most recent version from the repository |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1378 in order to wipe out any undesired changes. |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1379 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1380 :HGReview *:HGReview* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1381 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1382 Retrieves a particular version of the current file. If no argument is |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1383 given, the most recent version of the file on the current branch is |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1384 retrieved. Otherwise, the specified version is retrieved. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1385 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1386 :HGStatus *:HGStatus* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1387 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1388 Performs "hg status" on the current file. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1389 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1390 :HGUpdate *:HGUpdate* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1391 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1392 Performs "hg update" on the current file. This intentionally does not |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1393 automatically reload the current buffer, though vim should prompt the user |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1394 to do so if the underlying file is altered by this command. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1395 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1396 :HGVimDiff *:HGVimDiff* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1397 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1398 With no arguments, this prompts the user for a revision and then uses |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1399 vimdiff to display the differences between the current file and the |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1400 specified revision. If no revision is specified, the most recent version |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1401 of the file on the current branch is used. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1402 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1403 With one argument, that argument is used as the revision as above. With |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1404 two arguments, the differences between the two revisions is displayed using |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1405 vimdiff. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1406 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1407 With either zero or one argument, the original buffer is used to perform |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1408 the vimdiff. When the other buffer is closed, the original buffer will be |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1409 returned to normal mode. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1410 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1411 Once vimdiff mode is started using the above methods, additional vimdiff |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1412 buffers may be added by passing a single version argument to the command. |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1413 There may be up to 4 vimdiff buffers total. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1414 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1415 Using the 2-argument form of the command resets the vimdiff to only those 2 |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1416 versions. Additionally, invoking the command on a different file will |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1417 close the previous vimdiff buffers. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1418 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1419 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1420 4.2 Mappings *hgcommand-mappings* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1421 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1422 By default, a mapping is defined for each command. These mappings execute |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1423 the default (no-argument) form of each command. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1424 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1425 <Leader>hga HGAdd |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1426 <Leader>hgn HGAnnotate |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1427 <Leader>hgc HGCommit |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1428 <Leader>hgd HGDiff |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1429 <Leader>hgg HGGotoOriginal |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1430 <Leader>hgG HGGotoOriginal! |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1431 <Leader>hgl HGLog |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1432 <Leader>hgr HGReview |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1433 <Leader>hgs HGStatus |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1434 <Leader>hgu HGUpdate |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1435 <Leader>hgv HGVimDiff |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1436 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1437 *hgcommand-mappings-override* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1438 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1439 The default mappings can be overriden by user-provided instead by mapping |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1440 to <Plug>CommandName. This is especially useful when these mappings |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1441 collide with other existing mappings (vim will warn of this during plugin |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1442 initialization, but will not clobber the existing mappings). |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1443 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1444 For instance, to override the default mapping for :HGAdd to set it to |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1445 '\add', add the following to the vimrc: > |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1446 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1447 nmap \add <Plug>HGAdd |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1448 < |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1449 4.3 Automatic buffer variables *hgcommand-buffer-variables* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1450 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1451 Several buffer variables are defined in each HGCommand result buffer. |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1452 These may be useful for additional customization in callbacks defined in |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1453 the event handlers (please see |hgcommand-events|). |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1454 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1455 The following variables are automatically defined: |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1456 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1457 b:hgOrigBuffNR *b:hgOrigBuffNR* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1458 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1459 This variable is set to the buffer number of the source file. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1460 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1461 b:hgcmd *b:hgcmd* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1462 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1463 This variable is set to the name of the hg command that created the result |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1464 buffer. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1465 ============================================================================== |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1466 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1467 5. Configuration and customization *hgcommand-customize* |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1468 *hgcommand-config* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1469 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1470 The HGCommand plugin can be configured in two ways: by setting |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1471 configuration variables (see |hgcommand-options|) or by defining HGCommand |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1472 event handlers (see |hgcommand-events|). Additionally, the HGCommand |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1473 plugin provides several option for naming the HG result buffers (see |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1474 |hgcommand-naming|) and supported a customized status line (see |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1475 |hgcommand-statusline| and |hgcommand-buffer-management|). |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1476 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1477 5.1 HGCommand configuration variables *hgcommand-options* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1478 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1479 Several variables affect the plugin's behavior. These variables are |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1480 checked at time of execution, and may be defined at the window, buffer, or |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1481 global level and are checked in that order of precedence. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1482 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1483 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1484 The following variables are available: |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1485 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1486 |HGCommandAnnotateParent| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1487 |HGCommandCommitOnWrite| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1488 |HGCommandHGExec| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1489 |HGCommandDeleteOnHide| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1490 |HGCommandDiffOpt| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1491 |HGCommandDiffSplit| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1492 |HGCommandEdit| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1493 |HGCommandEnableBufferSetup| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1494 |HGCommandInteractive| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1495 |HGCommandNameMarker| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1496 |HGCommandNameResultBuffers| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1497 |HGCommandSplit| |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1498 |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1499 HGCommandAnnotateParent *HGCommandAnnotateParent* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1500 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1501 This variable, if set to a non-zero value, causes the zero-argument form of |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1502 HGAnnotate when invoked on a HGAnnotate buffer to go to the version |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1503 previous to that displayed on the current line. If not set, it defaults to |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1504 0. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1505 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1506 HGCommandCommitOnWrite *HGCommandCommitOnWrite* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1507 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1508 This variable, if set to a non-zero value, causes the pending hg commit to |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1509 take place immediately as soon as the log message buffer is written. If |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1510 set to zero, only the HGCommit mapping will cause the pending commit to |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1511 occur. If not set, it defaults to 1. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1512 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1513 HGCommandHGExec *HGCommandHGExec* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1514 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1515 This variable controls the executable used for all HG commands. If not |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1516 set, it defaults to "hg". |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1517 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1518 HGCommandDeleteOnHide *HGCommandDeleteOnHide* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1519 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1520 This variable, if set to a non-zero value, causes the temporary HG result |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1521 buffers to automatically delete themselves when hidden. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1522 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1523 HGCommandDiffOpt *HGCommandDiffOpt* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1524 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1525 This variable, if set, determines the options passed to the diff command of |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1526 HG. If not set, it defaults to 'w'. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1527 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1528 HGCommandDiffSplit *HGCommandDiffSplit* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1529 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1530 This variable overrides the |HGCommandSplit| variable, but only for buffers |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1531 created with |:HGVimDiff|. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1532 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1533 HGCommandEdit *HGCommandEdit* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1534 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1535 This variable controls whether the original buffer is replaced ('edit') or |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1536 split ('split'). If not set, it defaults to 'edit'. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1537 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1538 HGCommandEnableBufferSetup *HGCommandEnableBufferSetup* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1539 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1540 This variable, if set to a non-zero value, activates HG buffer management |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1541 mode see (|hgcommand-buffer-management|). This mode means that three |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1542 buffer variables, 'HGRepository', 'HGRevision' and 'HGBranch', are set if |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1543 the file is HG-controlled. This is useful for displaying version |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1544 information in the status bar. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1545 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1546 HGCommandInteractive *HGCommandInteractive* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1547 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1548 This variable, if set to a non-zero value, causes appropriate commands (for |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1549 the moment, only |:HGReview|) to query the user for a revision to use |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1550 instead of the current revision if none is specified. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1551 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1552 HGCommandNameMarker *HGCommandNameMarker* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1553 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1554 This variable, if set, configures the special attention-getting characters |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1555 that appear on either side of the hg buffer type in the buffer name. This |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1556 has no effect unless |HGCommandNameResultBuffers| is set to a true value. |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1557 If not set, it defaults to '_'. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1558 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1559 HGCommandNameResultBuffers *HGCommandNameResultBuffers* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1560 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1561 This variable, if set to a true value, causes the hg result buffers to be |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1562 named in the old way ('<source file name> _<hg command>_'). If not set or |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1563 set to a false value, the result buffer is nameless. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1564 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1565 HGCommandSplit *HGCommandSplit* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1566 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1567 This variable controls the orientation of the various window splits that |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1568 may occur (such as with HGVimDiff, when using a HG command on a HG command |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1569 buffer, or when the |HGCommandEdit| variable is set to 'split'. If set to |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1570 'horizontal', the resulting windows will be on stacked on top of one |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1571 another. If set to 'vertical', the resulting windows will be side-by-side. |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1572 If not set, it defaults to 'horizontal' for all but HGVimDiff windows. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1573 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1574 5.2 HGCommand events *hgcommand-events* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1575 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1576 For additional customization, HGCommand can trigger user-defined events. |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1577 Event handlers are provided by defining User event autocommands (see |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1578 |autocommand|, |User|) in the HGCommand group with patterns matching the |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1579 event name. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1580 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1581 For instance, the following could be added to the vimrc to provide a 'q' |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1582 mapping to quit a HGCommand scratch buffer: > |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1583 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1584 augroup HGCommand |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1585 au HGCommand User HGBufferCreated silent! nmap <unique> <buffer> q: |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1586 bwipeout<cr> |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1587 augroup END |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1588 < |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1589 |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1590 The following hooks are available: |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1591 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1592 HGBufferCreated This event is fired just after a hg command result |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1593 buffer is created and filled with the result of a hg |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1594 command. It is executed within the context of the HG |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1595 command buffer. The HGCommand buffer variables may be |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1596 useful for handlers of this event (please see |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1597 |hgcommand-buffer-variables|). |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1598 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1599 HGBufferSetup This event is fired just after HG buffer setup occurs, |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1600 if enabled. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1601 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1602 HGPluginInit This event is fired when the HGCommand plugin first |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1603 loads. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1604 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1605 HGPluginFinish This event is fired just after the HGCommand plugin |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1606 loads. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1607 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1608 HGVimDiffFinish This event is fired just after the HGVimDiff command |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1609 executes to allow customization of, for instance, |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1610 window placement and focus. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1611 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1612 5.3 HGCommand buffer naming *hgcommand-naming* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1613 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1614 By default, the buffers containing the result of HG commands are nameless |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1615 scratch buffers. It is intended that buffer variables of those buffers be |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1616 used to customize the statusline option so that the user may fully control |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1617 the display of result buffers. |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1618 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1619 If the old-style naming is desired, please enable the |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1620 |HGCommandNameResultBuffers| variable. Then, each result buffer will |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1621 receive a unique name that includes the source file name, the HG command, |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1622 and any extra data (such as revision numbers) that were part of the |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1623 command. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1624 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1625 5.4 HGCommand status line support *hgcommand-statusline* |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1626 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1627 It is intended that the user will customize the |'statusline'| option to |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1628 include HG result buffer attributes. A sample function that may be used in |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1629 the |'statusline'| option is provided by the plugin, HGGetStatusLine(). In |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1630 order to use that function in the status line, do something like the |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1631 following: > |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1632 |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1633 set statusline=%<%f\ %{HGGetStatusLine()}\ %h%m%r%=%l,%c%V\ %P |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1634 < |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1635 of which %{HGGetStatusLine()} is the relevant portion. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1636 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1637 The sample HGGetStatusLine() function handles both HG result buffers and |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1638 HG-managed files if HGCommand buffer management is enabled (please see |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1639 |hgcommand-buffer-management|). |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1640 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1641 5.5 HGCommand buffer management *hgcommand-buffer-management* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1642 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1643 The HGCommand plugin can operate in buffer management mode, which means |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1644 that it attempts to set two buffer variables ('HGRevision' and 'HGBranch') |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1645 upon entry into a buffer. This is rather slow because it means that 'hg |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1646 status' will be invoked at each entry into a buffer (during the |BufEnter| |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1647 autocommand). |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1648 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1649 This mode is enabled by default. In order to disable it, set the |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1650 |HGCommandEnableBufferSetup| variable to a false (zero) value. Enabling |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1651 this mode simply provides the buffer variables mentioned above. The user |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1652 must explicitly include those in the |'statusline'| option if they are to |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1653 appear in the status line (but see |hgcommand-statusline| for a simple way |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1654 to do that). |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1655 |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1656 ============================================================================== |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1657 9. Tips *hgcommand-tips* |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1658 |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1659 9.1 Split window annotation, by Michael Anderson > |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1660 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1661 :nmap <Leader>hgN :vs<CR><C-w>h<Leader>hgn:vertical res 40<CR> |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1662 \ggdddd:set scb<CR>:set nowrap<CR><C-w>lgg:set scb<CR> |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1663 \:set nowrap<CR> |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1664 < |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1665 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1666 This splits the buffer vertically, puts an annotation on the left (minus |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1667 the header) with the width set to 40. An editable/normal copy is placed on |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1668 the right. The two versions are scroll locked so they move as one. and |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1669 wrapping is turned off so that the lines line up correctly. The advantages |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1670 are... |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1671 |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1672 1) You get a versioning on the right. |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1673 2) You can still edit your own code. |
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1674 3) Your own code still has syntax highlighting. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1675 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1676 ============================================================================== |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1677 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1678 8. Known bugs *hgcommand-bugs* |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1679 |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1680 Please let me know if you run across any. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1681 |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1682 HGVimDiff, when using the original (real) source buffer as one of the diff |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1683 buffers, uses some hacks to try to restore the state of the original buffer |
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1684 when the scratch buffer containing the other version is destroyed. There |
2604
d93c23b31797
HGcommand.vim : doc review.
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2603
diff
changeset
|
1685 may still be bugs in here, depending on many configuration details. |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1686 |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1687 ============================================================================== |
2637
fcfd46c4a27a
HGcommand.vim : the status was read for the wrong file as we changed the current directory before
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2636
diff
changeset
|
1688 |
fcfd46c4a27a
HGcommand.vim : the status was read for the wrong file as we changed the current directory before
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2636
diff
changeset
|
1689 9. TODO *hgcommand-todo* |
fcfd46c4a27a
HGcommand.vim : the status was read for the wrong file as we changed the current directory before
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2636
diff
changeset
|
1690 |
fcfd46c4a27a
HGcommand.vim : the status was read for the wrong file as we changed the current directory before
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2636
diff
changeset
|
1691 Integrate symlink tracking once HG will support them. |
fcfd46c4a27a
HGcommand.vim : the status was read for the wrong file as we changed the current directory before
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2636
diff
changeset
|
1692 ============================================================================== |
2603
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1693 === END_DOC |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1694 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1695 " v im:tw=78:ts=8:ft=help:norl: |
f80057407c07
HGcommand.vim : doc integration
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2592
diff
changeset
|
1696 " vim600: set foldmethod=marker tabstop=8 shiftwidth=2 softtabstop=2 smartindent smarttab : |
2759
19436facb073
hgcommand.vim: requirements & doc self-install more consistent; cosmetics
Christian Ebert <blacktrash@gmx.net>
parents:
2734
diff
changeset
|
1697 "fileencoding=iso-8859-15 |