From 6ac2e4aa0a565dc8cac73b33c9c099cea77212a8 Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Thu, 10 Jul 2025 20:50:06 +0200 Subject: [PATCH] runtime(vim): Update base syntax, improve function call highlighting - Match more function calls. - Contain function call syntax groups. - Improve differentiation between Ex commands and builtin functions with the same name. Remove special cases. Command modifiers are not currently well differentiated from functions. closes: #17712 Signed-off-by: Doug Kearns Signed-off-by: Christian Brabandt --- runtime/syntax/generator/vim.vim.base | 60 ++-- ...x_function_def_tail_comment_errors_00.dump | 2 +- ...x_function_def_tail_comment_errors_01.dump | 2 +- ...x_function_def_tail_comment_errors_02.dump | 2 +- ...vim9_ex_function_def_tail_comments_00.dump | 2 +- ...vim9_ex_function_def_tail_comments_01.dump | 2 +- ...vim9_ex_function_def_tail_comments_02.dump | 2 +- .../testdir/dumps/vim9_function_call_00.dump | 20 ++ .../testdir/dumps/vim9_function_call_01.dump | 20 ++ .../testdir/dumps/vim9_function_call_02.dump | 20 ++ .../testdir/dumps/vim9_function_call_03.dump | 20 ++ .../testdir/dumps/vim9_function_call_04.dump | 20 ++ .../testdir/dumps/vim9_function_call_05.dump | 20 ++ .../testdir/dumps/vim9_function_call_06.dump | 20 ++ .../testdir/dumps/vim9_function_call_07.dump | 20 ++ .../testdir/dumps/vim9_function_call_08.dump | 20 ++ .../testdir/dumps/vim9_function_call_09.dump | 20 ++ .../testdir/dumps/vim9_function_call_10.dump | 20 ++ .../testdir/dumps/vim9_function_call_11.dump | 20 ++ .../testdir/dumps/vim9_function_call_12.dump | 20 ++ .../testdir/dumps/vim9_function_call_13.dump | 20 ++ .../testdir/dumps/vim9_function_call_14.dump | 20 ++ .../testdir/dumps/vim9_function_call_15.dump | 20 ++ .../testdir/dumps/vim9_function_call_16.dump | 20 ++ .../syntax/testdir/dumps/vim9_lambda_09.dump | 2 +- .../testdir/dumps/vim_ex_execute_01.dump | 2 +- .../testdir/dumps/vim_ex_execute_02.dump | 2 +- .../testdir/dumps/vim_ex_execute_03.dump | 4 +- ...x_function_def_tail_comment_errors_00.dump | 2 +- ...x_function_def_tail_comment_errors_01.dump | 2 +- ...x_function_def_tail_comment_errors_02.dump | 2 +- .../vim_ex_function_def_tail_comments_00.dump | 2 +- .../vim_ex_function_def_tail_comments_01.dump | 2 +- .../vim_ex_function_def_tail_comments_02.dump | 2 +- .../syntax/testdir/dumps/vim_ex_match_00.dump | 6 +- .../syntax/testdir/dumps/vim_ex_match_01.dump | 18 +- .../syntax/testdir/dumps/vim_ex_match_02.dump | 20 ++ .../testdir/dumps/vim_ex_substitute_11.dump | 2 +- .../testdir/dumps/vim_function_call_00.dump | 20 ++ .../testdir/dumps/vim_function_call_01.dump | 20 ++ .../testdir/dumps/vim_function_call_02.dump | 20 ++ .../testdir/dumps/vim_function_call_03.dump | 20 ++ .../testdir/dumps/vim_function_call_04.dump | 20 ++ .../testdir/dumps/vim_function_call_05.dump | 20 ++ .../testdir/dumps/vim_function_call_06.dump | 20 ++ .../testdir/dumps/vim_function_call_07.dump | 20 ++ .../testdir/dumps/vim_function_call_08.dump | 20 ++ .../testdir/dumps/vim_function_call_09.dump | 20 ++ .../testdir/dumps/vim_function_call_10.dump | 20 ++ .../testdir/dumps/vim_function_call_11.dump | 20 ++ .../testdir/dumps/vim_function_call_12.dump | 20 ++ .../testdir/dumps/vim_function_call_13.dump | 20 ++ .../testdir/dumps/vim_function_call_14.dump | 20 ++ runtime/syntax/testdir/dumps/vim_new_00.dump | 6 +- .../testdir/input/vim9_function_call.vim | 295 ++++++++++++++++++ .../syntax/testdir/input/vim_ex_execute.vim | 1 - runtime/syntax/testdir/input/vim_ex_match.vim | 8 +- .../testdir/input/vim_function_call.vim | 265 ++++++++++++++++ runtime/syntax/vim.vim | 58 ++-- 59 files changed, 1324 insertions(+), 89 deletions(-) create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_00.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_01.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_02.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_03.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_04.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_05.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_06.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_07.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_08.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_09.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_10.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_11.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_12.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_13.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_14.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_15.dump create mode 100644 runtime/syntax/testdir/dumps/vim9_function_call_16.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_match_02.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_00.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_01.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_02.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_03.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_04.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_05.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_06.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_07.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_08.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_09.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_10.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_11.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_12.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_13.dump create mode 100644 runtime/syntax/testdir/dumps/vim_function_call_14.dump create mode 100644 runtime/syntax/testdir/input/vim9_function_call.vim create mode 100644 runtime/syntax/testdir/input/vim_function_call.vim diff --git a/runtime/syntax/generator/vim.vim.base b/runtime/syntax/generator/vim.vim.base index 3c444da2d1..debf2fb454 100644 --- a/runtime/syntax/generator/vim.vim.base +++ b/runtime/syntax/generator/vim.vim.base @@ -2,7 +2,7 @@ " Language: Vim script " Maintainer: Hirohito Higashi " Doug Kearns -" Last Change: 2025 Jul 05 +" Last Change: 2025 Jul 10 " Former Maintainer: Charles E. Campbell " DO NOT CHANGE DIRECTLY. @@ -232,7 +232,7 @@ syn case match " All vimCommands are contained by vimIsCommand. {{{2 syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimCommandModifier,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,vimDelFunction,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,vimFiletype,vimFor,vimFunction,vimFunctionFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimImport,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimProfdel,vimProfile,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimSynColor,vimSynLink,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var -syn match vimCmdSep "\\\@1" nextgroup=vimBang contains=vimCommand @@ -268,7 +268,7 @@ Vim9 syn match vim9LhsVariableList "\[\_[^]]\+]\ze\s\+\.\.=" contains=vimVar,@ Vim9 syn match vim9LhsRegister "@["0-9\-a-zA-Z#=*+_/]\ze\s\+\%(\.\.\)\==" -syn cluster vimExprList contains=@vimSpecialVar,vimFunc,vimNumber,vimOper,vimOperParen,vimLambda,vimString,vimVar,@vim9ExprList +syn cluster vimExprList contains=@vimSpecialVar,@vimFunc,vimNumber,vimOper,vimOperParen,vimLambda,vimString,vimVar,@vim9ExprList syn cluster vim9ExprList contains=vim9Boolean,vim9LambdaParams,vim9Null " Insertions And Appends: insert append {{{2 @@ -291,7 +291,7 @@ syn keyword vimBehaveModel contained mswin xterm " Call {{{2 " ==== -syn match vimCall "\" skipwhite nextgroup=vimFunc +syn match vimCall "\" skipwhite nextgroup=@vimFunc " Debuggreedy {{{2 " =========== @@ -361,7 +361,7 @@ syn match vimImport "\" skipwhite nextgroup=vimImportAutoload,vim " Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking. -syn cluster vimAugroupList contains=@vimCmdList,vimFilter,vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,@vimComment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimContinue +syn cluster vimAugroupList contains=@vimCmdList,vimFilter,@vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,@vimComment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimContinue " define VimFolda syn region vimAugroup @@ -436,9 +436,9 @@ syn match vim9LambdaOperatorComment contained "#.*" skipwhite skipempty nextgrou " Functions: Tag is provided for those who wish to highlight tagged functions {{{2 " ========= -syn cluster vimFunctionBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFunctionFold,vimDefFold,vimCmdSep +syn cluster vimFunctionBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunction,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFunctionFold,vimDefFold,vimCmdSep syn cluster vimFunctionBodyList contains=@vimFunctionBodyCommon,vimComment,vimLineComment,vimInsert,vimConst,vimLet,vimSearch -syn cluster vimDefBodyList contains=@vimFunctionBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar +syn cluster vimDefBodyList contains=@vimFunctionBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar,@vim9Func syn region vimFunctionPattern contained \ matchgroup=vimOper @@ -751,7 +751,7 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained " User-Specified Commands: {{{2 " ======================= -syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange +syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,@vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange syn match vimUserCmd "\!\=" skipwhite nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang syn match vimUserCmd +\!\=\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang @@ -975,7 +975,7 @@ syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)' " Set command and associated set-options (vimOptions) with comment {{{2 syn match vimSet "\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skipwhite nextgroup=vimSetBang,vimCmdSep,vimComment,vimSetArgs syn region vimSetComment contained start=+"+ skip=+\n\s*\%(\\\||"\\ \)+ end="$" contains=@vimCommentGroup,vimCommentString extend -syn match vimSetCmdSep contained "|" skipwhite nextgroup=@vimCmdList,vimSubst1,vimFunc +syn match vimSetCmdSep contained "|" skipwhite nextgroup=@vimCmdList,vimSubst1,@vimFunc syn match vimSetEscape contained "\\\%(\\[|"]\|.\)" syn match vimSetBarEscape contained "\\|" syn match vimSetQuoteEscape contained +\\"+ @@ -1183,9 +1183,9 @@ syn region vimAutocmdPattern contained \ skip="\\\\\|\\[,[:space:]]" \ end="\ze[,[:space:]]" \ end="$" - \ skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock + \ skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock,@vimFunc \ contains=vimEnvvar,@vimWildcard,vimAutocmdPatternEscape -syn match vimAutocmdBufferPattern contained "" skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock +syn match vimAutocmdBufferPattern contained "" skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock,@vimFunc " trailing pattern separator comma allowed syn match vimAutocmdPatternSep contained "," skipwhite nextgroup=@vimAutocmdPattern,vimAutocmdMod,vimAutocmdBlock syn match vimAutocmdPatternEscape contained "\\." @@ -1377,6 +1377,12 @@ syn region vimMenutranslate syn match vimMenutranslateName "\%(\\\s\|\S\)\+" contained contains=vimMenuNotation,vimNotation syn match vimMenutranslateComment +".*+ contained containedin=vimMenutranslate +" If, While and Return: {{{2 +" ==================== +syn match vimNotFunc "\%#=1\<\%(if\|el\%[seif]\|retu\%[rn]\|while\)\>" skipwhite nextgroup=@vimExprList,vimNotation +syn match vimElse "\" skipwhite nextgroup=vimComment,vim9Comment +syn match vimEndif "\" skipwhite nextgroup=vimComment,vim9Comment + " Angle-Bracket Notation: (tnx to Michael Geddes) {{{2 " ====================== syn case ignore @@ -1400,17 +1406,8 @@ syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd]-\)\{0,4}char-\% syn match vimBracket contained "[\\<>]" syn case match -" User Function Highlighting: {{{2 -" (following Gautam Iyer's suggestion) -" ========================== -syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute -syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\" contains=vimNotation,vim9MethodName,vim9Super,vim9This -syn keyword vimFuncEcho contained ec ech echo - -syn match vimMap "\\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' +syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([.(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' " Vim user commands @@ -1440,12 +1437,6 @@ if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror") syn match vimBufnrWarn /\" skipwhite nextgroup=@vimExprList,vimNotation -syn match vimElse "\" skipwhite nextgroup=vimComment,vim9Comment -syn match vimEndif "\" skipwhite nextgroup=vimComment,vim9Comment - " Match: {{{2 " ===== syn match vimMatch "\<[23]\=mat\%[ch]\>" skipwhite nextgroup=vimMatchGroup,vimMatchNone @@ -2064,6 +2055,20 @@ VimFoldt syn region vimTclHeredoc contained \ contains=@vimTclScript unlet s:interfaces +" Function Call Highlighting: {{{2 +" (following Gautam Iyer's suggestion) +" ========================== +syn match vimFunc contained "\<\l\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimFuncName +syn match vimUserFunc contained "\<\%([[:upper:]_]\|\%(\h\w*\.\)\+\h\)\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vim9MethodName,vim9Super,vim9This +syn match vimUserFunc contained "\<\%(g:\)\=\%(\h\w*#\)\+\h\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimVarScope +syn match vimUserFunc contained "\%(\<[sgbwtlav]:\|<[sS][iI][dD]>\)\%(\h\w*\.\)*\h\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimVarScope,vimNotation + +Vim9 syn match vim9UserFunc "^\s*\zs\%([sgbwtv]:\|<[sS][iI][dD]>\)\=\%(\h\w*[.#]\)*\h\w*\ze(" skipwhite nextgroup=vimOperParen contains=vimVarScope,vimNotation,vim9MethodName,vim9Super,vim9This +Vim9 syn match vim9Func "^\s*\zs\l\w*\ze(" skipwhite nextgroup=vimOperParen contains=vimFuncName + +syn cluster vimFunc contains=vimFunc,vimUserFunc +syn cluster vim9Func contains=vim9Func,vim9UserFunc + " Beginners - Patterns that involve ^ {{{2 " ========= Vim9 syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle extend @@ -2132,6 +2137,7 @@ if !exists("skip_vim_syntax_inits") hi def link vimFTError vimError hi def link vimFunctionError vimError hi def link vimFunc vimError + hi def link vim9Func vimError hi def link vimHiAttribList vimError hi def link vimHiCtermError vimError hi def link vimHiKeyError vimError diff --git a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_00.dump b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_00.dump index 04f643ddfc..b9b219e2d6 100644 --- a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_00.dump +++ b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_00.dump @@ -15,6 +15,6 @@ @2|f+0#af5f00255&|u|n| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&|a+0#e000e06&|b|o|r|t| +0#0000000&@8|#+0#ffffff16#ff404010| |f|u|n| +0#0000000#ffffff0@37 @4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|3+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d|f|u|n| +0#0000000&@23|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 @57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_01.dump b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_01.dump index cb7caf5687..896ab615c7 100644 --- a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_01.dump +++ b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_01.dump @@ -2,7 +2,7 @@ @2|f+0#af5f00255&|u|n| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&|a+0#e000e06&|b|o|r|t| +0#0000000&@8|#+0#ffffff16#ff404010| |f|u|n| +0#0000000#ffffff0@37 @4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|3+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d|f|u|n| +0#0000000&@23|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 >e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 @75 |d+0#af5f00255&|e|f| +0#0000000&|T|e|s|t|4|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@12|"+0#ffffff16#ff404010| |d|e|f| +0#0000000#ffffff0@37 diff --git a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_02.dump b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_02.dump index e74df6743a..71c31bf929 100644 --- a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_02.dump +++ b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_02.dump @@ -5,7 +5,7 @@ @2|d+0#af5f00255&|e|f| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|6|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@6|"+0#ffffff16#ff404010| |d|e|f| +0#0000000#ffffff0@37 @4>r+0#af5f00255&|e|t|u|r|n| +0#0000000&|6+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@23|"+0#ffffff16#ff404010| |e|n|d@1|e|f| +0#0000000#ffffff0@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|6|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|6|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 @75 |f+0#af5f00255&|o|r| +0#0000000&|d+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#e000e06&|1+0#e000002&|,+0#0000000&| |6+0#e000002&|)+0#e000e06&| +0#0000000&@54 diff --git a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_00.dump b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_00.dump index b6ed4904da..081c0a3edc 100644 --- a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_00.dump +++ b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_00.dump @@ -15,6 +15,6 @@ @2|f+0#af5f00255&|u|n| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&|a+0#e000e06&|b|o|r|t| +0#0000000&@8|"+0#0000e05&| |f|u|n| +0#0000000&@37 @4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|3+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d|f|u|n| +0#0000000&@23|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 @57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_01.dump b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_01.dump index 6cb37d1258..30083bd4d0 100644 --- a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_01.dump +++ b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_01.dump @@ -2,7 +2,7 @@ @2|f+0#af5f00255&|u|n| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&|a+0#e000e06&|b|o|r|t| +0#0000000&@8|"+0#0000e05&| |f|u|n| +0#0000000&@37 @4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|3+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d|f|u|n| +0#0000000&@23|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 >e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 @75 |d+0#af5f00255&|e|f| +0#0000000&|T|e|s|t|4|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@12|#+0#0000e05&| |d|e|f| +0#0000000&@37 diff --git a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_02.dump b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_02.dump index 7df9e8f150..e9e8022b94 100644 --- a/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_02.dump +++ b/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_02.dump @@ -5,7 +5,7 @@ @2|d+0#af5f00255&|e|f| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|6|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@6|#+0#0000e05&| |d|e|f| +0#0000000&@37 @4>r+0#af5f00255&|e|t|u|r|n| +0#0000000&|6+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@23|#+0#0000e05&| |e|n|d@1|e|f| +0#0000000&@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|6|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|6|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 @75 |f+0#af5f00255&|o|r| +0#0000000&|d+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#e000e06&|1+0#e000002&|,+0#0000000&| |6+0#e000002&|)+0#e000e06&| +0#0000000&@54 diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_00.dump b/runtime/syntax/testdir/dumps/vim9_function_call_00.dump new file mode 100644 index 0000000000..c90f2fa1c6 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_00.dump @@ -0,0 +1,20 @@ +>v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64 +|#+0#0000e05&| |V|i|m| |f|u|n|c|t|i|o|n| |c|a|l@1|s| +0#0000000&@54 +|#+0#0000e05&| |V|I|M|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |v|i|m|U|s|e|r|F|u|n|c| |T|o|d|o| +0#0000000&@31 +|#+0#0000e05&| |V|I|M|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |v|i|m|9|U|s|e|r|F|u|n|c| |T|o|d|o| +0#0000000&@30 +@75 +@75 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@67 +@75 +@75 +|#+0#0000e05&| |c|o|m@1|a|n|d|/|f|u|n|c|t|i|o|n| |d|i|s|t|i|n|c|t|i|o|n| +0#0000000&@44 +@75 +|#+0#0000e05&| |a|p@1|e|n|d| |b|r|o|w|s|e| |c|a|l@1| |c|h|d|i|r| |c|o|n|f|i|r|m| |c|o|p|y| |d|e|l|e|t|e| |e|v|a|l| |e|x|e|c|u|t|e| |f|i|l|t|e|r| |f|u|n|c|t|i|o|n +|#| |i|n|s|e|r|t| |j|o|i|n| |m|a|p| |m|a|t|c|h| |m|o|d|e| |s|o|r|t| |s|p|l|i|t| |s|u|b|s|t|i|t|u|t|e| |s|w|a|p|n|a|m|e| |t|y|p|e| +0#0000000&@10 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|a|p@1|e|n|d| |=+0#af5f00255&| +0#0000000&|a+0#00e0e07&|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|a+0#00e0e07&|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +@57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_01.dump b/runtime/syntax/testdir/dumps/vim9_function_call_01.dump new file mode 100644 index 0000000000..065e553ee6 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_01.dump @@ -0,0 +1,20 @@ +|#+0#0000e05#ffffff0| |i|n|s|e|r|t| |j|o|i|n| |m|a|p| |m|a|t|c|h| |m|o|d|e| |s|o|r|t| |s|p|l|i|t| |s|u|b|s|t|i|t|u|t|e| |s|w|a|p|n|a|m|e| |t|y|p|e| +0#0000000&@10 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|a|p@1|e|n|d| |=+0#af5f00255&| +0#0000000&|a+0#00e0e07&|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +>a+0#00e0e07&|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|#+0#0000e05&| |L|e|g|a|c|y| |c|o|m@1|a|n|d| +0#0000000&@58 +|#+0#0000e05&| |a|p@1|e|n|d| |(|4|2|)| +0#0000000&@61 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|b|r|o|w|s|e| |=+0#af5f00255&| +0#0000000&|b+0#00e0e07&|r|o|w|s|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|r|o|w|s|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|b+0#af5f00255&|r|o|w|s|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|b+0#af5f00255&|r|o|w|s|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|c|a|l@1| |=+0#af5f00255&| +0#0000000&|c+0#00e0e07&|a|l@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|c+0#00e0e07&|a|l@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +@57|1|9|,|1| @10|4|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_02.dump b/runtime/syntax/testdir/dumps/vim9_function_call_02.dump new file mode 100644 index 0000000000..c669eaf7bd --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_02.dump @@ -0,0 +1,20 @@ +|#+0#0000e05#ffffff0| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|c+0#00e0e07&|a|l@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|c+0#af5f00255&|a|l@1| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +>v+0#af5f00255&|a|r| +0#0000000&|c|h|d|i|r| |=+0#af5f00255&| +0#0000000&|c+0#00e0e07&|h|d|i|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|c+0#af5f00255&|a|l@1| +0#0000000&|c+0#00e0e07&|h|d|i|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|c+0#00e0e07&|h|d|i|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|c+0#af5f00255&|h|d|i|r| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|c|o|n|f|i|r|m| |=+0#af5f00255&| +0#0000000&|c+0#00e0e07&|o|n|f|i|r|m|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@49 +|c+0#af5f00255&|a|l@1| +0#0000000&|c+0#00e0e07&|o|n|f|i|r|m|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|c+0#af5f00255&|o|n|f|i|r|m|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|c+0#af5f00255&|o|n|f|i|r|m| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +@75 +@57|3|7|,|1| @9|1@1|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_03.dump b/runtime/syntax/testdir/dumps/vim9_function_call_03.dump new file mode 100644 index 0000000000..4876999438 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_03.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@74 +|v+0#af5f00255&|a|r| +0#0000000&|c|o|p|y| |=+0#af5f00255&| +0#0000000&|c+0#00e0e07&|o|p|y|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|c+0#00e0e07&|o|p|y|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|c+0#00e0e07&|o|p|y|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +>#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|c+0#af5f00255&|o|p|y| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|d|e|l|e|t|e| |=+0#af5f00255&| +0#0000000&|d+0#00e0e07&|e|l|e|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|d+0#00e0e07&|e|l|e|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|d+0#00e0e07&|e|l|e|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|d+0#af5f00255&|e|l|e|t|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|e|v|a|l| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|v|a|l|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|e+0#00e0e07&|v|a|l|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|e+0#00e0e07&|v|a|l|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +@57|5@1|,|1| @9|1|7|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_04.dump b/runtime/syntax/testdir/dumps/vim9_function_call_04.dump new file mode 100644 index 0000000000..9bc1fb7b48 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_04.dump @@ -0,0 +1,20 @@ +|e+0#00e0e07#ffffff0|v|a|l|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|e+0#af5f00255&|v|a|l| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|e|x|e|c|u|t|e| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|e|c|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@49 +>c+0#af5f00255&|a|l@1| +0#0000000&|e+0#00e0e07&|x|e|c|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|e+0#00e0e07&|x|e|c|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|e+0#af5f00255&|x|e|c|u|t|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|i|l|t|e|r| |=+0#af5f00255&| +0#0000000&|f+0#00e0e07&|i|l|t|e|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|f+0#00e0e07&|i|l|t|e|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|f+0#00e0e07&|i|l|t|e|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|f+0#af5f00255&|i|l|t|e|r| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|u|n|c|t|i|o|n| |=+0#af5f00255&| +0#0000000&|f+0#00e0e07&|u|n|c|t|i|o|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@47 +@57|7|3|,|1| @9|2|4|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_05.dump b/runtime/syntax/testdir/dumps/vim9_function_call_05.dump new file mode 100644 index 0000000000..a8f4970cf1 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_05.dump @@ -0,0 +1,20 @@ +|v+0#af5f00255#ffffff0|a|r| +0#0000000&|f|u|n|c|t|i|o|n| |=+0#af5f00255&| +0#0000000&|f+0#00e0e07&|u|n|c|t|i|o|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@47 +|c+0#af5f00255&|a|l@1| +0#0000000&|f+0#00e0e07&|u|n|c|t|i|o|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|f+0#00e0e07&|u|n|c|t|i|o|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +>f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|i|n|s|e|r|t| |=+0#af5f00255&| +0#0000000&|i+0#00e0e07&|n|s|e|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|i+0#00e0e07&|n|s|e|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|i+0#00e0e07&|n|s|e|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|#+0#0000e05&| |L|e|g|a|c|y| |c|o|m@1|a|n|d| +0#0000000&@58 +|#+0#0000e05&| |i|n|s|e|r|t| |(|4|2|)| +0#0000000&@61 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|j|o|i|n| |=+0#af5f00255&| +0#0000000&|j+0#00e0e07&|o|i|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|j+0#00e0e07&|o|i|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|j+0#00e0e07&|o|i|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +@57|9|1|,|1| @9|3|0|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_06.dump b/runtime/syntax/testdir/dumps/vim9_function_call_06.dump new file mode 100644 index 0000000000..c8c8f387f8 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_06.dump @@ -0,0 +1,20 @@ +|#+0#0000e05#ffffff0| |c|o|m@1|a|n|d| +0#0000000&@65 +|j+0#af5f00255&|o|i|n| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|m|a|p| |=+0#af5f00255&| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +>#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|m+0#00e0e07&|a|p|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@67 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|m+0#af5f00255&|a|p| +0#0000000&|(|4|2|)| @66 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|m|a|t|c|h| |=+0#af5f00255&| +0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|m+0#af5f00255&|a|t|c|h| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|s|o|r|t| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|o|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|o|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +@57|1|0|9|,|1| @8|3|7|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_07.dump b/runtime/syntax/testdir/dumps/vim9_function_call_07.dump new file mode 100644 index 0000000000..a41ea00f02 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_07.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|s+0#00e0e07&|o|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|s+0#00e0e07&|o|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|s+0#af5f00255&|o|r|t| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +> @74 +|v+0#af5f00255&|a|r| +0#0000000&|s|p|l|i|t| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|p|l|i|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|p|l|i|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|s+0#00e0e07&|p|l|i|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|s+0#af5f00255&|p|l|i|t| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|s|u|b|s|t|i|t|u|t|e| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@43 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|s+0#00e0e07&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|s+0#af5f00255&|u|b|s|t|i|t|u|t|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +@57|1|2|7|,|0|-|1| @6|4|3|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_08.dump b/runtime/syntax/testdir/dumps/vim9_function_call_08.dump new file mode 100644 index 0000000000..3f365bb329 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_08.dump @@ -0,0 +1,20 @@ +|s+0#af5f00255#ffffff0|u|b|s|t|i|t|u|t|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|s|w|a|p|n|a|m|e| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|w|a|p|n|a|m|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@47 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|w|a|p|n|a|m|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +>s+0#00e0e07&|w|a|p|n|a|m|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|s+0#af5f00255&|w|a|p|n|a|m|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|t|y|p|e| |=+0#af5f00255&| +0#0000000&|t+0#00e0e07&|y|p|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|y|p|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|t+0#00e0e07&|y|p|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|t+0#af5f00255&|y|p|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|u|n|i|q| |=+0#af5f00255&| +0#0000000&|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +@57|1|4|5|,|1| @8|5|0|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_09.dump b/runtime/syntax/testdir/dumps/vim9_function_call_09.dump new file mode 100644 index 0000000000..23b5f1d2e7 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_09.dump @@ -0,0 +1,20 @@ +|#+0#0000e05#ffffff0| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|u+0#af5f00255&|n|i|q| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +> @74 +|#+0#0000e05&| |e|r@1|o|r|s| +0#0000000&@66 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|f+0#ffffff16#ff404010|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +|c+0#af5f00255&|a|l@1| +0#0000000&|f+0#ffffff16#ff404010|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|f+0#ffffff16#ff404010|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@67 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|i|f| |=+0#af5f00255&| +0#0000000&|i+0#ffffff16#ff404010|f|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|c+0#af5f00255&|a|l@1| +0#0000000&|i+0#ffffff16#ff404010|f|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|i+0#ffffff16#ff404010|f|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&||| |.+0#af5f00255&@1| +0#0000000&||| |e+0#af5f00255&|n|d|i|f| +0#0000000&@55 +|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|i+0#af5f00255&|f| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&||| |.+0#af5f00255&@1| +0#0000000&||| |e+0#af5f00255&|n|d|i|f| +0#0000000&@54 +@75 +@57|1|6|3|,|0|-|1| @6|5|6|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_10.dump b/runtime/syntax/testdir/dumps/vim9_function_call_10.dump new file mode 100644 index 0000000000..1030aec6c0 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_10.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@74 +|v+0#af5f00255&|a|r| +0#0000000&|e|c|h|o| |=+0#af5f00255&| +0#0000000&|e+0#ffffff16#ff404010|c|h|o|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|e+0#ffffff16#ff404010|c|h|o|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64 +|e+0#ffffff16#ff404010|c|h|o|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +>#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +@75 +|#+0#0000e05&| |e|x|p|r|e|s@1|i|o|n|s| +0#0000000&@61 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +@75 +|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@67 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@54 +@75 +|e+0#af5f00255&|c|h|o| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&@1| +0#0000000&@60 +@57|1|8|1|,|1| @8|6|3|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_11.dump b/runtime/syntax/testdir/dumps/vim9_function_call_11.dump new file mode 100644 index 0000000000..3cb73d1229 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_11.dump @@ -0,0 +1,20 @@ +|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|(+0#e000e06&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&@1| +0#0000000&@60 +|e+0#af5f00255&|c|h|o| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&|++0#af5f00255&| +0#0000000&|f|o@1| @56 +|e+0#af5f00255&|c|h|o| +0#0000000&|f|o@1| |++0#af5f00255&| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@56 +@75 +|F|o@1|(+0#e000e06&|)| +0#0000000&@69 +>c+0#af5f00255&|a|l@1| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@64 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |F|o@1|(+0#e000e06&|)| +0#0000000&@56 +@75 +|e+0#af5f00255&|c|h|o| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@64 +|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&|F+0#0000000&|o@1|(+0#e000e06&|)@1| +0#0000000&@62 +|e+0#af5f00255&|c|h|o| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&|++0#af5f00255&| +0#0000000&|b|a|r| @58 +|e+0#af5f00255&|c|h|o| +0#0000000&|b|a|r| |++0#af5f00255&| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@58 +@75 +@75 +|#+0#0000e05&| |s|c|o|p|e| |m|o|d|i|f|i|e|r|s| |a|n|d| |q|u|a|l|i|f|i|e|d| |n|a|m|e|s| +0#0000000&@37 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|g+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +@57|1|9@1|,|1| @8|6|9|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_12.dump b/runtime/syntax/testdir/dumps/vim9_function_call_12.dump new file mode 100644 index 0000000000..73b5a53018 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_12.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@74 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|b+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|w+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +>c+0#af5f00255&|a|l@1| +0#0000000&|w+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|v+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|v+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@50 +|c+0#af5f00255&|a|l@1| +0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +@57|2|1|7|,|1| @8|7|6|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_13.dump b/runtime/syntax/testdir/dumps/vim9_function_call_13.dump new file mode 100644 index 0000000000..79e893aaa8 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_13.dump @@ -0,0 +1,20 @@ +|v+0#af5f00255#ffffff0|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +>c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +@57|2|3|5|,|1| @8|8|2|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_14.dump b/runtime/syntax/testdir/dumps/vim9_function_call_14.dump new file mode 100644 index 0000000000..6115b40011 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_14.dump @@ -0,0 +1,20 @@ +|v+0#00e0e07#ffffff0|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +@75 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@50 +|c+0#af5f00255&|a|l@1| +0#0000000&|m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +>m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +@75 +@75 +|#+0#0000e05&| |n|o|t| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n|s| +0#0000000&@51 +@75 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +@57|2|5|3|,|1| @8|8|9|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_15.dump b/runtime/syntax/testdir/dumps/vim9_function_call_15.dump new file mode 100644 index 0000000000..2b15d1e2ad --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_15.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +@75 +|c+0#af5f00255&|a|l@1| +0#0000000&|<+0#e000e06&|S|I|D|>|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@52 +@75 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +>c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +@75 +|c+0#af5f00255&|a|l@1| +0#0000000&|s|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@46 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +@75 +|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60 +|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60 +|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60 +|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60 +|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60 +@75 +@57|2|7|1|,|1| @8|9|6|%| diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_16.dump b/runtime/syntax/testdir/dumps/vim9_function_call_16.dump new file mode 100644 index 0000000000..d8cee2c805 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim9_function_call_16.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@74 +|<+0#e000e06&|S|I|D|>|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@57 +@75 +|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@49 +|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@49 +>w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@49 +|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@49 +|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@49 +@75 +|s|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@51 +|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@49 +@75 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|2|8|9|,|1| @8|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim9_lambda_09.dump b/runtime/syntax/testdir/dumps/vim9_lambda_09.dump index b0d3e9d1f3..ea5823d2a0 100644 --- a/runtime/syntax/testdir/dumps/vim9_lambda_09.dump +++ b/runtime/syntax/testdir/dumps/vim9_lambda_09.dump @@ -2,7 +2,7 @@ |#+0#0000e05&| |I|s@1|u|e| |#|1|6|9|6|5| |(|v|i|m| |s|y|n|t|a|x|:| |w|r|o|n|g| |h|i|g|h|l|i|g|h|t| |w|i|t|h| |l|a|m|b|d|a|,| |a|u|t|o|l|o|a|d|,| |a|n|d| |f|a|l|s |e| |k|e|y|w|o|r|d|)| +0#0000000&@64 @75 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&| +0#0000000&|t+0#00e0e07&|i|m|e|r|_|s|t|a|r|t|(+0#e000e06&|0+0#e000002&|,+0#0000000&| |(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|f+0#00e0e07&|#|a|(+0#e000e06&|f+0#e000002&|a|l|s|e|,+0#0000000&| |f+0#e000002&|a|l|s|e|)+0#e000e06&@1| +0#0000000&@16 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&| +0#0000000&|t+0#00e0e07&|i|m|e|r|_|s|t|a|r|t|(+0#e000e06&|0+0#e000002&|,+0#0000000&| |(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|f|#|a|(+0#e000e06&|f+0#e000002&|a|l|s|e|,+0#0000000&| |f+0#e000002&|a|l|s|e|)+0#e000e06&@1| +0#0000000&@16 >a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@67 @75 |~+0#4040ff13&| @73 diff --git a/runtime/syntax/testdir/dumps/vim_ex_execute_01.dump b/runtime/syntax/testdir/dumps/vim_ex_execute_01.dump index 733afebc6c..657b6f16ab 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_execute_01.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_execute_01.dump @@ -17,4 +17,4 @@ |"+0#0000e05&| |i|n|v|a|l|i|d| |e|x|p|r|e|s@1|i|o|n| +0#0000000&@54 |e+0#af5f00255&|x|e|c|u|t|e| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||+0#af5f00255&@1| +0#0000000&@58 @75 -@57|1|9|,|0|-|1| @7|3|1|%| +@57|1|9|,|0|-|1| @7|3|2|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_execute_02.dump b/runtime/syntax/testdir/dumps/vim_ex_execute_02.dump index 3926f2b2cf..7b33708651 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_execute_02.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_execute_02.dump @@ -17,4 +17,4 @@ |"+0#0000e05&| |:|e|x|e|c|u|t|e| |w|i|t|h|o|u|t| |{|e|x|p|r|}| +0#0000000&@49 |e+0#af5f00255&|x|e|c|u|t|e||+0#0000000&| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@55 @75 -@57|3|7|,|7| @9|7|5|%| +@57|3|7|,|7| @9|7@1|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_execute_03.dump b/runtime/syntax/testdir/dumps/vim_ex_execute_03.dump index 21796e0bf3..a34123028f 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_execute_03.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_execute_03.dump @@ -5,9 +5,8 @@ @75 >"+0#0000e05&| |I|s@1|u|e| |#|9@1|8|7| |(|p|a|r|e|n|t|h|e|s|i|s|e|d| |a|r|g|u|m|e|n|t| |-| |n|o|t| |a| |f|u|n|c|t|i|o|n| |c|a|l@1|)| +0#0000000&@14 @75 -|"+0#0000e05&| +0#0000000&|F+0#0000001#ffff4012|I|X|M|E|:+0#e000e06#ffffff0| +0#0000e05&|e|x|e|c|u|t|e| |i|s| |e|x| |c|o|m@1|a|n|d| |n|o|t| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n| +0#0000000&@23 |l+0#af5f00255&|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|{+0#e000e06&|'+0#e000002&|a|r|g|'|:+0#0000000&| |"+0#e000002&|c|a|l@1| |F|o@1|(|)|"|}+0#e000e06&| +0#0000000&@43 -|e+0#00e0e07&|x|e|c|u|t|e| +0#0000000&|(+0#e000e06&|f+0#00e0e07&|o@1|.+0#af5f00255&|a+0#00e0e07&|r|g|)+0#e000e06&| +0#0000000&@57 +|e+0#af5f00255&|x|e|c|u|t|e| +0#0000000&|(+0#e000e06&|f+0#00e0e07&|o@1|.+0#af5f00255&|a+0#00e0e07&|r|g|)+0#e000e06&| +0#0000000&@57 @75 |~+0#4040ff13&| @73 |~| @73 @@ -17,4 +16,5 @@ |~| @73 |~| @73 |~| @73 +|~| @73 | +0#0000000&@56|5@1|,|1| @9|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_00.dump b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_00.dump index 04f6fd2162..9e7ba32823 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_00.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_00.dump @@ -13,7 +13,7 @@ @2|f+0#af5f00255&|u|n| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&|a+0#e000e06&|b|o|r|t| +0#0000000&@8|#+0#ffffff16#ff404010| |f|u|n| +0#0000000#ffffff0@37 @4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|3+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d|f|u|n| +0#0000000&@23|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 @75 |d+0#af5f00255&|e|f| +0#0000000&|s+0#e000e06&|:|T+0#0000000&|e|s|t|4|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@10|"+0#ffffff16#ff404010| |d|e|f| +0#0000000#ffffff0@37 diff --git a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_01.dump b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_01.dump index 3e5b4bd02a..08abcfe8d4 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_01.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_01.dump @@ -1,6 +1,6 @@ | +0&#ffffff0@3|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|3+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d|f|u|n| +0#0000000&@23|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 @75 >d+0#af5f00255&|e|f| +0#0000000&|s+0#e000e06&|:|T+0#0000000&|e|s|t|4|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@10|"+0#ffffff16#ff404010| |d|e|f| +0#0000000#ffffff0@37 diff --git a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_02.dump b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_02.dump index 0d9de4b143..9c2a4666f5 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_02.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_02.dump @@ -3,7 +3,7 @@ @2|d+0#af5f00255&|e|f| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|6|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@6|"+0#ffffff16#ff404010| |d|e|f| +0#0000000#ffffff0@37 @4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|6+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@23|"+0#ffffff16#ff404010| |e|n|d@1|e|f| +0#0000000#ffffff0@34 -@2>r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|6|(+0#e000e06&|)| +0#0000000&@54 +@2>r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|6|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|#+0#ffffff16#ff404010| |e|n|d|f|u|n| +0#0000000#ffffff0@34 @75 |f+0#af5f00255&|o|r| +0#0000000&|d+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#e000e06&|1+0#e000002&|,+0#0000000&| |6+0#e000002&|)+0#e000e06&|-+0#af5f00255&|>|r+0#00e0e07&|e|v|e|r|s|e|(+0#e000e06&|)| +0#0000000&@43 diff --git a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_00.dump b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_00.dump index f8c0ccc90a..8aa59de78b 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_00.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_00.dump @@ -13,7 +13,7 @@ @2|f+0#af5f00255&|u|n| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&|a+0#e000e06&|b|o|r|t| +0#0000000&@8|"+0#0000e05&| |f|u|n| +0#0000000&@37 @4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|3+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d|f|u|n| +0#0000000&@23|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 @75 |d+0#af5f00255&|e|f| +0#0000000&|s+0#e000e06&|:|T+0#0000000&|e|s|t|4|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@10|#+0#0000e05&| |d|e|f| +0#0000000&@37 diff --git a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_01.dump b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_01.dump index 326a2496dd..12268cdd59 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_01.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_01.dump @@ -1,6 +1,6 @@ | +0&#ffffff0@3|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|3+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d|f|u|n| +0#0000000&@23|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 -@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 +@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|3|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 @75 >d+0#af5f00255&|e|f| +0#0000000&|s+0#e000e06&|:|T+0#0000000&|e|s|t|4|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@10|#+0#0000e05&| |d|e|f| +0#0000000&@37 diff --git a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_02.dump b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_02.dump index 8dcb0b9795..c948b6cc76 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_02.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_02.dump @@ -3,7 +3,7 @@ @2|d+0#af5f00255&|e|f| +0#0000000&|s+0#e000e06&|:|D+0#0000000&|o|T|e|s|t|6|(+0#e000e06&|)|:+0#0000000&| |n+0#00e0003&|u|m|b|e|r| +0#0000000&@6|#+0#0000e05&| |d|e|f| +0#0000000&@37 @4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|6+0#e000002&| +0#0000000&@62 @2|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@23|#+0#0000e05&| |e|n|d@1|e|f| +0#0000000&@34 -@2>r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s|:|D|o|T|e|s|t|6|(+0#e000e06&|)| +0#0000000&@54 +@2>r+0#af5f00255&|e|t|u|r|n| +0#0000000&|s+0#00e0e07&|:|D+0#0000000&|o|T|e|s|t|6|(+0#e000e06&|)| +0#0000000&@54 |e+0#af5f00255&|n|d|f|u|n| +0#0000000&@25|"+0#0000e05&| |e|n|d|f|u|n| +0#0000000&@34 @75 |f+0#af5f00255&|o|r| +0#0000000&|d+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#e000e06&|1+0#e000002&|,+0#0000000&| |6+0#e000002&|)+0#e000e06&|-+0#af5f00255&|>|r+0#00e0e07&|e|v|e|r|s|e|(+0#e000e06&|)| +0#0000000&@43 diff --git a/runtime/syntax/testdir/dumps/vim_ex_match_00.dump b/runtime/syntax/testdir/dumps/vim_ex_match_00.dump index c36d37fa4b..0885ca7bb9 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_match_00.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_match_00.dump @@ -1,4 +1,5 @@ ->"+0#0000e05#ffffff0| |V|i|m| |:|m|a|t|c|h|,| |:|2|m|a|t|c|h| |a|n|d| |:|3|m|a|t|c|h| |c|o|m@1|a|n|d|s| +0#0000000&@32 +>"+0#0000e05#ffffff0| |V|i|m| |:|m|a|t|c|h| |c|o|m@1|a|n|d| +0#0000000&@54 +@75 @75 |m+0#af5f00255&|a|t|c|h| +0#0000000&|F+0#00e0003&|o@1|G|r|o|u|p| +0#0000000&|/+0#e000e06&|F+0#0000000&|o@1|/+0#e000e06&| +0#0000000&@54 |m+0#af5f00255&|a|t|c|h| +0#0000000&@69 @@ -13,8 +14,7 @@ |3+0#af5f00255&|m|a|t|c|h| +0#0000000&|n+0#00e0003&|o|n|e| +0#0000000&@63 @75 @75 -|"+0#0000e05&| |D|i|f@1|e|r|e|n|t|i|a|t|e| |m|a|p|(|)| |f|r|o|m| |:|m|a|p| +0#0000000&@43 +|"+0#0000e05&| |D|i|f@1|e|r|e|n|t|i|a|t|e| |m|a|t|c|h|(|)| |f|r|o|m| |:|m|a|t|c|h| +0#0000000&@39 @75 |c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@44 -|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|t|c|h| +0#0000000&|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@43 @57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_ex_match_01.dump b/runtime/syntax/testdir/dumps/vim_ex_match_01.dump index 69ca065c3f..6d2d6f311b 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_match_01.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_match_01.dump @@ -1,9 +1,10 @@ -| +0&#ffffff0@74 +|3+0#af5f00255#ffffff0|m|a|t|c|h| +0#0000000&|n+0#00e0003&|o|n|e| +0#0000000&@63 @75 -|"+0#0000e05&| |D|i|f@1|e|r|e|n|t|i|a|t|e| |m|a|p|(|)| |f|r|o|m| |:|m|a|p| +0#0000000&@43 @75 -|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@44 ->c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|t|c|h| +0#0000000&|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@43 +|"+0#0000e05&| |D|i|f@1|e|r|e|n|t|i|a|t|e| |m|a|t|c|h|(|)| |f|r|o|m| |:|m|a|t|c|h| +0#0000000&@39 +@75 +>c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|t|c|h| +0#0000000&|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@43 @75 |f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60 @2|m+0#af5f00255&|a|t|c|h| +0#0000000&|F+0#00e0003&|o@1|G|r|o|u|p| +0#0000000&|/+0#e000e06&|F+0#0000000&|o@1|/+0#e000e06&| +0#0000000&@52 @@ -12,9 +13,8 @@ |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63 @75 |d+0#af5f00255&|e|f| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@65 +@2|#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@63 @2|m+0#af5f00255&|a|t|c|h| +0#0000000&|F+0#00e0003&|o@1|G|r|o|u|p| +0#0000000&|/+0#e000e06&|F+0#0000000&|o@1|/+0#e000e06&| +0#0000000&@52 -@2|m+0#af5f00255&|a|t|c|h|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@47 -@2|#+0#0000e05&| +0#0000000&|E+0#e000e06&|r@1|o|r|:| +0#0000e05&|b|a|d| |:|m|a|t|c|h| |c|o|m@1|a|n|d| |-| |t|r|a|i|l|i|n|g| |c|h|a|r|a|c|t|e|r|s| +0#0000000&@23 -@2|m+0#af5f00255&|a|t|c|h| +0#0000000&|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@46 -|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68 -@57|1|9|,|1| @9|B|o|t| +@2|#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@62 +@2|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@47 +@57|1|9|,|1| @9|7|6|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_match_02.dump b/runtime/syntax/testdir/dumps/vim_ex_match_02.dump new file mode 100644 index 0000000000..9ba6ee98a8 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_match_02.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@1|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@47 +@2|#+0#0000e05&| +0#0000000&|E+0#e000e06&|r@1|o|r|:| +0#0000e05&|b|a|d| |:|m|a|t|c|h| |c|o|m@1|a|n|d| |-| |t|r|a|i|l|i|n|g| |c|h|a|r|a|c|t|e|r|s| +0#0000000&@23 +@2|m+0#af5f00255&|a|t|c|h| +0#0000000&|(+0#e000e06&|h+0#00e0e07&|a|y|s|t|a|c|k|,+0#0000000&| |'+0#e000002&|n|e@1|d|l|e|'|)+0#e000e06&| +0#0000000&@46 +|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68 +> @74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|3|6|,|0|-|1| @7|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_ex_substitute_11.dump b/runtime/syntax/testdir/dumps/vim_ex_substitute_11.dump index f63455a426..7c6405238e 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_substitute_11.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_substitute_11.dump @@ -10,7 +10,7 @@ @75 |d+0#af5f00255&|e|f| +0#0000000&|T|e|s|t|(+0#e000e06&|)| +0#0000000&@64 @1| +0#00e0e07&|s|t|r|[+0#0000000&|s+0#00e0e07&|]+0#0000000&| @66 -@2|s|t|r|(+0#e000e06&|s+0#00e0e07&|)+0#e000e06&| +0#0000000&@66 +@2|s+0#ffffff16#ff404010|t|r|(+0#e000e06#ffffff0|s+0#00e0e07&|)+0#e000e06&| +0#0000000&@66 |e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68 @75 |~+0#4040ff13&| @73 diff --git a/runtime/syntax/testdir/dumps/vim_function_call_00.dump b/runtime/syntax/testdir/dumps/vim_function_call_00.dump new file mode 100644 index 0000000000..a0bae076ce --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_00.dump @@ -0,0 +1,20 @@ +>"+0#0000e05#ffffff0| |V|i|m| |f|u|n|c|t|i|o|n| |c|a|l@1|s| +0#0000000&@54 +|"+0#0000e05&| |V|I|M|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |v|i|m|U|s|e|r|F|u|n|c| |T|o|d|o| +0#0000000&@31 +@75 +@75 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +@75 +@75 +|"+0#0000e05&| |c|o|m@1|a|n|d|/|f|u|n|c|t|i|o|n| |d|i|s|t|i|n|c|t|i|o|n| +0#0000000&@44 +@75 +|"+0#0000e05&| |a|p@1|e|n|d| |b|r|o|w|s|e| |c|a|l@1| |c|h|d|i|r| |c|o|n|f|i|r|m| |c|o|p|y| |d|e|l|e|t|e| |e|v|a|l| |e|x|e|c|u|t|e| |f|i|l|t|e|r| |f|u|n|c|t|i|o|n +|"| |i|n|s|e|r|t| |j|o|i|n| |m|a|p| |m|a|t|c|h| |m|o|d|e| |s|o|r|t| |s|p|l|i|t| |s|u|b|s|t|i|t|u|t|e| |s|w|a|p|n|a|m|e| |t|y|p|e| +0#0000000&@10 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|a|p@1|e|n|d| |=+0#af5f00255&| +0#0000000&|a+0#00e0e07&|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|a+0#af5f00255&|p@1|e|n|d| +0#0000000&@68 +|.+0#af5f00255&| +0#0000000&@73 +|"+0#0000e05&| |b|a|d| |c|o|m@1|a|n|d| +0#0000000&@61 +|a|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +@57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_01.dump b/runtime/syntax/testdir/dumps/vim_function_call_01.dump new file mode 100644 index 0000000000..05ba8237b0 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_01.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|a+0#00e0e07&|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|a+0#af5f00255&|p@1|e|n|d| +0#0000000&@68 +|.+0#af5f00255&| +0#0000000&@73 +|"+0#0000e05&| |b|a|d| |c|o|m@1|a|n|d| +0#0000000&@61 +>a|p@1|e|n|d|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|a|p@1|e|n|d| |(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|b|r|o|w|s|e| |=+0#af5f00255&| +0#0000000&|b+0#00e0e07&|r|o|w|s|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|r|o|w|s|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|b+0#af5f00255&|r|o|w|s|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|b+0#af5f00255&|r|o|w|s|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|c|a|l@1| |=+0#af5f00255&| +0#0000000&|c+0#00e0e07&|a|l@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|c+0#00e0e07&|a|l@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|c+0#af5f00255&|a|l@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|c+0#af5f00255&|a|l@1| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@57|1|9|,|1| @10|5|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_02.dump b/runtime/syntax/testdir/dumps/vim_function_call_02.dump new file mode 100644 index 0000000000..3d92656c5c --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_02.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|c|h|d|i|r| |=+0#af5f00255&| +0#0000000&|c+0#00e0e07&|h|d|i|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|c+0#af5f00255&|a|l@1| +0#0000000&|c+0#00e0e07&|h|d|i|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +>c+0#af5f00255&|h|d|i|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +|c+0#af5f00255&|h|d|i|r| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|c|o|n|f|i|r|m| |=+0#af5f00255&| +0#0000000&|c+0#00e0e07&|o|n|f|i|r|m|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@49 +|c+0#af5f00255&|a|l@1| +0#0000000&|c+0#00e0e07&|o|n|f|i|r|m|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|c+0#af5f00255&|o|n|f|i|r|m|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +|c+0#af5f00255&|o|n|f|i|r|m| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|c|o|p|y| |=+0#af5f00255&| +0#0000000&|c+0#00e0e07&|o|p|y|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|c+0#00e0e07&|o|p|y|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|c+0#af5f00255&|o|p|y|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|c+0#af5f00255&|o|p|y| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@57|3|7|,|1| @9|1|2|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_03.dump b/runtime/syntax/testdir/dumps/vim_function_call_03.dump new file mode 100644 index 0000000000..3f30fb407a --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_03.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|o|p|y| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|d|e|l|e|t|e| |=+0#af5f00255&| +0#0000000&|d+0#00e0e07&|e|l|e|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|d+0#00e0e07&|e|l|e|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +>d+0#af5f00255&|e|l|e|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|d+0#af5f00255&|e|l|e|t|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|e|v|a|l| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|v|a|l|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|e+0#00e0e07&|v|a|l|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|e+0#af5f00255&|v|a|l|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|e+0#af5f00255&|v|a|l| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|e|x|e|c|u|t|e| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|e|c|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@49 +|c+0#af5f00255&|a|l@1| +0#0000000&|e+0#00e0e07&|x|e|c|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@58 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|e+0#af5f00255&|x|e|c|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +|e+0#af5f00255&|x|e|c|u|t|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +@57|5@1|,|1| @9|1|9|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_04.dump b/runtime/syntax/testdir/dumps/vim_function_call_04.dump new file mode 100644 index 0000000000..e2442e8dcc --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_04.dump @@ -0,0 +1,20 @@ +|e+0#af5f00255#ffffff0|x|e|c|u|t|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|i|l|t|e|r| |=+0#af5f00255&| +0#0000000&|f+0#00e0e07&|i|l|t|e|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|f+0#00e0e07&|i|l|t|e|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +>f+0#af5f00255&|i|l|t|e|r|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|f+0#af5f00255&|i|l|t|e|r| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|u|n|c|t|i|o|n| |=+0#af5f00255&| +0#0000000&|f+0#00e0e07&|u|n|c|t|i|o|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@47 +|c+0#af5f00255&|a|l@1| +0#0000000&|f+0#00e0e07&|u|n|c|t|i|o|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|f+0#af5f00255&|u|n|c|t|i|o|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|i|n|s|e|r|t| |=+0#af5f00255&| +0#0000000&|i+0#00e0e07&|n|s|e|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51 +|c+0#af5f00255&|a|l@1| +0#0000000&|i+0#00e0e07&|n|s|e|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|i+0#af5f00255&|n|s|e|r|t| +0#0000000&@68 +|.+0#af5f00255&| +0#0000000&@73 +@57|7|3|,|1| @9|2|7|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_05.dump b/runtime/syntax/testdir/dumps/vim_function_call_05.dump new file mode 100644 index 0000000000..af7ffb0258 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_05.dump @@ -0,0 +1,20 @@ +|.+0#af5f00255#ffffff0| +0#0000000&@73 +|"+0#0000e05&| |b|a|d| |c|o|m@1|a|n|d| +0#0000000&@61 +|i|n|s|e|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +|i|n|s|e|r|t| |(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +@75 +>l+0#af5f00255&|e|t| +0#0000000&|j|o|i|n| |=+0#af5f00255&| +0#0000000&|j+0#00e0e07&|o|i|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|j+0#00e0e07&|o|i|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|j+0#af5f00255&|o|i|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|j+0#af5f00255&|o|i|n| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|m|a|p| |=+0#af5f00255&| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|m+0#af5f00255&|a|p|(+0#0000000&|4|2|)| @67 +|m+0#af5f00255&|a|p| +0#0000000&|(|4|2|)| @66 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|m|a|t|c|h| |=+0#af5f00255&| +0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@57|9|1|,|1| @9|3|4|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_06.dump b/runtime/syntax/testdir/dumps/vim_function_call_06.dump new file mode 100644 index 0000000000..a28560b8d2 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_06.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|m+0#af5f00255&|a|t|c|h|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +|m+0#af5f00255&|a|t|c|h| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +@75 +>l+0#af5f00255&|e|t| +0#0000000&|s|o|r|t| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|o|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|o|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|s+0#af5f00255&|o|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|s+0#af5f00255&|o|r|t| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|s|p|l|i|t| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|p|l|i|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|p|l|i|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|s+0#af5f00255&|p|l|i|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +|s+0#af5f00255&|p|l|i|t| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@64 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|s|u|b|s|t|i|t|u|t|e| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@43 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +@57|1|0|9|,|1| @8|4|1|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_07.dump b/runtime/syntax/testdir/dumps/vim_function_call_07.dump new file mode 100644 index 0000000000..cf67e25f6e --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_07.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|s+0#00e0e07&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|s+0#af5f00255&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +|s+0#af5f00255&|u|b|s|t|i|t|u|t|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +@75 +>l+0#af5f00255&|e|t| +0#0000000&|s|w|a|p|n|a|m|e| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|w|a|p|n|a|m|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@47 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|w|a|p|n|a|m|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|s+0#af5f00255&|w|a|p|n|a|m|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|s+0#af5f00255&|w|a|p|n|a|m|e| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|t|y|p|e| |=+0#af5f00255&| +0#0000000&|t+0#00e0e07&|y|p|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|y|p|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|"+0#0000e05&| |V|i|m|9| |c|o|m@1|a|n|d| +0#0000000&@60 +|"+0#0000e05&| |t|y|p|e|(|4|2|)| +0#0000000&@64 +|"+0#0000e05&| |t|y|p|e| |(|4|2|)| +0#0000000&@63 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|u|n|i|q| |=+0#af5f00255&| +0#0000000&|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +@57|1|2|7|,|1| @8|4|9|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_08.dump b/runtime/syntax/testdir/dumps/vim_function_call_08.dump new file mode 100644 index 0000000000..f671ae5d82 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_08.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|u+0#af5f00255&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|u+0#af5f00255&|n|i|q| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +> @74 +|"+0#0000e05&| |e|r@1|o|r|s| +0#0000000&@66 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|f+0#ffffff16#ff404010|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +|c+0#af5f00255&|a|l@1| +0#0000000&|f+0#ffffff16#ff404010|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|i|f| |=+0#af5f00255&| +0#0000000&|i+0#ffffff16#ff404010|f|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59 +|c+0#af5f00255&|a|l@1| +0#0000000&|i+0#ffffff16#ff404010|f|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|i+0#af5f00255&|f|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&||| |.+0#af5f00255&@1| +0#0000000&||| |e+0#af5f00255&|n|d|i|f| +0#0000000&@55 +|i+0#af5f00255&|f| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&||| |.+0#af5f00255&@1| +0#0000000&||| |e+0#af5f00255&|n|d|i|f| +0#0000000&@54 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|e|c|h|o| |=+0#af5f00255&| +0#0000000&|e+0#ffffff16#ff404010|c|h|o|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|e+0#ffffff16#ff404010|c|h|o|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +@57|1|4|5|,|0|-|1| @6|5|6|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_09.dump b/runtime/syntax/testdir/dumps/vim_function_call_09.dump new file mode 100644 index 0000000000..239b5fc728 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_09.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|e+0#ffffff16#ff404010|c|h|o|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@61 +|"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65 +|e+0#af5f00255&|c|h|o|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66 +|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@65 +@75 +> @74 +|"+0#0000e05&| |e|x|p|r|e|s@1|i|o|n|s| +0#0000000&@61 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@57 +@75 +|e+0#af5f00255&|c|h|o| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62 +|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&@1| +0#0000000&@60 +|e+0#af5f00255&|c|h|o| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&|++0#af5f00255&| +0#0000000&|f|o@1| @56 +|e+0#af5f00255&|c|h|o| +0#0000000&|f|o@1| |++0#af5f00255&| +0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@56 +@75 +|e+0#af5f00255&|c|h|o| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@64 +|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&|F+0#0000000&|o@1|(+0#e000e06&|)@1| +0#0000000&@62 +|e+0#af5f00255&|c|h|o| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&|++0#af5f00255&| +0#0000000&|b|a|r| @58 +|e+0#af5f00255&|c|h|o| +0#0000000&|b|a|r| |++0#af5f00255&| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@58 +@57|1|6|3|,|0|-|1| @6|6|3|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_10.dump b/runtime/syntax/testdir/dumps/vim_function_call_10.dump new file mode 100644 index 0000000000..9929799b08 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_10.dump @@ -0,0 +1,20 @@ +|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|b|a|r| |++0#af5f00255&| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@58 +@75 +@75 +|"+0#0000e05&| |s|c|o|p|e| |m|o|d|i|f|i|e|r|s| |a|n|d| |q|u|a|l|i|f|i|e|d| |n|a|m|e|s| +0#0000000&@37 +@75 +>l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|g+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|b+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|w+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|w+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@57|1|8|1|,|1| @8|7|1|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_11.dump b/runtime/syntax/testdir/dumps/vim_function_call_11.dump new file mode 100644 index 0000000000..7215a0180d --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_11.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|l+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|l+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +>l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|a+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|v+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|v+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60 +@75 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@50 +|c+0#af5f00255&|a|l@1| +0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|s+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +@57|1|9@1|,|1| @8|7|8|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_12.dump b/runtime/syntax/testdir/dumps/vim_function_call_12.dump new file mode 100644 index 0000000000..891bc76896 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_12.dump @@ -0,0 +1,20 @@ +|l+0#af5f00255#ffffff0|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +> @74 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|l+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|l+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|a+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +@57|2|1|7|,|0|-|1| @6|8|5|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_13.dump b/runtime/syntax/testdir/dumps/vim_function_call_13.dump new file mode 100644 index 0000000000..4436644534 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_13.dump @@ -0,0 +1,20 @@ +|l+0#af5f00255#ffffff0|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +@75 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@50 +>c+0#af5f00255&|a|l@1| +0#0000000&|m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@55 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@48 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@53 +@75 +@75 +|"+0#0000e05&| |n|o|t| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n|s| +0#0000000&@51 +@75 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|l+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +@57|2|3|5|,|1| @8|9|3|%| diff --git a/runtime/syntax/testdir/dumps/vim_function_call_14.dump b/runtime/syntax/testdir/dumps/vim_function_call_14.dump new file mode 100644 index 0000000000..376b2ac5b0 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_function_call_14.dump @@ -0,0 +1,20 @@ +|c+0#af5f00255#ffffff0|a|l@1| +0#0000000&|l+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +|c+0#af5f00255&|a|l@1| +0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@55 +@75 +|c+0#af5f00255&|a|l@1| +0#0000000&|<+0#e000e06&|S|I|D|>|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@52 +> @74 +|c+0#af5f00255&|a|l@1| +0#0000000&|s+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|l+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|a+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +|c+0#af5f00255&|a|l@1| +0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +@75 +|c+0#af5f00255&|a|l@1| +0#0000000&|s|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@46 +|c+0#af5f00255&|a|l@1| +0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@44 +@75 +|~+0#4040ff13&| @73 +| +0#0000000&@56|2|5|3|,|0|-|1| @6|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_new_00.dump b/runtime/syntax/testdir/dumps/vim_new_00.dump index 3c40ce443d..db3b48aac7 100644 --- a/runtime/syntax/testdir/dumps/vim_new_00.dump +++ b/runtime/syntax/testdir/dumps/vim_new_00.dump @@ -10,9 +10,9 @@ @8|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@60 |e+0#af5f00255&|n|d|c|l|a|s@1| +0#0000000&@66 @75 -|T|e|s|t|.+0#af5f00255&|n+0#00e0e07&|e|w|(+0#e000e06&|)| +0#0000000&@64 -|T|e|s|t|.+0#af5f00255&|n+0#00e0e07&|e|w|O|t|h|e|r|(+0#e000e06&|)| +0#0000000&@59 -|T|e|s|t|.+0#af5f00255&|n+0#00e0e07&|e|w|y|e|t|a|n|o|t|h|e|r|(+0#e000e06&|)| +0#0000000&@54 +|T|e|s|t|.|n+0#00e0e07&|e|w|(+0#e000e06&|)| +0#0000000&@64 +|T|e|s|t|.|n+0#00e0e07&|e|w|O|t|h|e|r|(+0#e000e06&|)| +0#0000000&@59 +|T|e|s|t|.|n+0#00e0e07&|e|w|y|e|t|a|n|o|t|h|e|r|(+0#e000e06&|)| +0#0000000&@54 |n+0#af5f00255&|e|w| +0#0000000&@71 |q+0#af5f00255&|u|i|t| +0#0000000&@70 |~+0#4040ff13&| @73 diff --git a/runtime/syntax/testdir/input/vim9_function_call.vim b/runtime/syntax/testdir/input/vim9_function_call.vim new file mode 100644 index 0000000000..9de6f398a9 --- /dev/null +++ b/runtime/syntax/testdir/input/vim9_function_call.vim @@ -0,0 +1,295 @@ +vim9script +# Vim function calls +# VIM_SETUP highlight link vimUserFunc Todo +# VIM_SETUP highlight link vim9UserFunc Todo + + +call abs(42) +abs(42) + + +# command/function distinction + +# append browse call chdir confirm copy delete eval execute filter function +# insert join map match mode sort split substitute swapname type + +var append = append(42) +call append(42) +# function +append(42) +# Legacy command +# append (42) + +var browse = browse(42) +call browse(42) +# function +browse(42) +# command +browse (42) + +var call = call(42) +call call(42) +# function +call(42) +# command +call (42) + +var chdir = chdir(42) +call chdir(42) +# function +chdir(42) +# command +chdir (42) + +var confirm = confirm(42) +call confirm(42) +# function +confirm(42) +# command +confirm (42) + +var copy = copy(42) +call copy(42) +# function +copy(42) +# command +copy (42) + +var delete = delete(42) +call delete(42) +# function +delete(42) +# command +delete (42) + +var eval = eval(42) +call eval(42) +# function +eval(42) +# command +eval (42) + +var execute = execute(42) +call execute(42) +# function +execute(42) +# command +execute (42) + +var filter = filter(42) +call filter(42) +# function +filter(42) +# command +filter (42) + +var function = function(42) +call function(42) +# function +function(42) +# command +function (42) + +var insert = insert(42) +call insert(42) +# function +insert(42) +# Legacy command +# insert (42) + +var join = join(42) +call join(42) +# function +join(42) +# command +join (42) + +var map = map(42) +call map(42) +# function +map(42) +# command +map (42) + +var match = match(42) +call match(42) +# function +match(42) +# command +match (42) + +var sort = sort(42) +call sort(42) +# function +sort(42) +# command +sort (42) + +var split = split(42) +call split(42) +# function +split(42) +# command +split (42) + +var substitute = substitute(42) +call substitute(42) +# function +substitute(42) +# command +substitute (42) + +var swapname = swapname(42) +call swapname(42) +# function +swapname(42) +# command +swapname (42) + +var type = type(42) +call type(42) +# function +type(42) +# command +type (42) + +var uniq = uniq(42) +call uniq(42) +# function +uniq(42) +# command +uniq (42) + + +# errors + +var foo = foo(42) +call foo(42) +foo(42) + +var if = if(42) +call if(42) +# function +if(42) | .. | endif +# command +if (42) | .. | endif + +var echo = echo(42) +call echo(42) +# function +echo(42) +# command +echo (42) + + +# expressions + +var foo = abs(42) + +abs(42) +call abs(42) +echo "Foo" | abs(42) + +echo abs(42) +echo (abs(42)) +echo abs(42) + foo +echo foo + abs(42) + +Foo() +call Foo() +echo "Foo" | Foo() + +echo Foo() +echo (Foo()) +echo Foo() + bar +echo bar + Foo() + + +# scope modifiers and qualified names + +var foo = g:foo(42) +call g:foo(42) + +var foo = b:foo(42) +call b:foo(42) + +var foo = w:foo(42) +call w:foo(42) + +var foo = t:foo(42) +call t:foo(42) + +var foo = v:foo(42) +call v:foo(42) + + +var foo = module.foo(42) +call module.foo(42) +module.foo(42) + +var foo = g:module.foo(42) +call g:module.foo(42) +g:module.foo(42) + +var foo = b:module.foo(42) +call b:module.foo(42) +b:module.foo(42) + +var foo = w:module.foo(42) +call w:module.foo(42) +w:module.foo(42) + +var foo = t:module.foo(42) +call t:module.foo(42) +t:module.foo(42) + +var foo = v:module.foo(42) +call v:module.foo(42) +v:module.foo(42) + + +var foo = module#foo(42) +call module#foo(42) +module#foo(42) + +var foo = g:module#foo(42) +call g:module#foo(42) +g:module#foo(42) + + +# not builtin functions + +call g:substitute() +call b:substitute() +call w:substitute() +call t:substitute() +call v:substitute() + +call substitute() + +call g:substitute.substitute() +call b:substitute.substitute() +call w:substitute.substitute() +call t:substitute.substitute() +call v:substitute.substitute() + +call substitute#substitute() +call g:substitute#substitute() + +g:substitute() +b:substitute() +w:substitute() +t:substitute() +v:substitute() + +substitute() + +g:substitute.substitute() +b:substitute.substitute() +w:substitute.substitute() +t:substitute.substitute() +v:substitute.substitute() + +substitute#substitute() +g:substitute#substitute() + diff --git a/runtime/syntax/testdir/input/vim_ex_execute.vim b/runtime/syntax/testdir/input/vim_ex_execute.vim index f36f8a7d81..0346781bf3 100644 --- a/runtime/syntax/testdir/input/vim_ex_execute.vim +++ b/runtime/syntax/testdir/input/vim_ex_execute.vim @@ -54,7 +54,6 @@ execute "Foo" | " comment " Issue #9987 (parenthesised argument - not a function call) -" FIXME: execute is ex command not builtin function let foo = {'arg': "call Foo()"} execute (foo.arg) diff --git a/runtime/syntax/testdir/input/vim_ex_match.vim b/runtime/syntax/testdir/input/vim_ex_match.vim index 8d1462820c..ef329ca194 100644 --- a/runtime/syntax/testdir/input/vim_ex_match.vim +++ b/runtime/syntax/testdir/input/vim_ex_match.vim @@ -1,4 +1,5 @@ -" Vim :match, :2match and :3match commands +" Vim :match command + match FooGroup /Foo/ match @@ -13,7 +14,7 @@ match none 3match none -" Differentiate map() from :map +" Differentiate match() from :match call match(haystack, 'needle') call match (haystack, 'needle') @@ -25,8 +26,11 @@ function Foo() endfunction def Foo() + # command match FooGroup /Foo/ + # function match(haystack, 'needle') # Error: bad :match command - trailing characters match (haystack, 'needle') enddef + diff --git a/runtime/syntax/testdir/input/vim_function_call.vim b/runtime/syntax/testdir/input/vim_function_call.vim new file mode 100644 index 0000000000..b94a898b7d --- /dev/null +++ b/runtime/syntax/testdir/input/vim_function_call.vim @@ -0,0 +1,265 @@ +" Vim function calls +" VIM_SETUP highlight link vimUserFunc Todo + + +call abs(42) + + +" command/function distinction + +" append browse call chdir confirm copy delete eval execute filter function +" insert join map match mode sort split substitute swapname type + +let append = append(42) +call append(42) +" command +append +. +" bad command +append(42) +append (42) + +let browse = browse(42) +call browse(42) +" command +browse(42) +browse (42) + +let call = call(42) +call call(42) +" command +call(42) +call (42) + +let chdir = chdir(42) +call chdir(42) +" command +chdir(42) +chdir (42) + +let confirm = confirm(42) +call confirm(42) +" command +confirm(42) +confirm (42) + +let copy = copy(42) +call copy(42) +" command +copy(42) +copy (42) + +let delete = delete(42) +call delete(42) +" command +delete(42) +delete (42) + +let eval = eval(42) +call eval(42) +" command +eval(42) +eval (42) + +let execute = execute(42) +call execute(42) +" command +execute(42) +execute (42) + +let filter = filter(42) +call filter(42) +" command +filter(42) +filter (42) + +let function = function(42) +call function(42) +" command +function(42) +function (42) + +let insert = insert(42) +call insert(42) +" command +insert +. +" bad command +insert(42) +insert (42) + +let join = join(42) +call join(42) +" command +join(42) +join (42) + +let map = map(42) +call map(42) +" command +map(42) +map (42) + +let match = match(42) +call match(42) +" command +match(42) +match (42) + +let sort = sort(42) +call sort(42) +" command +sort(42) +sort (42) + +let split = split(42) +call split(42) +" command +split(42) +split (42) + +let substitute = substitute(42) +call substitute(42) +" command +substitute(42) +substitute (42) + +let swapname = swapname(42) +call swapname(42) +" command +swapname(42) +swapname (42) + +let type = type(42) +call type(42) +" Vim9 command +" type(42) +" type (42) + +let uniq = uniq(42) +call uniq(42) +" command +uniq(42) +uniq (42) + + +" errors + +let foo = foo(42) +call foo(42) + +let if = if(42) +call if(42) +" command +if(42) | .. | endif +if (42) | .. | endif + +let echo = echo(42) +call echo(42) +" command +echo(42) +echo (42) + + +" expressions + +let foo = abs(42) + +echo abs(42) +echo (abs(42)) +echo abs(42) + foo +echo foo + abs(42) + +echo Foo() +echo (Foo()) +echo Foo() + bar +echo bar + Foo() + + +" scope modifiers and qualified names + +let foo = s:foo(42) +call s:foo(42) + +let foo = g:foo(42) +call g:foo(42) + +let foo = b:foo(42) +call b:foo(42) + +let foo = w:foo(42) +call w:foo(42) + +let foo = t:foo(42) +call t:foo(42) + +let foo = l:foo(42) +call l:foo(42) + +let foo = a:foo(42) +call a:foo(42) + +let foo = v:foo(42) +call v:foo(42) + + +let foo = module.foo(42) +call module.foo(42) + +let foo = s:module.foo(42) +call module.foo(42) + +let foo = g:module.foo(42) +call g:module.foo(42) + +let foo = b:module.foo(42) +call b:module.foo(42) + +let foo = w:module.foo(42) +call w:module.foo(42) + +let foo = t:module.foo(42) +call t:module.foo(42) + +let foo = l:module.foo(42) +call l:module.foo(42) + +let foo = a:module.foo(42) +call a:module.foo(42) + +let foo = v:module.foo(42) +call v:module.foo(42) + + +let foo = module#foo(42) +call module#foo(42) + +let foo = g:module#foo(42) +call g:module#foo(42) + + +" not builtin functions + +call s:substitute() +call g:substitute() +call b:substitute() +call w:substitute() +call t:substitute() +call l:substitute() +call a:substitute() +call v:substitute() + +call substitute() + +call s:substitute.substitute() +call g:substitute.substitute() +call b:substitute.substitute() +call w:substitute.substitute() +call t:substitute.substitute() +call l:substitute.substitute() +call a:substitute.substitute() +call v:substitute.substitute() + +call substitute#substitute() +call g:substitute#substitute() + diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index ee107b1b5a..3ec72d1aed 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -286,7 +286,7 @@ syn case match " All vimCommands are contained by vimIsCommand. {{{2 syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimCommandModifier,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,vimDelFunction,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,vimFiletype,vimFor,vimFunction,vimFunctionFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimImport,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimProfdel,vimProfile,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimSynColor,vimSynLink,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var -syn match vimCmdSep "\\\@1" nextgroup=vimBang contains=vimCommand @@ -322,7 +322,7 @@ Vim9 syn match vim9LhsVariableList "\[\_[^]]\+]\ze\s\+\.\.=" contains=vimVar,@ Vim9 syn match vim9LhsRegister "@["0-9\-a-zA-Z#=*+_/]\ze\s\+\%(\.\.\)\==" -syn cluster vimExprList contains=@vimSpecialVar,vimFunc,vimNumber,vimOper,vimOperParen,vimLambda,vimString,vimVar,@vim9ExprList +syn cluster vimExprList contains=@vimSpecialVar,@vimFunc,vimNumber,vimOper,vimOperParen,vimLambda,vimString,vimVar,@vim9ExprList syn cluster vim9ExprList contains=vim9Boolean,vim9LambdaParams,vim9Null " Insertions And Appends: insert append {{{2 @@ -345,7 +345,7 @@ syn keyword vimBehaveModel contained mswin xterm " Call {{{2 " ==== -syn match vimCall "\" skipwhite nextgroup=vimFunc +syn match vimCall "\" skipwhite nextgroup=@vimFunc " Debuggreedy {{{2 " =========== @@ -415,7 +415,7 @@ syn match vimImport "\" skipwhite nextgroup=vimImportAutoload,vim " Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking. -syn cluster vimAugroupList contains=@vimCmdList,vimFilter,vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,@vimComment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimContinue +syn cluster vimAugroupList contains=@vimCmdList,vimFilter,@vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,@vimComment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimContinue " define VimFolda syn region vimAugroup @@ -490,9 +490,9 @@ syn match vim9LambdaOperatorComment contained "#.*" skipwhite skipempty nextgrou " Functions: Tag is provided for those who wish to highlight tagged functions {{{2 " ========= -syn cluster vimFunctionBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFunctionFold,vimDefFold,vimCmdSep +syn cluster vimFunctionBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunction,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFunctionFold,vimDefFold,vimCmdSep syn cluster vimFunctionBodyList contains=@vimFunctionBodyCommon,vimComment,vimLineComment,vimInsert,vimConst,vimLet,vimSearch -syn cluster vimDefBodyList contains=@vimFunctionBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar +syn cluster vimDefBodyList contains=@vimFunctionBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar,@vim9Func syn region vimFunctionPattern contained \ matchgroup=vimOper @@ -805,7 +805,7 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained " User-Specified Commands: {{{2 " ======================= -syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange +syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,@vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange syn match vimUserCmd "\!\=" skipwhite nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang syn match vimUserCmd +\!\=\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang @@ -1031,7 +1031,7 @@ syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)' " Set command and associated set-options (vimOptions) with comment {{{2 syn match vimSet "\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skipwhite nextgroup=vimSetBang,vimCmdSep,vimComment,vimSetArgs syn region vimSetComment contained start=+"+ skip=+\n\s*\%(\\\||"\\ \)+ end="$" contains=@vimCommentGroup,vimCommentString extend -syn match vimSetCmdSep contained "|" skipwhite nextgroup=@vimCmdList,vimSubst1,vimFunc +syn match vimSetCmdSep contained "|" skipwhite nextgroup=@vimCmdList,vimSubst1,@vimFunc syn match vimSetEscape contained "\\\%(\\[|"]\|.\)" syn match vimSetBarEscape contained "\\|" syn match vimSetQuoteEscape contained +\\"+ @@ -1241,9 +1241,9 @@ syn region vimAutocmdPattern contained \ skip="\\\\\|\\[,[:space:]]" \ end="\ze[,[:space:]]" \ end="$" - \ skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock + \ skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock,@vimFunc \ contains=vimEnvvar,@vimWildcard,vimAutocmdPatternEscape -syn match vimAutocmdBufferPattern contained "" skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock +syn match vimAutocmdBufferPattern contained "" skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock,@vimFunc " trailing pattern separator comma allowed syn match vimAutocmdPatternSep contained "," skipwhite nextgroup=@vimAutocmdPattern,vimAutocmdMod,vimAutocmdBlock syn match vimAutocmdPatternEscape contained "\\." @@ -1439,6 +1439,12 @@ syn region vimMenutranslate syn match vimMenutranslateName "\%(\\\s\|\S\)\+" contained contains=vimMenuNotation,vimNotation syn match vimMenutranslateComment +".*+ contained containedin=vimMenutranslate +" If, While and Return: {{{2 +" ==================== +syn match vimNotFunc "\%#=1\<\%(if\|el\%[seif]\|retu\%[rn]\|while\)\>" skipwhite nextgroup=@vimExprList,vimNotation +syn match vimElse "\" skipwhite nextgroup=vimComment,vim9Comment +syn match vimEndif "\" skipwhite nextgroup=vimComment,vim9Comment + " Angle-Bracket Notation: (tnx to Michael Geddes) {{{2 " ====================== syn case ignore @@ -1462,17 +1468,8 @@ syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd]-\)\{0,4}char-\% syn match vimBracket contained "[\\<>]" syn case match -" User Function Highlighting: {{{2 -" (following Gautam Iyer's suggestion) -" ========================== -syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute -syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\" contains=vimNotation,vim9MethodName,vim9Super,vim9This -syn keyword vimFuncEcho contained ec ech echo - -syn match vimMap "\\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' +syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([.(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' " Vim user commands @@ -1502,12 +1499,6 @@ if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror") syn match vimBufnrWarn /\" skipwhite nextgroup=@vimExprList,vimNotation -syn match vimElse "\" skipwhite nextgroup=vimComment,vim9Comment -syn match vimEndif "\" skipwhite nextgroup=vimComment,vim9Comment - " Match: {{{2 " ===== syn match vimMatch "\<[23]\=mat\%[ch]\>" skipwhite nextgroup=vimMatchGroup,vimMatchNone @@ -2126,6 +2117,20 @@ VimFoldt syn region vimTclHeredoc contained \ contains=@vimTclScript unlet s:interfaces +" Function Call Highlighting: {{{2 +" (following Gautam Iyer's suggestion) +" ========================== +syn match vimFunc contained "\<\l\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimFuncName +syn match vimUserFunc contained "\<\%([[:upper:]_]\|\%(\h\w*\.\)\+\h\)\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vim9MethodName,vim9Super,vim9This +syn match vimUserFunc contained "\<\%(g:\)\=\%(\h\w*#\)\+\h\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimVarScope +syn match vimUserFunc contained "\%(\<[sgbwtlav]:\|<[sS][iI][dD]>\)\%(\h\w*\.\)*\h\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimVarScope,vimNotation + +Vim9 syn match vim9UserFunc "^\s*\zs\%([sgbwtv]:\|<[sS][iI][dD]>\)\=\%(\h\w*[.#]\)*\h\w*\ze(" skipwhite nextgroup=vimOperParen contains=vimVarScope,vimNotation,vim9MethodName,vim9Super,vim9This +Vim9 syn match vim9Func "^\s*\zs\l\w*\ze(" skipwhite nextgroup=vimOperParen contains=vimFuncName + +syn cluster vimFunc contains=vimFunc,vimUserFunc +syn cluster vim9Func contains=vim9Func,vim9UserFunc + " Beginners - Patterns that involve ^ {{{2 " ========= Vim9 syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle extend @@ -2194,6 +2199,7 @@ if !exists("skip_vim_syntax_inits") hi def link vimFTError vimError hi def link vimFunctionError vimError hi def link vimFunc vimError + hi def link vim9Func vimError hi def link vimHiAttribList vimError hi def link vimHiCtermError vimError hi def link vimHiKeyError vimError