runtime(vim): Update syntax file (#13948) Commit: https://github.com/vim/vim/commit/e3e3934bb18294b1a5636ed65299d3479f289a8e Author: dkearns <dougkea...@gmail.com> Date: Fri Feb 2 07:44:26 2024 +1100
runtime(vim): Update syntax file (https://github.com/vim/vim/issues/13948) Improve string escape sequence and special key matching. Signed-off-by: Doug Kearns <dougkea...@gmail.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/runtime/syntax/testdir/dumps/vim_expr_00.dump b/runtime/syntax/testdir/dumps/vim_expr_00.dump index 6330599d7..91ae9390d 100644 --- a/runtime/syntax/testdir/dumps/vim_expr_00.dump +++ b/runtime/syntax/testdir/dumps/vim_expr_00.dump @@ -4,17 +4,17 @@ |e+0#af5f00255&|c|h|o| +0#0000000&|'+0#e000002&|t|a|b|:| |\|t|,| |n|e|w| |l|i|n|e|:| |\|n|,| |b|a|c|k|s|l|a|s|h|:| |\@1|'| +0#0000000&@31 |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|t|a|b|:| |\+0#e000e06&|t|,+0#e000002&| |n|e|w| |l|i|n|e|:| |\+0#e000e06&|n|,+0#e000002&| |b|a|c|k|s|l|a|s|h|:| |\+0#e000e06&@1|"+0#e000002&| +0#0000000&@31 @75 -|"+0#0000e05&| |S|t|r|i|n|g| |i|n|t|e|r|p|o|l|a|t|i|o|n| +0#0000000&@52 +|"+0#0000e05&| |S|t|r|i|n|g| |e|s|c|a|p|e| |s|e|q|u|e|n|c|e|s| +0#0000000&@49 @75 -|e+0#af5f00255&|c|h|o| +0#0000000&|'+0#e000002&|D|o|n|'@1|t| |h|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:| |{@1| |{|1| |+| |2|}| |}@1|'| +0#0000000&@22 -|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|D|o|n|'|t| |h|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:| |{@1| |{|1| |+| |2|}| |}@1|"| +0#0000000&@23 -|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|'|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\|t|{+0#e000e06&@1| +0#e000002&|{+0#0000000&| |s+0#00e0e07&|t|r|i|n|g|(+0#e000e06&|{|'+0#e000002&|f|o@1|'|:+0#0000000&| |'+0#e000002&|b|a|r|'|}+0#e000e06&|)| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|'+0#e000002&| +0#0000000&@8 -|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|'|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\|t|{+0#e000e06&@1| +0#e000002&|{+0#0000000&| |$+0#e000002&|'|n|e|s|t|e|d|:| |{+0#e000e06&@1| +0#e000002&|{+0#0000000&|1| |++0#af5f00255&| +0#0000000&|2|}| +0#e000002&|}+0#e000e06&@1|'+0#e000002&| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|'+0#e000002&| +0#0000000&@6 -|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\+0#e000e06&|t|{@1| +0#e000002&|{+0#0000000&| |s+0#00e0e07&|t|r|i|n|g|(+0#e000e06&|{|"+0#e000002&|f|o@1|"|:+0#0000000&| |"+0#e000002&|b|a|r|"|}+0#e000e06&|)| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&@8 -|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\+0#e000e06&|t|{@1| +0#e000002&|{+0#0000000&| |$+0#e000002&|"|n|e|s|t|e|d|:| |{+0#e000e06&@1| +0#e000002&|{+0#0000000&|1| |++0#af5f00255&| +0#0000000&|2|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&@6 -|~+0#4040ff13&| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|"+0#0000000&|i|n|p|u|t|/|v|i|m|_|e|x|p|r|.|v|i|m|"| |1|4|L|,| |5|2@1|B| @26|1|,|1| @10|A|l@1| +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|3|1|6| +0#e000002&|-| |\+0#e000e06&|3|1| +0#e000002&|-| |\+0#e000e06&|3| +0#e000002&|-| |\+0#e000e06&|x|1|f| +0#e000002&|-| |\+0#e000e06&|x|f| +0#e000002&|-| |\+0#e000e06&|X|1|F| +0#e000002&|-| |\+0#e000e06&|X|F| +0#e000002&|-| |\+0#e000e06&|u|0|2|a|4| +0#e000002&|-| |\+0#e000e06&|U|0@4|2|a|4| +0#e000002&|-| |\+0#e000e06&|b| +0#e000002& +|-| |\+0#e000e06&|e| +0#e000002&|-| |\+0#e000e06&|f| +0#e000002&|-| |\+0#e000e06&|n| +0#e000002&|-| |\+0#e000e06&|r| +0#e000002&|-| |\+0#e000e06&|t| +0#e000002&|-| |\+0#e000e06&@1| +0#e000002&|-| |\+0#e000e06&|"| +0#e000002&|-| |\+0#e000e06&|<|C|-|W|>|"+0#e000002&| +0#0000000&@30 +|e+0#af5f00255&|c|h|o| +0#0000000&|'+0#e000002&|\|3|1|6| |\|3|1| |\|3| |\|x|1|f| |\|x|f| |\|X|1|F| |\|X|F| |\|u|0|2|a|4| |\|U|0@4|2|a|4| |\|b| |\|e| |\|f| |\|n| |\|r| |\|t| |\@1| +|\|"| |\|<|C|-|W|>|'| +0#0000000&@64 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|3|1|6|0+0#e000002&| |-| |\+0#e000e06&|x|1|f|0+0#e000002&| |-| |\+0#e000e06&|X|1|F|0+0#e000002&| |-| |\+0#e000e06&|u|0|2|a|4|0+0#e000002&| |-| |\+0#e000e06&|U|0@4|2|a|4|0+0#e000002&|"| +0#0000000&@22 +@75 +|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|\+0#e000e06&|3|1|6| +0#e000002&|-| |\+0#e000e06&|3|1| +0#e000002&|-| |\+0#e000e06&|3| +0#e000002&|-| |\+0#e000e06&|x|1|f| +0#e000002&|-| |\+0#e000e06&|x|f| +0#e000002&|-| |\+0#e000e06&|X|1|F| +0#e000002&|-| |\+0#e000e06&|X|F| +0#e000002&|-| |\+0#e000e06&|u|0|2|a|4| +0#e000002&|-| |\+0#e000e06&|U|0@4|2|a|4| +0#e000002&|-| |\+0#e000e06&|b +| +0#e000002&|-| |\+0#e000e06&|e| +0#e000002&|-| |\+0#e000e06&|f| +0#e000002&|-| |\+0#e000e06&|n| +0#e000002&|-| |\+0#e000e06&|r| +0#e000002&|-| |\+0#e000e06&|t| +0#e000002&|-| |\+0#e000e06&@1| +0#e000002&|-| |\+0#e000e06&|"| +0#e000002&|-| |\+0#e000e06&|<|C|-|W|>|"+0#e000002&| +0#0000000&@29 +|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|'|\|3|1|6| |\|3|1| |\|3| |\|x|1|f| |\|x|f| |\|X|1|F| |\|X|F| |\|u|0|2|a|4| |\|U|0@4|2|a|4| |\|b| |\|e| |\|f| |\|n| |\|r| |\|t| |\@1 +| |\|"| |\|<|C|-|W|>|'| +0#0000000&@63 +|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|\+0#e000e06&|3|1|6|0+0#e000002&| |-| |\+0#e000e06&|x|1|f|0+0#e000002&| |-| |\+0#e000e06&|X|1|F|0+0#e000002&| |-| |\+0#e000e06&|u|0|2|a|4|0+0#e000002&| |-| |\+0#e000e06&|U|0@4|2|a|4|0+0#e000002&|"| +0#0000000&@21 +|"|i|n|p|u|t|/|v|i|m|_|e|x|p|r|.|v|i|m|"| |3|2|L|,| |1@1|6|3|B| @25|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_expr_01.dump b/runtime/syntax/testdir/dumps/vim_expr_01.dump new file mode 100644 index 000000000..5f9b02ed0 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_expr_01.dump @@ -0,0 +1,20 @@ +|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|$+0#e000002&|'|\|3|1|6| |\|3|1| |\|3| |\|x|1|f| |\|x|f| |\|X|1|F| |\|X|F| |\|u|0|2|a|4| |\|U|0@4|2|a|4| |\|b| |\|e| |\|f| |\|n| |\|r| |\|t| |\@1 +| |\|"| |\|<|C|-|W|>|'| +0#0000000&@63 +|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|\+0#e000e06&|3|1|6|0+0#e000002&| |-| |\+0#e000e06&|x|1|f|0+0#e000002&| |-| |\+0#e000e06&|X|1|F|0+0#e000002&| |-| |\+0#e000e06&|u|0|2|a|4|0+0#e000002&| |-| |\+0#e000e06&|U|0@4|2|a|4|0+0#e000002&|"| +0#0000000&@21 +@75 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|C|-|a|>|"+0#e000002&| +0#0000000&@61 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|*|C|-|a|>|"+0#e000002&| +0#0000000&@60 +>e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|C|-|>@1|"+0#e000002&| +0#0000000&@61 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|*|C|-|>@1|"+0#e000002&| +0#0000000&@60 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|C|-|>@1|>+0#e000002&|"| +0#0000000&@60 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|*|C|-|>@1|>+0#e000002&|"| +0#0000000&@59 +@75 +|"+0#0000e05&| |S|t|r|i|n|g| |i|n|t|e|r|p|o|l|a|t|i|o|n| +0#0000000&@52 +@75 +|e+0#af5f00255&|c|h|o| +0#0000000&|'+0#e000002&|D|o|n|'@1|t| |h|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:| |{@1| |{|1| |+| |2|}| |}@1|'| +0#0000000&@22 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|D|o|n|'|t| |h|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:| |{@1| |{|1| |+| |2|}| |}@1|"| +0#0000000&@23 +|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|'|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\|t|{+0#e000e06&@1| +0#e000002&|{+0#0000000&| |s+0#00e0e07&|t|r|i|n|g|(+0#e000e06&|{|'+0#e000002&|f|o@1|'|:+0#0000000&| |'+0#e000002&|b|a|r|'|}+0#e000e06&|)| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|'+0#e000002&| +0#0000000&@8 +|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|'|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\|t|{+0#e000e06&@1| +0#e000002&|{+0#0000000&| |$+0#e000002&|'|n|e|s|t|e|d|:| |{+0#e000e06&@1| +0#e000002&|{+0#0000000&|1| |++0#af5f00255&| +0#0000000&|2|}| +0#e000002&|}+0#e000e06&@1|'+0#e000002&| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|'+0#e000002&| +0#0000000&@6 +|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\+0#e000e06&|t|{@1| +0#e000002&|{+0#0000000&| |s+0#00e0e07&|t|r|i|n|g|(+0#e000e06&|{|"+0#e000002&|f|o@1|"|:+0#0000000&| |"+0#e000002&|b|a|r|"|}+0#e000e06&|)| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&@8 +|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\+0#e000e06&|t|{@1| +0#e000002&|{+0#0000000&| |$+0#e000002&|"|n|e|s|t|e|d|:| |{+0#e000e06&@1| +0#e000002&|{+0#0000000&|1| |++0#af5f00255&| +0#0000000&|2|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&@6 +@57|1|9|,|1| @9|9|2|%| diff --git a/runtime/syntax/testdir/dumps/vim_expr_02.dump b/runtime/syntax/testdir/dumps/vim_expr_02.dump new file mode 100644 index 000000000..67f229d57 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_expr_02.dump @@ -0,0 +1,20 @@ +| +0#e000002#ffffff0@5|"+0#0000e05&|\| |e|s|c|a|p|e| |s|e|q|u|e|n|c|e| +0#0000000&@50 +| +0#e000002&@5|\+0#e000e06&@1|"| +0#e000002&|l|i|n|e| |2| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&|"+0#e000002&| +0#0000000&|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@51 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|s+0#00e0e07&| +0#0000000&|=+0#af5f00255&| +0#0000000&|'+0#e000002&| +0#0000000&@65 +| +0#e000002&@5>"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&| +0#e000002&|l|i|n|e| |1| +0#0000000&@60 +| +0#e000002&@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&| +0#e000002&|l|i|n|e| |2| +0#0000000&@60 +| +0#e000002&@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&|'+0#e000002&| +0#0000000&|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@51 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|s+0#00e0e07&| +0#0000000&|=+0#af5f00255&| +0#0000000&|$+0#e000002&|"| +0#0000000&@64 +| +0#e000002&@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&| +0#e000002&|l|i|n|e| |1| +0#0000000&@60 +| +0#e000002&@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&| +0#e000002&|l|i|n|e| |2| +0#0000000&@60 +| +0#e000002&@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&|"+0#e000002&| +0#0000000&|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@51 +@57|3|7|,|7| @9|7|3|%| diff --git a/runtime/syntax/testdir/dumps/vim_expr_03.dump b/runtime/syntax/testdir/dumps/vim_expr_03.dump new file mode 100644 index 000000000..23077c5a0 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_expr_03.dump @@ -0,0 +1,20 @@ +| +0#e000002#ffffff0@5|\+0#e000e06&|"+0#e000002&| +0#0000000&|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@51 +@75 +|l+0#af5f00255&|e|t| +0#0000000&|s+0#00e0e07&| +0#0000000&|=+0#af5f00255&| +0#0000000&|$+0#e000002&|'| +0#0000000&@64 +| +0#e000002&@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&| +0#e000002&|l|i|n|e| |1| +0#0000000&@60 +| +0#e000002&@5>"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&| +0#e000002&|l|i|n|e| |2| +0#0000000&@60 +| +0#e000002&@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#e000002&@5|\+0#e000e06&|'+0#e000002&| +0#0000000&|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@51 +@75 +|"+0#0000e05&| |l|i|n|e| |c|o|m@1|e|n|t| +0#0000000&@60 +|f|o@1|(+0#e000e06&|)| +0#0000000&|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@54 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|5@1|,|7| @9|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_expr_99.dump b/runtime/syntax/testdir/dumps/vim_expr_99.dump index 10447b8c3..4bcf10ab8 100644 --- a/runtime/syntax/testdir/dumps/vim_expr_99.dump +++ b/runtime/syntax/testdir/dumps/vim_expr_99.dump @@ -1,8 +1,11 @@ -|"+0#0000e05#ffffff0| |S|t|r|i|n|g| +0#0000000&@66 +|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|$+0#e000002&|"|\+0#e000e06&|3|1|6|0+0#e000002&| |-| |\+0#e000e06&|x|1|f|0+0#e000002&| |-| |\+0#e000e06&|X|1|F|0+0#e000002&| |-| |\+0#e000e06&|u|0|2|a|4|0+0#e000002&| |-| |\+0#e000e06&|U|0@4|2|a|4|0+0#e000002&|"| +0#0000000&@21 @75 -|e+0#af5f00255&|c|h|o| +0#0000000&|'+0#e000002&|I|t|'@1|s| |a| |s|t|r|i|n|g|'| +0#0000000&@53 -|e+0#af5f00255&|c|h|o| +0#0000000&|'+0#e000002&|t|a|b|:| |\|t|,| |n|e|w| |l|i|n|e|:| |\|n|,| |b|a|c|k|s|l|a|s|h|:| |\@1|'| +0#0000000&@31 -|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|t|a|b|:| |\+0#e000e06&|t|,+0#e000002&| |n|e|w| |l|i|n|e|:| |\+0#e000e06&|n|,+0#e000002&| |b|a|c|k|s|l|a|s|h|:| |\+0#e000e06&@1|"+0#e000002&| +0#0000000&@31 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|C|-|a|>|"+0#e000002&| +0#0000000&@61 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|*|C|-|a|>|"+0#e000002&| +0#0000000&@60 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|C|-|>@1|"+0#e000002&| +0#0000000&@61 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|*|C|-|>@1|"+0#e000002&| +0#0000000&@60 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|C|-|>@1|>+0#e000002&|"| +0#0000000&@60 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|*|C|-|>@1|>+0#e000002&|"| +0#0000000&@59 @75 |"+0#0000e05&| |S|t|r|i|n|g| |i|n|t|e|r|p|o|l|a|t|i|o|n| +0#0000000&@52 @75 @@ -11,10 +14,7 @@ |e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|'|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\|t|{+0#e000e06&@1| +0#e000002&|{+0#0000000&| |s+0#00e0e07&|t|r|i|n|g|(+0#e000e06&|{|'+0#e000002&|f|o@1|'|:+0#0000000&| |'+0#e000002&|b|a|r|'|}+0#e000e06&|)| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|'+0#e000002&| +0#0000000&@8 |e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|'|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\|t|{+0#e000e06&@1| +0#e000002&|{+0#0000000&| |$+0#e000002&|'|n|e|s|t|e|d|:| |{+0#e000e06&@1| +0#e000002&|{+0#0000000&|1| |++0#af5f00255&| +0#0000000&|2|}| +0#e000002&|}+0#e000e06&@1|'+0#e000002&| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|'+0#e000002&| +0#0000000&@6 |e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\+0#e000e06&|t|{@1| +0#e000002&|{+0#0000000&| |s+0#00e0e07&|t|r|i|n|g|(+0#e000e06&|{|"+0#e000002&|f|o@1|"|:+0#0000000&| |"+0#e000002&|b|a|r|"|}+0#e000e06&|)| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&@8 ->e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\+0#e000e06&|t|{@1| +0#e000002&|{+0#0000000&| |$+0#e000002&|"|n|e|s|t|e|d|:| |{+0#e000e06&@1| +0#e000002&|{+0#0000000&|1| |++0#af5f00255&| +0#0000000&|2|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&@6 +|e+0#af5f00255&|c|h|o| +0#0000000&|$+0#e000002&|"|H|i|g|h|l|i|g|h|t| |i|n|t|e|r|p|o|l|a|t|i|o|n|:|\+0#e000e06&|t|{@1| +0#e000002&|{+0#0000000&| |$+0#e000002&|"|n|e|s|t|e|d|:| |{+0#e000e06&@1| +0#e000002&|{+0#0000000&|1| |++0#af5f00255&| +0#0000000&|2|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&|}| +0#e000002&|}+0#e000e06&@1|"+0#e000002&| +0#0000000&@6 +> @74 |~+0#4040ff13&| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|"+0#0000000&|i|n|p|u|t|/|v|i|m|_|e|x|p|r|.|v|i|m|"| |1|4|L|,| |5|2@1|B| @26|1|4|,|1| @9|A|l@1| +| +0#0000000&@56|3|2|,|0|-|1| @7|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_00.dump b/runtime/syntax/testdir/dumps/vim_key_notation_00.dump new file mode 100644 index 000000000..8b77cf347 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_00.dump @@ -0,0 +1,20 @@ +>"+0#0000e05#ffffff0| |K|e|y| |n|o|t|a|t|i|o|n| +0#0000000&@60 +@75 +|<+0#e000e06&|S|p|a|c|e|>| +0#0000000&@67 +|<+0#e000e06&|T|a|b|>| +0#0000000&@69 +|<+0#e000e06&|T|a|b|>| +0#0000000&@69 +|<+0#e000e06&|N|L|>| +0#0000000&@70 +|<+0#e000e06&|N|e|w|L|i|n|e|>| +0#0000000&@65 +|<+0#e000e06&|L|i|n|e|F|e@1|d|>| +0#0000000&@64 +|<+0#e000e06&|L|F|>| +0#0000000&@70 +|<+0#e000e06&|C|R|>| +0#0000000&@70 +|<+0#e000e06&|R|e|t|u|r|n|>| +0#0000000&@66 +|<+0#e000e06&|E|n|t|e|r|>| +0#0000000&@67 +|<+0#e000e06&|B|S|>| +0#0000000&@70 +|<+0#e000e06&|B|a|c|k|S|p|a|c|e|>| +0#0000000&@63 +|<+0#e000e06&|E|s|c|>| +0#0000000&@69 +|<+0#e000e06&|C|S|I|>| +0#0000000&@69 +|<+0#e000e06&|x|C|S|I|>| +0#0000000&@68 +|<+0#e000e06&|B|a|r|>| +0#0000000&@69 +|<+0#e000e06&|B|s|l|a|s|h|>| +0#0000000&@66 +|"|i|n|p|u|t|/|v|i|m|_|k|e|y|_|n|o|t|a|t|i|o|n|.|v|i|m|"| |1|6|3|L|,| |1|3|4|6|B| @16|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_01.dump b/runtime/syntax/testdir/dumps/vim_key_notation_01.dump new file mode 100644 index 000000000..0cbf0ee0f --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_01.dump @@ -0,0 +1,20 @@ +|<+0#e000e06#ffffff0|B|a|c|k|S|p|a|c|e|>| +0#0000000&@63 +|<+0#e000e06&|E|s|c|>| +0#0000000&@69 +|<+0#e000e06&|C|S|I|>| +0#0000000&@69 +|<+0#e000e06&|x|C|S|I|>| +0#0000000&@68 +|<+0#e000e06&|B|a|r|>| +0#0000000&@69 +><+0#e000e06&|B|s|l|a|s|h|>| +0#0000000&@66 +|<+0#e000e06&|D|e|l|>| +0#0000000&@69 +|<+0#e000e06&|D|e|l|e|t|e|>| +0#0000000&@66 +|<+0#e000e06&|k|D|e|l|>| +0#0000000&@68 +|<+0#e000e06&|U|p|>| +0#0000000&@70 +|<+0#e000e06&|D|o|w|n|>| +0#0000000&@68 +|<+0#e000e06&|L|e|f|t|>| +0#0000000&@68 +|<+0#e000e06&|R|i|g|h|t|>| +0#0000000&@67 +|<+0#e000e06&|x|U|p|>| +0#0000000&@69 +|<+0#e000e06&|x|D|o|w|n|>| +0#0000000&@67 +|<+0#e000e06&|x|L|e|f|t|>| +0#0000000&@67 +|<+0#e000e06&|x|R|i|g|h|t|>| +0#0000000&@66 +|<+0#e000e06&|P|a|s|t|e|S|t|a|r|t|>| +0#0000000&@62 +|<+0#e000e06&|P|a|s|t|e|E|n|d|>| +0#0000000&@64 +@57|1|9|,|1| @10|9|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_02.dump b/runtime/syntax/testdir/dumps/vim_key_notation_02.dump new file mode 100644 index 000000000..01fca78c4 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_02.dump @@ -0,0 +1,20 @@ +|<+0#e000e06#ffffff0|P|a|s|t|e|E|n|d|>| +0#0000000&@64 +|<+0#e000e06&|F|1|>| +0#0000000&@70 +|<+0#e000e06&|F|2|>| +0#0000000&@70 +|<+0#e000e06&|F|3|>| +0#0000000&@70 +|<+0#e000e06&|F|4|>| +0#0000000&@70 +><+0#e000e06&|F|5|>| +0#0000000&@70 +|<+0#e000e06&|F|6|>| +0#0000000&@70 +|<+0#e000e06&|F|7|>| +0#0000000&@70 +|<+0#e000e06&|F|8|>| +0#0000000&@70 +|<+0#e000e06&|F|9|>| +0#0000000&@70 +|<+0#e000e06&|F|1|0|>| +0#0000000&@69 +|<+0#e000e06&|F|1@1|>| +0#0000000&@69 +|<+0#e000e06&|F|1|2|>| +0#0000000&@69 +|<+0#e000e06&|F|1|3|>| +0#0000000&@69 +|<+0#e000e06&|F|1|4|>| +0#0000000&@69 +|<+0#e000e06&|F|1|5|>| +0#0000000&@69 +|<+0#e000e06&|F|1|6|>| +0#0000000&@69 +|<+0#e000e06&|F|1|7|>| +0#0000000&@69 +|<+0#e000e06&|F|1|8|>| +0#0000000&@69 +@57|3|7|,|1| @9|2|1|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_03.dump b/runtime/syntax/testdir/dumps/vim_key_notation_03.dump new file mode 100644 index 000000000..dfdf8902f --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_03.dump @@ -0,0 +1,20 @@ +|<+0#e000e06#ffffff0|F|1|8|>| +0#0000000&@69 +|<+0#e000e06&|F|1|9|>| +0#0000000&@69 +|<+0#e000e06&|F|2|0|>| +0#0000000&@69 +|<+0#e000e06&|F|2|1|>| +0#0000000&@69 +|<+0#e000e06&|F|2@1|>| +0#0000000&@69 +><+0#e000e06&|F|2|3|>| +0#0000000&@69 +|<+0#e000e06&|F|2|4|>| +0#0000000&@69 +|<+0#e000e06&|F|2|5|>| +0#0000000&@69 +|<+0#e000e06&|F|2|6|>| +0#0000000&@69 +|<+0#e000e06&|F|2|7|>| +0#0000000&@69 +|<+0#e000e06&|F|2|8|>| +0#0000000&@69 +|<+0#e000e06&|F|2|9|>| +0#0000000&@69 +|<+0#e000e06&|F|3|0|>| +0#0000000&@69 +|<+0#e000e06&|F|3|1|>| +0#0000000&@69 +|<+0#e000e06&|F|3|2|>| +0#0000000&@69 +|<+0#e000e06&|F|3@1|>| +0#0000000&@69 +|<+0#e000e06&|F|3|4|>| +0#0000000&@69 +|<+0#e000e06&|F|3|5|>| +0#0000000&@69 +|<+0#e000e06&|F|3|6|>| +0#0000000&@69 +@57|5@1|,|1| @9|3|4|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_04.dump b/runtime/syntax/testdir/dumps/vim_key_notation_04.dump new file mode 100644 index 000000000..8820c2680 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_04.dump @@ -0,0 +1,20 @@ +|<+0#e000e06#ffffff0|F|3|6|>| +0#0000000&@69 +|<+0#e000e06&|F|3|7|>| +0#0000000&@69 +|<+0#e000e06&|x|F|1|>| +0#0000000&@69 +|<+0#e000e06&|x|F|2|>| +0#0000000&@69 +|<+0#e000e06&|x|F|3|>| +0#0000000&@69 +><+0#e000e06&|x|F|4|>| +0#0000000&@69 +|<+0#e000e06&|H|e|l|p|>| +0#0000000&@68 +|<+0#e000e06&|U|n|d|o|>| +0#0000000&@68 +|<+0#e000e06&|I|n|s|e|r|t|>| +0#0000000&@66 +|<+0#e000e06&|I|n|s|>| +0#0000000&@69 +|<+0#e000e06&|k|I|n|s|e|r|t|>| +0#0000000&@65 +|<+0#e000e06&|H|o|m|e|>| +0#0000000&@68 +|<+0#e000e06&|k|H|o|m|e|>| +0#0000000&@67 +|<+0#e000e06&|x|H|o|m|e|>| +0#0000000&@67 +|<+0#e000e06&|z|H|o|m|e|>| +0#0000000&@67 +|<+0#e000e06&|E|n|d|>| +0#0000000&@69 +|<+0#e000e06&|k|E|n|d|>| +0#0000000&@68 +|<+0#e000e06&|x|E|n|d|>| +0#0000000&@68 +|<+0#e000e06&|z|E|n|d|>| +0#0000000&@68 +@57|7|3|,|1| @9|4|6|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_05.dump b/runtime/syntax/testdir/dumps/vim_key_notation_05.dump new file mode 100644 index 000000000..939bf89ba --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_05.dump @@ -0,0 +1,20 @@ +|<+0#e000e06#ffffff0|z|E|n|d|>| +0#0000000&@68 +|<+0#e000e06&|P|a|g|e|U|p|>| +0#0000000&@66 +|<+0#e000e06&|P|a|g|e|D|o|w|n|>| +0#0000000&@64 +|<+0#e000e06&|k|P|a|g|e|U|p|>| +0#0000000&@65 +|<+0#e000e06&|k|P|a|g|e|D|o|w|n|>| +0#0000000&@63 +><+0#e000e06&|k|P|l|u|s|>| +0#0000000&@67 +|<+0#e000e06&|k|M|i|n|u|s|>| +0#0000000&@66 +|<+0#e000e06&|k|D|i|v|i|d|e|>| +0#0000000&@65 +|<+0#e000e06&|k|M|u|l|t|i|p|l|y|>| +0#0000000&@63 +|<+0#e000e06&|k|E|n|t|e|r|>| +0#0000000&@66 +|<+0#e000e06&|k|P|o|i|n|t|>| +0#0000000&@66 +|<+0#e000e06&|k|0|>| +0#0000000&@70 +|<+0#e000e06&|k|1|>| +0#0000000&@70 +|<+0#e000e06&|k|2|>| +0#0000000&@70 +|<+0#e000e06&|k|3|>| +0#0000000&@70 +|<+0#e000e06&|k|4|>| +0#0000000&@70 +|<+0#e000e06&|k|5|>| +0#0000000&@70 +|<+0#e000e06&|k|6|>| +0#0000000&@70 +|<+0#e000e06&|k|7|>| +0#0000000&@70 +@57|9|1|,|1| @9|5|9|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_06.dump b/runtime/syntax/testdir/dumps/vim_key_notation_06.dump new file mode 100644 index 000000000..e82c7f3eb --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_06.dump @@ -0,0 +1,20 @@ +|<+0#e000e06#ffffff0|k|7|>| +0#0000000&@70 +|<+0#e000e06&|k|8|>| +0#0000000&@70 +|<+0#e000e06&|k|9|>| +0#0000000&@70 +|<+0#e000e06&|l|t|>| +0#0000000&@70 +|<+0#e000e06&|M|o|u|s|e|>| +0#0000000&@67 +><+0#e000e06&|N|e|t|M|o|u|s|e|>| +0#0000000&@64 +|<+0#e000e06&|D|e|c|M|o|u|s|e|>| +0#0000000&@64 +|<+0#e000e06&|J|s|b|M|o|u|s|e|>| +0#0000000&@64 +|<+0#e000e06&|P|t|e|r|m|M|o|u|s|e|>| +0#0000000&@62 +|<+0#e000e06&|U|r|x|v|t|M|o|u|s|e|>| +0#0000000&@62 +|<+0#e000e06&|S|g|r|M|o|u|s|e|>| +0#0000000&@64 +|<+0#e000e06&|S|g|r|M|o|u|s|e|R|e|l|e|a|s|e|>| +0#0000000&@57 +|<+0#e000e06&|L|e|f|t|M|o|u|s|e|>| +0#0000000&@63 +|<+0#e000e06&|L|e|f|t|M|o|u|s|e|N|M|>| +0#0000000&@61 +|<+0#e000e06&|L|e|f|t|D|r|a|g|>| +0#0000000&@64 +|<+0#e000e06&|L|e|f|t|R|e|l|e|a|s|e|>| +0#0000000&@61 +|<+0#e000e06&|L|e|f|t|R|e|l|e|a|s|e|N|M|>| +0#0000000&@59 +|<+0#e000e06&|M|o|u|s|e|M|o|v|e|>| +0#0000000&@63 +|<+0#e000e06&|M|i|d@1|l|e|M|o|u|s|e|>| +0#0000000&@61 +@57|1|0|9|,|1| @8|7|1|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_07.dump b/runtime/syntax/testdir/dumps/vim_key_notation_07.dump new file mode 100644 index 000000000..3e21774e1 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_07.dump @@ -0,0 +1,20 @@ +|<+0#e000e06#ffffff0|M|i|d@1|l|e|M|o|u|s|e|>| +0#0000000&@61 +|<+0#e000e06&|M|i|d@1|l|e|D|r|a|g|>| +0#0000000&@62 +|<+0#e000e06&|M|i|d@1|l|e|R|e|l|e|a|s|e|>| +0#0000000&@59 +|<+0#e000e06&|R|i|g|h|t|M|o|u|s|e|>| +0#0000000&@62 +|<+0#e000e06&|R|i|g|h|t|D|r|a|g|>| +0#0000000&@63 +><+0#e000e06&|R|i|g|h|t|R|e|l|e|a|s|e|>| +0#0000000&@60 +|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|U|p|>| +0#0000000&@59 +|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|D|o|w|n|>| +0#0000000&@57 +|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|R|i|g|h|t|>| +0#0000000&@56 +|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|L|e|f|t|>| +0#0000000&@57 +|<+0#e000e06&|M|o|u|s|e|D|o|w|n|>| +0#0000000&@63 +|<+0#e000e06&|M|o|u|s|e|U|p|>| +0#0000000&@65 +|<+0#e000e06&|X|1|M|o|u|s|e|>| +0#0000000&@65 +|<+0#e000e06&|X|1|D|r|a|g|>| +0#0000000&@66 +|<+0#e000e06&|X|1|R|e|l|e|a|s|e|>| +0#0000000&@63 +|<+0#e000e06&|X|2|M|o|u|s|e|>| +0#0000000&@65 +|<+0#e000e06&|X|2|D|r|a|g|>| +0#0000000&@66 +|<+0#e000e06&|X|2|R|e|l|e|a|s|e|>| +0#0000000&@63 +|<+0#e000e06&|D|r|o|p|>| +0#0000000&@68 +@57|1|2|7|,|1| @8|8|4|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_08.dump b/runtime/syntax/testdir/dumps/vim_key_notation_08.dump new file mode 100644 index 000000000..733757527 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_08.dump @@ -0,0 +1,20 @@ +|<+0#e000e06#ffffff0|D|r|o|p|>| +0#0000000&@68 +|<+0#e000e06&|N|u|l|>| +0#0000000&@69 +|<+0#e000e06&|S|N|R|>| +0#0000000&@69 +|<+0#e000e06&|P|l|u|g|>| +0#0000000&@68 +|<+0#e000e06&|C|u|r|s|o|r|H|o|l|d|>| +0#0000000&@62 +><+0#e000e06&|I|g|n|o|r|e|>| +0#0000000&@66 +|<+0#e000e06&|C|m|d|>| +0#0000000&@69 +|<+0#e000e06&|S|c|r|i|p|t|C|m|d|>| +0#0000000&@63 +|<+0#e000e06&|F|o|c|u|s|G|a|i|n|e|d|>| +0#0000000&@61 +|<+0#e000e06&|F|o|c|u|s|L|o|s|t|>| +0#0000000&@63 +@75 +|<+0#e000e06&|c|w|o|r|d|>| +0#0000000&@67 +|<+0#e000e06&|c|W|O|R|D|>| +0#0000000&@67 +|<+0#e000e06&|c|e|x|p|r|>| +0#0000000&@67 +|<+0#e000e06&|c|f|i|l|e|>| +0#0000000&@67 +|<+0#e000e06&|a|f|i|l|e|>| +0#0000000&@67 +|<+0#e000e06&|a|b|u|f|>| +0#0000000&@68 +|<+0#e000e06&|a|m|a|t|c|h|>| +0#0000000&@66 +|<+0#e000e06&|s|f|i|l|e|>| +0#0000000&@67 +@57|1|4|5|,|1| @8|9|6|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_99.dump b/runtime/syntax/testdir/dumps/vim_key_notation_99.dump new file mode 100644 index 000000000..67dac5fbb --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_key_notation_99.dump @@ -0,0 +1,20 @@ +|<+0#e000e06#ffffff0|I|g|n|o|r|e|>| +0#0000000&@66 +|<+0#e000e06&|C|m|d|>| +0#0000000&@69 +|<+0#e000e06&|S|c|r|i|p|t|C|m|d|>| +0#0000000&@63 +|<+0#e000e06&|F|o|c|u|s|G|a|i|n|e|d|>| +0#0000000&@61 +|<+0#e000e06&|F|o|c|u|s|L|o|s|t|>| +0#0000000&@63 +@75 +|<+0#e000e06&|c|w|o|r|d|>| +0#0000000&@67 +|<+0#e000e06&|c|W|O|R|D|>| +0#0000000&@67 +|<+0#e000e06&|c|e|x|p|r|>| +0#0000000&@67 +|<+0#e000e06&|c|f|i|l|e|>| +0#0000000&@67 +|<+0#e000e06&|a|f|i|l|e|>| +0#0000000&@67 +|<+0#e000e06&|a|b|u|f|>| +0#0000000&@68 +|<+0#e000e06&|a|m|a|t|c|h|>| +0#0000000&@66 +|<+0#e000e06&|s|f|i|l|e|>| +0#0000000&@67 +|<+0#e000e06&|s|t|a|c|k|>| +0#0000000&@67 +|<+0#e000e06&|s|c|r|i|p|t|>| +0#0000000&@66 +|<+0#e000e06&|s|l|n|u|m|>| +0#0000000&@67 +|<+0#e000e06&|s|f|l|n|u|m|>| +0#0000000&@66 +><+0#e000e06&|c|l|i|e|n|t|>| +0#0000000&@66 +@57|1|6|3|,|1| @8|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_variables_01.dump b/runtime/syntax/testdir/dumps/vim_variables_01.dump index f1ce29d3f..02f68193d 100644 --- a/runtime/syntax/testdir/dumps/vim_variables_01.dump +++ b/runtime/syntax/testdir/dumps/vim_variables_01.dump @@ -14,7 +14,7 @@ @75 |l+0#af5f00255&|e|t| +0#0000000&|&+0#00e0e07&|f|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|e|x|p|r| @59 @75 -|l+0#af5f00255&|e|t| +0#0000000&|&+0#00e0e07&|t|_|k|1| +0#0000000&|=+0#af5f00255&| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|E+0#e000002&|s|c|>|[|2|3|4|;|"| +0#0000000&@49 +|l+0#af5f00255&|e|t| +0#0000000&|&+0#00e0e07&|t|_|k|1| +0#0000000&|=+0#af5f00255&| +0#0000000&|"+0#e000002&|\+0#e000e06&|<|E|s|c|>|[+0#e000002&|2|3|4|;|"| +0#0000000&@49 @75 |l+0#af5f00255&|e|t| +0#0000000&|&+0#00e0e07&|f|o@1| +0#0000000&|.+0#af5f00255&|=| +0#0000000&|e|x|p|r| @58 @57|1|9|,|1| @9|1|0|%| diff --git a/runtime/syntax/testdir/input/vim_expr.vim b/runtime/syntax/testdir/input/vim_expr.vim index 0547e9bd4..be2cb2cf0 100644 --- a/runtime/syntax/testdir/input/vim_expr.vim +++ b/runtime/syntax/testdir/input/vim_expr.vim @@ -4,6 +4,23 @@ echo 'It''s a string' echo 'tab: , new line: , backslash: \' echo "tab: , new line: , backslash: \" +" String escape sequences + +echo "Î - - - \x1f - \xf - \X1F - \XF - \u02a4 - \U000002a4 - - - - - - - \ - \" - \<C-W>" +echo 'Î \x1f \xf \X1F \XF \u02a4 \U000002a4 \ \" \<C-W>' +echo "Î0 - \x1f0 - \X1F0 - \u02a40 - \U000002a40" + +echo $"Î - - - \x1f - \xf - \X1F - \XF - \u02a4 - \U000002a4 - - - - - - - \ - \" - \<C-W>" +echo $'Î \x1f \xf \X1F \XF \u02a4 \U000002a4 \ \" \<C-W>' +echo $"Î0 - \x1f0 - \X1F0 - \u02a40 - \U000002a40" + +echo "\<C-a>" +echo "\<*C-a>" +echo "\<C->>" +echo "\<*C->>" +echo "\<C->>>" +echo "\<*C->>>" + " String interpolation echo 'Don''t highlight interpolation: {{ {1 + 2} }}' @@ -12,3 +29,4 @@ echo $'Highlight interpolation: {{ { string({'foo': 'bar'}) } }}' echo $'Highlight interpolation: {{ { $'nested: {{ {1 + 2} }}' } }}' echo $"Highlight interpolation: {{ { string({"foo": "bar"}) } }}" echo $"Highlight interpolation: {{ { $"nested: {{ {1 + 2} }}" } }}" + diff --git a/runtime/syntax/testdir/input/vim_key_notation.vim b/runtime/syntax/testdir/input/vim_key_notation.vim new file mode 100644 index 000000000..8bc128a4d --- /dev/null +++ b/runtime/syntax/testdir/input/vim_key_notation.vim @@ -0,0 +1,163 @@ +" Key notation + +<Space> +<Tab> +<Tab> +<NL> +<NewLine> +<LineFeed> +<LF> +<CR> +<Return> +<Enter> +<BS> +<BackSpace> +<Esc> +<CSI> +<xCSI> +<Bar> +<Bslash> +<Del> +<Delete> +<kDel> +<Up> +<Down> +<Left> +<Right> +<xUp> +<xDown> +<xLeft> +<xRight> +<PasteStart> +<PasteEnd> +<F1> +<F2> +<F3> +<F4> +<F5> +<F6> +<F7> +<F8> +<F9> +<F10> +<F11> +<F12> +<F13> +<F14> +<F15> +<F16> +<F17> +<F18> +<F19> +<F20> +<F21> +<F22> +<F23> +<F24> +<F25> +<F26> +<F27> +<F28> +<F29> +<F30> +<F31> +<F32> +<F33> +<F34> +<F35> +<F36> +<F37> +<xF1> +<xF2> +<xF3> +<xF4> +<Help> +<Undo> +<Insert> +<Ins> +<kInsert> +<Home> +<kHome> +<xHome> +<zHome> +<End> +<kEnd> +<xEnd> +<zEnd> +<PageUp> +<PageDown> +<kPageUp> +<kPageDown> +<kPlus> +<kMinus> +<kDivide> +<kMultiply> +<kEnter> +<kPoint> +<k0> +<k1> +<k2> +<k3> +<k4> +<k5> +<k6> +<k7> +<k8> +<k9> +<lt> +<Mouse> +<NetMouse> +<DecMouse> +<JsbMouse> +<PtermMouse> +<UrxvtMouse> +<SgrMouse> +<SgrMouseRelease> +<LeftMouse> +<LeftMouseNM> +<LeftDrag> +<LeftRelease> +<LeftReleaseNM> +<MouseMove> +<MiddleMouse> +<MiddleDrag> +<MiddleRelease> +<RightMouse> +<RightDrag> +<RightRelease> +<ScrollWheelUp> +<ScrollWheelDown> +<ScrollWheelRight> +<ScrollWheelLeft> +<MouseDown> +<MouseUp> +<X1Mouse> +<X1Drag> +<X1Release> +<X2Mouse> +<X2Drag> +<X2Release> +<Drop> +<Nul> +<SNR> +<Plug> +<CursorHold> +<Ignore> +<Cmd> +<ScriptCmd> +<FocusGained> +<FocusLost> + +<cword> +<cWORD> +<cexpr> +<cfile> +<afile> +<abuf> +<amatch> +<sfile> +<stack> +<script> +<slnum> +<sflnum> +<client> diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 4627f3ddf..217995396 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -14,6 +14,7 @@ " 2024 Jan 25 by Vim Project (WinNewPre autocommand) " 2024 Jan 27 by Vim Project (add foreach() function) " 2024 Jan 28 by Vim Project (improve line-continuation matching & string interpolation) +" 2024 Feb 01 by Vim Project (improve special key matching) " Version: 9.0-25 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM " Automatically generated keyword lists: {{{1 @@ -369,6 +370,10 @@ syn region vimString oneline start="=+"lc=1 skip="\\\|\+" end="+" contains=@v syn match vimString contained +"[^"]*\$+ skipnl nextgroup=vimStringCont syn match vimStringCont contained +\(\\\|.\)\{-}[^\]"+ syn match vimEscape contained "\." +" syn match vimEscape contained +\[befnrt\"]+ +syn match vimEscape contained "\\o\{1,3}\|\[xX]\x\{1,2}\|\u\x\{1,4}\|\U\x\{1,8}" +syn match vimEscape contained "\<" contains=vimNotation +syn match vimEscape contained "\<\*[^>]*>\=>" syn region vimString start=+$'+ end=+'+ skip=+''+ oneline contains=vimStringInterpolationBrace,vimStringInterpolationExpr syn region vimString start=+$"+ end=+"+ oneline contains=@vimStringGroup,vimStringInterpolationBrace,vimStringInterpolationExpr @@ -504,13 +509,23 @@ syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList " Angle-Bracket Notation: (tnx to Michael Geddes) {{{2 " ====================== syn case ignore -syn match vimNotation "\%#=1\(\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ :]\|cmd\|scriptcmd\|cr\|lf\|linefeed\|retu\%[rn]\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|mouse\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\(page\)\=\(\|down\|up\|k\d\>\)\)>" contains=vimBracket -syn match vimNotation "\%#=1\(\\|<lt>\)\=<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\)\=\(drag\|release\)\=>" contains=vimBracket -syn match vimNotation "\%#=1\(\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>" contains=vimBracket -syn match vimNotation '\(\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket -syn match vimNotation '\%#=1\(\\|<lt>\)\=<\%(q-\)\=\(line[12]\|count\|bang\|reg\|args\|mods\|f-args\|f-mods\|lt\)>' contains=vimBracket -syn match vimNotation "\%#=1\(\\|<lt>\)\=<\([cas]file\|abuf\|amatch\|cword\|cWORD\|client\)>" contains=vimBracket -syn match vimNotation "\%#=1\(\\|<lt>\)\=<\%([scamd]-\)\{0,4}char-\%(\d\+\|0\o\+\|0x\x\+\)>" contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}x\=\%(f\d\{1,2}\|[^ :]\|space\|bar\|bslash\|nl\|newline\|lf\|linefeed\|cr\|retu\%[rn]\|enter\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|csi\|right\|paste\%(start\|end\)\|left\|help\|undo\|k\=insert\|ins\|mouse\|[kz]\=home\|[kz]\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\%(page\)\=\%(\|down\|up\|k\d\>\)\)>" contains=vimBracket + +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(net\|dec\|jsb\|pterm\|urxvt\|sgr\)mouse>" contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(left\|middle\|right\)\%(mouse\|drag\|release\)>" contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}left\%(mouse\|release\)nm>" contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}x[12]\%(mouse\|drag\|release\)>" contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}sgrmouserelease>" contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}mouse\%(up\|down\|move\)>" contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}scrollwheel\%(up\|down\|right\|left\)>" contains=vimBracket + +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%(sid\|nop\|nul\|lt\|drop\)>" contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%(snr\|plug\|cursorhold\|ignore\|cmd\|scriptcmd\|focus\%(gained\|lost\)\)>" contains=vimBracket +syn match vimNotation '\%(\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket +syn match vimNotation '\%#=1\%(\\|<lt>\)\=<\%(q-\)\=\%(line[12]\|count\|bang\|reg\|args\|mods\|f-args\|f-mods\|lt\)>' contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([cas]file\|abuf\|amatch\|cexpr\|cword\|cWORD\|client\|stack\|script\|sf\=lnum\)>" contains=vimBracket +syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}char-\%(\d\+\|0\o\+\|0x\x\+\)>" contains=vimBracket + syn match vimBracket contained "[\<>]" syn case match -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/E1rVdvj-0081O1-Qx%40256bit.org.