mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-13 13:39:02 +00:00
Correctly detect unbalanced 'end' in syntax highlighting
This commit is contained in:
parent
920adb8296
commit
2a1fd421bd
2 changed files with 8 additions and 2 deletions
|
@ -2263,9 +2263,15 @@ static void test_highlighting(void)
|
||||||
{L"param2", HIGHLIGHT_PARAM},
|
{L"param2", HIGHLIGHT_PARAM},
|
||||||
{NULL, -1}
|
{NULL, -1}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const highlight_component_t components9[] =
|
||||||
|
{
|
||||||
|
{L"end", HIGHLIGHT_ERROR},
|
||||||
|
{NULL, -1}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const highlight_component_t *tests[] = {components1, components2, components3, components4, components5, components6, components7, components8};
|
const highlight_component_t *tests[] = {components1, components2, components3, components4, components5, components6, components7, components8, components9};
|
||||||
for (size_t which = 0; which < sizeof tests / sizeof *tests; which++)
|
for (size_t which = 0; which < sizeof tests / sizeof *tests; which++)
|
||||||
{
|
{
|
||||||
const highlight_component_t *components = tests[which];
|
const highlight_component_t *components = tests[which];
|
||||||
|
|
|
@ -862,7 +862,7 @@ bool parse_t::parse_internal(const wcstring &str, parse_tree_flags_t parse_flags
|
||||||
if (parse_flags & parse_flag_continue_after_error)
|
if (parse_flags & parse_flag_continue_after_error)
|
||||||
{
|
{
|
||||||
/* Mark a special error token, and then keep going */
|
/* Mark a special error token, and then keep going */
|
||||||
const parse_token_t token = {parse_special_type_parse_error, parse_keyword_none, -1, -1};
|
const parse_token_t token = {parse_special_type_parse_error, parse_keyword_none, false, queue[0].source_start, queue[0].source_length};
|
||||||
this->parser->accept_tokens(token, kInvalidToken);
|
this->parser->accept_tokens(token, kInvalidToken);
|
||||||
this->parser->reset_symbols();
|
this->parser->reset_symbols();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue