annotate vim/bundle/minibufexpl/plugin/minibufexpl.vim @ 18:cec2213f938c

Removed some MiniBufExplorer mappings. Disabled command-t (because you need Ruby installed). Some little settings changes.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 21 Nov 2011 17:12:03 -0800
parents b79a2f8f544a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1 " Mini Buffer Explorer <minibufexpl.vim>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
2 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
3 " HINT: Type zR if you don't know how to use folds
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
4 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
5 " Script Info and Documentation {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
6 "=============================================================================
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
7 " Copyright: Copyright (C) 2002 & 2003 Bindu Wavell
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
8 " Permission is hereby granted to use and distribute this code,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
9 " with or without modifications, provided that this copyright
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
10 " notice is copied with it. Like anything else that's free,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
11 " minibufexplorer.vim is provided *as is* and comes with no
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
12 " warranty of any kind, either expressed or implied. In no
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
13 " event will the copyright holder be liable for any damamges
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
14 " resulting from the use of this software.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
15 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
16 " Name Of File: minibufexpl.vim
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
17 " Description: Mini Buffer Explorer Vim Plugin
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
18 " Maintainer: Bindu Wavell <bindu@wavell.net>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
19 " URL: http://vim.sourceforge.net/scripts/script.php?script_id=159
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
20 " Last Change: Sunday, June 21, 2004
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
21 " Version: 6.3.2
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
22 " Derived from Jeff Lanzarotta's bufexplorer.vim version 6.0.7
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
23 " Jeff can be reached at (jefflanzarotta@yahoo.com) and the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
24 " original plugin can be found at:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
25 " http://lanzarotta.tripod.com/vim/plugin/6/bufexplorer.vim.zip
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
26 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
27 " Usage: Normally, this file should reside in the plugins
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
28 " directory and be automatically sourced. If not, you must
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
29 " manually source this file using ':source minibufexplorer.vim'.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
30 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
31 " You may use the default keymappings of
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
32 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
33 " <Leader>mbe - Opens MiniBufExplorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
34 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
35 " or you may want to add something like the following
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
36 " key mapping to your _vimrc/.vimrc file.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
37 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
38 " map <Leader>b :MiniBufExplorer<cr>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
39 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
40 " However, in most cases you won't need any key-bindings at all.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
41 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
42 " <Leader> is usually backslash so type "\mbe" (quickly) to open
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
43 " the -MiniBufExplorer- window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
44 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
45 " Other keymappings include: <Leader>mbc to close the Explorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
46 " window, <Leader>mbu to force the Explorer to Update and
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
47 " <Leader>mbt to toggle the Explorer window; it will open if
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
48 " closed or close if open. Each of these key bindings can be
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
49 " overridden (see the notes on <Leader>mbe above.)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
50 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
51 " You can map these additional commands as follows:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
52 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
53 " map <Leader>c :CMiniBufExplorer<cr>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
54 " map <Leader>u :UMiniBufExplorer<cr>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
55 " map <Leader>t :TMiniBufExplorer<cr>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
56 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
57 " NOTE: you can change the key binding used in these mappings
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
58 " so that they fit with your configuration of vim.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
59 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
60 " You can also call each of these features by typing the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
61 " following in command mode:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
62 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
63 " :MiniBufExplorer " Open and/or goto Explorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
64 " :CMiniBufExplorer " Close the Explorer if it's open
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
65 " :UMiniBufExplorer " Update Explorer without navigating
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
66 " :TMiniBufExplorer " Toggle the Explorer window open and
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
67 " closed.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
68 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
69 " To control where the new split window goes relative to the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
70 " current window, use the setting:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
71 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
72 " let g:miniBufExplSplitBelow=0 " Put new window above
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
73 " " current or on the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
74 " " left for vertical split
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
75 " let g:miniBufExplSplitBelow=1 " Put new window below
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
76 " " current or on the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
77 " " right for vertical split
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
78 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
79 " The default for this is read from the &splitbelow VIM option.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
80 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
81 " By default we are now (as of 6.0.2) forcing the -MiniBufExplorer-
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
82 " window to open up at the edge of the screen. You can turn this
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
83 " off by setting the following variable in your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
84 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
85 " let g:miniBufExplSplitToEdge = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
86 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
87 " If you would like a vertical explorer you can assign the column
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
88 " width (in characters) you want for your explorer window with the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
89 " following .vimrc variable (this was introduced in 6.3.0):
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
90 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
91 " let g:miniBufExplVSplit = 20 " column width in chars
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
92 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
93 " IN HORIZONTAL MODE:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
94 " It is now (as of 6.1.1) possible to set a maximum height for
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
95 " the -MiniBufExplorer- window. You can set the max height by
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
96 " letting the following variable in your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
97 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
98 " let g:miniBufExplMaxSize = <max lines: defualt 0>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
99 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
100 " setting this to 0 will mean the window gets as big as
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
101 " needed to fit all your buffers.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
102 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
103 " NOTE: This was g:miniBufExplMaxHeight before 6.3.0; the old
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
104 " setting is backwards compatible if you don't use MaxSize.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
105 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
106 " As of 6.2.2 it is possible to set a minimum height for the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
107 " -MiniBufExplorer- window. You can set the min height by
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
108 " letting the following variable in your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
109 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
110 " let g:miniBufExplMinSize = <min height: default 1>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
111 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
112 " NOTE: This was g:miniBufExplMinHeight before 6.3.0; the old
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
113 " setting is backwards compatible if you don't use MinSize.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
114 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
115 " IN VERTICAL MODE: (as of 6.3.0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
116 " By default the vertical explorer has a fixed width. If you put:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
117 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
118 " let g:miniBufExplMaxSize = <max width: default 0>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
119 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
120 " into your .vimrc then MBE will attempt to set the width of the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
121 " MBE window to be as wide as your widest tab. The width will not
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
122 " exceed MaxSize even if you have wider tabs.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
123 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
124 " Accepting the default value of 0 for this will give you a fixed
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
125 " width MBE window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
126 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
127 " You can specify a MinSize for the vertical explorer window by
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
128 " putting the following in your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
129 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
130 " let g:miniBufExplMinSize = <min width: default 1>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
131 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
132 " This will have no effect unless you also specivy MaxSize.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
133 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
134 " By default we are now (as of 6.0.1) turning on the MoreThanOne
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
135 " option. This stops the -MiniBufExplorer- from opening
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
136 " automatically until more than one eligible buffer is available.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
137 " You can turn this feature off by setting the following variable
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
138 " in your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
139 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
140 " let g:miniBufExplorerMoreThanOne=1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
141 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
142 " (The following enhancement is as of 6.2.2)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
143 " Setting this to 0 will cause the MBE window to be loaded even
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
144 " if no buffers are available. Setting it to 1 causes the MBE
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
145 " window to be loaded as soon as an eligible buffer is read. You
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
146 " can also set it to larger numbers. So if you set it to 4 for
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
147 " example the MBE window wouldn't auto-open until 4 eligibles
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
148 " buffers had been loaded. This is nice for folks that don't
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
149 " want an MBE window unless they are editing more than two or
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
150 " three buffers.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
151 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
152 " To enable the optional mapping of Control + Vim Direction Keys
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
153 " [hjkl] to window movement commands, you can put the following into
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
154 " your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
155 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
156 " let g:miniBufExplMapWindowNavVim = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
157 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
158 " To enable the optional mapping of Control + Arrow Keys to window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
159 " movement commands, you can put the following into your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
160 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
161 " let g:miniBufExplMapWindowNavArrows = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
162 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
163 " To enable the optional mapping of <C-TAB> and <C-S-TAB> to a
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
164 " function that will bring up the next or previous buffer in the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
165 " current window, you can put the following into your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
166 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
167 " let g:miniBufExplMapCTabSwitchBufs = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
168 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
169 " To enable the optional mapping of <C-TAB> and <C-S-TAB> to mappings
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
170 " that will move to the next and previous (respectively) window, you
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
171 " can put the following into your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
172 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
173 " let g:miniBufExplMapCTabSwitchWindows = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
174 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
175 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
176 " NOTE: If you set the ...TabSwitchBufs AND ...TabSwitchWindows,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
177 " ...TabSwitchBufs will be enabled and ...TabSwitchWindows
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
178 " will not.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
179 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
180 " As of MBE 6.3.0, you can put the following into your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
181 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
182 " let g:miniBufExplUseSingleClick = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
183 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
184 " If you would like to single click on tabs rather than double
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
185 " clicking on them to goto the selected buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
186 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
187 " NOTE: If you use the single click option in taglist.vim you may
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
188 " need to get an updated version that includes a patch I
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
189 " provided to allow both explorers to provide single click
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
190 " buffer selection.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
191 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
192 " It is possible to customize the the highlighting for the tabs in
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
193 " the MBE by configuring the following highlighting groups:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
194 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
195 " MBENormal - for buffers that have NOT CHANGED and
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
196 " are NOT VISIBLE.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
197 " MBEChanged - for buffers that HAVE CHANGED and are
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
198 " NOT VISIBLE
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
199 " MBEVisibleNormal - buffers that have NOT CHANGED and are
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
200 " VISIBLE
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
201 " MBEVisibleChanged - buffers that have CHANGED and are VISIBLE
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
202 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
203 " You can either link to an existing highlighting group by
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
204 " adding a command like:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
205 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
206 " hi link MBEVisibleChanged Error
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
207 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
208 " to your .vimrc or you can specify exact foreground and background
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
209 " colors using the following syntax:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
210 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
211 " hi MBEChanged guibg=darkblue ctermbg=darkblue termbg=white
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
212 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
213 " NOTE: If you set a colorscheme in your .vimrc you should do it
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
214 " BEFORE updating the MBE highlighting groups.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
215 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
216 " If you use other explorers like TagList you can (As of 6.2.8) put:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
217 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
218 " let g:miniBufExplModSelTarget = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
219 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
220 " into your .vimrc in order to force MBE to try to place selected
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
221 " buffers into a window that does not have a nonmodifiable buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
222 " The upshot of this should be that if you go into MBE and select
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
223 " a buffer, the buffer should not show up in a window that is
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
224 " hosting an explorer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
225 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
226 " There is a VIM bug that can cause buffers to show up without
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
227 " their highlighting. The following setting will cause MBE to
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
228 " try and turn highlighting back on (introduced in 6.3.1):
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
229 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
230 " let g:miniBufExplForceSyntaxEnable = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
231 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
232 " MBE has had a basic debugging capability for quite some time.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
233 " However, it has not been very friendly in the past. As of 6.0.8,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
234 " you can put one of each of the following into your .vimrc:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
235 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
236 " let g:miniBufExplorerDebugLevel = 0 " MBE serious errors output
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
237 " let g:miniBufExplorerDebugLevel = 4 " MBE all errors output
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
238 " let g:miniBufExplorerDebugLevel = 10 " MBE reports everything
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
239 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
240 " You can also set a DebugMode to cause output to be target as
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
241 " follows (default is mode 3):
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
242 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
243 " let g:miniBufExplorerDebugMode = 0 " Errors will show up in
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
244 " " a vim window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
245 " let g:miniBufExplorerDebugMode = 1 " Uses VIM's echo function
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
246 " " to display on the screen
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
247 " let g:miniBufExplorerDebugMode = 2 " Writes to a file
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
248 " " MiniBufExplorer.DBG
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
249 " let g:miniBufExplorerDebugMode = 3 " Store output in global:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
250 " " g:miniBufExplorerDebugOutput
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
251 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
252 " Or if you are able to start VIM, you might just perform these
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
253 " at a command prompt right before you do the operation that is
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
254 " failing.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
255 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
256 " History: Moved to end of file
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
257 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
258 " Known Issues: When debugging is turned on and set to output to a window, there
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
259 " are some cases where the window is opened more than once, there
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
260 " are other cases where an old debug window can be lost.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
261 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
262 " Several MBE commands can break the window history so <C-W>[pnw]
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
263 " might not take you to the expected window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
264 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
265 " Todo: Add the ability to specify a regexp for eligible buffers
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
266 " allowing the ability to filter out certain buffers that
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
267 " you don't want to control from MBE
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
268 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
269 "=============================================================================
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
270 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
271
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
272 " Startup Check
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
273 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
274 " Has this plugin already been loaded? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
275 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
276 if exists('loaded_minibufexplorer')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
277 finish
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
278 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
279 let loaded_minibufexplorer = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
280 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
281
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
282 " Mappings and Commands
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
283 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
284 " MBE Keyboard Mappings {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
285 " If we don't already have keyboard mappings for MBE then create them
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
286 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
287 if !hasmapto('<Plug>MiniBufExplorer')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
288 map <unique> <Leader>mbe <Plug>MiniBufExplorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
289 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
290 if !hasmapto('<Plug>CMiniBufExplorer')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
291 map <unique> <Leader>mbc <Plug>CMiniBufExplorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
292 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
293 if !hasmapto('<Plug>UMiniBufExplorer')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
294 map <unique> <Leader>mbu <Plug>UMiniBufExplorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
295 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
296 if !hasmapto('<Plug>TMiniBufExplorer')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
297 map <unique> <Leader>mbt <Plug>TMiniBufExplorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
298 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
299
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
300 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
301 " MBE <Script> internal map {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
302 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
303 noremap <unique> <script> <Plug>MiniBufExplorer :call <SID>StartExplorer(1, -1)<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
304 noremap <unique> <script> <Plug>CMiniBufExplorer :call <SID>StopExplorer(1)<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
305 noremap <unique> <script> <Plug>UMiniBufExplorer :call <SID>AutoUpdate(-1)<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
306 noremap <unique> <script> <Plug>TMiniBufExplorer :call <SID>ToggleExplorer()<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
307
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
308 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
309 " MBE commands {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
310 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
311 if !exists(':MiniBufExplorer')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
312 command! MiniBufExplorer call <SID>StartExplorer(1, -1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
313 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
314 if !exists(':CMiniBufExplorer')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
315 command! CMiniBufExplorer call <SID>StopExplorer(1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
316 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
317 if !exists(':UMiniBufExplorer')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
318 command! UMiniBufExplorer call <SID>AutoUpdate(-1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
319 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
320 if !exists(':TMiniBufExplorer')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
321 command! TMiniBufExplorer call <SID>ToggleExplorer()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
322 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
323 if !exists(':MBEbn')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
324 command! MBEbn call <SID>CycleBuffer(1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
325 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
326 if !exists(':MBEbp')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
327 command! MBEbp call <SID>CycleBuffer(0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
328 endif " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
329
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
330 " Global Configuration Variables
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
331 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
332 " Debug Level {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
333 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
334 " 0 = no logging
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
335 " 1=5 = errors ; 1 is the most important
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
336 " 5-9 = info ; 5 is the most important
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
337 " 10 = Entry/Exit
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
338 if !exists('g:miniBufExplorerDebugLevel')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
339 let g:miniBufExplorerDebugLevel = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
340 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
341
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
342 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
343 " Debug Mode {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
344 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
345 " 0 = debug to a window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
346 " 1 = use vim's echo facility
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
347 " 2 = write to a file named MiniBufExplorer.DBG
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
348 " in the directory where vim was started
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
349 " THIS IS VERY SLOW
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
350 " 3 = Write into g:miniBufExplorerDebugOutput
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
351 " global variable [This is the default]
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
352 if !exists('g:miniBufExplorerDebugMode')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
353 let g:miniBufExplorerDebugMode = 3
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
354 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
355
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
356 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
357 " Allow auto update? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
358 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
359 " We start out with this off for startup, but once vim is running we
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
360 " turn this on.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
361 if !exists('g:miniBufExplorerAutoUpdate')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
362 let g:miniBufExplorerAutoUpdate = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
363 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
364
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
365 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
366 " MoreThanOne? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
367 " Display Mini Buf Explorer when there are 'More Than One' eligible buffers
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
368 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
369 if !exists('g:miniBufExplorerMoreThanOne')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
370 let g:miniBufExplorerMoreThanOne = 2
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
371 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
372
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
373 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
374 " Split below/above/left/right? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
375 " When opening a new -MiniBufExplorer- window, split the new windows below or
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
376 " above the current window? 1 = below, 0 = above.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
377 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
378 if !exists('g:miniBufExplSplitBelow')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
379 let g:miniBufExplSplitBelow = &splitbelow
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
380 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
381
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
382 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
383 " Split to edge? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
384 " When opening a new -MiniBufExplorer- window, split the new windows to the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
385 " full edge? 1 = yes, 0 = no.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
386 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
387 if !exists('g:miniBufExplSplitToEdge')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
388 let g:miniBufExplSplitToEdge = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
389 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
390
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
391 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
392 " MaxHeight (depreciated) {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
393 " When sizing the -MiniBufExplorer- window, assign a maximum window height.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
394 " 0 = size to fit all buffers, otherwise the value is number of lines for
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
395 " buffer. [Depreciated use g:miniBufExplMaxSize]
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
396 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
397 if !exists('g:miniBufExplMaxHeight')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
398 let g:miniBufExplMaxHeight = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
399 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
400
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
401 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
402 " MaxSize {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
403 " Same as MaxHeight but also works for vertical splits if specified with a
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
404 " vertical split then vertical resizing will be performed. If left at 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
405 " then the number of columns in g:miniBufExplVSplit will be used as a
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
406 " static window width.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
407 if !exists('g:miniBufExplMaxSize')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
408 let g:miniBufExplMaxSize = g:miniBufExplMaxHeight
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
409 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
410
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
411 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
412 " MinHeight (depreciated) {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
413 " When sizing the -MiniBufExplorer- window, assign a minumum window height.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
414 " the value is minimum number of lines for buffer. Setting this to zero can
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
415 " cause strange height behavior. The default value is 1 [Depreciated use
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
416 " g:miniBufExplMinSize]
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
417 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
418 if !exists('g:miniBufExplMinHeight')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
419 let g:miniBufExplMinHeight = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
420 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
421
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
422 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
423 " MinSize {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
424 " Same as MinHeight but also works for vertical splits. For vertical splits,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
425 " this is ignored unless g:miniBufExplMax(Size|Height) are specified.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
426 if !exists('g:miniBufExplMinSize')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
427 let g:miniBufExplMinSize = g:miniBufExplMinHeight
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
428 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
429
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
430 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
431 " Horizontal or Vertical explorer? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
432 " For folks that like vertical explorers, I'm caving in and providing for
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
433 " veritcal splits. If this is set to 0 then the current horizontal
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
434 " splitting logic will be run. If however you want a vertical split,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
435 " assign the width (in characters) you wish to assign to the MBE window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
436 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
437 if !exists('g:miniBufExplVSplit')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
438 let g:miniBufExplVSplit = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
439 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
440
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
441 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
442 " TabWrap? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
443 " By default line wrap is used (possibly breaking a tab name between two
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
444 " lines.) Turning this option on (setting it to 1) can take more screen
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
445 " space, but will make sure that each tab is on one and only one line.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
446 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
447 if !exists('g:miniBufExplTabWrap')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
448 let g:miniBufExplTabWrap = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
449 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
450
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
451 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
452 " Extended window navigation commands? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
453 " Global flag to turn extended window navigation commands on or off
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
454 " enabled = 1, dissabled = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
455 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
456 if !exists('g:miniBufExplMapWindowNav')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
457 " This is for backwards compatibility and may be removed in a
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
458 " later release, please use the ...NavVim and/or ...NavArrows
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
459 " settings.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
460 let g:miniBufExplMapWindowNav = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
461 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
462 if !exists('g:miniBufExplMapWindowNavVim')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
463 let g:miniBufExplMapWindowNavVim = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
464 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
465 if !exists('g:miniBufExplMapWindowNavArrows')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
466 let g:miniBufExplMapWindowNavArrows = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
467 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
468 if !exists('g:miniBufExplMapCTabSwitchBufs')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
469 let g:miniBufExplMapCTabSwitchBufs = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
470 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
471 " Notice: that if CTabSwitchBufs is turned on then
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
472 " we turn off CTabSwitchWindows.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
473 if g:miniBufExplMapCTabSwitchBufs == 1 || !exists('g:miniBufExplMapCTabSwitchWindows')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
474 let g:miniBufExplMapCTabSwitchWindows = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
475 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
476
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
477 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
478 " If we have enabled control + vim direction key remapping
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
479 " then perform the remapping
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
480 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
481 " Notice: I left g:miniBufExplMapWindowNav in for backward
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
482 " compatibility. Eventually this mapping will be removed so
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
483 " please use the newer g:miniBufExplMapWindowNavVim setting.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
484 if g:miniBufExplMapWindowNavVim || g:miniBufExplMapWindowNav
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
485 noremap <C-J> <C-W>j
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
486 noremap <C-K> <C-W>k
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
487 noremap <C-H> <C-W>h
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
488 noremap <C-L> <C-W>l
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
489 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
490
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
491 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
492 " If we have enabled control + arrow key remapping
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
493 " then perform the remapping
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
494 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
495 if g:miniBufExplMapWindowNavArrows
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
496 noremap <C-Down> <C-W>j
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
497 noremap <C-Up> <C-W>k
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
498 noremap <C-Left> <C-W>h
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
499 noremap <C-Right> <C-W>l
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
500 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
501
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
502 " If we have enabled <C-TAB> and <C-S-TAB> to switch buffers
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
503 " in the current window then perform the remapping
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
504 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
505 if g:miniBufExplMapCTabSwitchBufs
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
506 noremap <C-TAB> :call <SID>CycleBuffer(1)<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
507 noremap <C-S-TAB> :call <SID>CycleBuffer(0)<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
508 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
509
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
510 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
511 " If we have enabled <C-TAB> and <C-S-TAB> to switch windows
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
512 " then perform the remapping
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
513 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
514 if g:miniBufExplMapCTabSwitchWindows
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
515 noremap <C-TAB> <C-W>w
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
516 noremap <C-S-TAB> <C-W>W
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
517 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
518
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
519 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
520 " Modifiable Select Target {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
521 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
522 if !exists('g:miniBufExplModSelTarget')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
523 let g:miniBufExplModSelTarget = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
524 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
525
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
526 "}}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
527 " Force Syntax Enable {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
528 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
529 if !exists('g:miniBufExplForceSyntaxEnable')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
530 let g:miniBufExplForceSyntaxEnable = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
531 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
532
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
533 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
534 " Single/Double Click? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
535 " flag that can be set to 1 in a users .vimrc to allow
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
536 " single click switching of tabs. By default we use
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
537 " double click for tab selection.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
538 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
539 if !exists('g:miniBufExplUseSingleClick')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
540 let g:miniBufExplUseSingleClick = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
541 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
542
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
543 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
544 " attempt to perform single click mapping, it would be much
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
545 " nicer if we could nnoremap <buffer> ... however vim does
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
546 " not fire the <buffer> <leftmouse> when you use the mouse
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
547 " to enter a buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
548 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
549 if g:miniBufExplUseSingleClick == 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
550 let s:clickmap = ':if bufname("%") == "-MiniBufExplorer-" <bar> call <SID>MBEClick() <bar> endif <CR>'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
551 if maparg('<LEFTMOUSE>', 'n') == ''
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
552 " no mapping for leftmouse
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
553 exec ':nnoremap <silent> <LEFTMOUSE> <LEFTMOUSE>' . s:clickmap
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
554 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
555 " we have a mapping
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
556 let g:miniBufExplDoneClickSave = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
557 let s:m = ':nnoremap <silent> <LEFTMOUSE> <LEFTMOUSE>'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
558 let s:m = s:m . substitute(substitute(maparg('<LEFTMOUSE>', 'n'), '|', '<bar>', 'g'), '\c^<LEFTMOUSE>', '', '')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
559 let s:m = s:m . s:clickmap
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
560 exec s:m
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
561 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
562 endif " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
563
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
564 " Variables used internally
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
565 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
566 " Script/Global variables {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
567 " Global used to store the buffer list so we don't update the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
568 " UI unless the list has changed.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
569 if !exists('g:miniBufExplBufList')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
570 let g:miniBufExplBufList = ''
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
571 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
572
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
573 " Variable used as a mutex so that we don't do lots
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
574 " of AutoUpdates at the same time.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
575 if !exists('g:miniBufExplInAutoUpdate')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
576 let g:miniBufExplInAutoUpdate = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
577 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
578
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
579 " In debug mode 3 this variable will hold the debug output
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
580 if !exists('g:miniBufExplorerDebugOutput')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
581 let g:miniBufExplorerDebugOutput = ''
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
582 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
583
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
584 " In debug mode 3 this variable will hold the debug output
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
585 if !exists('g:miniBufExplForceDisplay')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
586 let g:miniBufExplForceDisplay = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
587 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
588
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
589 " Variable used to pass maxTabWidth info between functions
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
590 let s:maxTabWidth = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
591
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
592 " Variable used to count debug output lines
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
593 let s:debugIndex = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
594
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
595
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
596 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
597 " Setup an autocommand group and some autocommands {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
598 " that keep our explorer updated automatically.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
599 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
600 augroup MiniBufExplorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
601 autocmd MiniBufExplorer BufDelete * call <SID>DEBUG('-=> BufDelete AutoCmd', 10) |call <SID>AutoUpdate(expand('<abuf>'))
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
602 autocmd MiniBufExplorer BufEnter * call <SID>DEBUG('-=> BufEnter AutoCmd', 10) |call <SID>AutoUpdate(-1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
603 autocmd MiniBufExplorer VimEnter * call <SID>DEBUG('-=> VimEnter AutoCmd', 10) |let g:miniBufExplorerAutoUpdate = 1 |call <SID>AutoUpdate(-1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
604 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
605
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
606 " Functions
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
607 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
608 " StartExplorer - Sets up our explorer and causes it to be displayed {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
609 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
610 function! <SID>StartExplorer(sticky, delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
611 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
612 call <SID>DEBUG('Entering StartExplorer()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
613 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
614
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
615 if a:sticky == 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
616 let g:miniBufExplorerAutoUpdate = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
617 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
618
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
619 " Store the current buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
620 let l:curBuf = bufnr('%')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
621
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
622 " Prevent a report of our actions from showing up.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
623 let l:save_rep = &report
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
624 let l:save_sc = &showcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
625 let &report = 10000
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
626 set noshowcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
627
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
628 call <SID>FindCreateWindow('-MiniBufExplorer-', -1, 1, 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
629
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
630 " Make sure we are in our window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
631 if bufname('%') != '-MiniBufExplorer-'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
632 call <SID>DEBUG('StartExplorer called in invalid window',1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
633 let &report = l:save_rep
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
634 let &showcmd = l:save_sc
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
635 return
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
636 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
637
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
638 " !!! We may want to make the following optional -- Bindu
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
639 " New windows don't cause all windows to be resized to equal sizes
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
640 set noequalalways
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
641 " !!! We may want to make the following optional -- Bindu
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
642 " We don't want the mouse to change focus without a click
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
643 set nomousefocus
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
644
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
645 " If folks turn numbering and columns on by default we will turn
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
646 " them off for the MBE window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
647 setlocal foldcolumn=0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
648 setlocal nonumber
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
649
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
650 if has("syntax")
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
651 syn clear
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
652 syn match MBENormal '\[[^\]]*\]'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
653 syn match MBEChanged '\[[^\]]*\]+'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
654 syn match MBEVisibleNormal '\[[^\]]*\]\*+\='
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
655 syn match MBEVisibleChanged '\[[^\]]*\]\*+'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
656
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
657 if !exists("g:did_minibufexplorer_syntax_inits")
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
658 let g:did_minibufexplorer_syntax_inits = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
659 hi def link MBENormal Comment
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
660 hi def link MBEChanged String
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
661 hi def link MBEVisibleNormal Special
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
662 hi def link MBEVisibleChanged Special
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
663 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
664 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
665
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
666 " If you press return in the -MiniBufExplorer- then try
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
667 " to open the selected buffer in the previous window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
668 nnoremap <buffer> <CR> :call <SID>MBESelectBuffer()<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
669 " If you DoubleClick in the -MiniBufExplorer- then try
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
670 " to open the selected buffer in the previous window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
671 nnoremap <buffer> <2-LEFTMOUSE> :call <SID>MBEDoubleClick()<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
672 " If you press d in the -MiniBufExplorer- then try to
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
673 " delete the selected buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
674 nnoremap <buffer> d :call <SID>MBEDeleteBuffer()<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
675 " If you press w in the -MiniBufExplorer- then switch back
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
676 " to the previous window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
677 nnoremap <buffer> p :wincmd p<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
678 " The following allow us to use regular movement keys to
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
679 " scroll in a wrapped single line buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
680 nnoremap <buffer> j gj
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
681 nnoremap <buffer> k gk
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
682 nnoremap <buffer> <down> gj
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
683 nnoremap <buffer> <up> gk
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
684 " The following allows for quicker moving between buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
685 " names in the [MBE] window it also saves the last-pattern
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
686 " and restores it.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
687 nnoremap <buffer> <TAB> :call search('\[[0-9]*:[^\]]*\]')<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
688 nnoremap <buffer> <S-TAB> :call search('\[[0-9]*:[^\]]*\]','b')<CR>:<BS>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
689
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
690 call <SID>DisplayBuffers(a:delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
691
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
692 if (l:curBuf != -1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
693 call search('\['.l:curBuf.':'.expand('#'.l:curBuf.':t').'\]')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
694 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
695 call <SID>DEBUG('No current buffer to search for',9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
696 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
697
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
698 let &report = l:save_rep
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
699 let &showcmd = l:save_sc
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
700
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
701 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
702 call <SID>DEBUG('Completed StartExplorer()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
703 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
704
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
705 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
706
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
707 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
708 " StopExplorer - Looks for our explorer and closes the window if it is open {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
709 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
710 function! <SID>StopExplorer(sticky)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
711 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
712 call <SID>DEBUG('Entering StopExplorer()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
713 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
714
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
715 if a:sticky == 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
716 let g:miniBufExplorerAutoUpdate = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
717 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
718
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
719 let l:winNum = <SID>FindWindow('-MiniBufExplorer-', 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
720
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
721 if l:winNum != -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
722 exec l:winNum.' wincmd w'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
723 silent! close
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
724 wincmd p
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
725 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
726
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
727 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
728 call <SID>DEBUG('Completed StopExplorer()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
729 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
730
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
731 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
732
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
733 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
734 " ToggleExplorer - Looks for our explorer and opens/closes the window {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
735 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
736 function! <SID>ToggleExplorer()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
737 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
738 call <SID>DEBUG('Entering ToggleExplorer()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
739 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
740
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
741 let g:miniBufExplorerAutoUpdate = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
742
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
743 let l:winNum = <SID>FindWindow('-MiniBufExplorer-', 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
744
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
745 if l:winNum != -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
746 call <SID>StopExplorer(1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
747 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
748 call <SID>StartExplorer(1, -1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
749 wincmd p
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
750 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
751
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
752 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
753 call <SID>DEBUG('Completed ToggleExplorer()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
754 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
755
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
756 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
757
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
758 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
759 " FindWindow - Return the window number of a named buffer {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
760 " If none is found then returns -1.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
761 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
762 function! <SID>FindWindow(bufName, doDebug)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
763 if a:doDebug
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
764 call <SID>DEBUG('Entering FindWindow()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
765 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
766
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
767 " Try to find an existing window that contains
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
768 " our buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
769 let l:bufNum = bufnr(a:bufName)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
770 if l:bufNum != -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
771 if a:doDebug
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
772 call <SID>DEBUG('Found buffer ('.a:bufName.'): '.l:bufNum,9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
773 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
774 let l:winNum = bufwinnr(l:bufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
775 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
776 let l:winNum = -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
777 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
778
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
779 return l:winNum
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
780
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
781 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
782
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
783 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
784 " FindCreateWindow - Attempts to find a window for a named buffer. {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
785 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
786 " If it is found then moves there. Otherwise creates a new window and
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
787 " configures it and moves there.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
788 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
789 " forceEdge, -1 use defaults, 0 below, 1 above
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
790 " isExplorer, 0 no, 1 yes
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
791 " doDebug, 0 no, 1 yes
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
792 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
793 function! <SID>FindCreateWindow(bufName, forceEdge, isExplorer, doDebug)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
794 if a:doDebug
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
795 call <SID>DEBUG('Entering FindCreateWindow('.a:bufName.')',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
796 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
797
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
798 " Save the user's split setting.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
799 let l:saveSplitBelow = &splitbelow
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
800
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
801 " Set to our new values.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
802 let &splitbelow = g:miniBufExplSplitBelow
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
803
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
804 " Try to find an existing explorer window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
805 let l:winNum = <SID>FindWindow(a:bufName, a:doDebug)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
806
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
807 " If found goto the existing window, otherwise
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
808 " split open a new window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
809 if l:winNum != -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
810 if a:doDebug
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
811 call <SID>DEBUG('Found window ('.a:bufName.'): '.l:winNum,9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
812 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
813 exec l:winNum.' wincmd w'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
814 let l:winFound = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
815 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
816
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
817 if g:miniBufExplSplitToEdge == 1 || a:forceEdge >= 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
818
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
819 let l:edge = &splitbelow
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
820 if a:forceEdge >= 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
821 let l:edge = a:forceEdge
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
822 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
823
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
824 if l:edge
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
825 if g:miniBufExplVSplit == 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
826 exec 'bo sp '.a:bufName
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
827 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
828 exec 'bo vsp '.a:bufName
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
829 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
830 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
831 if g:miniBufExplVSplit == 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
832 exec 'to sp '.a:bufName
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
833 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
834 exec 'to vsp '.a:bufName
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
835 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
836 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
837 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
838 if g:miniBufExplVSplit == 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
839 exec 'sp '.a:bufName
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
840 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
841 " &splitbelow doesn't affect vertical splits
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
842 " so we have to do this explicitly.. ugh.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
843 if &splitbelow
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
844 exec 'rightb vsp '.a:bufName
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
845 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
846 exec 'vsp '.a:bufName
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
847 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
848 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
849 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
850
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
851 let g:miniBufExplForceDisplay = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
852
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
853 " Try to find an existing explorer window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
854 let l:winNum = <SID>FindWindow(a:bufName, a:doDebug)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
855 if l:winNum != -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
856 if a:doDebug
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
857 call <SID>DEBUG('Created and then found window ('.a:bufName.'): '.l:winNum,9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
858 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
859 exec l:winNum.' wincmd w'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
860 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
861 if a:doDebug
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
862 call <SID>DEBUG('FindCreateWindow failed to create window ('.a:bufName.').',1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
863 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
864 return
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
865 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
866
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
867 if a:isExplorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
868 " Turn off the swapfile, set the buffer type so that it won't get written,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
869 " and so that it will get deleted when it gets hidden and turn on word wrap.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
870 setlocal noswapfile
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
871 setlocal buftype=nofile
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
872 setlocal bufhidden=delete
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
873 if g:miniBufExplVSplit == 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
874 setlocal wrap
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
875 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
876 setlocal nowrap
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
877 exec('setlocal winwidth='.g:miniBufExplMinSize)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
878 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
879 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
880
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
881 if a:doDebug
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
882 call <SID>DEBUG('Window ('.a:bufName.') created: '.winnr(),9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
883 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
884
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
885 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
886
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
887 " Restore the user's split setting.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
888 let &splitbelow = l:saveSplitBelow
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
889
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
890 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
891
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
892 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
893 " DisplayBuffers - Wrapper for getting MBE window shown {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
894 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
895 " Makes sure we are in our explorer, then erases the current buffer and turns
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
896 " it into a mini buffer explorer window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
897 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
898 function! <SID>DisplayBuffers(delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
899 call <SID>DEBUG('Entering DisplayBuffers()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
900
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
901 " Make sure we are in our window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
902 if bufname('%') != '-MiniBufExplorer-'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
903 call <SID>DEBUG('DisplayBuffers called in invalid window',1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
904 return
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
905 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
906
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
907 " We need to be able to modify the buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
908 setlocal modifiable
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
909
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
910 call <SID>ShowBuffers(a:delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
911 call <SID>ResizeWindow()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
912
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
913 normal! zz
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
914
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
915 " Prevent the buffer from being modified.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
916 setlocal nomodifiable
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
917 set nobuflisted
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
918
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
919 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
920
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
921 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
922 " Resize Window - Set width/height of MBE window {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
923 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
924 " Makes sure we are in our explorer, then sets the height/width for our explorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
925 " window so that we can fit all of our information without taking extra lines.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
926 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
927 function! <SID>ResizeWindow()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
928 call <SID>DEBUG('Entering ResizeWindow()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
929
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
930 " Make sure we are in our window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
931 if bufname('%') != '-MiniBufExplorer-'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
932 call <SID>DEBUG('ResizeWindow called in invalid window',1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
933 return
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
934 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
935
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
936 let l:width = winwidth('.')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
937
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
938 " Horizontal Resize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
939 if g:miniBufExplVSplit == 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
940
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
941 if g:miniBufExplTabWrap == 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
942 let l:length = strlen(getline('.'))
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
943 let l:height = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
944 if (l:width == 0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
945 let l:height = winheight('.')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
946 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
947 let l:height = (l:length / l:width)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
948 " handle truncation from div
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
949 if (l:length % l:width) != 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
950 let l:height = l:height + 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
951 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
952 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
953 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
954 exec("setlocal textwidth=".l:width)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
955 normal gg
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
956 normal gq}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
957 normal G
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
958 let l:height = line('.')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
959 normal gg
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
960 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
961
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
962 " enforce max window height
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
963 if g:miniBufExplMaxSize != 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
964 if g:miniBufExplMaxSize < l:height
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
965 let l:height = g:miniBufExplMaxSize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
966 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
967 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
968
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
969 " enfore min window height
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
970 if l:height < g:miniBufExplMinSize || l:height == 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
971 let l:height = g:miniBufExplMinSize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
972 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
973
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
974 call <SID>DEBUG('ResizeWindow to '.l:height.' lines',9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
975
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
976 exec('resize '.l:height)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
977
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
978 " Vertical Resize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
979 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
980
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
981 if g:miniBufExplMaxSize != 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
982 let l:newWidth = s:maxTabWidth
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
983 if l:newWidth > g:miniBufExplMaxSize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
984 let l:newWidth = g:miniBufExplMaxSize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
985 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
986 if l:newWidth < g:miniBufExplMinSize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
987 let l:newWidth = g:miniBufExplMinSize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
988 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
989 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
990 let l:newWidth = g:miniBufExplVSplit
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
991 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
992
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
993 if l:width != l:newWidth
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
994 call <SID>DEBUG('ResizeWindow to '.l:newWidth.' columns',9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
995 exec('vertical resize '.l:newWidth)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
996 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
997
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
998 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
999
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1000 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1001
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1002 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1003 " ShowBuffers - Clear current buffer and put the MBE text into it {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1004 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1005 " Makes sure we are in our explorer, then adds a list of all modifiable
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1006 " buffers to the current buffer. Special marks are added for buffers that
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1007 " are in one or more windows (*) and buffers that have been modified (+)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1008 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1009 function! <SID>ShowBuffers(delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1010 call <SID>DEBUG('Entering ShowBuffers()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1011
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1012 let l:ListChanged = <SID>BuildBufferList(a:delBufNum, 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1013
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1014 if (l:ListChanged == 1 || g:miniBufExplForceDisplay)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1015 let l:save_rep = &report
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1016 let l:save_sc = &showcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1017 let &report = 10000
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1018 set noshowcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1019
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1020 " Delete all lines in buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1021 1,$d _
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1022
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1023 " Goto the end of the buffer put the buffer list
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1024 " and then delete the extra trailing blank line
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1025 $
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1026 put! =g:miniBufExplBufList
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1027 $ d _
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1028
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1029 let g:miniBufExplForceDisplay = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1030
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1031 let &report = l:save_rep
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1032 let &showcmd = l:save_sc
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1033 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1034 call <SID>DEBUG('Buffer list not update since there was no change',9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1035 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1036
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1037 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1038
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1039 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1040 " Max - Returns the max of two numbers {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1041 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1042 function! <SID>Max(argOne, argTwo)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1043 if a:argOne > a:argTwo
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1044 return a:argOne
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1045 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1046 return a:argTwo
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1047 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1048 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1049
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1050 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1051 " BuildBufferList - Build the text for the MBE window {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1052 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1053 " Creates the buffer list string and returns 1 if it is different than
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1054 " last time this was called and 0 otherwise.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1055 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1056 function! <SID>BuildBufferList(delBufNum, updateBufList)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1057 call <SID>DEBUG('Entering BuildBufferList()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1058
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1059 let l:NBuffers = bufnr('$') " Get the number of the last buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1060 let l:i = 0 " Set the buffer index to zero.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1061
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1062 let l:fileNames = ''
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1063 let l:maxTabWidth = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1064
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1065 " Loop through every buffer less than the total number of buffers.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1066 while(l:i <= l:NBuffers)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1067 let l:i = l:i + 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1068
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1069 " If we have a delBufNum and it is the current
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1070 " buffer then ignore the current buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1071 " Otherwise, continue.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1072 if (a:delBufNum == -1 || l:i != a:delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1073 " Make sure the buffer in question is listed.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1074 if(getbufvar(l:i, '&buflisted') == 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1075 " Get the name of the buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1076 let l:BufName = bufname(l:i)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1077 " Check to see if the buffer is a blank or not. If the buffer does have
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1078 " a name, process it.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1079 if(strlen(l:BufName))
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1080 " Only show modifiable buffers (The idea is that we don't
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1081 " want to show Explorers)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1082 if (getbufvar(l:i, '&modifiable') == 1 && BufName != '-MiniBufExplorer-')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1083
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1084 " Get filename & Remove []'s & ()'s
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1085 let l:shortBufName = fnamemodify(l:BufName, ":t")
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1086 let l:shortBufName = substitute(l:shortBufName, '[][()]', '', 'g')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1087 let l:tab = '['.l:i.':'.l:shortBufName.']'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1088
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1089 " If the buffer is open in a window mark it
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1090 if bufwinnr(l:i) != -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1091 let l:tab = l:tab . '*'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1092 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1093
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1094 " If the buffer is modified then mark it
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1095 if(getbufvar(l:i, '&modified') == 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1096 let l:tab = l:tab . '+'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1097 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1098
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1099 let l:maxTabWidth = <SID>Max(strlen(l:tab), l:maxTabWidth)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1100 let l:fileNames = l:fileNames.l:tab
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1101
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1102 " If horizontal and tab wrap is turned on we need to add spaces
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1103 if g:miniBufExplVSplit == 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1104 if g:miniBufExplTabWrap != 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1105 let l:fileNames = l:fileNames.' '
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1106 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1107 " If not horizontal we need a newline
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1108 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1109 let l:fileNames = l:fileNames . "\n"
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1110 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1111 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1112 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1113 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1114 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1115 endwhile
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1116
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1117 if (g:miniBufExplBufList != l:fileNames)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1118 if (a:updateBufList)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1119 let g:miniBufExplBufList = l:fileNames
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1120 let s:maxTabWidth = l:maxTabWidth
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1121 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1122 return 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1123 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1124 return 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1125 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1126
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1127 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1128
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1129 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1130 " HasEligibleBuffers - Are there enough MBE eligible buffers to open the MBE window? {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1131 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1132 " Returns 1 if there are any buffers that can be displayed in a
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1133 " mini buffer explorer. Otherwise returns 0. If delBufNum is
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1134 " any non -1 value then don't include that buffer in the list
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1135 " of eligible buffers.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1136 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1137 function! <SID>HasEligibleBuffers(delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1138 call <SID>DEBUG('Entering HasEligibleBuffers()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1139
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1140 let l:save_rep = &report
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1141 let l:save_sc = &showcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1142 let &report = 10000
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1143 set noshowcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1144
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1145 let l:NBuffers = bufnr('$') " Get the number of the last buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1146 let l:i = 0 " Set the buffer index to zero.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1147 let l:found = 0 " No buffer found
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1148
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1149 if (g:miniBufExplorerMoreThanOne > 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1150 call <SID>DEBUG('More Than One mode turned on',6)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1151 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1152 let l:needed = g:miniBufExplorerMoreThanOne
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1153
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1154 " Loop through every buffer less than the total number of buffers.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1155 while(l:i <= l:NBuffers && l:found < l:needed)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1156 let l:i = l:i + 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1157
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1158 " If we have a delBufNum and it is the current
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1159 " buffer then ignore the current buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1160 " Otherwise, continue.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1161 if (a:delBufNum == -1 || l:i != a:delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1162 " Make sure the buffer in question is listed.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1163 if (getbufvar(l:i, '&buflisted') == 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1164 " Get the name of the buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1165 let l:BufName = bufname(l:i)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1166 " Check to see if the buffer is a blank or not. If the buffer does have
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1167 " a name, process it.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1168 if (strlen(l:BufName))
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1169 " Only show modifiable buffers (The idea is that we don't
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1170 " want to show Explorers)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1171 if ((getbufvar(l:i, '&modifiable') == 1) && (BufName != '-MiniBufExplorer-'))
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1172
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1173 let l:found = l:found + 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1174
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1175 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1176 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1177 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1178 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1179 endwhile
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1180
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1181 let &report = l:save_rep
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1182 let &showcmd = l:save_sc
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1183
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1184 call <SID>DEBUG('HasEligibleBuffers found '.l:found.' eligible buffers of '.l:needed.' needed',6)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1185
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1186 return (l:found >= l:needed)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1187
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1188 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1189
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1190 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1191 " Auto Update - Function called by auto commands for auto updating the MBE {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1192 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1193 " IF auto update is turned on AND
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1194 " we are in a real buffer AND
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1195 " we have enough eligible buffers THEN
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1196 " Update our explorer and get back to the current window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1197 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1198 " If we get a buffer number for a buffer that
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1199 " is being deleted, we need to make sure and
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1200 " remove the buffer from the list of eligible
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1201 " buffers in case we are down to one eligible
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1202 " buffer, in which case we will want to close
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1203 " the MBE window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1204 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1205 function! <SID>AutoUpdate(delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1206 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1207 call <SID>DEBUG('Entering AutoUpdate('.a:delBufNum.') : '.bufnr('%').' : '.bufname('%'),10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1208 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1209
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1210 if (g:miniBufExplInAutoUpdate == 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1211 call <SID>DEBUG('AutoUpdate recursion stopped',9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1212 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1213 call <SID>DEBUG('Terminated AutoUpdate()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1214 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1215 return
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1216 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1217 let g:miniBufExplInAutoUpdate = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1218 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1219
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1220 " Don't bother autoupdating the MBE window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1221 if (bufname('%') == '-MiniBufExplorer-')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1222 " If this is the only buffer left then toggle the buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1223 if (winbufnr(2) == -1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1224 call <SID>CycleBuffer(1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1225 call <SID>DEBUG('AutoUpdate does not run for cycled windows', 9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1226 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1227 call <SID>DEBUG('AutoUpdate does not run for the MBE window', 9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1228 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1229
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1230 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1231 call <SID>DEBUG('Terminated AutoUpdate()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1232 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1233
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1234 let g:miniBufExplInAutoUpdate = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1235 return
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1236
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1237 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1238
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1239 if (a:delBufNum != -1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1240 call <SID>DEBUG('AutoUpdate will make sure that buffer '.a:delBufNum.' is not included in the buffer list.', 5)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1241 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1242
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1243 " Only allow updates when the AutoUpdate flag is set
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1244 " this allows us to stop updates on startup.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1245 if g:miniBufExplorerAutoUpdate == 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1246 " Only show MiniBufExplorer if we have a real buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1247 if ((g:miniBufExplorerMoreThanOne == 0) || (bufnr('%') != -1 && bufname('%') != ""))
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1248 if <SID>HasEligibleBuffers(a:delBufNum) == 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1249 " if we don't have a window then create one
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1250 let l:bufnr = <SID>FindWindow('-MiniBufExplorer-', 0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1251 if (l:bufnr == -1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1252 call <SID>DEBUG('About to call StartExplorer (Create MBE)', 9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1253 call <SID>StartExplorer(0, a:delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1254 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1255 " otherwise only update the window if the contents have
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1256 " changed
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1257 let l:ListChanged = <SID>BuildBufferList(a:delBufNum, 0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1258 if (l:ListChanged)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1259 call <SID>DEBUG('About to call StartExplorer (Update MBE)', 9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1260 call <SID>StartExplorer(0, a:delBufNum)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1261 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1262 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1263
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1264 " go back to the working buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1265 if (bufname('%') == '-MiniBufExplorer-')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1266 wincmd p
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1267 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1268 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1269 call <SID>DEBUG('Failed in eligible check', 9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1270 call <SID>StopExplorer(0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1271 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1272
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1273 " VIM sometimes turns syntax highlighting off,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1274 " we can force it on, but this may cause weird
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1275 " behavior so this is an optional hack to force
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1276 " syntax back on when we enter a buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1277 if g:miniBufExplForceSyntaxEnable
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1278 call <SID>DEBUG('Enable Syntax', 9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1279 exec 'syntax enable'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1280 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1281
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1282 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1283 call <SID>DEBUG('No buffers loaded...',9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1284 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1285 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1286 call <SID>DEBUG('AutoUpdates are turned off, terminating',9)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1287 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1288
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1289 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1290 call <SID>DEBUG('Completed AutoUpdate()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1291 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1292
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1293 let g:miniBufExplInAutoUpdate = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1294
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1295 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1296
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1297 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1298 " GetSelectedBuffer - From the MBE window, return the bufnum for buf under cursor {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1299 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1300 " If we are in our explorer window then return the buffer number
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1301 " for the buffer under the cursor.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1302 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1303 function! <SID>GetSelectedBuffer()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1304 call <SID>DEBUG('Entering GetSelectedBuffer()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1305
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1306 " Make sure we are in our window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1307 if bufname('%') != '-MiniBufExplorer-'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1308 call <SID>DEBUG('GetSelectedBuffer called in invalid window',1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1309 return -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1310 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1311
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1312 let l:save_reg = @"
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1313 let @" = ""
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1314 normal ""yi[
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1315 if @" != ""
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1316 let l:retv = substitute(@",'\([0-9]*\):.*', '\1', '') + 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1317 let @" = l:save_reg
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1318 return l:retv
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1319 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1320 let @" = l:save_reg
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1321 return -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1322 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1323
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1324 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1325
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1326 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1327 " MBESelectBuffer - From the MBE window, open buffer under the cursor {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1328 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1329 " If we are in our explorer, then we attempt to open the buffer under the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1330 " cursor in the previous window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1331 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1332 function! <SID>MBESelectBuffer()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1333 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1334 call <SID>DEBUG('Entering MBESelectBuffer()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1335 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1336
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1337 " Make sure we are in our window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1338 if bufname('%') != '-MiniBufExplorer-'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1339 call <SID>DEBUG('MBESelectBuffer called in invalid window',1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1340 return
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1341 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1342
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1343 let l:save_rep = &report
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1344 let l:save_sc = &showcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1345 let &report = 10000
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1346 set noshowcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1347
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1348 let l:bufnr = <SID>GetSelectedBuffer()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1349 let l:resize = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1350
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1351 if(l:bufnr != -1) " If the buffer exists.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1352
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1353 let l:saveAutoUpdate = g:miniBufExplorerAutoUpdate
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1354 let g:miniBufExplorerAutoUpdate = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1355 " Switch to the previous window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1356 wincmd p
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1357
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1358 " If we are in the buffer explorer or in a nonmodifiable buffer with
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1359 " g:miniBufExplModSelTarget set then try another window (a few times)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1360 if bufname('%') == '-MiniBufExplorer-' || (g:miniBufExplModSelTarget == 1 && getbufvar(bufnr('%'), '&modifiable') == 0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1361 wincmd w
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1362 if bufname('%') == '-MiniBufExplorer-' || (g:miniBufExplModSelTarget == 1 && getbufvar(bufnr('%'), '&modifiable') == 0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1363 wincmd w
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1364 if bufname('%') == '-MiniBufExplorer-' || (g:miniBufExplModSelTarget == 1 && getbufvar(bufnr('%'), '&modifiable') == 0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1365 wincmd w
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1366 " The following handles the case where -MiniBufExplorer-
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1367 " is the only window left. We need to resize so we don't
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1368 " end up with a 1 or two line buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1369 if bufname('%') == '-MiniBufExplorer-'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1370 let l:resize = 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1371 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1372 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1373 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1374 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1375
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1376 exec('b! '.l:bufnr)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1377 if (l:resize)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1378 resize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1379 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1380 let g:miniBufExplorerAutoUpdate = l:saveAutoUpdate
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1381 call <SID>AutoUpdate(-1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1382
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1383 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1384
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1385 let &report = l:save_rep
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1386 let &showcmd = l:save_sc
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1387
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1388 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1389 call <SID>DEBUG('Completed MBESelectBuffer()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1390 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1391
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1392 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1393
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1394 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1395 " MBEDeleteBuffer - From the MBE window, delete selected buffer from list {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1396 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1397 " After making sure that we are in our explorer, This will delete the buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1398 " under the cursor. If the buffer under the cursor is being displayed in a
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1399 " window, this routine will attempt to get different buffers into the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1400 " windows that will be affected so that windows don't get removed.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1401 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1402 function! <SID>MBEDeleteBuffer()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1403 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1404 call <SID>DEBUG('Entering MBEDeleteBuffer()' ,10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1405 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1406
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1407 " Make sure we are in our window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1408 if bufname('%') != '-MiniBufExplorer-'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1409 call <SID>DEBUG('MBEDeleteBuffer called in invalid window',1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1410 return
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1411 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1412
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1413 let l:curLine = line('.')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1414 let l:curCol = virtcol('.')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1415 let l:selBuf = <SID>GetSelectedBuffer()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1416 let l:selBufName = bufname(l:selBuf)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1417
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1418 if l:selBufName == 'MiniBufExplorer.DBG' && g:miniBufExplorerDebugLevel > 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1419 call <SID>DEBUG('MBEDeleteBuffer will not delete the debug window, when debugging is turned on.',1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1420 return
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1421 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1422
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1423 let l:save_rep = &report
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1424 let l:save_sc = &showcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1425 let &report = 10000
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1426 set noshowcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1427
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1428
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1429 if l:selBuf != -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1430
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1431 " Don't want auto updates while we are processing a delete
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1432 " request.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1433 let l:saveAutoUpdate = g:miniBufExplorerAutoUpdate
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1434 let g:miniBufExplorerAutoUpdate = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1435
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1436 " Save previous window so that if we show a buffer after
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1437 " deleting. The show will come up in the correct window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1438 wincmd p
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1439 let l:prevWin = winnr()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1440 let l:prevWinBuf = winbufnr(winnr())
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1441
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1442 call <SID>DEBUG('Previous window: '.l:prevWin.' buffer in window: '.l:prevWinBuf,5)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1443 call <SID>DEBUG('Selected buffer is <'.l:selBufName.'>['.l:selBuf.']',5)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1444
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1445 " If buffer is being displayed in a window then
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1446 " move window to a different buffer before
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1447 " deleting this one.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1448 let l:winNum = (bufwinnr(l:selBufName) + 0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1449 " while we have windows that contain our buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1450 while l:winNum != -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1451 call <SID>DEBUG('Buffer '.l:selBuf.' is being displayed in window: '.l:winNum,5)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1452
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1453 " move to window that contains our selected buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1454 exec l:winNum.' wincmd w'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1455
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1456 call <SID>DEBUG('We are now in window: '.winnr().' which contains buffer: '.bufnr('%').' and should contain buffer: '.l:selBuf,5)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1457
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1458 let l:origBuf = bufnr('%')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1459 call <SID>CycleBuffer(1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1460 let l:curBuf = bufnr('%')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1461
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1462 call <SID>DEBUG('Window now contains buffer: '.bufnr('%').' which should not be: '.l:selBuf,5)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1463
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1464 if l:origBuf == l:curBuf
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1465 " we wrapped so we are going to have to delete a buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1466 " that is in an open window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1467 let l:winNum = -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1468 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1469 " see if we have anymore windows with our selected buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1470 let l:winNum = (bufwinnr(l:selBufName) + 0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1471 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1472 endwhile
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1473
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1474 " Attempt to restore previous window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1475 call <SID>DEBUG('Restoring previous window to: '.l:prevWin,5)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1476 exec l:prevWin.' wincmd w'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1477
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1478 " Try to get back to the -MiniBufExplorer- window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1479 let l:winNum = bufwinnr(bufnr('-MiniBufExplorer-'))
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1480 if l:winNum != -1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1481 exec l:winNum.' wincmd w'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1482 call <SID>DEBUG('Got to -MiniBufExplorer- window: '.winnr(),5)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1483 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1484 call <SID>DEBUG('Unable to get to -MiniBufExplorer- window',1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1485 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1486
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1487 " Delete the buffer selected.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1488 call <SID>DEBUG('About to delete buffer: '.l:selBuf,5)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1489 exec('silent! bd '.l:selBuf)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1490
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1491 let g:miniBufExplorerAutoUpdate = l:saveAutoUpdate
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1492 call <SID>DisplayBuffers(-1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1493 call cursor(l:curLine, l:curCol)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1494
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1495 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1496
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1497 let &report = l:save_rep
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1498 let &showcmd = l:save_sc
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1499
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1500 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1501 call <SID>DEBUG('Completed MBEDeleteBuffer()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1502 call <SID>DEBUG('===========================',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1503
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1504 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1505
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1506 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1507 " MBEClick - Handle mouse double click {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1508 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1509 function! s:MBEClick()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1510 call <SID>DEBUG('Entering MBEClick()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1511 call <SID>MBESelectBuffer()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1512 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1513
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1514 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1515 " MBEDoubleClick - Double click with the mouse.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1516 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1517 function! s:MBEDoubleClick()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1518 call <SID>DEBUG('Entering MBEDoubleClick()',10)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1519 call <SID>MBESelectBuffer()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1520 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1521
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1522 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1523 " CycleBuffer - Cycle Through Buffers {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1524 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1525 " Move to next or previous buffer in the current window. If there
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1526 " are no more modifiable buffers then stay on the current buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1527 " can be called with no parameters in which case the buffers are
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1528 " cycled forward. Otherwise a single argument is accepted, if
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1529 " it's 0 then the buffers are cycled backwards, otherwise they
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1530 " are cycled forward.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1531 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1532 function! <SID>CycleBuffer(forward)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1533
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1534 " The following hack handles the case where we only have one
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1535 " window open and it is too small
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1536 let l:saveAutoUpdate = g:miniBufExplorerAutoUpdate
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1537 if (winbufnr(2) == -1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1538 resize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1539 let g:miniBufExplorerAutoUpdate = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1540 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1541
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1542 " Change buffer (keeping track of before and after buffers)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1543 let l:origBuf = bufnr('%')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1544 if (a:forward == 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1545 bn!
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1546 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1547 bp!
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1548 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1549 let l:curBuf = bufnr('%')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1550
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1551 " Skip any non-modifiable buffers, but don't cycle forever
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1552 " This should stop us from stopping in any of the [Explorers]
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1553 while getbufvar(l:curBuf, '&modifiable') == 0 && l:origBuf != l:curBuf
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1554 if (a:forward == 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1555 bn!
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1556 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1557 bp!
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1558 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1559 let l:curBuf = bufnr('%')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1560 endwhile
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1561
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1562 let g:miniBufExplorerAutoUpdate = l:saveAutoUpdate
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1563 if (l:saveAutoUpdate == 1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1564 call <SID>AutoUpdate(-1)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1565 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1566
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1567 endfunction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1568
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1569 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1570 " DEBUG - Display debug output when debugging is turned on {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1571 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1572 " Thanks to Charles E. Campbell, Jr. PhD <cec@NgrOyphSon.gPsfAc.nMasa.gov>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1573 " for Decho.vim which was the inspiration for this enhanced debugging
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1574 " capability.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1575 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1576 function! <SID>DEBUG(msg, level)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1577
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1578 if g:miniBufExplorerDebugLevel >= a:level
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1579
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1580 " Prevent a report of our actions from showing up.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1581 let l:save_rep = &report
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1582 let l:save_sc = &showcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1583 let &report = 10000
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1584 set noshowcmd
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1585
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1586 " Debug output to a buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1587 if g:miniBufExplorerDebugMode == 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1588 " Save the current window number so we can come back here
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1589 let l:prevWin = winnr()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1590 wincmd p
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1591 let l:prevPrevWin = winnr()
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1592 wincmd p
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1593
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1594 " Get into the debug window or create it if needed
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1595 call <SID>FindCreateWindow('MiniBufExplorer.DBG', 1, 0, 0)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1596
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1597 " Make sure we really got to our window, if not we
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1598 " will display a confirm dialog and turn debugging
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1599 " off so that we won't break things even more.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1600 if bufname('%') != 'MiniBufExplorer.DBG'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1601 call confirm('Error in window debugging code. Dissabling MiniBufExplorer debugging.', 'OK')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1602 let g:miniBufExplorerDebugLevel = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1603 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1604
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1605 " Write Message to DBG buffer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1606 let res=append("$",s:debugIndex.':'.a:level.':'.a:msg)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1607 norm G
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1608 "set nomodified
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1609
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1610 " Return to original window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1611 exec l:prevPrevWin.' wincmd w'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1612 exec l:prevWin.' wincmd w'
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1613 " Debug output using VIM's echo facility
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1614 elseif g:miniBufExplorerDebugMode == 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1615 echo s:debugIndex.':'.a:level.':'.a:msg
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1616 " Debug output to a file -- VERY SLOW!!!
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1617 " should be OK on UNIX and Win32 (not the 95/98 variants)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1618 elseif g:miniBufExplorerDebugMode == 2
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1619 if has('system') || has('fork')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1620 if has('win32') && !has('win95')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1621 let l:result = system("cmd /c 'echo ".s:debugIndex.':'.a:level.':'.a:msg." >> MiniBufExplorer.DBG'")
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1622 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1623 if has('unix')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1624 let l:result = system("echo '".s:debugIndex.':'.a:level.':'.a:msg." >> MiniBufExplorer.DBG'")
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1625 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1626 else
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1627 call confirm('Error in file writing version of the debugging code, vim not compiled with system or fork. Dissabling MiniBufExplorer debugging.', 'OK')
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1628 let g:miniBufExplorerDebugLevel = 0
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1629 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1630 elseif g:miniBufExplorerDebugMode == 3
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1631 let g:miniBufExplorerDebugOutput = g:miniBufExplorerDebugOutput."\n".s:debugIndex.':'.a:level.':'.a:msg
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1632 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1633 let s:debugIndex = s:debugIndex + 1
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1634
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1635 let &report = l:save_rep
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1636 let &showcmd = l:save_sc
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1637
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1638 endif
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1639
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1640 endfunc " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1641
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1642 " MBE Script History {{{
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1643 "=============================================================================
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1644 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1645 " History: 6.3.2 o For some reason there was still a call to StopExplorer
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1646 " with 2 params. Very old bug. I know I fixed before,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1647 " any way many thanks to Jason Mills for reporting this!
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1648 " 6.3.1 o Include folds in source so that it's easier to
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1649 " navigate.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1650 " o Added g:miniBufExplForceSyntaxEnable setting for folks
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1651 " that want a :syntax enable to be called when we enter
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1652 " buffers. This can resolve issues caused by a vim bug
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1653 " where buffers show up without highlighting when another
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1654 " buffer has been closed, quit, wiped or deleted.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1655 " 6.3.0 o Added an option to allow single click (rather than
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1656 " the default double click) to select buffers in the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1657 " MBE window. This feature was requested by AW Law
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1658 " and was inspired by taglist.vim. Note that you will
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1659 " need the latest version of taglist.vim if you want to
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1660 " use MBE and taglist both with singleclick turned on.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1661 " Also thanks to AW Law for pointing out that you can
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1662 " make an Explorer not be listed in a standard :ls.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1663 " o Added the ability to have your tabs show up in a
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1664 " vertical window rather than the standard horizontal
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1665 " one. Just let g:miniBufExplVSplit = <width> in your
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1666 " .vimrc and your will get this functionality.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1667 " o If you use the vertical explorer and you want it to
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1668 " autosize then let g:miniBufExplMaxSize = <max width>
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1669 " in your .vimrc. You may use the MinSize letting in
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1670 " addition to the MaxLetting if you don't want a super
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1671 " thin window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1672 " o g:miniBufExplMaxHeight was renamed g:miniBufExplMaxSize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1673 " g:miniBufExplMinHeight was renamed g:miniBufExplMinSize
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1674 " the old settings are backwards compatible if you don't
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1675 " use the new settings, but they are depreciated.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1676 " 6.2.8 o Add an option to stop MBE from targeting non-modifiable
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1677 " buffers when switching buffers. Thanks to AW Law for
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1678 " the inspiration for this. This may not work if a user
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1679 " has lots of explorer/help windows open.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1680 " 6.2.7 o Very minor bug fix for people who want to set
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1681 " loaded_minibufexplorer in their .vimrc in order to
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1682 " stop MBE from loading. 99.99% of users do not need
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1683 " this update.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1684 " 6.2.6 o Moved history to end of source file
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1685 " o Updated highlighting documentation
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1686 " o Created global commands MBEbn and MBEbp that can be
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1687 " used in mappings if folks want to cycle buffers while
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1688 " skipping non-eligible buffers.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1689 " 6.2.5 o Added <Leader>mbt key mapping which will toggle
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1690 " the MBE window. I map this to F3 in my .vimrc
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1691 " with "map <F3> :TMiniBufExplorer<CR>" which
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1692 " means I can easily close the MBE window when I'm
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1693 " not using it and get it back when I want it.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1694 " o Changed default debug mode to 3 (write to global
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1695 " g:miniBufExplorerDebugOutput)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1696 " o Made a pass through the documentation to clarify
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1697 " serveral issues and provide more complete docs
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1698 " for mappings and commands.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1699 " 6.2.4 o Because of the autocommand switch (see 6.2.0) it
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1700 " was possible to remove the restriction on the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1701 " :set hidden option. It is now possible to use
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1702 " this option with MBE.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1703 " 6.2.3 o Added miniBufExplTabWrap option. It is turned
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1704 " off by default. When turned on spaces are added
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1705 " between tabs and gq} is issued to perform line
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1706 " formatting. This won't work very well if filenames
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1707 " contain spaces. It would be pretty easy to write
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1708 " my own formatter, but I'm too lazy, so if someone
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1709 " really needs that feature I'll add it :)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1710 " 6.2.2 o Changed the way the g:miniBufExplorerMoreThanOne
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1711 " global is handled. You can set this to the number
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1712 " of eligible buffers you want to be loaded before
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1713 " the MBE window is loaded. Setting it to 0 causes
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1714 " the MBE window to be opened even if there are no
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1715 " buffers. Setting it to 4 causes the window to stay
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1716 " closed until the 4th eligible buffer is loaded.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1717 " o Added a MinHeight option. This is nice if you want
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1718 " the MBE window to always take the same amount of
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1719 " space. For example set MaxSize and MinSize to 2
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1720 " and set MoreThanOne to 0 and you will always have
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1721 " a 2 row (plus the ruler :) MBE window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1722 " NOTE: in 6.3.0 we started using MinSize instead of
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1723 " Minheight. This will still work if MinSize is not
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1724 " specified, but it is depreciated. Use MinSize instead.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1725 " o I now setlocal foldcomun=0 and nonumber in the MBE
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1726 " window. This is for those of you that like to have
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1727 " these options turned on locally. I'm assuming noone
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1728 " outthere wants foldcolumns and line numbers in the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1729 " MBE window? :)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1730 " o Fixed a bug where an empty MBE window was taking half
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1731 " of the screen (partly why the MinHeight option was
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1732 " added.)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1733 " 6.2.1 o If MBE is the only window (because of :bd for example)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1734 " and there are still eligible buffers then one of them
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1735 " will be displayed.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1736 " o The <Leader>mbe mapping now highlights the buffer from
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1737 " the current window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1738 " o The delete ('d') binding in the MBE window now restors
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1739 " the cursor position, which can help if you want to
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1740 " delete several buffers in a row that are not at the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1741 " beginning of the buffer list.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1742 " o Added a new key binding ('p') in the MBE window to
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1743 " switch to the previous window (last edit window)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1744 " 6.2.0 o Major overhaul of autocommand and list updating code,
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1745 " we now have much better handling of :bd (which is the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1746 " most requested feature.) As well as resolving other
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1747 " issues where the buffer list would not be updated
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1748 " automatically. The old version tried to trap specific
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1749 " events, this one just updates frequently, but it keeps
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1750 " track and only changes the screen if there has been
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1751 " a change.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1752 " o Added g:miniBufExplMaxHeight variable so you can keep
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1753 " the -MiniBufExplorer- window small when you have lots
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1754 " of buffers (or buffers with long names :)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1755 " NOTE: in 6.3.0 we started using MaxSize instead of
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1756 " MaxHeight. This will still work if MaxSize is not
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1757 " specified, but it is depreciated. Use MaxSize instead.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1758 " o Improvement to internal syntax highlighting code
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1759 " I renamed the syntax group names. Anyone who has
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1760 " figured out how to use them already shouldn't have
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1761 " any trouble with the new Nameing :)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1762 " o Added debug mode 3 which writes to a global variable
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1763 " this is fast and doesn't mess with the buffer/window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1764 " lists.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1765 " 6.1.0 o <Leader>mbc was failing because I was calling one of
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1766 " my own functions with the wrong number of args. :(
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1767 " Thanks to Gerry Patterson for finding this!
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1768 " This code is very stable (although it has some
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1769 " idiocyncracies.)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1770 " 6.0.9 o Double clicking tabs was overwriting the cliboard
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1771 " register on MS Windows. Thanks to Shoeb Bhinderwala
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1772 " for reporting this issue.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1773 " 6.0.8 o Apparently some VIM builds are having a hard time with
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1774 " line continuation in scripts so the few that were here
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1775 " have been removed.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1776 " o Generalized FindExplorer and FindCreateExplorer so
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1777 " that they can be used for the debug window. Renaming
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1778 " to FindWindow and FindCreateWindow.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1779 " o Updated debugging code so that debug output is put into
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1780 " a buffer which can then be written to disk or emailed
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1781 " to me when someone is having a major issue. Can also
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1782 " write directly to a file (VERY SLOWLY) on UNIX or Win32
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1783 " (not 95 or 98 at the moment) or use VIM's echo function
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1784 " to display the output to the screen.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1785 " o Several people have had issues when the hidden option
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1786 " is turned on. So I have put in several checks to make
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1787 " sure folks know this if they try to use MBE with this
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1788 " option set.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1789 " 6.0.7 o Handling BufDelete autocmd so that the UI updates
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1790 " properly when using :bd (rather than going through
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1791 " the MBE UI.)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1792 " o The AutoUpdate code will now close the MBE window when
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1793 " there is a single eligible buffer available.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1794 " This has the usefull side effect of stopping the MBE
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1795 " window from blocking the VIM session open when you close
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1796 " the last buffer.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1797 " o Added functions, commands and maps to close & update
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1798 " the MBE window (<leader>mbc and <leader>mbu.)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1799 " o Made MBE open/close state be sticky if set through
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1800 " StartExplorer(1) or StopExplorer(1), which are
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1801 " called from the standard mappings. So if you close
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1802 " the mbe window with \mbc it won't be automatically
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1803 " opened again unless you do a \mbe (or restart VIM).
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1804 " o Removed spaces between "tabs" (even more mini :)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1805 " o Simplified MBE tab processing
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1806 " 6.0.6 o Fixed register overwrite bug found by Sébastien Pierre
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1807 " 6.0.5 o Fixed an issue with window sizing when we run out of
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1808 " buffers.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1809 " o Fixed some weird commenting bugs.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1810 " o Added more optional fancy window/buffer navigation:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1811 " o You can turn on the capability to use control and the
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1812 " arrow keys to move between windows.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1813 " o You can turn on the ability to use <C-TAB> and
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1814 " <C-S-TAB> to open the next and previous (respectively)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1815 " buffer in the current window.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1816 " o You can turn on the ability to use <C-TAB> and
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1817 " <C-S-TAB> to switch windows (forward and backwards
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1818 " respectively.)
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1819 " 6.0.4 o Added optional fancy window navigation:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1820 " o Holding down control and pressing a vim direction
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1821 " [hjkl] will switch windows in the indicated direction.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1822 " 6.0.3 o Changed buffer name to -MiniBufExplorer- to resolve
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1823 " Issue in filename pattern matching on Windows.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1824 " 6.0.2 o 2 Changes requested by Suresh Govindachar:
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1825 " o Added SplitToEdge option and set it on by default
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1826 " o Added tab and shift-tab mappings in [MBE] window
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1827 " 6.0.1 o Added MoreThanOne option and set it on by default
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1828 " MiniBufExplorer will not automatically open until
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1829 " more than one eligible buffers are opened. This
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1830 " reduces cluter when you are only working on a
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1831 " single file.
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1832 " NOTE: See change log for 6.2.2 for more details about
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1833 " this feature
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1834 " 6.0.0 o Initial Release on November 20, 2001
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1835 "
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1836 "=============================================================================
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1837 " }}}
b79a2f8f544a Added minibufexplorer plugin.
ludovicchabant
parents:
diff changeset
1838 " vim:ft=vim:fdm=marker:ff=unix:nowrap:tabstop=4:shiftwidth=4:softtabstop=4:smarttab:shiftround:expandtab