mirror of
https://github.com/neovim/neovim.git
synced 2025-09-11 05:48:17 +00:00
vim-patch:7.4.742
Problem: Cannot specify a vertical split when loading a buffer for a
quickfix command.
Solution: Add the "vsplit" value to 'switchbuf'. (Brook Hong)
a594d77ffc
This commit is contained in:
@@ -6177,6 +6177,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
split If included, split the current window before loading
|
split If included, split the current window before loading
|
||||||
a buffer for a |quickfix| command that display errors.
|
a buffer for a |quickfix| command that display errors.
|
||||||
Otherwise: do not split, use current window.
|
Otherwise: do not split, use current window.
|
||||||
|
vsplit Just like "split" but split vertically.
|
||||||
newtab Like "split", but open a new tab page. Overrules
|
newtab Like "split", but open a new tab page. Overrules
|
||||||
"split" when both are present.
|
"split" when both are present.
|
||||||
|
|
||||||
|
@@ -1601,21 +1601,28 @@ int buflist_getfile(int n, linenr_T lnum, int options, int forceit)
|
|||||||
col = 0;
|
col = 0;
|
||||||
|
|
||||||
if (options & GETF_SWITCH) {
|
if (options & GETF_SWITCH) {
|
||||||
/* If 'switchbuf' contains "useopen": jump to first window containing
|
// If 'switchbuf' contains "useopen": jump to first window containing
|
||||||
* "buf" if one exists */
|
// "buf" if one exists
|
||||||
if (swb_flags & SWB_USEOPEN)
|
if (swb_flags & SWB_USEOPEN) {
|
||||||
wp = buf_jump_open_win(buf);
|
wp = buf_jump_open_win(buf);
|
||||||
/* If 'switchbuf' contains "usetab": jump to first window in any tab
|
}
|
||||||
* page containing "buf" if one exists */
|
|
||||||
if (wp == NULL && (swb_flags & SWB_USETAB))
|
// If 'switchbuf' contains "usetab": jump to first window in any tab
|
||||||
|
// page containing "buf" if one exists
|
||||||
|
if (wp == NULL && (swb_flags & SWB_USETAB)) {
|
||||||
wp = buf_jump_open_tab(buf);
|
wp = buf_jump_open_tab(buf);
|
||||||
/* If 'switchbuf' contains "split" or "newtab" and the current buffer
|
}
|
||||||
* isn't empty: open new window */
|
|
||||||
if (wp == NULL && (swb_flags & (SWB_SPLIT | SWB_NEWTAB)) && !bufempty()) {
|
// If 'switchbuf' contains "split", "vsplit" or "newtab" and the
|
||||||
if (swb_flags & SWB_NEWTAB) /* Open in a new tab */
|
// current buffer isn't empty: open new tab or window
|
||||||
|
if (wp == NULL && (swb_flags & (SWB_VSPLIT | SWB_SPLIT | SWB_NEWTAB))
|
||||||
|
&& !bufempty()) {
|
||||||
|
if (swb_flags & SWB_NEWTAB) {
|
||||||
tabpage_new();
|
tabpage_new();
|
||||||
else if (win_split(0, 0) == FAIL) /* Open in a new window */
|
} else if (win_split(0, (swb_flags & SWB_VSPLIT) ? WSP_VERT : 0)
|
||||||
|
== FAIL) {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
|
}
|
||||||
RESET_BINDING(curwin);
|
RESET_BINDING(curwin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -571,12 +571,13 @@ EXTERN char_u *p_su; // 'suffixes'
|
|||||||
EXTERN char_u *p_swb; // 'switchbuf'
|
EXTERN char_u *p_swb; // 'switchbuf'
|
||||||
EXTERN unsigned swb_flags;
|
EXTERN unsigned swb_flags;
|
||||||
#ifdef IN_OPTION_C
|
#ifdef IN_OPTION_C
|
||||||
static char *(p_swb_values[]) = {"useopen", "usetab", "split", "newtab", NULL};
|
static char *(p_swb_values[]) = {"useopen", "usetab", "split", "newtab", "vsplit", NULL};
|
||||||
#endif
|
#endif
|
||||||
#define SWB_USEOPEN 0x001
|
#define SWB_USEOPEN 0x001
|
||||||
#define SWB_USETAB 0x002
|
#define SWB_USETAB 0x002
|
||||||
#define SWB_SPLIT 0x004
|
#define SWB_SPLIT 0x004
|
||||||
#define SWB_NEWTAB 0x008
|
#define SWB_NEWTAB 0x008
|
||||||
|
#define SWB_VSPLIT 0x010
|
||||||
EXTERN int p_tbs; /* 'tagbsearch' */
|
EXTERN int p_tbs; /* 'tagbsearch' */
|
||||||
EXTERN long p_tl; /* 'taglength' */
|
EXTERN long p_tl; /* 'taglength' */
|
||||||
EXTERN int p_tr; /* 'tagrelative' */
|
EXTERN int p_tr; /* 'tagrelative' */
|
||||||
|
@@ -546,7 +546,7 @@ static int included_patches[] = {
|
|||||||
745,
|
745,
|
||||||
// 744 NA
|
// 744 NA
|
||||||
// 743,
|
// 743,
|
||||||
// 742,
|
742,
|
||||||
741,
|
741,
|
||||||
740,
|
740,
|
||||||
739,
|
739,
|
||||||
|
Reference in New Issue
Block a user