mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 22:48:34 +00:00
vim-patch:9.1.0810: cannot easily adjust the |:find| command
Problem: cannot easily adjust the |:find| command
Solution: Add support for the 'findexpr' option (Yegappan Lakshmanan)
closes: vim/vim#15901
closes: vim/vim#15905
aeb1c97db5
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
This commit is contained in:
@@ -4530,6 +4530,8 @@ void *get_varp_scope_from(vimoption_T *p, int scope, buf_T *buf, win_T *win)
|
||||
switch ((int)p->indir) {
|
||||
case PV_FP:
|
||||
return &(buf->b_p_fp);
|
||||
case PV_FEXPR:
|
||||
return &(buf->b_p_fexpr);
|
||||
case PV_EFM:
|
||||
return &(buf->b_p_efm);
|
||||
case PV_GP:
|
||||
@@ -4651,6 +4653,8 @@ void *get_varp_from(vimoption_T *p, buf_T *buf, win_T *win)
|
||||
return *buf->b_p_tsrfu != NUL ? &(buf->b_p_tsrfu) : p->var;
|
||||
case PV_FP:
|
||||
return *buf->b_p_fp != NUL ? &(buf->b_p_fp) : p->var;
|
||||
case PV_FEXPR:
|
||||
return *buf->b_p_fexpr != NUL ? &(buf->b_p_fexpr) : p->var;
|
||||
case PV_EFM:
|
||||
return *buf->b_p_efm != NUL ? &(buf->b_p_efm) : p->var;
|
||||
case PV_GP:
|
||||
@@ -4922,6 +4926,15 @@ char *get_equalprg(void)
|
||||
return curbuf->b_p_ep;
|
||||
}
|
||||
|
||||
/// Get the value of 'findexpr', either the buffer-local one or the global one.
|
||||
char *get_findexpr(void)
|
||||
{
|
||||
if (*curbuf->b_p_fexpr == NUL) {
|
||||
return p_fexpr;
|
||||
}
|
||||
return curbuf->b_p_fexpr;
|
||||
}
|
||||
|
||||
/// Copy options from one window to another.
|
||||
/// Used when splitting a window.
|
||||
void win_copy_options(win_T *wp_from, win_T *wp_to)
|
||||
@@ -5320,6 +5333,8 @@ void buf_copy_options(buf_T *buf, int flags)
|
||||
buf->b_p_mp = empty_string_option;
|
||||
buf->b_p_efm = empty_string_option;
|
||||
buf->b_p_ep = empty_string_option;
|
||||
buf->b_p_fexpr = xstrdup(p_fexpr);
|
||||
COPY_OPT_SCTX(buf, BV_FEXPR);
|
||||
buf->b_p_kp = empty_string_option;
|
||||
buf->b_p_path = empty_string_option;
|
||||
buf->b_p_tags = empty_string_option;
|
||||
|
Reference in New Issue
Block a user