forked from aniani/vim
patch 8.2.2266: Vim9: it can be hard to see where white space is missing
Problem: Vim9: it can be hard to see where white space is missing. Solution: Mention the text where the error was seen. (closes #7580)
This commit is contained in:
parent
b8ba9b9197
commit
e7a73e0762
@ -41,8 +41,8 @@ EXTERN char e_syntax_error_at_str[]
|
||||
INIT(= N_("E1002: Syntax error at %s"));
|
||||
EXTERN char e_missing_return_value[]
|
||||
INIT(= N_("E1003: Missing return value"));
|
||||
EXTERN char e_white_space_required_before_and_after_str[]
|
||||
INIT(= N_("E1004: White space required before and after '%s'"));
|
||||
EXTERN char e_white_space_required_before_and_after_str_at_str[]
|
||||
INIT(= N_("E1004: White space required before and after '%s' at \"%s\""));
|
||||
EXTERN char e_too_many_argument_types[]
|
||||
INIT(= N_("E1005: Too many argument types"));
|
||||
EXTERN char e_str_is_used_as_argument[]
|
||||
|
@ -3778,7 +3778,8 @@ eval_index(
|
||||
return FAIL;
|
||||
else if (vim9 && **arg == ':')
|
||||
{
|
||||
semsg(_(e_white_space_required_before_and_after_str), ":");
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str),
|
||||
":", *arg);
|
||||
clear_tv(&var1);
|
||||
return FAIL;
|
||||
}
|
||||
@ -3799,7 +3800,8 @@ eval_index(
|
||||
++*arg;
|
||||
if (vim9 && !IS_WHITE_OR_NUL(**arg) && **arg != ']')
|
||||
{
|
||||
semsg(_(e_white_space_required_before_and_after_str), ":");
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str),
|
||||
":", *arg - 1);
|
||||
if (!empty1)
|
||||
clear_tv(&var1);
|
||||
return FAIL;
|
||||
|
@ -863,7 +863,8 @@ ex_let(exarg_T *eap)
|
||||
|| !IS_WHITE_OR_NUL(*expr)))
|
||||
{
|
||||
vim_strncpy(op, expr - len, len);
|
||||
semsg(_(e_white_space_required_before_and_after_str), op);
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str),
|
||||
op, argend);
|
||||
i = FAIL;
|
||||
}
|
||||
|
||||
|
@ -108,7 +108,7 @@ def Test_expr1_trinary_vimscript()
|
||||
vim9script
|
||||
var name = v:true?1:2
|
||||
END
|
||||
CheckScriptFailure(lines, 'E1004:', 2)
|
||||
CheckScriptFailure(lines, 'E1004: White space required before and after ''?'' at "?1:2"', 2)
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var name = v:true? 1 : 2
|
||||
@ -123,7 +123,7 @@ def Test_expr1_trinary_vimscript()
|
||||
vim9script
|
||||
var name = v:true ? 1: 2
|
||||
END
|
||||
CheckScriptFailure(lines, 'E1004:', 2)
|
||||
CheckScriptFailure(lines, 'E1004: White space required before and after '':'' at ": 2"', 2)
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var name = v:true ? 1 :2
|
||||
@ -333,7 +333,7 @@ def Test_expr2_vimscript()
|
||||
vim9script
|
||||
var name = v:true||v:true
|
||||
END
|
||||
CheckScriptFailure(lines, 'E1004:', 2)
|
||||
CheckScriptFailure(lines, 'E1004: White space required before and after ''||'' at "||v:true"', 2)
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var name = v:true ||v:true
|
||||
@ -454,7 +454,7 @@ def Test_expr3_vimscript()
|
||||
vim9script
|
||||
var name = v:true &&v:true
|
||||
END
|
||||
CheckScriptFailure(lines, 'E1004:', 2)
|
||||
CheckScriptFailure(lines, 'E1004: White space required before and after ''&&'' at "&&v:true"', 2)
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var name = v:true&& v:true
|
||||
@ -920,7 +920,7 @@ def Test_expr4_vim9script()
|
||||
vim9script
|
||||
echo 2>3
|
||||
END
|
||||
CheckScriptFailure(lines, 'E1004:', 2)
|
||||
CheckScriptFailure(lines, 'E1004: White space required before and after ''>'' at ">3"', 2)
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
echo 2 >3
|
||||
@ -940,7 +940,7 @@ def Test_expr4_vim9script()
|
||||
vim9script
|
||||
echo 2 !=3
|
||||
END
|
||||
CheckScriptFailure(lines, 'E1004:', 2)
|
||||
CheckScriptFailure(lines, 'E1004: White space required before and after ''!'' at "!=3"', 2)
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
echo 2!= 3
|
||||
@ -1192,7 +1192,7 @@ def Test_expr5_vim9script()
|
||||
vim9script
|
||||
echo 'a'..'b'
|
||||
END
|
||||
CheckScriptFailure(lines, 'E1004:', 2)
|
||||
CheckScriptFailure(lines, 'E1004: White space required before and after ''..'' at "..''b''"', 2)
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
echo 'a' ..'b'
|
||||
@ -1729,7 +1729,8 @@ def Test_expr7_list()
|
||||
var a = 1
|
||||
var b = 2
|
||||
END
|
||||
CheckDefAndScriptFailure(lines + ['echo numbers[1:b]'], 'E1004:', 4)
|
||||
CheckDefAndScriptFailure(lines + ['echo numbers[1:b]'],
|
||||
'E1004: White space required before and after '':'' at ":b]"', 4)
|
||||
CheckDefAndScriptFailure(lines + ['echo numbers[1: b]'], 'E1004:', 4)
|
||||
CheckDefAndScriptFailure(lines + ['echo numbers[a :b]'], 'E1004:', 4)
|
||||
enddef
|
||||
@ -1876,7 +1877,7 @@ def Test_expr7_lambda()
|
||||
CheckDefAndScriptSuccess(lines)
|
||||
|
||||
CheckDefFailure(["var Ref = (a)=>a + 1"], 'E1004:')
|
||||
CheckDefFailure(["var Ref = (a)=> a + 1"], 'E1004:')
|
||||
CheckDefFailure(["var Ref = (a)=> a + 1"], 'E1004: White space required before and after ''=>'' at "=> a + 1"')
|
||||
CheckDefFailure(["var Ref = (a) =>a + 1"], 'E1004:')
|
||||
|
||||
CheckDefFailure(["filter([1, 2], (k,v) => 1)"], 'E1069:', 1)
|
||||
@ -1976,7 +1977,8 @@ def Test_expr7_new_lambda()
|
||||
|
||||
CheckDefAndScriptFailure(["var Ref = (a)=>a + 1"], 'E1004:')
|
||||
CheckDefAndScriptFailure(["var Ref = (a)=> a + 1"], 'E1004:')
|
||||
CheckDefAndScriptFailure(["var Ref = (a) =>a + 1"], 'E1004:')
|
||||
CheckDefAndScriptFailure(["var Ref = (a) =>a + 1"],
|
||||
'E1004: White space required before and after ''=>'' at " =>a + 1"')
|
||||
|
||||
CheckDefFailure(["var Ref: func(number): number = (a: number): string => 'x'"], 'E1012:')
|
||||
CheckDefFailure(["var Ref: func(number): string = (a: number): string => 99"], 'E1012:')
|
||||
|
@ -501,8 +501,8 @@ skip_arrow(
|
||||
|| !IS_WHITE_OR_NUL(s[1])))
|
||||
{
|
||||
*white_error = TRUE;
|
||||
semsg(_(e_white_space_required_before_and_after_str),
|
||||
equal_arrow ? "=>" : "->");
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str),
|
||||
equal_arrow ? "=>" : "->", bef);
|
||||
return NULL;
|
||||
}
|
||||
return skipwhite(s + 1);
|
||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2266,
|
||||
/**/
|
||||
2265,
|
||||
/**/
|
||||
|
@ -3656,7 +3656,8 @@ compile_subscript(
|
||||
return FAIL;
|
||||
if (**arg == ':')
|
||||
{
|
||||
semsg(_(e_white_space_required_before_and_after_str), ":");
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str),
|
||||
":", *arg);
|
||||
return FAIL;
|
||||
}
|
||||
if (may_get_next_line_error(p, arg, cctx) == FAIL)
|
||||
@ -3669,7 +3670,8 @@ compile_subscript(
|
||||
++*arg;
|
||||
if (!IS_WHITE_OR_NUL(**arg) && **arg != ']')
|
||||
{
|
||||
semsg(_(e_white_space_required_before_and_after_str), ":");
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str),
|
||||
":", *arg);
|
||||
return FAIL;
|
||||
}
|
||||
*arg = skipwhite(*arg);
|
||||
@ -4067,7 +4069,7 @@ error_white_both(char_u *op, int len)
|
||||
char_u buf[10];
|
||||
|
||||
vim_strncpy(buf, op, len);
|
||||
semsg(_(e_white_space_required_before_and_after_str), buf);
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str), buf, op);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -4434,7 +4436,8 @@ compile_and_or(
|
||||
|
||||
if (!IS_WHITE_OR_NUL(**arg) || !IS_WHITE_OR_NUL(p[2]))
|
||||
{
|
||||
semsg(_(e_white_space_required_before_and_after_str), op);
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str),
|
||||
op, *arg);
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
@ -4608,8 +4611,8 @@ compile_expr1(char_u **arg, cctx_T *cctx, ppconst_T *ppconst)
|
||||
|
||||
if (!IS_WHITE_OR_NUL(**arg) || !IS_WHITE_OR_NUL(p[1 + op_falsy]))
|
||||
{
|
||||
semsg(_(e_white_space_required_before_and_after_str),
|
||||
op_falsy ? "??" : "?");
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str),
|
||||
op_falsy ? "??" : "?", *arg);
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
@ -4695,7 +4698,8 @@ compile_expr1(char_u **arg, cctx_T *cctx, ppconst_T *ppconst)
|
||||
|
||||
if (!IS_WHITE_OR_NUL(**arg) || !IS_WHITE_OR_NUL(p[1]))
|
||||
{
|
||||
semsg(_(e_white_space_required_before_and_after_str), ":");
|
||||
semsg(_(e_white_space_required_before_and_after_str_at_str),
|
||||
":", p);
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user