forked from aniani/vim
patch 8.1.1913: not easy to compute the space on the command line
Problem: Not easy to compute the space on the command line. Solution: Add v:echospace. (Daniel Hahler, closes #4732)
This commit is contained in:
parent
570497ac40
commit
37f4cbd46f
@ -1768,6 +1768,13 @@ v:dying Normally zero. When a deadly signal is caught it's set to
|
|||||||
< Note: if another deadly signal is caught when v:dying is one,
|
< Note: if another deadly signal is caught when v:dying is one,
|
||||||
VimLeave autocommands will not be executed.
|
VimLeave autocommands will not be executed.
|
||||||
|
|
||||||
|
*v:echospace* *echospace-variable*
|
||||||
|
v:echospace Number of screen cells that can be used for an `:echo` message
|
||||||
|
in the last screen line before causing the |hit-enter-prompt|.
|
||||||
|
Depends on 'showcmd', 'ruler' and 'columns'. You need to
|
||||||
|
check 'cmdheight' for whether there are full-width lines
|
||||||
|
available above the last line.
|
||||||
|
|
||||||
*v:errmsg* *errmsg-variable*
|
*v:errmsg* *errmsg-variable*
|
||||||
v:errmsg Last given error message. It's allowed to set this variable.
|
v:errmsg Last given error message. It's allowed to set this variable.
|
||||||
Example: >
|
Example: >
|
||||||
|
@ -201,6 +201,7 @@ static struct vimvar
|
|||||||
{VV_NAME("termblinkresp", VAR_STRING), VV_RO},
|
{VV_NAME("termblinkresp", VAR_STRING), VV_RO},
|
||||||
{VV_NAME("event", VAR_DICT), VV_RO},
|
{VV_NAME("event", VAR_DICT), VV_RO},
|
||||||
{VV_NAME("versionlong", VAR_NUMBER), VV_RO},
|
{VV_NAME("versionlong", VAR_NUMBER), VV_RO},
|
||||||
|
{VV_NAME("echospace", VAR_NUMBER), VV_RO},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* shorthand */
|
/* shorthand */
|
||||||
@ -389,6 +390,8 @@ eval_init(void)
|
|||||||
set_vim_var_nr(VV_TYPE_CHANNEL, VAR_TYPE_CHANNEL);
|
set_vim_var_nr(VV_TYPE_CHANNEL, VAR_TYPE_CHANNEL);
|
||||||
set_vim_var_nr(VV_TYPE_BLOB, VAR_TYPE_BLOB);
|
set_vim_var_nr(VV_TYPE_BLOB, VAR_TYPE_BLOB);
|
||||||
|
|
||||||
|
set_vim_var_nr(VV_ECHOSPACE, sc_col - 1);
|
||||||
|
|
||||||
set_reg_var(0); /* default for v:register is not 0 but '"' */
|
set_reg_var(0); /* default for v:register is not 0 but '"' */
|
||||||
|
|
||||||
#ifdef EBCDIC
|
#ifdef EBCDIC
|
||||||
|
@ -10881,6 +10881,9 @@ comp_col(void)
|
|||||||
sc_col = Columns;
|
sc_col = Columns;
|
||||||
ru_col = Columns;
|
ru_col = Columns;
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEAT_EVAL
|
||||||
|
set_vim_var_nr(VV_ECHOSPACE, sc_col - 1);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) || defined(PROTO)
|
#if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) || defined(PROTO)
|
||||||
|
@ -155,3 +155,20 @@ func Test_mode_message_at_leaving_insert_with_esc_mapped()
|
|||||||
exe buf . 'bwipe!'
|
exe buf . 'bwipe!'
|
||||||
call delete(testfile)
|
call delete(testfile)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_echospace()
|
||||||
|
set noruler noshowcmd laststatus=1
|
||||||
|
call assert_equal(&columns - 1, v:echospace)
|
||||||
|
split
|
||||||
|
call assert_equal(&columns - 1, v:echospace)
|
||||||
|
set ruler
|
||||||
|
call assert_equal(&columns - 1, v:echospace)
|
||||||
|
close
|
||||||
|
call assert_equal(&columns - 19, v:echospace)
|
||||||
|
set showcmd noruler
|
||||||
|
call assert_equal(&columns - 12, v:echospace)
|
||||||
|
set showcmd ruler
|
||||||
|
call assert_equal(&columns - 29, v:echospace)
|
||||||
|
|
||||||
|
set ruler& showcmd&
|
||||||
|
endfunc
|
||||||
|
@ -761,6 +761,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1913,
|
||||||
/**/
|
/**/
|
||||||
1912,
|
1912,
|
||||||
/**/
|
/**/
|
||||||
|
@ -1981,7 +1981,8 @@ typedef int sock_T;
|
|||||||
#define VV_TERMBLINKRESP 89
|
#define VV_TERMBLINKRESP 89
|
||||||
#define VV_EVENT 90
|
#define VV_EVENT 90
|
||||||
#define VV_VERSIONLONG 91
|
#define VV_VERSIONLONG 91
|
||||||
#define VV_LEN 92 // number of v: vars
|
#define VV_ECHOSPACE 92
|
||||||
|
#define VV_LEN 93 // number of v: vars
|
||||||
|
|
||||||
// used for v_number in VAR_SPECIAL
|
// used for v_number in VAR_SPECIAL
|
||||||
#define VVAL_FALSE 0L
|
#define VVAL_FALSE 0L
|
||||||
|
Loading…
x
Reference in New Issue
Block a user