]> git.ipfire.org Git - thirdparty/vim.git/commit
runtime(vim): Update base-syntax, improve variable matching
authorDoug Kearns <dougkearns@gmail.com>
Mon, 10 Feb 2025 21:00:27 +0000 (22:00 +0100)
committerChristian Brabandt <cb@256bit.org>
Mon, 10 Feb 2025 21:00:27 +0000 (22:00 +0100)
commit1aa287e0480ff9e6c8d7029b0665b565b7cd6e59
treef1e936dec329f8bc02aa0e7be9cfab881bc02c62
parent54d7f18c3882bfa2b1c4294a862007feb9b6a382
runtime(vim): Update base-syntax, improve variable matching

- Match variables after operators, including line continuations.
- Match option variables without leading whitespace.
- Explicitly match expression subscripts.
- Match Vim9 variables in LHS of assignments and method calls.
- Match option variables (&option) with a dedicated syntax group like
  environment variables.
- Match list literals, fixes: #5830
- Match :{un}lockvar arguments.
- Match registers and environment variables in :let unpack lists.
- Match lambda expressions
- Match Vim9 scope blocks
- Match variables in :for subject
- Highlight user variables with Normal
- Improve this/super keyword matching, fixes: #15970

closes: #16476

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
221 files changed:
runtime/syntax/generator/vim.vim.base
runtime/syntax/testdir/dumps/vim9_block_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_block_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_block_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_comment_03.dump
runtime/syntax/testdir/dumps/vim9_def_variables_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_10.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_def_variables_11.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_ex_commands_11.dump
runtime/syntax/testdir/dumps/vim9_ex_commands_43.dump
runtime/syntax/testdir/dumps/vim9_ex_commands_44.dump
runtime/syntax/testdir/dumps/vim9_ex_for_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_ex_for_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_ex_for_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_ex_for_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_ex_type_00.dump
runtime/syntax/testdir/dumps/vim9_expr_01.dump
runtime/syntax/testdir/dumps/vim9_expr_05.dump
runtime/syntax/testdir/dumps/vim9_lambda_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_lambda_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_lambda_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_lambda_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_lambda_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_lambda_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_lambda_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_legacy_header_00.dump
runtime/syntax/testdir/dumps/vim9_super_this_keywords2_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords2_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords2_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords2_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords3_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords3_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_super_this_keywords_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_10.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_11.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_comment_03.dump
runtime/syntax/testdir/dumps/vim_ex_command_03.dump
runtime/syntax/testdir/dumps/vim_ex_command_04.dump
runtime/syntax/testdir/dumps/vim_ex_commands_11.dump
runtime/syntax/testdir/dumps/vim_ex_commands_33.dump
runtime/syntax/testdir/dumps/vim_ex_commands_36.dump
runtime/syntax/testdir/dumps/vim_ex_commands_43.dump
runtime/syntax/testdir/dumps/vim_ex_commands_45.dump
runtime/syntax/testdir/dumps/vim_ex_def_06.dump
runtime/syntax/testdir/dumps/vim_ex_def_nested_00.dump
runtime/syntax/testdir/dumps/vim_ex_def_nested_01.dump
runtime/syntax/testdir/dumps/vim_ex_def_nested_fold_00.dump
runtime/syntax/testdir/dumps/vim_ex_for_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_for_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_for_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_for_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_function_09.dump
runtime/syntax/testdir/dumps/vim_ex_function_11.dump
runtime/syntax/testdir/dumps/vim_ex_function_fold_10.dump
runtime/syntax/testdir/dumps/vim_ex_function_fold_11.dump
runtime/syntax/testdir/dumps/vim_ex_let_heredoc_10.dump
runtime/syntax/testdir/dumps/vim_ex_let_heredoc_11.dump
runtime/syntax/testdir/dumps/vim_ex_menu_04.dump
runtime/syntax/testdir/dumps/vim_ex_substitute_01.dump
runtime/syntax/testdir/dumps/vim_ex_substitute_02.dump
runtime/syntax/testdir/dumps/vim_ex_substitute_08.dump
runtime/syntax/testdir/dumps/vim_ex_syntax_09.dump
runtime/syntax/testdir/dumps/vim_expr_01.dump
runtime/syntax/testdir/dumps/vim_expr_02.dump
runtime/syntax/testdir/dumps/vim_expr_03.dump
runtime/syntax/testdir/dumps/vim_expr_04.dump
runtime/syntax/testdir/dumps/vim_expr_05.dump
runtime/syntax/testdir/dumps/vim_expr_06.dump
runtime/syntax/testdir/dumps/vim_expr_07.dump
runtime/syntax/testdir/dumps/vim_expr_08.dump
runtime/syntax/testdir/dumps/vim_expr_09.dump
runtime/syntax/testdir/dumps/vim_expr_10.dump
runtime/syntax/testdir/dumps/vim_expr_11.dump
runtime/syntax/testdir/dumps/vim_expr_12.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_expr_13.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_10.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_11.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_12.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_13.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_14.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_15.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_16.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_17.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_18.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_19.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_20.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_function_variables_21.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_lambda_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_lambda_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_lambda_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_lambda_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_lambda_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_lambda_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_lambda_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_line_continuation_02.dump
runtime/syntax/testdir/dumps/vim_object_methods_00.dump
runtime/syntax/testdir/dumps/vim_object_methods_01.dump
runtime/syntax/testdir/dumps/vim_object_methods_02.dump
runtime/syntax/testdir/dumps/vim_object_methods_03.dump
runtime/syntax/testdir/dumps/vim_variables_00.dump
runtime/syntax/testdir/dumps/vim_variables_01.dump
runtime/syntax/testdir/dumps/vim_variables_02.dump
runtime/syntax/testdir/dumps/vim_variables_03.dump
runtime/syntax/testdir/dumps/vim_variables_04.dump
runtime/syntax/testdir/dumps/vim_variables_05.dump
runtime/syntax/testdir/dumps/vim_variables_06.dump
runtime/syntax/testdir/dumps/vim_variables_07.dump
runtime/syntax/testdir/dumps/vim_variables_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_10.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_11.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_12.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_13.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_14.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_15.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_16.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_17.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_18.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_19.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_20.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_variables_21.dump [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_block.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_comment.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_def_variables.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_ex_class_fold.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_ex_commands.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_ex_for.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_ex_function_def_tail_comment_errors.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_ex_function_def_tail_comments.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_ex_interface_fold.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_ex_loadkeymap.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_expr.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_lambda.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_legacy_header.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_super_this_keywords.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_super_this_keywords2.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_super_this_keywords3.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim9_variables.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_comment.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_call.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_command.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_commands.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_def.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_def_fold.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_def_nested.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_def_nested_fold.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_echo.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_execute.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_for.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_function.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_function_def_tail_comment_errors.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_function_def_tail_comments.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_function_fold.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_let_heredoc.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_loadkeymap.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_loadkeymap_after_bar.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_loadkeymap_after_colon.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_map.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_match.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_menu.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_substitute.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_ex_syntax.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_expr.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_function_variables.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_lambda.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_line_continuation.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_object_methods.vim [new file with mode: 0644]
runtime/syntax/testdir/input/setup/vim_variables.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim9_block.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim9_def_variables.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim9_ex_commands.vim
runtime/syntax/testdir/input/vim9_ex_for.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim9_lambda.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim9_super_this_keywords.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim9_super_this_keywords2.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim9_super_this_keywords3.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim9_variables.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim_ex_commands.vim
runtime/syntax/testdir/input/vim_ex_def_nested.vim
runtime/syntax/testdir/input/vim_ex_def_nested_fold.vim
runtime/syntax/testdir/input/vim_ex_for.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim_expr.vim
runtime/syntax/testdir/input/vim_function_variables.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim_lambda.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim_object_methods.vim
runtime/syntax/testdir/input/vim_variables.vim
runtime/syntax/vim.vim