Compare commits

..

136 Commits

Author SHA1 Message Date
Christian Brabandt
e22b31887a patch 9.2.0175: No tests for what v9.2.0141 and v9.2.0156 fixes
Problem:  No tests for what v9.2.0141 and v9.2.0156 fixes
Solution: Add tests for using :perldo and rubeval() in sandbox mode

related: #19664
related: #19653
closes:  #19699

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-16 19:36:46 +00:00
HarshK97
42c6686c78 patch 9.2.0174: diff: inline word-diffs can be fragmented
Problem:  When using 'diffopt=inline:word', lines were excessively
          fragmented with punctuation creating separate highlight
          blocks, making it harder to read the diffs.
Solution: Added 'diff_refine_inline_word_highlight()' to merge
          adjacent diff blocks that are separated by small gaps of
          non-word characters (up to 5 bytes by default) (HarshK97).

When using inline:word diff mode, adjacent changed words separated by
punctuation or whitespace are now merged into a single highlight block
if the gap between them contains fewer than 5 non-word characters.

This creates more readable diffs and closely matches GitHub's own diff
display.

closes: #19098

Signed-off-by: HarshK97 <harshkapse1234@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-16 19:32:21 +00:00
Christian Brabandt
e21c4a649a patch 9.2.0173: tests: Test_balloon_eval_term_visual is flaky
Problem:  tests: Test_balloon_eval_term_visual is flaky
Solution: Use redraw and WaitForAssert() to make it more reliable

Previously, it failed about 1 out of 4 runs for me, now I got it down to
1 out of 10. It's not perfect, but better than before.

closes: #19692

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-15 15:42:34 +00:00
Yasuhiro Matsumoto
a72926fa51 patch 9.2.0172: Missing semicolon in os_mac_conv.c
Problem:  Missing semicolon in os_mac_conv.c (after v9.2.0168)
Solution: Add it (Yasuhiro Matsumoto).

The missing semicolon was introduced in patch 9.2.0168
(b00f441e6), which breaks the macOS build.

closes: #19695

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-15 15:39:34 +00:00
Mao-Yining
ca62f84503 patch 9.2.0171: MS-Windows: version detection is deprecated
Problem:  MS-Windows: GetVersionEx() is deprecated since Windows 8.
          Version checks for specific features (like dark mode or title
          bar colors) are duplicated across files using multiple boolean flags.
Solution: Use RtlGetVersion() to centralize detection in a single
          win_version variable. Use the MAKE_VER() macro to check
          against major, minor, and build numbers. Update titlebar
          colors and dark theme to use proper version thresholds
          (Mao-Yining).

closes: #19673

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-15 09:49:33 +00:00
Murasame
98fe2b6c71 translation(zh_CN): Fix translation for 'paste' in zh_CN.UTF-8.po
Corrected the translation for 'paste' from '粘帖' to '粘贴'.

In Chinese, the correct term for the computer action "paste" is 粘贴
(zhān tiē). The original translation used 粘帖, which contains a very
common typo. The second character was mistakenly written as 帖 (which
means a note or invitation) instead of the correct character 贴 (which
means to stick or paste).

closes: #19689

Signed-off-by: Murasame <88932464+CuteMurasame@users.noreply.github.com>
Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-15 09:40:32 +00:00
Christian Brabandt
7a9548c400 runtime(doc): Update help tags references
related: #19691

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-15 09:35:35 +00:00
Yasuhiro Matsumoto
e05d897258 patch 9.2.0170: channel: some issues in ch_listen()
Problem:  channel: some issues in ch_listen()
          (char101, after v9.2.0153)
Solution: On MS-Windows, initialize using channel_init_winsock() and use
          SO_EXCLUSIVEADDRUSE instead of SO_REUSEADDR, allow to use port
          0 to have the OS assign a port (Yasuhiro Matsumoto).

related: #19231
closes:  #19690

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-15 09:32:19 +00:00
Yasuhiro Matsumoto
751b59e539 runtime(doc): clarify :silent usage for system()/systemlist()
When system() or systemlist() is called without :silent from a
statusline expression, autocommand, or timer callback, the terminal
is temporarily set to cooked mode, which re-enables ECHO on the tty.
If a terminal response (e.g. DECRPM for cursor blink mode) arrives
during this window, the tty driver echoes it to the screen, leaving
stray characters that require CTRL-L to remove.

This behavior was intentionally addressed in patch 7.4.427 by
skipping cooked mode when :silent is prepended.  However, the
documentation only mentioned this for system() and did not cover
systemlist() at all.  The guidance to use :silent in non-interactive
contexts (statusline, autocommands, timers) was also not explicit.

closes #19691

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-15 09:16:42 +00:00
Foxe Chen
a8052afcb6 patch 9.2.0169: assertion failure in syn_id2attr()
Problem:  assertion failure in syn_id2attr()
          (@julio-b, after v9.2.0093)
Solution: Set tp_curwin to a valid window in popup_close_tabpage()
          and return early in update_winhighlight() if there are
          no highlight overrides to update (Foxe Chen).

fixes:  #19650
closes: #19670

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-15 09:05:14 +00:00
James McCoy
b00f441e69 patch 9.2.0168: invalid pointer casting in string_convert() arguments
Problem:  invalid pointer casting in string_convert() arguments
Solution: Use a temporary local int variable (James McCoy)

string_convert()/string_convert_ext() accept an "int *lenp" parameter,
however a few call sites were taking the address of a possibly larger
type (long, size_t) and casting it as an int * when calling these
functions.

On big-endian platforms, this passes the (likely) zeroed high bytes of
the known length through to string_convert(). This indicates it received
an empty string and returns an allocated empty string rather than
converting the input. This is exhibited by test failures like

  From test_blob.vim:
  Found errors in Test_blob2str_multi_byte_encodings():
  command line..script src/testdir/runtest.vim[636]..function RunTheTest[63]..Test_blob2str_multi_byte_encodings line 2: Expected ['Hello'] but got ['']
  command line..script src/testdir/runtest.vim[636]..function RunTheTest[63]..Test_blob2str_multi_byte_encodings line 3: Expected ['Hello'] but got ['']
  command line..script srctestdir/runtest.vim[636]..function RunTheTest[63]..Test_blob2str_multi_byte_encodings line 6: Expected ['Hello'] but got ['']

Instead, use a temporary local int variable as the in/out variable for
string_convert() and assign the result back to the larger typed length
variable post-conversion.

closes: #19672

Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-15 08:58:11 +00:00
Christian Brabandt
ba27e4fffa patch 9.2.0167: terminal: setting buftype=terminal may cause a crash
Problem:  setting buftype=terminal may cause a crash
          (lacygoill, after v9.2.0127)
Solution: Validate that curwin->w_buffer->b_term is not null

fixes:  #19686
closes: #19676

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-14 17:31:45 +00:00
Christian Brabandt
84c7a5d18f patch 9.2.0166: Coverity warning for potential NULL dereference
Problem:  Coverity warning for potential NULL dereference in channel.c
          (after v9.2.0153)
Solution: Use empty string in case hostname is NULL.

CID: 1686330

related: #19676

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-14 17:27:47 +00:00
Christian Brabandt
3f89324b3a patch 9.2.0165: tests: perleval fails in the sandbox
Problem:  tests: perleval fails in the sandbox
          (after v9.2.0156)
Solution: Update tests and assert that it fails

related: #19676

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-14 17:23:04 +00:00
Christian Brabandt
ef3cee793f patch 9.2.0164: build error when XCLIPBOARD is not defined
Problem:  build error when XCLIPBOARD is not defined
          (Tony Mechelynck, after v9.2.0158)
Solution: Update ifdefs

related: #19676

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-14 17:10:21 +00:00
John Marriott
09af51afbe patch 9.2.0163: MS-Windows: Compile warning for unused variable
Problem:  MS-Windows: Compile warning for unused variable
          (after v9.2.0160)
Solution: Add ifdef HAVE_TGETENT (John Marriott).

related: #19676

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-14 17:06:19 +00:00
zeertzjq
81d5329ace patch 9.2.0162: tests: unnecessary CheckRunVimInTerminal in test_quickfix
Problem:  tests: unnecessary CheckRunVimInTerminal in test_quickfix.vim
          (after v9.2.0159)
Solution: Remove it (zeertzjq).

closes: #19671

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-14 16:50:43 +00:00
Foxe Chen
ef3d79ebbe patch 9.2.0161: intro message disappears on startup in some terminals
Problem:  intro message disappears on startup in some terminals
          (chdiza, after v9.2.0139)
Solution: Only call set_shellsize() in handle_csi() if the reported
          width or height actually differs from the current
          Rows or Columns. (Foxe Chen)

fixes:  #19656
closes: #19660

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 22:14:36 +00:00
Foxe Chen
13b25e2f34 patch 9.2.0160: terminal DEC mode handling is overly complex
Problem:  terminal DEC mode handling is overly complex (after v9.2.0139)
Solution: Refactor DEC mode handling (Foxe Chen).

related: #19596
related: #19541
closes:  #19641

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 22:02:10 +00:00
Christian Brabandt
8d13b8244a patch 9.2.0159: Crash when reading quickfix line
Problem:  Crash when reading quickfix line (Kaiyu Xie)
Solution: Make sure line is terminated by NUL

closes: #19667

Supported by AI

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 21:45:26 +00:00
Shane Harper
8b009a3bbf patch 9.2.0158: Visual highlighting might be incorrect
Problem:  Vim could use the VisualNOS highlight group when not connected
          to an X server.
Solution: Always highlight visual selections with Visual when not
          connected to an X server (Shane Harper)

When Vim is running with X11 support it chooses between the Visual and
VisualNOS highlight groups for a visual selection based on whether it
believes it owns the X selection. According to :help hl-VisualNOS,
VisualNOS should only be used by the X11 GUI or when using the
xterm-clipboard feature, however, prior to this commit Vim could choose
VisualNOS when a clipboard provider was used, even when Vim was not
connected to an X server.

closes: #19659

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 21:39:46 +00:00
John Marriott
90d751b3fb patch 9.2.0157: Vim9: concatenation can be improved
Problem:  Vim9: concatenation can be improved
Solution: Cache string segments lengths in exe_concat() and avoid
          strlen() calls (John Marriott).

closes: #19647

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 21:26:55 +00:00
pyllyukko
fba75cad9a patch 9.2.0156: perleval() and rubyeval() ignore security settings
Problem:  perleval() and rubyeval() ignore security settings
Solution: Disable those functions in restricted (-Z) or 'secure' mode
          (pyllyukko).

closes: #19664

Signed-off-by: pyllyukko <pyllyukko@maimed.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 21:22:28 +00:00
Hannah
b11c8efbe6 patch 9.2.0155: filetype: ObjectScript are not recognized
Problem:  filetype: ObjectScript are not recognized
Solution: Add ObjectScript filetype detection for *.cls files
          (Hannah Kimura)).

Reference:
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_intro

closes: #19668

Signed-off-by: Hannah <hannah.kimura@intersystems.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 21:08:42 +00:00
Christian Brabandt
e88e360a51 patch 9.2.0154: if_lua: runtime error with lua 5.5
Problem:  Lua 5.5 makes for-loop control variables read-only.
          The path-parsing logic in if_lua.c attempts to modify the
          loop variable 's', causing the script to fail during
          runtime initialization (Binbin Qian)
Solution: Use a Lua capture group in gmatch() to extract the path
          without the semicolon, avoiding the need to re-assign
          to the loop variable.

fixes:  #19639
closes: #19658

supported by AI

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 19:26:05 +00:00
Yasuhiro Matsumoto
ba861f8c53 patch 9.2.0153: No support to act as a channel server
Problem:  Vim can only act as a channel client (ch_open). There is
          no way for an external process to initiate a connection
          to a running Vim instance using the Channel API.
Solution: Implement ch_listen() and the underlying server-side
          socket logic. This allows Vim to listen on a port or
          Unix domain socket. When a client connects, a new
          channel is automatically created and passed to a
          user-defined callback (Yasuhiro Matsumoto).

closes: #19231

Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
2026-03-13 19:15:25 +00:00
Yasuhiro Matsumoto
16d421a4d9 patch 9.2.0152: concatenating strings is slow
Problem:  concatenating strings is slow
Solution: Use grow_string_tv() to grow the existing string buffer in
          place when possible (Yasuhiro Matsumoto).

closes: #19642

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 17:45:36 +00:00
Yasuhiro Matsumoto
475d6e2f1d patch 9.2.0151: blob_from_string() is slow for long strings
Problem:  blob_from_string() is slow for long strings
Solution: Use ga_grow() to allocate memory once, perform a bulk copy
          with mch_memmove() then translate NL to NUL in-place
          (Yasuhiro Matsumoto).

closes: #19665

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 17:36:34 +00:00
Yasuhiro Matsumoto
7c8168aa0a patch 9.2.0150: synchronized terminal update may cause display artifacts
Problem:  When using synchronized terminal output, the internal
          output buffer  is not flushed before sending the
          End Synchronized Update (ESU) sequence. This causes
          redrawing artifacts.
Solution: Call out_flush() immediately before sending the ESU
          sequence to ensure all pending drawing commands are
          contained within the synchronized update window.
          (Yasuhiro Matsumoto)

closes: #19662

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 17:08:17 +00:00
Christian Brabandt
3697153993 patch 9.2.0149: Vim9: segfault when unletting an imported variable
Problem:  do_unlet_var() unconditionally calls dictitem_remove() in its
          final else branch, but for imported items lp->ll_dict is NULL,
          causing a segfault (Peter Kenny)
Solution: Add a NULL check and return E1260 instead.

Affects :unlet at vim9script level and inside legacy :function.
The :def case already worked (handled in vim9cmds.c).

fixes:  #19637
closes: #19657

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-13 16:57:00 +00:00
John Marriott
9f983a9560 patch 9.2.0148: Compile error when FEAT_DIFF is not defined
Problem:  Compile error when FEAT_DIFF is not defined (after v9.2.0144)
Solution: Add ifdefs around those lines (John Marriott).

related: #19622

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 21:27:58 +00:00
Eisuke Kawashima
3697c6b020 runtime(ssh): ignore case in 'keywordprg', update syntax script
- ftplugin(sshdconfig): use "-I" for 'keywordprg' to search
  case-insensitive in the man page
- syntax(sshdconfig,sshconfig): Mark "lowdelay", "throughput", and
  "reliability" as deprecated for IPQoS, highlighting them as
  errors/warnings to reflect OpenSSH 10.1p1 release

Reference:
https://www.openssh.org/releasenotes.html#10.1p1

closes: #19636

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Jakub Jelen <jakuje@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 20:04:17 +00:00
Yasuhiro Matsumoto
67deae3b77 patch 9.2.0147: blob: concatenation can be improved
Problem:  blob: concatenation can be improved
Solution: Use ga_grow() to allocate space once and mch_memmove() to copy
          the blob data as a single block and fall back to the previous
          byte by byte append (Yasuhiro Matsumoto).

closes: #19645

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 19:35:42 +00:00
Yasuhiro Matsumoto
97a75d835b patch 9.2.0146: dictionary lookups can be improved
Problem:  dictionary lookups can be improved
Solution: Replace the vim_strncpy() by mch_memmove() call.
          (Yasuhiro Matsumoto).

closes: #19646

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 19:26:01 +00:00
Yasuhiro Matsumoto
55464b5d18 patch 9.2.0145: UTF-8 decoding and length calculation can be improved
Problem:  Vim often calls utf_ptr2char() and utf_ptr2len() separately.
Solution: Refactor UTF-8 hot paths into utf_ptr2char_and_len() to
          decode the codepoint and byte length in a single pass.
          Fold combining character logic into the same optimized flow.
          Improves redraw performance by ~8-10% in UTF-8 heavy
          scenarios (Yasuhiro Matsumoto).

closes: #19649

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 19:15:28 +00:00
Hirohito Higashi
2d14d62c50 patch 9.2.0144: 'statuslineopt' is a global only option
Problem:  'statuslineopt' is a global only option and configuring the
          line height is limited.
Solution: Make 'statuslineopt' global-local to a window and allow to
          configure a fixed-height height statusline per window
          (Hirohito Higashi).

closes: #19622

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 18:49:38 +00:00
Yinzuo Jiang
5890ea5397 patch 9.2.0143: termdebug: no support for thread and condition in :Break
Problem:  termdebug :Break does not support `thread` and `if` arguments
Solution: extend :Break and :Tbreak to accept optional location, thread
          {nr}, and if {expr} arguments (Yinzuo Jiang).

closes: #19613

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 18:34:37 +00:00
Christian Brabandt
401f9aeddf patch 9.2.0142: Coverity: Dead code warning
Problem:  Coverity: Dead code warning for expressions in non-gui builds
          (after v9.2.0139)
Solution: add ifdef FEAT_GUI

CID: 1685426
closes: #19654

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 18:23:38 +00:00
Christian Brabandt
c5f283d641 patch 9.2.0141: :perl ex commands allowed in restricted mode
Problem:  :perl ex commands allowed in restricted mode (pyllyukko)
Solution: Add EX_RESTRICT flag to :perldo/:perl command definition.

closes: #19653

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 21:50:48 +00:00
Christian Brabandt
3c15945337 runtime(doc): update option type of 'termresize' option (after v9.2.0139)
as reported by: Antonio Giovanni Colombo <azc100@gmail.com>

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 21:46:27 +00:00
Yasuhiro Matsumoto
2ca96b09d7 patch 9.2.0140: file reading performance can be improved
Problem:  Reading large files is slow because UTF-8 validation and
          newline scanning are performed byte-by-byte. Initial file
          loading also triggers listener and channel processing.
Solution: Use memchr() for SIMD-optimized newline scanning, implement
          word-at-a-time ASCII skipping during UTF-8 validation using a
          bitmask, skip listener/netbeans/channel notifications
          when the ML_APPEND_NEW flag is set during readfile()
          (Yasuhiro Matsumoto).

closes: #19612

Co-authored-by: NRK <nrk@disroot.org>
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 20:18:26 +00:00
Foxe Chen
c970b470fb patch 9.2.0139: Cannot configure terminal resize event
Problem:  Cannot configure terminal resize event
Solution: Add the 'termresize' option and allow to use in-band window
          resize events (Foxe Chen).

closes: #19596

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 20:03:36 +00:00
Doug Kearns
2cf18fcc24 runtime(python): Update syntax, improve pythonNumber pattern performance
- Improve the performance of all pythonNumber patterns by unrolling
  digit/underscore sequence loops.
- Split the float literal pattern into two simpler patterns.

fixes:  #19625 (Reported by James McCoy)
closes: #19630

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 19:47:55 +00:00
Foxe Chen
49a5a80410 patch 9.2.0138: winhighlight option handling can be improved
Problem:  winhighlight option handling can be improved
          (after: v9.2.0093)
Solution: Check entire override stack in update_highlight_overrides();
          update w_hl of every window in highlight_changed() (Foxe Chen).

closes: #19633

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 19:42:46 +00:00
Eisuke Kawashima
8f2cd47404 runtime(sudoers): update filetype plugin and syntax script
- remove `set isk+=-` to highlight `-=` operator correctly
- implement highlighting of GID
- fix highlight of hostname and add special value ALL
- fix highlight of IP address
- update include and includedir patterns
- remove duplicate syntax rules
- add missing options
- fix highlight of parameter assignment (limit operators to list
  parameters)
- fix highlight of string and list parameters with trailing whitespaces
- implement highlight of permission (octal)
- implement highlight of floating point numbers
- implement highlight of timeout-specific options
- support highlight of negatable options (integer, mode, float, timeout,
  string)
- allow sudoersListParameter to be negated
- fix highlight of comma-separated parameter list used as boolean
- fix highlight of parameter negation (prevent highlighting ill-formed `! !`)
- fix highlight of Tag_Spec
- allow empty Runas spec: `()` and `(:)`
- fix highlight of comma-concatenated commands, hosts, and users
- check word boundaries for special value ALL
- implement highlight of Option_Spec
- fix highlight in User_Spec (specifically for Host position)
- fix highlight of `Default!` command
- support highlight of digests (sha224, etc.)
- add syntax test and update header

closes: #19634

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 19:33:36 +00:00
Eisuke Kawashima
1429277f0a gitattributes: mark dump files as linguist-generated
closes: #19635

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 19:23:41 +00:00
Christian Brabandt
36d6e87542 patch 9.2.0137: [security]: crash with composing char in collection range
Problem:  Using a composing character as the end of a range inside a
          collection may corrupt the NFA postfix stack
          (Nathan Mills, after v9.1.0011)
Solution: When a character is used as the endpoint of a range, do not emit
          its composing characters separately. Range handling only uses
          the base codepoint.

supported by AI

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-9phh-423r-778r

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 18:52:56 +00:00
Christian Brabandt
71fd19d7ac runtime(open): Use job_start() on Linux
Problem:  With zsh, executing :!nohup xdg-open url >/dev/null 2>&1 &
          does not launch the browser. This occurs presumably because
          gvim/zsh cleans up background processes in a non-interactive
          session too quickly.
Solution: Use job_start() with "stoponexit" set to an empty string.
          This bypasses the shell entirely (fixing the zsh issue)
          and ensures the browser process is not killed when Vim exits.
          On Linux, shellescape() is removed as job_start() in list
          mode handles special characters natively.

fixes: #19594

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-10 20:42:43 +00:00
Martin Tournoij
c6f6f1602d runtime(toml): update syntax script and fix highlight of dates and escapes
From upstream:
https://github.com/cespare/vim-toml/pull/69
https://github.com/cespare/vim-toml/pull/70

closes: #19591

Signed-off-by: Martin Tournoij <martin@arp242.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-10 20:02:05 +00:00
Huihui Huang
93a7855f01 patch 9.2.0136: memory leak in add_interface_from_super_class()
Problem:  memory leak in add_interface_from_super_class() in
          src/vim9class.c
Solution: Free variable intf_name in the error case, decrement the
          impl_gap grow array (Huihui Huang).

closes: #19629

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-10 19:56:08 +00:00
Huihui Huang
e945350f11 patch 9.2.0135: memory leak in eval_tuple()
Problem:  memory leak in eval_tuple() in src/tuple.c
Solution: Free variable tuple on early return (Huihui Huang).

closes: #19628

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-10 19:49:55 +00:00
Huihui Huang
ede5252d89 patch 9.2.0134: memory leak in socket_server_send_reply()
Problem:  memory leak in socket_server_send_reply() in src/os_unix.c
Solution: Free final in the error case when returning early
          (Huihui Huang).

closes: #19627

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-10 19:40:33 +00:00
Huihui Huang
248de84d86 patch 9.2.0133: memory leak in netbeans_file_activated()
Problem:  memory leak in netbeans_file_activated()
Solution: Free q on early return (Huihui Huang).

closes: #19626

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-10 19:33:22 +00:00
James McCoy
ff16ebdb08 patch 9.2.0132: tests: Test_recover_corrupted_swap_file1 fails on be systems
Problem:  tests: Test_recover_corrupted_swap_file1 fails on big-ending
          systems (after v9.2.0077)
Solution: Skip the test on big-endian systems (James McCoy)

The POC files were generated on 64-bit little-endian systems and
therefore are not portable to any other system type.

Extract the 64-bit / endianness detection from
Test_recover_corrupted_swap_file() into a SetUp() function and use that
data to determine if the test should be run.

closes: #19620

Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-10 18:39:40 +00:00
Christian Brabandt
9360647715 patch 9.2.0131: potential buffer overflow in regdump()
Problem:  Potential buffer overflow in regdump()
Solution: Add the size to the compiled regular expression and ensure we
          don't read over the limit.

Note: this is not a security issue, because regdump() is typically not
compiled in any version of Vim, so should not affect anybody.

supported by AI claude.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-09 20:18:52 +00:00
Doug Kearns
49b8d9903b patch 9.2.0130: missing range flags for the :tab command
Problem:  :tab accepts a tab address range but doesn't specify this in
          the command specification.
Solution: Add EX_RANGE and EX_ZEROR to the command specification and use
          ADDR_TABS (Doug Kearns).

As command modifers are handled separately before these flags are tested
in the ex-command parser they have no effect.  However, it's better to
use an accurate description and the command specification table has uses
in other areas like runtime file generation for the Vim filetype.

closes: #19100

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-09 19:52:30 +00:00
Yasuhiro Matsumoto
433bcf3bec patch 9.2.0129: popup: wrong handling of wide-chars and opacity:0
Problem:  popup: wrong handling of wide-chars and opacity:0
Solution: Correctly handle opacity 0, correctly handle wide chars
          (Yasuhiro Matsumoto)

closes: #19606

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-09 18:47:10 +00:00
Christoffer Aasted
1f1b86ac60 patch 9.2.0128: Wayland: using _Boolean instead of bool type
Problem:  Wayland: using _Boolean instead of bool type
Solution: Change type of variable (Christoffer Aasted).

related: #19473
closes:  #19610

Signed-off-by: Christoffer Aasted <dezzadk@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-09 18:36:34 +00:00
Christian Brabandt
ffeb2339cb patch 9.2.0127: line('w0') and line('w$') return wrong values in a terminal
Problem:  In a terminal window, line('w0') and line('w$') return wrong
          values instead of the first and last visible line number,
          because a terminal buffer does not go through the normal
          redraw path that updates w_topline and w_botline (ubaldot).
Solution: Before computing w0 and w$, sync the terminal contents to the
          buffer by calling may_move_terminal_to_buffer() so that
          w_topline and w_botline are correctly updated.

fixes:  #19585
closes: #19615

supported by AI claude.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-09 18:26:41 +00:00
John Marriott
727f6e2686 patch 9.2.0126: String handling can be improved
Problem:  String handling can be improved
Solution: Pass string length where it is known to avoid strlen() calls,
          do a few minor refactors (John Marriott).

This commit changes some calls to function `set_vim_var_string()` to pass
the string length where it is known or can be easily calculated.

In addition:
In `evalvars.c`:
  * In function `set_reg_var()` turn variable `regname` into a C string
    because that is how it used.
  * Small cosmetics.
In `option.c`:
  * Slightly refactor function `apply_optionset_autocmd()` to move some
    variables closer to where they are used.
In `getchar.c`:
  * Slightly refactor function `do_key_input_pre()`:
    -> change call to `dict_add_string()` to `dict_add_string_len()` and
       pass it the length of `buf`.
    -> only call `get_vim_var_string()` once.
In `message.c`:
  * Use a `string_T` to store local variable `p`.
In `normal.c`:
  * Move some variables closer to where they are used.

closes: #19618

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-09 18:17:22 +00:00
Phạm Bình An
bab7619604 runtime(doc): Update intro.txt about Neovim
Just to fix some phrases:
- "A Vim clone". Neovim document says that it is not a clone, but just a
  fork https://neovim.io/doc/user/nvim/#nvim
- "Supports a remote GUI". Neovim supports any UI (both GUI and TUI)
  that implements its UI protocol, so "a" is not correct
- "Integration with scripting languages". This is true, but it is also
  true to Vim (which supports 8 scripting languages AFAIK), so this
  probably doesn't need to be said in this document. Instead, what makes
  Neovim unique in this "scripting languages" aspect is its first class
  support for Lua.

closes: #19605

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 21:03:12 +00:00
Christian Brabandt
271f4fe47b patch 9.2.0125: tests: test_textformat.vim leaves swapfiles behind
Problem:  tests: test_textformat.vim leaves swapfiles behind
Solution: Close open buffer using :bw! instead of :close!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 20:32:13 +00:00
Daniel Müller
24fd698045 patch 9.2.0124: auto-format may swallow white space
Problem:  With auto paragraph formatting enabled, when a user makes an
          attempt to add a new word before the end of a line and with
          the following space bringing the line width over 'textwidth',
          the space ends up just getting swallowed by the editor.
Solution: Detect such a constellation and do not auto-format in that
          case (Daniel Müller).

closes: #19593

Signed-off-by: Daniel Müller <deso@posteo.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 20:24:10 +00:00
Christian Brabandt
6c0321fb9d patch 9.2.0123: GTK: using deprecated gdk_pixbuf_new_from_xpm_data()
Problem:  GTK: gdk_pixbuf_new_from_xpm_data() is deprecated since
          2.44.5, causing build warnings
Solution: Replace XPM icon loading with PNG byte arrays loaded via
          g_memory_input_stream_new_from_data() and
          gdk_pixbuf_new_from_stream(). These APIs are available since
          GLib 2.12 and gdk-pixbuf 2.14 (around 2008) so should be safe
          to use today.

fixes:  #19446
closes: #19583

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 20:10:03 +00:00
Christian Brabandt
48b913d735 patch 9.2.0122: Vim still supports compiling on NeXTSTEP
Problem:  Vim still supports compiling on NeXTSTEP
Solution: Drop Support (Damien Lejay)

The NeXTSTEP operating system has been obsolete for decades. The
special-case code required to support it adds unnecessary complexity,
preprocessor conditionals, and non-standard workarounds to the codebase.

This commit removes all support for NeXTSTEP, simplifying the code and
build system in several ways:

-   Replaced custom configure checks for `union wait` with a standard `AC_CHECK_FUNCS` call for `waitpid`.
-   Removed all conditional code that used the non-standard `union wait` for process status, relying solely on a standard `int`.
-   Replaced calls to the non-standard `wait4()` function with the POSIX-standard `waitpid()`.
-   Cleaned up headers (`os_unix.h`, `os_unixx.h`) to remove NeXT-specific workarounds and macros.
-   Removed obsolete NeXT compilation instructions from the INSTALL file.

This change improves maintainability and makes the Unix process handling code more linear and compliant with modern POSIX standards.

related: #18079
closes:  #19582

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 19:48:32 +00:00
Huihui Huang
7ed37dc534 patch memory leak in list_extend_func() in list.c
Problem:  memory leak in list_extend_func() in list.c
Solution: Free l1 on early return (Huihui Huang)

closes: #19572

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 19:37:22 +00:00
Christian Brabandt
123a1e6410 patch 9.2.0120: tests: test_normal fails
Problem:  tests: test_normal fails
Solution: Ensure the terminal width is 40 columns and also
          check for existence of the tr.mo file

closes: #19608

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 19:33:01 +00:00
Christian Brabandt
2c1269f0d3 runtime(zip): Make ZipUpdatePS() check that shell is powershell
fixes: #19576

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 15:30:31 +00:00
Foxe Chen
6495ca4c16 patch 9.2.0119: incorrect highlight initialization in win_init()
Problem:  When initializing a window in win_init(), w_hl is reset to
          NULL without ensuring existing highlight overrides are
          cleared (after v9.2.0113)
Solution: Clear highlight overrides and reset w_hl in win_init(). Remove
          the redundant VIM_CLEAR() from win_init_empty() (Foxe Chen).

closes: #19609

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 18:35:39 +00:00
Christian Brabandt
d180f67a41 patch 9.2.0118: memory leak in w_hl when reusing a popup window
Problem:  When a popup info window is reused, win_init_empty() resets
          w_hl to NULL without freeing the previously allocated value,
          causing a memory leak (after v9.2.0113)
Solution: Free w_hl before resetting it to NULL in win_init_empty()
          using the VIM_CLEAR() macro.

closes: #19607

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 17:44:24 +00:00
Christian Brabandt
f17b8b1df5 patch 9.2.0117: tests: test_wayland.vim fails
Problem:  tests: test_wayland.vim fails when X11 is not available or
          $XDG_RUNTIME_DIR is not defined
Solution: Skip test_wayland when prerequisites are not fulfilled

closes: #19579

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 17:40:50 +00:00
Foxe Chen
f90fc1bd72 patch 9.2.0116: terminal: synchronized output sequences are buffered
Problem:  terminal: synchronized output sequences are buffered
Solution: Output the terminal sequences directly using ui_write(),
          bypassing buffering (Foxe Chen).

closes: #19597

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 14:23:27 +00:00
dezza
49b81793ff runtime(docs): Update CONTRIBUTING.md and mention #vim on libera
Left out reddit intentionally, I think it's not the best place for
contribution questions, however irc has several contributors.

closes: #19604

Signed-off-by: dezza <402927+dezza@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 14:05:58 +00:00
Yasuhiro Matsumoto
f3b566481c patch 9.2.0115: popup: screen flickering possible during async callbacks
Problem:  popup: When an async redraw is triggered, the screen may flicker
          because the terminal may render the intermediate states of the
          redraw.
Solution: Enable synchronized output if possible to ensure the terminal
          renders the entire update at once (Yasuhiro Matsumoto).

closes: #19584
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 10:22:28 +00:00
Doug Kearns
e948fea640 runtime(sed): Update syntax, support more GNU address extensions
- Support all GNU address extensions.
- Fix some bugs related to erroneous matching of pattern delimiters in
  bracket expressions.

closes: #19587

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 10:13:42 +00:00
gcrtnst
78ae2ff094 patch 9.2.0114: MS-Windows: terminal output may go to wrong terminal
Problem:  MS-Windows: terminal output may go to wrong terminal with
          ConPTY
Solution: Explicitly disable inheriting the terminal handles
          (gcrtnst).

closes: #19589

Signed-off-by: gcrtnst <52910071+gcrtnst@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 10:01:49 +00:00
Mao-Yining
bd77d327d3 runtime(doc): remove thoughts of generics for a function
Was implemented in 9.1.1577

closes: #19598

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:55:39 +00:00
Foxe Chen
9c4cb7145f patch 9.2.0113: winhighlight pointer may be used uninitialized
Problem:  winhighlight pointer may be used uninitialized causing a crash
Solution: Initialize pointer in win_init() and win_init_empty()
          (Foxe Chen).

closes: #19601

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:50:24 +00:00
Yasuhiro Matsumoto
4d0c57e15f patch 9.2.0112: popup: windows flicker when updating text
Problem:  popup: windows flicker when updating text
Solution: Only refresh the popup mask if the position or size changed,
          manually set the window redraw type instead of using
          redraw_win_later() to avoid triggering a full screen redraw.
          Handle opacity 100 correctly. Keep "firstline" sticky when
          setting options (Yasuhiro Matsumoto).

related: #19510
closes:  #19559

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:38:58 +00:00
Foxe Chen
0fe3ca6031 patch 9.2.0111: 'winhighlight' option not always applied
Problem:  'winhighlight' option not always applied
Solution: Apply 'winhighlight' setting in more places
          (Foxe Chen).

closes: #19555

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:17:57 +00:00
Devin Weaver
75decb4a8d runtime(glimmer): add syntax support for glimmer files
In commit cdf717283 ("patch 8.2.4424: ".gts" and ".gjs" files are not
recognized", 2022-02-19) support for the glimmer file types were added.

Problem:  Syntax hilighting suppoprt was missing.
Solution: Added a glimmer syntax file that will leverage the base
          syntaxs (javascript/typescript) and include handlebars syntax
          for .gjs/.gts files.

closes: #19569

Signed-off-by: Devin Weaver <suki@tritarget.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:07:50 +00:00
Devin Weaver
99ea2b5b06 runtime(handlebars): adds handlebars template syntax & indent support
The runtime had support to detect handlebars (*.hbs) files as filetype
handlebars but was lacking any indent or syntax highlighting for that
filetype.

The handlebars syntax file is also a prerequisite for the glimmer
syntax.

Permission was granted by the original author to retrofit these into the
Vim runtime. Original License (MIT) maintained in code comments.

related: #19569

Signed-off-by: Devin Weaver <suki@tritarget.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:06:02 +00:00
Christian Brabandt
22c62e2691 runtime(syntax-tests): regenerate dump files (after v9.2.0110)
related: #19541

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:01:10 +00:00
Foxe Chen
7ba60f17c2 patch 9.2.0110: No support for terminal synchronization mode
Problem:  No support for terminal synchronization mode
Solution: Add DEC 2026 support using the 'termsync' option
          (Foxe Chen).

related: #11718
closes:  #19541

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-04 21:09:25 +00:00
Martin Tournoij
6c34ace536 patch 9.2.0109: VIM_BACKTICK is always defined except for tiny builds
Problem:  VIM_BACKTICK is always defined except for tiny builds
Solution: Remove the VIM_BACKTICK define and always compile backtick
          expansion. This change however will cause the vim.tiny build
          to be slightly larger (Martin Tournoij).

closes: #19562

Signed-off-by: Martin Tournoij <martin@arp242.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-04 19:58:49 +00:00
Yasuhiro Matsumoto
499e93d09a patch 9.2.0108: byteidx_common() and f_utf16idx() call ptr2len() twice
Problem:  byteidx_common() and f_utf16idx() are calling ptr2len() twice
          per iteration, instead of reusing the already computed clen.
Solution: Reuse clen for pointer advancement in both functions
          (Yasuhiro Matsumoto).

closes: #19573

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-04 19:29:45 +00:00
Hirohito Higashi
76abd0ccdf patch 9.2.0107: tests: Test_statuslineopt() is flaky
Problem:  tests: Test_statuslineopt() is flaky
Solution: Force a redraw earlier and read screen content directly using
          screenstring() instead of g:ScreenLines() (Hirohito Higashi).

closes: #19571

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-04 19:09:37 +00:00
Huihui Huang
648240fe9a patch 9.2.0106: memory leak in expand_findfunc()
Problem:  memory leak in expand_findfunc() (after v9.1.0811)
Solution: Free list variable l on early return (Huihui Huang).

closes: #19564

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 20:45:18 +00:00
Huihui Huang
7d1e0a7832 patch 9.2.0105: memory leak in heredoc_get() in src/evalvars.c
Problem:  memory leak in heredoc_get() in src/evalvars.c
Solution: Free variable l on early return (Huihui Huang).

closes: #19563

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 20:35:48 +00:00
Javier Jaramago Fernández
2a7414594a patch 9.2.0104: popup: flickering on opaque popups with overlapping text
Problem:  popup: flickering on opaque popups with overlapping text,
          even if they are opaque (after v9.2.0016).
Solution: Prevent double redrawing by skipping background updates for
          opaque popups. Revert changes to test dumps
          (Javier Jaramago Fernández).

A flickering effect was introduced in commit v9.2.0016 (commit:
6c203072f) for all popups. This is a consequence of a double redraw of
the overlapping background characters. This could be expected for
transparent popups, but, it should exclude opaque ones. For a complete
fix of the flickering this commit is required in combination with fix
present in v9.2.0064 (commit: 97c5bed84b).

Additionally this commit reverts changes introduced for tests dumps for
masks in commits 6c203072f and cded5e220. These dumps were updated
preventing characters from popups to take into account the masks
specified for them. This forces the redraw of popup characters, even
when masks attempt to prevent them, leading to flickering effects. See
issues #19510 and PR: #19534.

closes: #19534

Signed-off-by: Javier Jaramago Fernández <jaramago.fernandez.javier@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 20:33:03 +00:00
Hirohito Higashi
ff9185e822 patch 9.2.0103: missing FEAT_MENU guard for w_winbar_height in window.c
Problem:  missing FEAT_MENU guard for w_winbar_height in window.c
          (Char, after v9.2.0083)
Solution: Use WINBAR_HEIGHT() macro (Hirohito Higashi)

fixes:  #19556
closes: #19560

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 20:13:53 +00:00
zeertzjq
5845741d69 patch 9.2.0102: 'listchars' "leadtab" not used in :list
Problem:  'listchars' "leadtab" not used in :list (after 9.2.0088).
Solution: Also check for "leadtab" when using :list. Fix memory leak on
          E1572 if "multispace" or "leadmultispace" is set (zeertzjq).

closes: #19557

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 20:08:12 +00:00
Hirohito Higashi
b0ad5c077b patch 9.2.0101: statusline drawing issue for multi-lines
Problem:  statusline drawing issue for multi-lines
          (after v9.2.0083)
Solution: Correctly redraw multi-line statusline
          (Hirohito Higashi).

closes: #19551

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 20:02:07 +00:00
Wei Tang
238a84621d patch 9.2.0100: Using reserved keyword new as function argument
Problem:  A recent commit introduced a new function named
          `update_highlight_overrides()` in `highlight.pro` and
          `highlight.c`, one of the parameter names conflicts with the C++
          keyword `new`. This causes compilation issues on Windows when
          VIM is compiled with OLE enabled, as "if_ole.cpp" cannot compile
          due to the conflict (after v9.2.0093).
Solution: Rename the parameter name of `update_highlight_overrides()`
          from new to hl_new (Wei Tang)

fixes:  #19568
closes: #19558

Signed-off-by: Wei Tang <gauchyler@uestc.edu.cn>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 19:50:15 +00:00
Christian Brabandt
b2bc54534c patch 9.2.0099: compiler warning about unused variable
Problem:  Coverity complains about uninitialized var, also gcc warns
          about a few other variables possibly being used uninitialized
          (Tony Mechelynck, after v9.2.0093)
Solution: Initialize a few other variables.

Coverity CID: 1683101

closes: #19561

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 18:37:25 +00:00
Christian Brabandt
bc959db163 patch 9.2.0098: Coverity: Error handling issue in win_init()
Problem:  Coverity: error handling issues in win_init() (after
          v9.2.0093)
Solution: Only call pop_highlight_overrides() when
          push_highlight_overrides() was successful.

CID: 1683100

related: #19561

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 18:34:01 +00:00
Christian Brabandt
f7a568ebeb runtime(syntax-tests): regenerate dump files (after v9.2.0093)
closes: #19553

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 18:28:32 +00:00
Christian Brabandt
e352bb632a patch 9.2.0097: Memory leak in qf_push_dir()
Problem:  Memory leak in qf_push_dir() (after v9.2.0091)
Problem:  free dirname, if it is not a directory.

closes: #19552

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 18:25:24 +00:00
Yasuhiro Matsumoto
327e0e34c9 patch 9.2.0096: has() function is slow due to linear feature scan
Problem:  The has() function is slow because it performs a linear scan
          of the feature list for every call.
Solution: Move common runtime checks and the patch-version parser to the
          beginning of the f_has() function (Yasuhiro Matsumoto).

closes: #19550

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 20:41:44 +00:00
AstroSnail
962a8c7f00 patch 9.2.0095: keypad keys may shadow normal keys
Problem:  In XTerm, typing Home, End, PgUp or PgDn on the editing pad
	  will cause vim to recognize <kHome>, <kEnd>, <kPageUp> or
	  <kPageDown> (keypad keys) instead of <Home>, <End>, <PageUp>
	  or <PageDown> (editing pad keys) respectively, affecting
          mappings and the :terminal. This is caused because the keypad
          termcaps are sorted before the editing pad ones in
	  termcodes, meaning vim will match the former if they are the
	  same.
Solution: Only recognize keypad keys when nothing else matches
          (AstroSnail).

fixes:  #17331
closes: #19145

Signed-off-by: AstroSnail <astrosnail@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 20:06:48 +00:00
Christian Brabandt
9166f1c09b translation: regenerate po/vim.pot after v9.2.0093
also update one failing syntax test

related: #19493

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 19:58:22 +00:00
Yasuhiro Matsumoto
2c1f4dcbcc patch 9.2.0094: popup: concealed text causes incorrect truncation
Problem:  In popup windows, concealed characters and tab expansion
          may cause wrong truncation for fixed width windows.
Solution: Do not adjust the screen column and bogus column counters
          for popup windows when handling concealed text or extra
          padding characters (Yasuhiro Matsumoto).

closes: #19121

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 19:45:11 +00:00
Foxe Chen
98174caabb patch 9.2.0093: Not possible to have window-local highlighting groups
Problem:  Not possible to have window-local highlighting groups
          (Hima)
Solution: Port Neovims 'winhighlight' option to Vim (Foxe Chen).

fixes:  #3576
closes: #19493

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 19:36:07 +00:00
Christian Brabandt
62cf4c2947 patch 9.2.0092: control flow commands using '|' fail inside a {} block
Problem:  inside_block() iterates through all cstack levels
          and returns TRUE when a CSF_BLOCK frame is found.  For control
          flow commands this causes '|' to no longer be
          recognised as a command separator, breaking
          "try | silent cmd | catch | endtry" (Martin Tournoij, after
          v9.2.0072).
Solution: Return FALSE from inside_block() for control flow commands
          that handle '|' themselves, so they always use '|' as
          separator regardless of block nesting.

fixes:  #19535
closes: #19543

supported by AI claude.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 19:02:06 +00:00
Riley Bruins
99ba87d152 runtime(nickel): Add filetype plugin with com, cms settings
closes: #19545

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 18:50:47 +00:00
John Marriott
0155401538 patch 9.2.0091: missing out-of-memory checks in quickfix.c
Problem:  missing out-of-memory checks in quickfix.c
Solution: Improve error handline, refactor qf_push_dir() slightly
          (John Marriott).

closes: #19528

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 18:44:33 +00:00
Eisuke Kawashima
6ce357a586 runtime(po): Update syntax script
- support `#=`
https://www.gnu.org/software/gettext/manual/html_node/PO-File-Format-Evolution.html
- add sticky flag support:
https://www.gnu.org/software/gettext/manual/html_node/Sticky-flags.html

closes: #19548

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 18:40:31 +00:00
Hirohito Higashi
73f41626df runtime(doc): Tweak doc style in options.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 18:21:40 +00:00
zeertzjq
4b30e40a1f patch 9.2.0090: "leadtab" behavior inconsistent on line with only TABs
Problem:  "leadtab" behavior inconsistent on line with only TABs
          (after 9.2.0088).
Solution: Don't consider those as leading TABs. Also add more tests for
          existing behavior of "lead" and "leadmultispace" (zeertzjq).

closes: #19549

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 18:18:51 +00:00
Miguel Barro
a6198523fb patch 9.2.0089: netrw: does not take port into account in hostname validation
Problem:  netrw: does not take port into account in hostname validation
          (after v9.2.0073)
Solution: Update hostname validation check and test for an optional port
          number (Miguel Barro)

closes: #19533

Signed-off-by: Miguel Barro <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 19:33:17 +00:00
Christian Brabandt
93cb5e544b translation: regenerate po/vim.pot after v9.2.0088
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 19:28:47 +00:00
mikoto2000
5a4291d34e runtime(osc52): Omit paste from the osc52 provider when g:osc52_disable_paste is enabled
Omit paste capability from the osc52 provider when g:osc52_disable_paste
is enabled This avoids OSC 52 paste queries on unsupported terminals and
prevents the +/* registers from being treated as empty. Documentation
updated accordingly.

related: #18983
closes:  #19542

Signed-off-by: mikoto2000 <mikoto2000@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 19:23:34 +00:00
HarshK97
8526d32647 patch 9.2.0088: cannot display tabs for indentation
Problem:  cannot display tabs for indentation
Solution: Add the "leadtab" value to the 'listchars' option to
          distinguish between tabs used for indentation and tabs used
          for alignment (HarshK97).

closes: #19094

Signed-off-by: HarshK97 <harshkapse1234@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 17:53:35 +00:00
Yasuhiro Matsumoto
f7e99d102b patch 9.2.0087: popup: redrawing can be improved when moving popups
Problem:  popup: redrawing can be improved when moving popups
Solution: When a pop-up window moves, only the target window should be
          redrawn (Yasuhiro Matsumoto).

closes: #19536

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 17:25:08 +00:00
Christian Brabandt
08e758bb70 patch 9.2.0086: Coverity complains that ScreenLines can be NULL
Problem:  Coverity complains that ScreenLines can be NULL
          (after v9.2.0080)
Solution: Remove null test

closes: #19538
CID: 1682067

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 17:21:16 +00:00
Christian Brabandt
a5af4352cf patch 9.2.0085: tests: test_clientserver.vim is flaky
Problem:  tests: test_client_server_stopinsert() is flaky.
Solution: Use remote_send() instead of remote_expr().

closes: #19539

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 17:18:09 +00:00
GX
14eddc7d46 runtime(xkb): Include a simple xkb ftplugin
Problem:  There is a xkb syntax, but no filetype plugin.
Solution: Create a filetype plugin and set the comment and commentstring
          options for the xkb filetype (xkb = X keyboard extension)

closes: #19537

Signed-off-by: GX <59413576+gx089@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 17:12:00 +00:00
Christian Brabandt
a6550d5713 translation: regenerate po/vim.pot after v9.2.0083
related: #19123

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 17:09:56 +00:00
Yegappan Lakshmanan
689083a748 patch 9.2.0084: Vim9: isn_get_calltype() can be improved
Problem:  Vim9: isn_get_calltype() can be improved
Solution: Refactor isn_get_calltype for readability
          (Yegappan Lakshmanan).

related: #19519
closes:  #19529

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 17:02:52 +00:00
Hirohito Higashi
a4186316ba patch 9.2.0083: Cannot have a mutli-line statusline
Problem:  Cannot have a mutli-line statusline.
Solution: Add support for multi-line statusline
          (Hirohito Higashi).

closes: #19123

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 16:57:08 +00:00
Christian Brabandt
f8ec661ff5 patch 9.2.0082: Patch v9.2.0052 was wrong
Problem:  Patch v9.2.0052 was wrong
Solution: Revert it for now

Revert "patch 9.2.0052: Wayland: hiding lower half of command line in tiny vim"
This reverts commit b834c3f23b.

related: #19504
related: #19483

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 16:14:11 +00:00
Luuk van Baal
eba078fc47 patch 9.2.0081: Failed "z=" does not reset 'nospell' setting
Problem:  When z= fails due to no word being found, 'spelllang' being
          unset or a multiline visual selection, 'nospell' is not
          restored.
Solution: Jump to where the user configured value of 'spell' is restored
          instead of returning early (Luuk van Baal).

closes: #19525

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-28 17:40:32 +00:00
Daniel Wennberg
75c291fc39 runtime(julia): Update julia ftplugin
commentstring changed to single line variant in
JuliaEditorSupport/julia-vim@edd3512

closes: #19530

Signed-off-by: Daniel Wennberg <daniel.wennberg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-28 17:37:23 +00:00
Yasuhiro Matsumoto
cded5e2205 patch 9.2.0080: popup: a few redrawing problems
Problem:   Popup windows leave ghost images when moved. Visual options
           do not trigger a redraw when updated via popup_setoptions().
           An empty borderhighlight list fails to clear existing
           highlights.
Solution:  Modify f_popup_move() in src/popupwin.c to save the old
           position before moving and force a redraw. Enhance
           f_popup_setoptions() to trigger a redraw when
           visual-affecting options change. Modify
           apply_general_options() to explicitly clear border
           highlights when an empty list is provided
           (Yasuhiro Matsumoto).

closes: #19297

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-28 17:32:45 +00:00
Doug Kearns
b901fa9a6a runtime(vim): Update base syntax, improve :syntax group list arg matching
Attempt to match all variations of group name and comma separator across
continuation lines.

Fixes issues:
- #18491 (Two ")"s are incorrectly colored 'vimOperError' in
  syntax/mail.vim), reported by @lkintact
- #19366 (highlight error for contains elements in a new line), reported
  by Maxim Kim

fixes: #18491
fixes: #19366

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-28 17:20:42 +00:00
Huihui Huang
525d1d6a94 patch 9.2.0079: memory leak in eval_dict()
Problem:  memory leak in eval_dict()
Solution: Do not return but goto failret (Huihui Huang).

closes: #19531

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-28 17:01:53 +00:00
Christian Brabandt
4e5b9e31cb patch 9.2.0078: [security]: stack-buffer-overflow in build_stl_str_hl()
Problem:  A stack-buffer-overflow occurs when rendering a statusline
          with a multi-byte fill character on a very wide terminal.
          The size check in build_stl_str_hl() uses the cell width
          rather than the byte length, allowing the subsequent fill
          loop to write beyond the 4096-byte MAXPATHL buffer
          (ehdgks0627, un3xploitable).
Solution: Update the size check to account for the byte length of
          the fill character (using MB_CHAR2LEN).

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-gmqx-prf2-8mwf

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 21:09:50 +00:00
Christian Brabandt
65c1a143c3 patch 9.2.0077: [security]: Crash when recovering a corrupted swap file
Problem:  memline: a crafted swap files with bogus pe_page_count/pe_bnum
          values could cause a multi-GB allocation via mf_get(), and
          invalid pe_old_lnum/pe_line_count values could cause a SEGV
          when passed to readfile() (ehdgks0627, un3xploitable)
Solution: Add bounds checks on pe_page_count and pe_bnum against
          mf_blocknr_max before descending into the block tree, and
          validate pe_old_lnum >= 1 and pe_line_count > 0 before calling
          readfile().

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-r2gw-2x48-jj5p

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 21:04:55 +00:00
Christian Brabandt
bb6de2105b patch 9.2.0076: [security]: buffer-overflow in terminal handling
Problem:  When processing terminal output with many combining characters
          from supplementary planes (4-byte UTF-8), a heap-buffer
          overflow occurs. Additionally, the loop iterating over
          cell characters can read past the end of the vterm array
          (ehdgks0627, un3xploitable).
Solution: Use VTERM_MAX_CHARS_PER_CELL * 4 for ga_grow() to ensure
          sufficient space. Add a boundary check to the character
          loop to prevent index out-of-bounds access.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-rvj2-jrf9-2phg

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 20:51:55 +00:00
Christian Brabandt
9b7dfa2948 patch 9.2.0075: [security]: Buffer underflow with emacs tag file
Problem:  When parsing a malformed Emacs-style tags file, a 1-byte
          heap-buffer-underflow read occurs if the 0x7f delimiter
          appears at the very beginning of a line. This happens
          because the code attempts to scan backward for a tag
          name from the delimiter without checking if space exists.
          (ehdgks0627, un3xploitable)
Solution: Add a check to ensure the delimiter (p_7f) is not at the
          start of the buffer (lbuf) before attempting to isolate
          the tag name.

GitHub Advisory:
https://github.com/vim/vim/security/advisories/GHSA-xcc8-r6c5-hvwv

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 20:46:33 +00:00
Christian Brabandt
f6a7f469a9 patch 9.2.0074: [security]: Crash with overlong emacs tag file
Problem:  Crash with overlong emacs tag file, because of an OOB buffer
          read (ehdgks0627, un3xploitable)
Solution: Check for end of buffer and return early.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-h4mf-vg97-hj8j

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 20:38:33 +00:00
Christian Brabandt
79348dbbc0 patch 9.2.0073: [security]: possible command injection using netrw
Problem:  [security]: Insufficient validation of hostname and port in
          netrw URIs allows command injection via shell metacharacters
          (ehdgks0627, un3xploitable).
Solution: Implement stricter RFC1123 hostname and IP validation.
          Use shellescape() for the provided hostname and port.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-m3xh-9434-g336

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 20:29:14 +00:00
Weixie Cui
1da9d1381f patch 9.2.0072: inside_block() uses wrong index in loop
Problem:  inside_block() always checks the flags of the top-most stack
          entry  instead of the current loop index.
Solution: Use the loop index 'i' to check all levels of the condition
          stack (Weixie Cui).

closes: #19524

Signed-off-by: Weixie Cui <cuiweixie@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 19:12:00 +00:00
Hirohito Higashi
c598c4de27 patch 9.2.0071: Vim9: lambda function deleted on re-sourcing
Problem:  Vim9: lambda function deleted on re-sourcing
          (Mao-Yining)
Solution: Use ISN_UCALL for script-local def calls inside a lambda
          (Hirohito Higashi).

fixes:  #19509
closes: #19519

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 19:03:18 +00:00
Christian Brabandt
2fa34b6422 patch 9.2.0070: tests: various tests leave swapfiles around
Problem:  tests: various tests leave swapfiles around
Solution: close open buffers using :bw! instead of :close!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 18:57:47 +00:00
snelling-a
9148644c1e runtime(env): add ftplugin for env filetype
Patch 9.2.0033 (#19260) introduced a dedicated `env` filetype for
.env files, which were previously detected as `sh`. This left env
files without `commentstring`, `comments`, or `formatoptions` since
no ftplugin was added alongside the new filetype.

Add runtime/ftplugin/env.vim to set these options, matching the
behavior that .env files had when they used the `sh` filetype.

closes: #19522

Signed-off-by: snelling-a <72226000+snelling-a@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 18:51:34 +00:00
297 changed files with 9960 additions and 2103 deletions

1
.gitattributes vendored
View File

@@ -38,5 +38,6 @@ src/po/vim.pot diff=ignore_vim_pot
#
# https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github
src/po/vim.pot linguist-generated=true
*.dump linguist-generated=true
runtime/syntax/testdir/input/vim_ex_help.vim -text diff linguist-language=vim linguist-detectable=true

4
.github/MAINTAINERS vendored
View File

@@ -263,6 +263,7 @@ runtime/ftplugin/mojo.vim @ribru17
runtime/ftplugin/mp.vim @lifepillar
runtime/ftplugin/mss.vim @Freed-Wu
runtime/ftplugin/nginx.vim @chr4
runtime/ftplugin/nickel.vim @ribru17
runtime/ftplugin/nim.vim @ribru17
runtime/ftplugin/nroff.vim @averms
runtime/ftplugin/nsis.vim @k-takata
@@ -387,6 +388,7 @@ runtime/indent/go.vim @dbarnett
runtime/indent/graphql.vim @jparise
runtime/indent/gyp.vim @ObserverOfTime
runtime/indent/haml.vim @tpope
runtime/indent/handlebars.vim @sukima
runtime/indent/hare.vim @selenebun
runtime/indent/hcl.vim @gpanders
runtime/indent/hog.vim @wtfbbqhax
@@ -540,6 +542,7 @@ runtime/syntax/gitignore.vim @ObserverOfTime
runtime/syntax/gitolite.vim @sitaramc
runtime/syntax/gitrebase.vim @tpope
runtime/syntax/gleam.vim @kirillmorozov
runtime/syntax/glimmer.vim @sukima
runtime/syntax/glsl.vim @gpanders
runtime/syntax/go.vim @bhcleek
runtime/syntax/goaccess.vim @meonkeys
@@ -550,6 +553,7 @@ runtime/syntax/graphql.vim @jparise
runtime/syntax/groff.vim @jmarshall
runtime/syntax/gyp.vim @ObserverOfTime
runtime/syntax/haml.vim @tpope
runtime/syntax/handlebars.vim @sukima
runtime/syntax/hare.vim @selenebun
runtime/syntax/haredoc.vim @selenebun
runtime/syntax/haskell.vim @coot

View File

@@ -147,8 +147,9 @@ For the recommended documentation style, please check [helphelp.txt][16].
# I have a question
If you have some question on the style guide, please contact the [vim-dev][0]
mailing list. For other questions please use the [Vi Stack Exchange][8] website, the
[vim-use][9] mailing list or make use of the [discussion][10] feature here at github.
mailing list. For other questions you can join [`#vim`][19], use the
[Vi Stack Exchange][8] website, the [vim-use][9] mailing list or make use of the
[discussion][10] feature here at github.
[todo list]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt
[0]: http://www.vim.org/maillist.php#vim-dev
@@ -170,3 +171,4 @@ mailing list. For other questions please use the [Vi Stack Exchange][8] website,
[16]: https://github.com/vim/vim/blob/master/runtime/doc/helphelp.txt
[17]: https://github.com/vim/vim/issues
[18]: https://github.com/vim/vim/blob/master/src/testdir/test_codestyle.vim
[19]: https://web.libera.chat/#vim

View File

@@ -213,6 +213,7 @@ SRC_ALL = \
src/testdir/ru_RU/LC_MESSAGES/__PACKAGE__.po \
src/testdir/runtest.vim \
src/testdir/samples/*.html \
src/testdir/samples/*.swp \
src/testdir/samples/*.txt \
src/testdir/samples/*.vim \
src/testdir/samples/evil.zip \
@@ -940,12 +941,15 @@ RT_UNIX_DOS_BIN = \
runtime/vim16x16.gif \
runtime/vim16x16.png \
runtime/vim16x16.xpm \
runtime/vim16x16_png.h \
runtime/vim32x32.gif \
runtime/vim32x32.png \
runtime/vim32x32.xpm \
runtime/vim32x32_png.h \
runtime/vim48x48.gif \
runtime/vim48x48.png \
runtime/vim48x48.xpm \
runtime/vim48x48_png.h \
# Runtime not for Unix-like or extra.
RT_NO_UNIX = \

View File

@@ -67,3 +67,4 @@ Visual
VisualNOS
WarningMsg
WildMenu
WinColor

View File

@@ -3,7 +3,7 @@ vim9script
# Vim functions for file type detection
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2026 Feb 24
# Last Change: 2026 Mar 13
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
# These functions are moved here from runtime/filetype.vim to make startup
@@ -195,6 +195,7 @@ export def FTcl()
endif
enddef
# Determines whether a *.cls file is ObjectScript, TeX, Rexx, Visual Basic, or Smalltalk.
export def FTcls()
if exists("g:filetype_cls")
exe "setf " .. g:filetype_cls
@@ -211,7 +212,20 @@ export def FTcls()
endif
var nonblank1 = getline(nextnonblank(1))
if nonblank1 =~ '^\v%(\%|\\)'
var lnum = nextnonblank(1)
while lnum > 0 && lnum <= line("$")
var line = getline(lnum)
if line =~? '^\s*\%(import\|include\|includegenerator\)\>'
lnum = nextnonblank(lnum + 1)
else
nonblank1 = line
break
endif
endwhile
if nonblank1 =~? '^\s*class\>\s\+[%A-Za-z][%A-Za-z0-9_.]*\%(\s\+extends\>\|\s*\[\|\s*{\|$\)'
setf objectscript
elseif nonblank1 =~ '^\v%(\%|\\)'
setf tex
elseif nonblank1 =~ '^\s*\%(/\*\|::\w\)'
setf rexx

View File

@@ -3,7 +3,7 @@ vim9script
# Vim runtime support library
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2026 Jan 31
# Last Change: 2026 Mar 10
export def IsSafeExecutable(filetype: string, executable: string): bool
if empty(exepath(executable))
@@ -60,7 +60,9 @@ if has('unix')
enddef
else
export def Launch(args: string)
execute $':silent ! nohup {args} {Redir()} &' | redraw!
# Use job_start, because using !xdg-open is known not to work with zsh
# ignore signals on exit
job_start(split(args), {'stoponexit': ''})
enddef
endif
elseif has('win32')
@@ -137,7 +139,13 @@ export def Open(file: string)
setlocal shell&
defer setbufvar('%', '&shell', shell)
endif
Launch($"{Viewer()} {shellescape(file, 1)}")
if has('unix') && !has('win32unix') && !exists('$WSL_DISTRO_NAME')
# Linux: using job_start, so do not use shellescape.
Launch($"{Viewer()} {file}")
else
# Windows/WSL/Cygwin: NEEDS shellescape because Launch uses '!'
Launch($"{Viewer()} {shellescape(file, 1)}")
endif
enddef
# Uncomment this line to check for compilation errors early

View File

@@ -19,6 +19,7 @@
" 2025 Sep 22 by Vim Project: support PowerShell Core
" 2025 Dec 20 by Vim Project: use :lcd instead of :cd
" 2026 Feb 08 by Vim Project: use system() instead of :!
" 2026 Mar 08 by Vim Project: Make ZipUpdatePS() check for powershell
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
@@ -159,7 +160,7 @@ endfunction
function! s:ZipUpdatePS(zipfile, fname)
" Update a filename within a zipped file
" Equivalent to `zip -u zipfile fname`
if a:fname =~ '/'
if &shell =~ 'pwsh' && a:fname =~ '/'
call s:Mess('Error', "***error*** PowerShell cannot update files in archive subfolders")
return ':'
endif

View File

@@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.2. Last change: 2026 Feb 14
*builtin.txt* For Vim version 9.2. Last change: 2026 Mar 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -106,6 +106,8 @@ ch_evalraw({handle}, {string} [, {options}])
ch_getbufnr({handle}, {what}) Number get buffer number for {handle}/{what}
ch_getjob({channel}) Job get the Job of {channel}
ch_info({handle}) String info about channel {handle}
ch_listen({address} [, {options}])
Channel listen on {address}
ch_log({msg} [, {handle}]) none write {msg} in the channel log file
ch_logfile({fname} [, {mode}]) none start logging channel activity
ch_open({address} [, {options}])
@@ -11711,7 +11713,11 @@ system({expr} [, {input}]) *system()* *E677*
When prepended by |:silent| the terminal will not be set to
cooked mode. This is meant to be used for commands that do
not need the user to type. It avoids stray characters showing
up on the screen which require |CTRL-L| to remove. >
up on the screen which require |CTRL-L| to remove.
When calling system() from a 'statusline' expression, an
|autocommand| or a |timer| callback, you should use |:silent|
to avoid terminal responses (e.g. from cursor style queries)
being echoed on the screen. >
:silent let f = system('ls *.vim')
<
Note: Use |shellescape()| or |::S| with |expand()| or
@@ -11769,6 +11775,11 @@ systemlist({expr} [, {input}]) *systemlist()*
<
Returns an empty string on error.
Like |system()|, prepend |:silent| when the command does not
need user interaction and is called from a 'statusline'
expression, an |autocommand| or a |timer| callback. See
|system()| for details.
Can also be used as a |method|: >
:echo GetCmd()->systemlist()
<

View File

@@ -1,4 +1,4 @@
*channel.txt* For Vim version 9.2. Last change: 2026 Feb 25
*channel.txt* For Vim version 9.2. Last change: 2026 Mar 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -114,6 +114,32 @@ Vim to write lines in log file: >
call ch_logfile('channellog', 'w')
See |ch_logfile()|.
You can also make Vim act as a server using |ch_listen()|. This does not
require an external server program.
*channel-listen-demo*
Start Vim and create a listening channel: >
func OnAccept(channel, clientaddr)
" Log the connection
echomsg "Accepted connection from " .. a:clientaddr
" Get current time and send it to the client
let current_time = strftime("%Y-%m-%d %H:%M:%S")
call ch_sendraw(a:channel, "Vim Server Time: " .. current_time .. "\n")
" Optional: close immediately if you only want to provide the time
call ch_close(a:channel)
endfunc
" Start listening on port 8765
let server = ch_listen('localhost:8765', {"callback": "OnAccept"})
From another Vim instance (or any program) you can connect to it: >
let channel = ch_open('localhost:8765')
When done, close the server channel: >
call ch_close(server)
==============================================================================
3. Opening a channel *channel-open*
@@ -641,6 +667,33 @@ ch_info({handle}) *ch_info()*
<
Return type: dict<any>
ch_listen({address} [, {options}]) *E1573* *E1574* *ch_listen()*
Listen on {address} for incoming channel connections.
This creates a server-side channel, unlike |ch_open()|
which connects to an existing server.
Returns a Channel. Use |ch_status()| to check for failure.
{address} is a String, see |channel-address| for the possible
accepted forms. Note: IPv6 is not yet supported.
If {options} is given it must be a |Dictionary|.
See |channel-open-options|.
The "callback" in {options} is invoked when a new
connection is accepted. It receives two arguments: the
new Channel and the client address as a String (e.g.
"127.0.0.1:12345").
Use |ch_open()| to connect to an existing server instead.
See |channel-listen-demo| for an example.
Can also be used as a |method|: >
GetAddress()->ch_listen()
<
{only available when compiled with the |+channel| feature}
Return type: channel
ch_log({msg} [, {handle}]) *ch_log()*
Write String {msg} in the channel log file, if it was opened
with |ch_logfile()|.
@@ -695,6 +748,9 @@ ch_open({address} [, {options}]) *ch_open()*
If {options} is given it must be a |Dictionary|.
See |channel-open-options|.
Use |ch_listen()| to listen for incoming connections
instead.
Can also be used as a |method|: >
GetAddress()->ch_open()
<

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 9.2. Last change: 2026 Feb 14
*intro.txt* For Vim version 9.2. Last change: 2026 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -313,11 +313,11 @@ Elvis Another Vi clone, made by Steve Kirkendall. Very compact but isn't
as flexible as Vim. Development has stalled, Elvis has left the
building! Source code is freely available.
*Neovim*
Neovim A Vim clone. Forked the Vim source in 2014 and went a different way.
Very much bound to github and has many more dependencies, making
development more complex and limiting portability. Code has been
refactored, resulting in patches not being exchangeable with Vim.
Supports a remote GUI and integration with scripting languages.
Neovim A fork of Vim from 2014 that went a different way. Very much bound
to GitHub and has many more dependencies, making development more
complex and limiting portability. Code has been refactored, resulting
in patches not being exchangeable with Vim. Supports remote UIs and
first-class Lua scripting.
==============================================================================
4. Notation *notation*

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 9.2. Last change: 2026 Feb 25
*options.txt* For Vim version 9.2. Last change: 2026 Mar 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3210,7 +3210,10 @@ A jump table for the options with a short description can be found at |Q_op|.
difference. Non-alphanumeric
multi-byte characters such as emoji
and CJK characters are considered
individual words.
individual words. Small gaps of
non-word characters (5 bytes or less)
between changes are merged into a
single highlight block.
internal Use the internal diff library. This is
ignored when 'diffexpr' is set. *E960*
@@ -4810,6 +4813,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-PmenuBorder| j popup menu border characters
|hl-PmenuShadow| H popup menu shadow
|hl-PreInsert| I text inserted when "preinsert" is in 'completeopt'
|hl-Normal| ( Window color (supersedes 'wincolor' option)
Note that the "(" occasion is not set by default.
The display modes are:
r reverse (termcap entry "mr" and "me")
@@ -5808,6 +5814,15 @@ A jump table for the options with a short description can be found at |Q_op|.
---+---+--XXX ~
Where "XXX" denotes the first non-blank characters in
the line.
*lcs-leadtab*
leadtab:xy[z]
Like |lcs-tab|, but only for leading tabs. When
omitted, the "tab" setting is used for leading tabs.
|lcs-tab| must also be set for this to work. *E1572*
You can combine it with "tab:", for example: >
:set listchars=tab:>-,leadtab:.\
< This shows leading tabs as periods(.) and other tabs
as ">--".
*lcs-trail*
trail:c Character to show for trailing spaces. When omitted,
trailing spaces are blank. Overrides the "space" and
@@ -8519,6 +8534,9 @@ A jump table for the options with a short description can be found at |Q_op|.
applied to StatusLineNC for the statusline of non-current
windows.
The number N must be between 1 and 9. See |hl-User1..9|
*stl-%@*
@ - Inserts a newline. This only takes effect when the "maxheight"
value of 'statuslineopt' is greater than 1, or for |tabpanel|.
When displaying a flag, Vim removes the leading comma, if any, when
that flag comes right after plaintext. This will make a nice display
@@ -8576,6 +8594,51 @@ A jump table for the options with a short description can be found at |Q_op|.
:function VarExists(var, val)
: if exists(a:var) | return a:val | else | return '' | endif
:endfunction
<
*'statuslineopt'* *'stlo'*
'statuslineopt' 'stlo' string (default "")
global or local to window |global-local|
{not available when compiled without the |+statusline|
feature}
Optional settings for |status-line|. It can consist of the following
items. All are optional. Items must be separated by a comma.
fixedheight Fix the status line height to "maxheight".
Without this, the height varies from 1 to
"maxheight" based on the number of newline
|stl-%@| in 'statusline'.
maxheight:{n} Set the maximum status line height to {n}.
{n} must be 1 or greater. If not specified, the
height is 1.
When {n} is 2 or more, you can use newline
|stl-%@| in 'statusline' to display information on
multiple lines.
If {n} cannot be set due to insufficient window
height or other constraints, a best-effort
approach will be taken to set the closest possible
value that does not exceed {n}. No error will be
shown even if the setting cannot be changed.
For the global value, a value applicable to all
windows on all tab pages is used. For a
window-local value, a value applicable to that
window is used.
Note: When the applied value differs from {n}, the
option is updated to reflect it.
Example of updated options: >vim
:set statuslineopt=maxheight:999,fixedheight
" Only 20 lines could be applied, so
" maxheight is updated to 20.
:set statuslineopt?
statuslineopt=maxheight:20,fixedheight
<
Examples: >
:set statuslineopt=fixedheight
:set stlo=
:set stlo=maxheight:2,fixedheight
:set stlo-=fixedheight
<
*'suffixes'* *'su'*
'suffixes' 'su' string (default ".bak,~,.o,.h,.info,.swp,.obj")
@@ -8762,11 +8825,11 @@ A jump table for the options with a short description can be found at |Q_op|.
You can use |g:actual_curtabpage| within a function assigned to
tabpanel. |g:actual_curtabpage| represents current tab's label number.
The option value can contain "\n" to force line breaks: >
You can use "%@" or "\n" to insert a newline: >
set tabpanel=%!TabPanel()
function! TabPanel() abort
return printf("(%2d)\n %%f", g:actual_curtabpage)
return "(" .. g:actual_curtabpage .. ")%@ %f"
endfunction
<
The result is:
@@ -8780,8 +8843,8 @@ A jump table for the options with a short description can be found at |Q_op|.
| |
| |
<
Note: using "\n" is considered experimental and may change in the
future; a %-atom may be used instead.
Note: using "\n" is considered experimental and deprecated, prefer
the |stl-%@| atom instead.
*'tabpanelopt'* *'tplo'*
'tabpanelopt' 'tplo' string (default "")
@@ -9053,6 +9116,39 @@ A jump table for the options with a short description can be found at |Q_op|.
<
NOTE: This option is reset when 'compatible' is set.
*'termresize'* *'trz'*
'termresize' 'trz' string (default "")
global
{only available in Unix, does not work in the GUI}
Determines the method to use for detecting window resize events,
possible values are:
"sigwinch": Use the SIGWINCH signal.
"inband": Receive resize events from the terminal via escape
sequences (recommended if supported by terminal).
"": Automatically choose depending on terminal.
The SIGWINCH handler is always available. If set to "inband" and the
terminal does not support in-band window resize events, then the
SIGWINCH handler will be used instead as a fallback. If set to ""
(empty option), then "inband" will be used if Vim detects that the
terminal supports it, otherwise "sigwinch".
*'termsync'* *'tsy'*
'termsync' 'tsy' boolean (default off)
global
If the host terminal supports it, buffer all screen updates made
during a redraw cycle so that each screen is displayed in the terminal
all at once. This can prevent tearing or flickering when the terminal
updates faster than Vim can redraw. If the host terminal does not
support it or if Vim is running graphically, then this option does
nothing.
The specification can be found at:
https://github.com/contour-terminal/vt-extensions/blob/master/synchronized-output.md
The terminal codes used are |t_BS| and |t_ES|.
*'termwinkey'* *'twk'*
'termwinkey' 'twk' string (default "")
local to window
@@ -10206,8 +10302,19 @@ A jump table for the options with a short description can be found at |Q_op|.
*'wincolor'* *'wcr'*
'wincolor' 'wcr' string (default empty)
local to window
DEPRECATED: Use 'winhighlight' if possible, this option uses
'winhighlight' internally by setting it to: >vim
set winhighlight=!(:HighlightGroup
< If this option is set and 'winhighlight' is changed, then it will not
update the option value. For example, if 'wincolor' is set to "A" and
then 'winhighlight' is to an empty value, then 'wincolor' will still
remain as "A". Additionally, the existing value in 'winhighlight' will
be discarded when this option is set.
Highlight group name to use for this window instead of the Normal
color |hl-Normal|.
color |hl-Normal|. For other |highlight-groups|, see 'winhighlight'.
Note that it is not recommended to set this and 'winhighlight' at the
same time.
*'window'* *'wi'*
'window' 'wi' number (default screen height - 1)
@@ -10266,6 +10373,35 @@ A jump table for the options with a short description can be found at |Q_op|.
'winheight' applies to the current window. Use 'winminheight' to set
the minimal height for other windows.
*'winhighlight'* *'whl'*
'winhighlight' 'whl' string (default empty)
local to window
Window-local highlight group mappings. Comma-delimited list of
highlight |group-name| pairs "{hl-from}:{hl-to},..." where each
{hl-from} is a |highlight-groups| item to be overridden by {hl-to}
group in the window. If {hl-from} is "Normal", then it will always
map to the "(" (window color) value in 'highlight'.
If a highlight group name starts with "!", then it is assumed to map
to a value in 'highlight'. For example, this will override the
visual mode setting: >vim
set winhighlight=!v:SomeHighlightGroup
< This will map the occasion "v" to occasion "l" >vim
set winhighlight=!v:!l
<
Highlights of vertical separators are determined by the window to the
left of the separator. The 'tabline' highlight of a tabpage is
decided by the last-focused window of the tabpage. Highlights of
the popupmenu are determined by the current window. Highlights in the
message area cannot be overridden.
When handling highlight group links, if a highlight group (which may
be a link as well) is overridden by 'winhighlight', then all highlight
groups that link to it will be affected. For example, if highlight
group C links to B which links to A, then >vim
set winhighlight=B:SomeHighlightGroup
< will make SomeHighlightGroup override groups B and C, but not A.
*'winminheight'* *'wmh'*
'winminheight' 'wmh' number (default 1)
global

View File

@@ -1,4 +1,4 @@
*popup.txt* For Vim version 9.2. Last change: 2026 Feb 18
*popup.txt* For Vim version 9.2. Last change: 2026 Mar 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -773,6 +773,8 @@ The second argument of |popup_create()| is a dictionary with options:
the popup window.
highlight Highlight group name to use for the text, stored in
the 'wincolor' option.
highlights Highlight group overrides, stored in the
'winhighlight' option (same format).
opacity Opacity of the popup, a value between 0 and 100:
0 is fully transparent (background text fully visible)
100 is fully opaque (default, no transparency)

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 9.2. Last change: 2026 Feb 14
*quickref.txt* For Vim version 9.2. Last change: 2026 Mar 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -939,6 +939,7 @@ Short explanation of each option: *option-list*
'splitright' 'spr' new window is put right of the current one
'startofline' 'sol' commands move cursor to first non-blank in line
'statusline' 'stl' custom format for the status line
'statuslineopt' 'stlo' additional options for the |status-line|
'suffixes' 'su' suffixes that are ignored with multiple match
'suffixesadd' 'sua' suffixes added when searching for a file
'swapfile' 'swf' whether to use a swapfile for a buffer
@@ -962,6 +963,7 @@ Short explanation of each option: *option-list*
'termbidi' 'tbidi' terminal takes care of bi-directionality
'termencoding' 'tenc' character encoding used by the terminal
'termguicolors' 'tgc' use GUI colors for the terminal
'termsync' 'tsy' enable terminal sync mode for redraw
'termwinkey' 'twk' key that precedes a Vim command in a terminal
'termwinscroll' 'twsl' max number of scrollback lines in a terminal window
'termwinsize' 'tws' size of a terminal window
@@ -1016,6 +1018,7 @@ Short explanation of each option: *option-list*
'wildoptions' 'wop' specifies how command line completion is done
'winaltkeys' 'wak' when the windows system handles ALT keys
'wincolor' 'wcr' window-local highlighting
'winhighlight' 'whl' window-local highlighting mappings
'window' 'wi' nr of lines to scroll for CTRL-F and CTRL-B
'winfixbuf' 'wfb' keep window focused on a single buffer
'winfixheight' 'wfh' keep window height when opening/closing windows

View File

@@ -1034,7 +1034,9 @@ $quote eval.txt /*$quote*
'stal' options.txt /*'stal'*
'startofline' options.txt /*'startofline'*
'statusline' options.txt /*'statusline'*
'statuslineopt' options.txt /*'statuslineopt'*
'stl' options.txt /*'stl'*
'stlo' options.txt /*'stlo'*
'stmp' options.txt /*'stmp'*
'stpl' options.txt /*'stpl'*
'sts' options.txt /*'sts'*
@@ -1069,6 +1071,7 @@ $quote eval.txt /*$quote*
't_AU' term.txt /*'t_AU'*
't_BD' term.txt /*'t_BD'*
't_BE' term.txt /*'t_BE'*
't_BS' term.txt /*'t_BS'*
't_CF' term.txt /*'t_CF'*
't_CS' term.txt /*'t_CS'*
't_CV' term.txt /*'t_CV'*
@@ -1079,6 +1082,7 @@ $quote eval.txt /*$quote*
't_Ds' term.txt /*'t_Ds'*
't_EC' term.txt /*'t_EC'*
't_EI' term.txt /*'t_EI'*
't_ES' term.txt /*'t_ES'*
't_F1' term.txt /*'t_F1'*
't_F2' term.txt /*'t_F2'*
't_F3' term.txt /*'t_F3'*
@@ -1233,6 +1237,8 @@ $quote eval.txt /*$quote*
'termbidi' options.txt /*'termbidi'*
'termencoding' options.txt /*'termencoding'*
'termguicolors' options.txt /*'termguicolors'*
'termresize' options.txt /*'termresize'*
'termsync' options.txt /*'termsync'*
'termwinkey' options.txt /*'termwinkey'*
'termwinscroll' options.txt /*'termwinscroll'*
'termwinsize' options.txt /*'termwinsize'*
@@ -1264,10 +1270,12 @@ $quote eval.txt /*$quote*
'tplo' options.txt /*'tplo'*
'tpm' options.txt /*'tpm'*
'tr' options.txt /*'tr'*
'trz' options.txt /*'trz'*
'ts' options.txt /*'ts'*
'tsl' options.txt /*'tsl'*
'tsr' options.txt /*'tsr'*
'tsrfu' options.txt /*'tsrfu'*
'tsy' options.txt /*'tsy'*
'ttimeout' options.txt /*'ttimeout'*
'ttimeoutlen' options.txt /*'ttimeoutlen'*
'ttm' options.txt /*'ttm'*
@@ -1333,6 +1341,7 @@ $quote eval.txt /*$quote*
'wfw' options.txt /*'wfw'*
'wh' options.txt /*'wh'*
'whichwrap' options.txt /*'whichwrap'*
'whl' options.txt /*'whl'*
'wi' options.txt /*'wi'*
'wic' options.txt /*'wic'*
'wig' options.txt /*'wig'*
@@ -1351,6 +1360,7 @@ $quote eval.txt /*$quote*
'winfixheight' options.txt /*'winfixheight'*
'winfixwidth' options.txt /*'winfixwidth'*
'winheight' options.txt /*'winheight'*
'winhighlight' options.txt /*'winhighlight'*
'winminheight' options.txt /*'winminheight'*
'winminwidth' options.txt /*'winminwidth'*
'winptydll' options.txt /*'winptydll'*
@@ -4759,6 +4769,9 @@ E1569 builtin.txt /*E1569*
E157 sign.txt /*E157*
E1570 builtin.txt /*E1570*
E1571 builtin.txt /*E1571*
E1572 options.txt /*E1572*
E1573 channel.txt /*E1573*
E1574 channel.txt /*E1574*
E158 sign.txt /*E158*
E159 sign.txt /*E159*
E16 cmdline.txt /*E16*
@@ -6573,6 +6586,7 @@ ch_evalraw() channel.txt /*ch_evalraw()*
ch_getbufnr() channel.txt /*ch_getbufnr()*
ch_getjob() channel.txt /*ch_getjob()*
ch_info() channel.txt /*ch_info()*
ch_listen() channel.txt /*ch_listen()*
ch_log() channel.txt /*ch_log()*
ch_logfile() channel.txt /*ch_logfile()*
ch_open() channel.txt /*ch_open()*
@@ -6623,6 +6637,7 @@ channel-demo channel.txt /*channel-demo*
channel-drop channel.txt /*channel-drop*
channel-functions usr_41.txt /*channel-functions*
channel-functions-details channel.txt /*channel-functions-details*
channel-listen-demo channel.txt /*channel-listen-demo*
channel-mode channel.txt /*channel-mode*
channel-more channel.txt /*channel-more*
channel-noblock channel.txt /*channel-noblock*
@@ -8849,6 +8864,7 @@ lcs-eol options.txt /*lcs-eol*
lcs-extends options.txt /*lcs-extends*
lcs-lead options.txt /*lcs-lead*
lcs-leadmultispace options.txt /*lcs-leadmultispace*
lcs-leadtab options.txt /*lcs-leadtab*
lcs-multispace options.txt /*lcs-multispace*
lcs-nbsp options.txt /*lcs-nbsp*
lcs-precedes options.txt /*lcs-precedes*
@@ -10527,6 +10543,7 @@ static-tag tagsrch.txt /*static-tag*
status-line windows.txt /*status-line*
statusmsg-variable eval.txt /*statusmsg-variable*
stl-%! options.txt /*stl-%!*
stl-%@ options.txt /*stl-%@*
stl-%{ options.txt /*stl-%{*
str2blob() builtin.txt /*str2blob()*
str2float() builtin.txt /*str2float()*
@@ -10647,6 +10664,7 @@ t_AL term.txt /*t_AL*
t_AU term.txt /*t_AU*
t_BD term.txt /*t_BD*
t_BE term.txt /*t_BE*
t_BS term.txt /*t_BS*
t_CF term.txt /*t_CF*
t_CS term.txt /*t_CS*
t_CTRL-W_. terminal.txt /*t_CTRL-W_.*
@@ -10666,6 +10684,7 @@ t_DL term.txt /*t_DL*
t_Ds term.txt /*t_Ds*
t_EC term.txt /*t_EC*
t_EI term.txt /*t_EI*
t_ES term.txt /*t_ES*
t_F1 term.txt /*t_F1*
t_F2 term.txt /*t_F2*
t_F3 term.txt /*t_F3*

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 9.2. Last change: 2026 Feb 14
*term.txt* For Vim version 9.2. Last change: 2026 Mar 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -510,6 +510,10 @@ Added by Vim (there are no standard codes for these):
|xterm-focus-event|
t_fd disable focus-event tracking *t_fd* *'t_fd'*
|xterm-focus-event|
t_BS begin synchronized update *t_BS* *'t_BS'*
see 'termsync'
t_ES end synchronized update *t_ES* *'t_ES'*
see 'termsync'
Some codes have a start, middle and end part. The start and end are defined
by the termcap option, the middle part is text.
@@ -528,6 +532,11 @@ t_SH must take one argument:
t_RS is sent only if the response to t_RV has been received. It is not used
on Mac OS when Terminal.app could be recognized from the termresponse.
The t_BS and t_ES are not stored in the termcap, but are instead set to the
following default values on startup:
t_BS "\033[?2026h"
t_ES "\033[?2026l"
*mouse-reporting*
Many terminals can report mouse clicks and some can report mouse movement and
dragging. Vim needs to know what codes are being used for this.

View File

@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 9.2. Last change: 2026 Feb 24
*terminal.txt* For Vim version 9.2. Last change: 2026 Mar 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1427,11 +1427,25 @@ gdb:
`:Arguments` {args} set arguments for the next `:Run`
*:Break* set a breakpoint at the cursor position
:Break {position}
:Break [{position}] [thread {nr}] [if {expr}]
set a breakpoint at the specified position
if {position} is omitted, use the current file and line
thread {nr} limits the breakpoint to one thread
if {expr} sets a conditional breakpoint
Examples: >
:Break if argc == 1
:Break 42 thread 3 if x > 10
:Break main
<
*:Tbreak* set a temporary breakpoint at the cursor position
:Tbreak {position}
set a temporary breakpoint at the specified position
:Tbreak [{position}] [thread {nr}] [if {expr}]
like `:Break`, but the breakpoint is deleted after
it is hit once
Examples: >
:Tbreak if argc == 1
:Tbreak 42 thread 3 if x > 10
:Tbreak main
<
*:Clear* delete the breakpoint at the cursor position
*:ToggleBreak* set a breakpoint at the cursor position or delete all
breakpoints at the cursor position

View File

@@ -1287,23 +1287,24 @@ Testing: *test-functions*
Inter-process communication: *channel-functions*
ch_canread() check if there is something to read
ch_open() open a channel
ch_close() close a channel
ch_close_in() close the in part of a channel
ch_evalexpr() evaluate an expression over channel
ch_evalraw() evaluate a raw string over channel
ch_getbufnr() get the buffer number for a channel
ch_getjob() get the Job of a channel
ch_info() get information about a channel
ch_listen() listen on a channel
ch_log() write a message in the channel log
ch_logfile() start logging channel activity
ch_open() open a channel
ch_read() read a message from a channel
ch_readblob() read a Blob from a channel
ch_readraw() read a raw message from a channel
ch_sendexpr() send a JSON message over a channel
ch_sendraw() send a raw message over a channel
ch_evalexpr() evaluate an expression over channel
ch_evalraw() evaluate a raw string over channel
ch_setoptions() set channel options
ch_status() get status of a channel
ch_getbufnr() get the buffer number of a channel
ch_getjob() get the job associated with a channel
ch_info() get channel information
ch_log() write a message in the channel log file
ch_logfile() set the channel log file
ch_setoptions() set the options for a channel
json_encode() encode an expression to a JSON string
json_decode() decode a JSON string to Vim types
js_encode() encode an expression to a JSON string

View File

@@ -1,4 +1,4 @@
*version9.txt* For Vim version 9.2. Last change: 2026 Feb 25
*version9.txt* For Vim version 9.2. Last change: 2026 Mar 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -52588,25 +52588,49 @@ Popups ~
- 'previewpopup' supports the same values as 'completepopup' (except for
"align").
Diff mode ~
---------
When using inline word diffs, adjacent changes are now merged if the gap
between them is small (5 bytes or less) and contains only non-word characters.
This prevents fragmented highlighting when only whitespace or punctuation
separates changes.
Other ~
-----
- The new |xdg.vim| script for full XDG compatibility is included.
- |ConPTY| support is considered stable as of Windows 11.
- Support for "dap" channel mode for the |debug-adapter-protocol|.
- |status-line| can use several lines, see 'statuslineopt'.
- New "leadtab" value for the 'listchars' setting.
*changed-9.3*
Changed~
-------
- Support for NeXTStep was dropped with patch v9.2.0122
*added-9.3*
Added ~
-----
Various syntax, indent and other plugins were added.
Functions: ~
|ch_listen()| listen on {address}
Autocommands: ~
|SessionLoadPre| before loading a |Session| file
Options: ~
'statuslineopt' Extra window-local options for the 'statusline', to
configure the height.
't_BS' Begin synchronized update.
't_ES' End synchronized update.
'termresize' Method for handling terminal resize events.
'termsync' Enable support for terminal DEC 2026 sync mode.
'winhighlight' Window-local highlight group mappings.
==============================================================================
PATCHES *patches-9.3* *bug-fixes-9.3*
*patches-after-9.2*

View File

@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 9.2. Last change: 2026 Feb 14
*vi_diff.txt* For Vim version 9.2. Last change: 2026 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1401,6 +1401,6 @@ MS-DOS: | support was dropped with v7.4.1399
MS-Windows XP and Vista: | support was dropped with v9.0.0496
OS/2: | support was dropped with v7.4.1008
RISC OS: | support was dropped with v7.3.0187
NeXTSTEP: | support was deprecated with v9.1.1727
NeXTSTEP: | support was dropped with v9.2.0122
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*vim9class.txt* For Vim version 9.2. Last change: 2026 Feb 14
*vim9class.txt* For Vim version 9.2. Last change: 2026 Mar 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1354,7 +1354,6 @@ the restrictions?
Thoughts:
- Generics for a class: `class <Tkey, Tentry>`
- Generics for a function: `def <Tkey> GetLast(key: Tkey)`
- Mixins: not sure if that is useful, leave out for simplicity.
Some things that look like good additions:

View File

@@ -1,4 +1,4 @@
*windows.txt* For Vim version 9.2. Last change: 2026 Feb 24
*windows.txt* For Vim version 9.2. Last change: 2026 Mar 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -122,9 +122,9 @@ when the last window also has a status line:
'laststatus' = 1 status line if there is more than one window
'laststatus' = 2 always a status line
You can change the contents of the status line with the 'statusline' option.
This option can be local to the window, so that you can have a different
status line in each window.
You can change the contents and height of the status line with the
'statusline' and 'statuslineopt' options. Both can be local to the window,
allowing each window to have a unique status line appearance and height.
Normally, inversion is used to display the status line. This can be changed
with the 's' character in the 'highlight' option. For example, "sb" sets it

View File

@@ -1054,7 +1054,7 @@ au BufNewFile,BufRead *.scm,*.ss,*.sld,*.stsg,*/supertux2/config,.lips_repl_hist
" SiSU
au BufNewFile,BufRead *.sst.meta,*.-sst.meta,*._sst.meta setf sisu
" Smalltalk (and Rexx, TeX, and Visual Basic)
" Smalltalk (and ObjectScript, Rexx, TeX, and Visual Basic)
au BufNewFile,BufRead *.cls call dist#ft#FTcls()
" SMIL or XML

19
runtime/ftplugin/env.vim Normal file
View File

@@ -0,0 +1,19 @@
" Vim filetype plugin file
" Language: env
" Maintainer: This runtime file is looking for a new maintainer.
" Last Change: 2026 Feb 27
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=b:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -3,7 +3,7 @@
" Maintainer: Carlo Baldassi <carlobaldassi@gmail.com>
" Homepage: https://github.com/JuliaEditorSupport/julia-vim
" Last Change: 2021 Aug 04
" 2025 Dec 9 sync with upstream repo #18894
" 2026 Feb 27 sync with upstream repo
if exists("b:did_ftplugin")
finish
@@ -16,7 +16,7 @@ set cpo&vim
setlocal include=^\\s*\\%(reload\\\|include\\)\\>
setlocal suffixesadd=.jl
setlocal comments=:#
setlocal commentstring=#=%s=#
setlocal commentstring=#\ %s
setlocal cinoptions+=#1
setlocal define=^\\s*macro\\>
setlocal fo-=t fo+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin
" Language: nickel
" Maintainer: Riley Bruins <ribru17@gmail.com>
" Last Change: 2026 Mar 01
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setl comments=:# commentstring=#\ %s
let b:undo_ftplugin = 'setl com< cms<'

View File

@@ -2,7 +2,7 @@
" Language: OpenSSH client configuration file
" Maintainer: This runtime file is looking for a new maintainer.
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2025-07-22 (use :hor term #17822)
" Latest Revision: 2026-03-11 (`less -I`)
if exists("b:did_ftplugin")
finish
@@ -17,7 +17,7 @@ let b:undo_ftplugin = 'setlocal com< cms< fo<'
if has('unix') && executable('less') && exists(':terminal') == 2
command -buffer -nargs=1 SshconfigKeywordPrg
\ silent exe 'hor term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '$', '\') . ''' --hilite-search" man ' . 'ssh_config'
\ silent exe 'hor term ' . 'env LESS= MANPAGER="less -I --pattern=''' . escape('^\s+' . <q-args> . '$', '\') . ''' --hilite-search" man ' . 'ssh_config'
setlocal iskeyword+=-
setlocal keywordprg=:SshconfigKeywordPrg
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SshconfigKeywordPrg'

View File

@@ -19,9 +19,8 @@ setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
if has('unix') && executable('less') && exists(':terminal') == 2
command -buffer -nargs=1 SudoersKeywordPrg
\ silent exe ':hor term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('\b' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'sudoers'
setlocal iskeyword+=-
setlocal keywordprg=:SudoersKeywordPrg
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SudoersKeywordPrg'
let b:undo_ftplugin .= '| setlocal keywordprg< | sil! delc -buffer SudoersKeywordPrg'
endif
let &cpo = s:cpo_save

14
runtime/ftplugin/xkb.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin
" Language: xkb (X keyboard extension)
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2026 Mar 01
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setl comments=://
setl commentstring=//\ %s
let b:undo_ftplugin = 'setl com< cms<'

View File

@@ -0,0 +1,128 @@
" Vim indent file
" Language: Handlebars
" Maintainer: Devin Weaver
" Last Change: 2026 Feb 20
" Origin: https://github.com/joukevandermaas/vim-ember-hbs
" Credits: Jouke van der Maas
" Acknowledgement: Based on eruby.vim indentation by TPope
" License: MIT
" The MIT License (MIT)
"
" Copyright (c) 2026 Devin Weaver
" Copyright (c) 2015 Jouke van der Maas
"
" Permission is hereby granted, free of charge, to any person obtaining a copy
" of this software and associated documentation files (the "Software"), to deal
" in the Software without restriction, including without limitation the rights
" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
" copies of the Software, and to permit persons to whom the Software is
" furnished to do so, subject to the following conditions:
"
" The above copyright notice and this permission notice shall be included in all
" copies or substantial portions of the Software.
"
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
" SOFTWARE.
if exists("b:did_indent")
finish
endif
runtime! indent/html.vim
unlet! b:did_indent
" Force HTML indent to not keep state.
let b:html_indent_usestate = 0
let b:handlebars_current_indent = 0
if &l:indentexpr == ''
if &l:cindent
let &l:indentexpr = 'cindent(v:lnum)'
else
let &l:indentexpr = 'indent(prevnonblank(v:lnum-1))'
endif
endif
let b:handlebars_subtype_indentexpr = &l:indentexpr
let b:did_indent = 1
setlocal indentexpr=GetHandlebarsIndent()
setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],o,O,!^F,=else,={{#,={{/
" Only define the function once.
if exists("*GetHandlebarsIndent")
finish
endif
function! GetHandlebarsIndent(...)
" The value of a single shift-width
let sw = shiftwidth()
if a:0 && a:1 == '.'
let v:lnum = line('.')
elseif a:0 && a:1 =~ '^\d'
let v:lnum = a:1
endif
let vcol = col('.')
call cursor(v:lnum,1)
call cursor(v:lnum,vcol)
exe "let ind = ".b:handlebars_subtype_indentexpr
" Workaround for Andy Wokula's HTML indent. This should be removed after
" some time, since the newest version is fixed in a different way. Credit
" to eruby.vim indent by tpope
if b:handlebars_subtype_indentexpr =~# '^HtmlIndent('
\ && exists('b:indent')
\ && type(b:indent) == type({})
\ && has_key(b:indent, 'lnum')
" Force HTML indent to not keep state
let b:indent.lnum = -1
endif
let lnum = prevnonblank(v:lnum-1)
let prevLine = getline(lnum)
let currentLine = getline(v:lnum)
" all indent rules only apply if the block opening/closing
" tag is on a separate line
" indent after block {{#block
if prevLine =~# '\v\s*\{\{\#'
let ind = ind + sw
endif
" but not if the block ends on the same line
if prevLine =~# '\v\s*\{\{\#(.+)(\s+|\}\}).+\{\{\/\1'
let ind = ind - sw
endif
" unindent after block close {{/block}}
if currentLine =~# '\v^\s*\{\{\/'
let ind = ind - sw
endif
" indent after component block {{a-component
if prevLine =~# '\v\s*\{\{\w'
let ind = ind + sw
endif
" but not if the component block ends on the same line
if prevLine =~# '\v\s*\{\{\w(.+)\}\}'
let ind = ind - sw
endif
" unindent }} lines
if currentLine =~# '\v^\s*\}\}\s*$' || (currentLine !~# '\v^\s*\{\{\/' && prevLine =~# '\v^\s*[^\{\}]+\}\}\s*$')
let ind = ind - sw
endif
" unindent {{else}}
if currentLine =~# '\v^\s*\{\{else'
let ind = ind - sw
endif
" indent again after {{else}}
if prevLine =~# '\v^\s*\{\{else'
let ind = ind + sw
endif
return ind
endfunction

View File

@@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2025 Nov 27
" Last Change: 2026 Mar 11
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" If there already is an option window, jump to that one.
@@ -385,6 +385,12 @@ call <SID>AddOption("window", gettext("number of lines to scroll for CTRL-F and
call append("$", " \tset window=" . &window)
call <SID>AddOption("lazyredraw", gettext("don't redraw while executing macros"))
call <SID>BinOptionG("lz", &lz)
if has("unix")
call <SID>AddOption("termresize", gettext("configure method of receiving terminal size changes"))
call <SID>BinOptionG("trz", &trz)
endif
call <SID>AddOption("termsync", gettext("enable terminal sync mode"))
call <SID>BinOptionG("tsy", &tsy)
if has("reltime")
call <SID>AddOption("redrawtime", gettext("timeout for 'hlsearch' and :match highlighting in msec"))
call append("$", " \tset rdt=" . &rdt)
@@ -445,6 +451,9 @@ call <SID>BinOptionG("hls", &hls)
call <SID>AddOption("wincolor", gettext("highlight group to use for the window"))
call append("$", "\t" .. s:local_to_window)
call <SID>OptionL("wcr")
call <SID>AddOption("winhighlight", gettext("highlight group mappings for the window"))
call append("$", "\t" .. s:local_to_window)
call <SID>OptionL("whl")
if has("termguicolors")
call <SID>AddOption("termguicolors", gettext("use GUI colors for the terminal"))
call <SID>BinOptionG("tgc", &tgc)
@@ -490,8 +499,10 @@ call append("$", " \tset ls=" . &ls)
if has("statusline")
call <SID>AddOption("statusline", gettext("alternate format to be used for a status line"))
call <SID>OptionG("stl", &stl)
call append("$", "\t" .. s:local_to_window)
call <SID>AddOption("statuslineopt", gettext("optional settings for the status line"))
call <SID>OptionG("stlo", &stlo)
endif
call append("$", "\t" .. s:local_to_window)
call <SID>AddOption("equalalways", gettext("make all windows the same size when adding/removing windows"))
call <SID>BinOptionG("ea", &ea)
call <SID>AddOption("eadirection", gettext("in which direction 'equalalways' works: \"ver\", \"hor\" or \"both\""))

View File

@@ -20,6 +20,8 @@
" 2026 Jan 19 by Vim Project do not create swapfiles #18854
" 2026 Feb 15 by Vim Project fix global variable initialization for MS-Windows #19287
" 2026 Feb 21 by Vim Project better absolute path detection on MS-Windows #19477
" 2026 Feb 27 by Vim Project Make the hostname validation more strict
" 2026 Mar 01 by Vim Project include portnumber in hostname checking #19533
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -2591,13 +2593,29 @@ endfunction
" s:NetrwValidateHostname: Validate that the hostname is valid {{{2
" Input:
" hostname
" hostname, may include an optional username and port number, e.g.
" user@hostname:port
" allow a alphanumeric hostname or an IPv(4/6) address
" Output:
" true if g:netrw_machine is valid according to RFC1123 #Section 2
function s:NetrwValidateHostname(hostname)
" RFC1123#section-2 mandates, a valid hostname starts with letters or digits
" so reject everyhing else
return a:hostname =~? '^[a-z0-9]'
" Username:
let user_pat = '\%([a-zA-Z0-9._-]\+@\)\?'
" Hostname: 1-64 chars, alphanumeric/dots/hyphens.
" No underscores. No leading/trailing dots/hyphens.
let host_pat = '[a-zA-Z0-9]\%([-a-zA-Z0-9.]\{0,62}[a-zA-Z0-9]\)\?'
" Port: 16 bit unsigned integer
let port_pat = '\%(:\d\{1,5\}\)\?$'
" IPv4: 1-3 digits separated by dots
let ipv4_pat = '\%(\d\{1,3}\.\)\{3\}\d\{1,3\}'
" IPv6: Hex, colons, and optional brackets
let ipv6_pat = '\[\?\%([a-fA-F0-9:]\{2,}\)\+\]\?'
return a:hostname =~? '^'.user_pat.host_pat.port_pat ||
\ a:hostname =~? '^'.user_pat.ipv4_pat.port_pat ||
\ a:hostname =~? '^'.user_pat.ipv6_pat.port_pat
endfunction
" NetUserPass: set username and password for subsequent ftp transfer {{{2
@@ -8961,15 +8979,15 @@ endfunction
" s:MakeSshCmd: transforms input command using USEPORT HOSTNAME into {{{2
" a correct command for use with a system() call
function s:MakeSshCmd(sshcmd)
if s:user == ""
let sshcmd = substitute(a:sshcmd,'\<HOSTNAME\>',s:machine,'')
else
let sshcmd = substitute(a:sshcmd,'\<HOSTNAME\>',s:user."@".s:machine,'')
let machine = shellescape(s:machine, 1)
if s:user != ''
let machine = shellescape(s:user, 1).'@'.machine
endif
let sshcmd = substitute(a:sshcmd,'\<HOSTNAME\>',machine,'')
if exists("g:netrw_port") && g:netrw_port != ""
let sshcmd= substitute(sshcmd,"USEPORT",g:netrw_sshport.' '.g:netrw_port,'')
let sshcmd= substitute(sshcmd,"USEPORT",g:netrw_sshport.' '.shellescape(g:netrw_port,1),'')
elseif exists("s:port") && s:port != ""
let sshcmd= substitute(sshcmd,"USEPORT",g:netrw_sshport.' '.s:port,'')
let sshcmd= substitute(sshcmd,"USEPORT",g:netrw_sshport.' '.shellescape(s:port,1),'')
else
let sshcmd= substitute(sshcmd,"USEPORT ",'','')
endif

View File

@@ -62,9 +62,10 @@ setting |g:osc52_force_avail| to true.
*g:osc52_disable_paste*
If your terminal does not support pasting via OSC 52, or has it disabled, then
it is a good idea to set g:osc52_disable_paste to TRUE. This will cause an
empty string to be returned when Vim attempts to query the osc52.vim provider,
instead of doing a blocking wait, as said in |osc52-support|.
it is a good idea to set g:osc52_disable_paste to TRUE. This will register
only the "copy" method for the osc52.vim clipboard provider, so Vim will not
attempt an OSC 52 paste query and avoids the blocking wait described in
|osc52-support|.
==============================================================================
vim:tw=78:ts=8:fo=tcq2:ft=help:

View File

@@ -3,7 +3,7 @@ vim9script
# Vim plugin for OSC52 clipboard support
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2025 Dec 18
# Last Change: 2026 Mar 01
if !has("timers")
finish
@@ -11,18 +11,25 @@ endif
import autoload "../autoload/osc52.vim" as osc
v:clipproviders["osc52"] = {
var provider: dict<any> = {
"available": osc.Available,
"paste": {
"*": osc.Paste,
"+": osc.Paste
},
"copy": {
"*": osc.Copy,
"+": osc.Copy
},
}
if !get(g:, 'osc52_disable_paste', 0)
provider->extend({
"paste": {
"*": osc.Paste,
"+": osc.Paste
}
})
endif
v:clipproviders["osc52"] = provider
def SendDA1(): void
if !has("gui_running") && !get(g:, 'osc52_force_avail', 0)
&& !get(g:, 'osc52_no_da1', 0)

View File

@@ -4,7 +4,7 @@ vim9script
# Author: Bram Moolenaar
# Copyright: Vim license applies, see ":help license"
# Last Change: 2025 Dec 26
# Last Change: 2026 Mar 11
# Converted to Vim9: Ubaldo Tiberi <ubaldo.tiberi@gmail.com>
# WORK IN PROGRESS - The basics works stable, more to come
@@ -1592,6 +1592,87 @@ def QuoteArg(x: string): string
return printf('"%s"', x ->substitute('[\\"]', '\\&', 'g'))
enddef
def DefaultBreakpointLocation(): string
# Use the fname:lnum format, older gdb can't handle --source.
var fname = Remote2LocalPath(expand('%:p'))
return QuoteArg($"{fname}:{line('.')}")
enddef
def TokenizeBreakpointArguments(args: string): list<dict<any>>
var tokens: list<dict<any>> = []
var start = -1
var escaped = false
var in_quotes = false
var i = 0
for ch in args
if start < 0 && ch !~ '\s'
start = i
endif
if start >= 0
if escaped
escaped = false
elseif ch == '\'
escaped = true
elseif ch == '"'
in_quotes = !in_quotes
elseif !in_quotes && ch =~ '\s'
tokens->add({text: args[start : i - 1], start: start, end: i - 1})
start = -1
endif
endif
i += 1
endfor
if start >= 0
tokens->add({text: args[start :], start: start, end: i - 1})
endif
return tokens
enddef
def BuildBreakpointCommand(at: string, tbreak=false): string
var args = trim(at)
var cmd = '-break-insert'
if tbreak
cmd ..= ' -t'
endif
if empty(args)
return $'{cmd} {DefaultBreakpointLocation()}'
endif
var condition = ''
var prefix = args
for token in TokenizeBreakpointArguments(args)
if token.text == 'if' && token.end < strchars(args) - 1
condition = trim(args[token.end + 1 :])
prefix = token.start > 0 ? trim(args[: token.start - 1]) : ''
break
endif
endfor
var prefix_tokens = TokenizeBreakpointArguments(prefix)
var location = prefix
var thread = ''
if len(prefix_tokens) >= 2
&& prefix_tokens[-2].text == 'thread'
&& prefix_tokens[-1].text =~ '^\d\+$'
thread = prefix_tokens[-1].text
location = join(prefix_tokens[: -3]->mapnew('v:val.text'), ' ')
endif
if empty(trim(location))
location = DefaultBreakpointLocation()
endif
if !empty(thread)
cmd ..= $' -p {thread}'
endif
if !empty(condition)
cmd ..= $' -c {QuoteArg(condition)}'
endif
return $'{cmd} {trim(location)}'
enddef
# :Until - Execute until past a specified position or current line
def Until(at: string)
@@ -1620,15 +1701,7 @@ def SetBreakpoint(at: string, tbreak=false)
sleep 10m
endif
# Use the fname:lnum format, older gdb can't handle --source.
var fname = Remote2LocalPath(expand('%:p'))
var AT = empty(at) ? QuoteArg($"{fname}:{line('.')}") : at
var cmd = ''
if tbreak
cmd = $'-break-insert -t {AT}'
else
cmd = $'-break-insert {AT}'
endif
var cmd = BuildBreakpointCommand(at, tbreak)
SendCommand(cmd)
if do_continue
ContinueCommand()

View File

@@ -2,7 +2,7 @@
" Language: Vim script
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
" Doug Kearns <dougkearns@gmail.com>
" Last Change: 2026 Jan 30
" Last Change: 2026 Feb 20
" Former Maintainer: Charles E. Campbell
" DO NOT CHANGE DIRECTLY.
@@ -1784,17 +1784,32 @@ Vim9 syn match vimWincmd "\s\=\<winc\%[md]\>\ze\s\+=\s*\%([#|]\|$\)" skipwhite n
" Syntax: {{{2
"=======
syn match vimGroupList contained "[^[:space:],]\+\%(\s*,\s*[^[:space:],]\+\)*" contains=vimGroupSpecial
syn region vimGroupList contained start=/^\s*["#]\\ \|^\s*\\\|[^[:space:],]\+\s*,/ skip=/\s*\n\s*\%(\\\|["#]\\ \)\|^\s*\%(\\\|["#]\\ \)/ end=/[^[:space:],]\s*$\|[^[:space:],]\ze\s\+\w/ contains=@vimContinue,vimGroupSpecial
syn region vimGroupList contained
\ start="\S"
\ skip=+\n\s*\%(\\\|["#]\\ \)+
"\ need to consume the whitespace
\ end="\s"he=e-1
\ end="$"
\ contains=@vimGroupListContinue,vimGroupSpecial,vimGroupListContinueComma
syn keyword vimGroupSpecial contained ALL ALLBUT CONTAINED TOP
syn match vimGroupListComma contained ","
syn match vimGroupListContinueComma contained "\s\+,\s*\|,\s\+" contains=vimGroupListComma
syn match vimGroupListContinueComma contained "\s*,\s*\%(\n\s*\%(\\\s\+\|["#]\\ .*\)\)\+" contains=@vimGroupListContinue,vimGroupListComma
syn match vimGroupListEquals contained "=" skipwhite skipnl nextgroup=vimGroupListContinueStart,vimGroupList
" the first continuation line does not terminate the list at whitepace after \
syn match vimGroupListContinueStart contained "^\%(\s*["#]\\ .*\n\)*\s*\\\s\+" skipwhite nextgroup=vimGroupList contains=@vimGroupListContinue transparent
syn match vimGroupListContinue contained "^\s*\\" skipwhite skipnl nextgroup=@vimGroupListContinue,vimGroupListContinueComma contains=vimWhitespace
syn match vimGroupListContinueComment contained '^\s*["#]\\ .*' skipwhite skipnl nextgroup=@vimGroupListContinue contains=vimWhitespace
syn cluster vimGroupListContinue contains=vimGroupListContinue,vimGroupListContinueComment
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynerror")
syn match vimSynError contained "\i\+"
syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
syn match vimSynError contained "\i\+"
endif
syn match vimSynContains contained "\<contain\%(s\|edin\)=" skipwhite skipnl nextgroup=vimGroupList
syn match vimSynKeyContainedin contained "\<containedin=" skipwhite skipnl nextgroup=vimGroupList
syn match vimSynNextgroup contained "\<nextgroup=" skipwhite skipnl nextgroup=vimGroupList
syn match vimSynContains contained "\<contains\>" skipwhite nextgroup=vimGroupListEquals
syn match vimSynContainedin contained "\<containedin\>" skipwhite nextgroup=vimGroupListEquals
syn match vimSynNextgroup contained "\<nextgroup\>" skipwhite nextgroup=vimGroupListEquals
if has("conceal")
" no whitespace allowed after '='
syn match vimSynCchar contained "\<cchar=" nextgroup=vimSynCcharValue
@@ -1812,13 +1827,13 @@ endif
syn keyword vimSynCase contained ignore match
" Syntax: clear {{{2
syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
syn keyword vimSynType contained clear
" Syntax: cluster {{{2
syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
syn region vimClusterName contained keepend matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="$\||" contains=@vimContinue,vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
syn match vimGroupAdd contained keepend "\<add=" skipwhite skipnl nextgroup=vimGroupList
syn match vimGroupRem contained keepend "\<remove=" skipwhite skipnl nextgroup=vimGroupList
syn match vimGroupAdd contained "\<add\>" skipwhite nextgroup=vimGroupListEquals
syn match vimGroupRem contained "\<remove\>" skipwhite nextgroup=vimGroupListEquals
" Syntax: conceal {{{2
syn match vimSynType contained "\<conceal\>" skipwhite nextgroup=vimSynConceal,vimSynConcealError
@@ -1841,16 +1856,17 @@ syn match vimSynIskeyword contained "\S\+" contains=vimSynIskeywordSep
syn match vimSynIskeywordSep contained ","
" Syntax: include {{{2
syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
syn keyword vimSynType contained include skipwhite nextgroup=vimSynIncludeCluster
syn match vimSynIncludeCluster contained "@[_a-zA-Z0-9]\+\>"
" Syntax: keyword {{{2
syn cluster vimSynKeyGroup contains=@vimContinue,vimSynCchar,vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
syn cluster vimSynKeyGroup contains=@vimContinue,vimSynCchar,vimSynNextgroup,vimSynKeyOpt,vimSynContainedin
syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
syn region vimSynKeyRegion contained keepend matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|\|$" contains=@vimSynKeyGroup
syn match vimSynKeyOpt contained "\%#=1\<\%(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
" Syntax: match {{{2
syn cluster vimSynMtchGroup contains=@vimContinue,vimSynCchar,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vimMtchComment
syn cluster vimSynMtchGroup contains=@vimContinue,vimSynCchar,vimSynContains,vimSynContainedin,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vimMtchComment
syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|\|$" contains=@vimSynMtchGroup
syn match vimSynMtchOpt contained "\%#=1\<\%(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
@@ -1860,9 +1876,9 @@ syn keyword vimSynType contained enable list manual off on reset
" Syntax: region {{{2
syn cluster vimSynRegPatGroup contains=@vimContinue,vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
syn cluster vimSynRegGroup contains=@vimContinue,vimSynCchar,vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
syn cluster vimSynRegGroup contains=@vimContinue,vimSynCchar,vimSynContains,vimSynContainedin,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\h\w*" skip=+\\\\\|\\\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|\|$" contains=@vimSynRegGroup
syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\h\w*" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|\|$" contains=@vimSynRegGroup
syn match vimSynRegOpt contained "\%#=1\<\%(conceal\%(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
syn match vimSynReg contained "\<\%(start\|skip\|end\)=" nextgroup=vimSynRegPat
syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup
@@ -2520,11 +2536,14 @@ if !exists("skip_vim_syntax_inits")
hi def link vimGrep vimCommand
hi def link vimGrepadd vimCommand
hi def link vimGrepBang vimBang
hi def link vimGroup Type
hi def link vimGroupAdd vimSynOption
hi def link vimGroupListEquals vimSynOption
hi def link vimGroupListContinue vimContinue
hi def link vimGroupListContinueComment vimContinueComment
hi def link vimGroupName Normal
hi def link vimGroupRem vimSynOption
hi def link vimGroupSpecial Special
hi def link vimGroup Type
hi def link vimHelp vimCommand
hi def link vimHelpBang vimBang
hi def link vimHelpgrep vimCommand
@@ -2689,7 +2708,7 @@ if !exists("skip_vim_syntax_inits")
hi def link vimSynFoldlevel Type
hi def link vimSynIskeyword Type
hi def link vimSynIskeywordSep Delimiter
hi def link vimSynKeyContainedin vimSynContains
hi def link vimSynContainedin vimSynContains
hi def link vimSynKeyOpt vimSynOption
hi def link vimSynMtchGrp vimSynOption
hi def link vimSynMtchOpt vimSynOption

View File

@@ -0,0 +1,51 @@
" Vim syntax file
" Language: Glimmer
" Maintainer: Devin Weaver
" Last Change: 2026 Feb 20
" Origin: https://github.com/joukevandermaas/vim-ember-hbs
" Credits: Jouke van der Maas
" License: Same as Vim
" Vim detects GJS/GTS files as {java,type}script.glimmer
" Vim will read the javascript/typescript syntax files first and set
" b:current_syntax accordingly then it will read the glimmer syntax file.
" This is why we use b:current_syntax to make sure we are in the correct state
" to continue.
if exists('b:current_syntax') && b:current_syntax !~# '\v%(type|java)script'
finish
endif
let base_syntax = b:current_syntax
unlet! b:current_syntax
let s:cpo_save = &cpo
set cpo&vim
syntax include @hbs syntax/handlebars.vim
if base_syntax == "javascript"
syntax region glimmerTemplateBlock
\ start="<template>" end="</template>"
\ contains=@hbs
\ keepend fold
let b:current_syntax = "javascript.glimmer"
else
" syntax/typescript.vim adds typescriptTypeCast which is in conflict with
" <template> typescriptreact doesn't define it but we want to not include
" the JSX syntax.
syntax clear typescriptTypeCast
syntax region glimmerTemplateBlock
\ start="<template>" end="</template>"
\ contains=@hbs
\ containedin=typescriptClassBlock,typescriptFuncCallArg
\ keepend fold
let b:current_syntax = "typescript.glimmer"
endif
let &cpo = s:cpo_save
unlet s:cpo_save
unlet! base_syntax

View File

@@ -0,0 +1,144 @@
" Vim syntax file
" Language: Handlebars
" Maintainer: Devin Weaver
" Last Change: 2026 Feb 20
" Origin: https://github.com/joukevandermaas/vim-ember-hbs
" Credits: Jouke van der Maas
" License: MIT
" The MIT License (MIT)
"
" Copyright (c) 2026 Devin Weaver
" Copyright (c) 2015 Jouke van der Maas
"
" Permission is hereby granted, free of charge, to any person obtaining a copy
" of this software and associated documentation files (the "Software"), to deal
" in the Software without restriction, including without limitation the rights
" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
" copies of the Software, and to permit persons to whom the Software is
" furnished to do so, subject to the following conditions:
"
" The above copyright notice and this permission notice shall be included in all
" copies or substantial portions of the Software.
"
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
" SOFTWARE.
if exists("b:current_syntax")
finish
endif
runtime! syntax/html.vim
syntax cluster htmlPreproc add=hbsComponent,hbsMustache,hbsUnescaped,hbsMustacheBlock,hbsComment,hbsElseBlock,hbsEscapedMustache
syntax match hbsEscapedMustache "\v\\\{\{"
syntax region hbsComponent matchgroup=hbsComponentStatement start="\v\<\/?:?\a+(\.\a+|::-?\a+)*" end="\v\/?\>" keepend
syntax region hbsMustache matchgroup=hbsHandles start="\v\{\{" skip="\v\\\}\}" end="\v\}\}" containedin=hbsComponent,hbsString keepend
syntax region hbsMustacheBlock matchgroup=hbsHandles start="\v\{\{[#/]" skip="\v\\\}\}" end="\v\}\}" keepend
" modern hbs supports {{else <block>}} where <block> starts a new block
syntax region hbsElseBlock matchgroup=hbsHandles start="\v\{\{else\ "rs=e-5 skip="\v\\\}\}" end="\v\}\}" keepend
syntax region hbsPencil matchgroup=hbsOperator start="\v\(" end="\v\)" contained containedin=hbsMustache,hbsMustacheBlock,hbsElseBlock,hbsPencil
" identifier is any word inside a mustache or a pencil that is not followed by a = sign (see hbsArg below)
syntax match hbsIdentifier "\v(\(|\{\{[#/]?)@<!<(\w+)|(\@\w+)>" contained containedin=hbsMustache,hbsMustacheBlock,hbsPencil,hbsElseBlock,hbsStatement
" unescaped are special forms of mustaches that don't have other stuff except for an identifier in it
syntax region hbsUnescaped matchgroup=hbsUnescapedHandles start="\v\{\{\{" skip="\v\\\}\}\}" end="\v\}\}\}" keepend
syntax match hbsUnescapedIdentifier "\v(\{\{\{)@<=<\S+>(\}\}\})" contained containedin=hbsUnescaped
syntax match hbsMustacheName "\v(\{\{[#/]?)@<=<\S+>" contained containedin=hbsMustache,hbsMustacheBlock,hbsPencil
syntax match hbsPencilName "\v(\()@<=<\S+>" contained containedin=hbsMustache,hbsMustacheBlock,hbsPencil
syntax match hbsBuiltInHelper "\v\(@<=<(query-params|mut|fn|array|hash|get|action|unbound|concat)>" contained containedin=hbsPencil
syntax match hbsBuiltInHelper "\v(\{\{)@<=<(textarea|mut|fn|array|hash|input|get|action|on|input|unbound)>" contained containedin=hbsMustache
syntax match hbsBuiltInHelper "\v(\{\{[#/]?)@<=<(component|with|link\-to)>" contained containedin=hbsMustacheBlock,hbsElseBlock
syntax match hbsBuiltInHelperInElse "\v(\{\{else\ )@<=<(component|link\-to)>" contained containedin=hbsMustacheBlock,hbsElseBlock
syntax match hbsControlFlow "\v(\{\{)@<=<else>( ?)@=" contained containedin=hbsElseBlock
syntax match hbsControlFlow "\v\(@<=<(if|unless)>" contained containedin=hbsPencil
syntax match hbsControlFlow "\v(\{\{)@<=<(debugger|unless|yield|outlet|else)>" contained containedin=hbsMustache
syntax match hbsControlFlow "\v(\{\{[#/]?)@<=<(with|let|if|each(\-in)?|unless)>" contained containedin=hbsMustacheBlock,hbsElseBlock
syntax match hbsKeyword "\v\s+as\s+" contained containedin=hbsComponent,hbsMustacheBlock,hbsElseBlock
syntax region hbsStatement matchgroup=hbsDelimiter start="\v\|" end="\v\|" contained containedin=hbsComponent,hbsMustacheBlock,hbsElseBlock
syntax region hbsString matchgroup=hbsString start=/\v\"/ skip=/\v\\\"/ end=/\v\"/ extend contained containedin=hbsComponent,hbsMustache,hbsMustacheBlock,hbsPencil,hbsElseBlock
syntax region hbsString matchgroup=hbsString start=/\v\'/ skip=/\v\\\'/ end=/\v\'/ extend contained containedin=hbsComponent,hbsMustache,hbsMustacheBlock,hbsPencil,hbsElseBlock
syntax match hbsNumber "\v<\d+>" contained containedin=hbsComponent,hbsMustache,hbsMustacheBlock,hbsPencil,hbsElseBlock
syntax match hbsBool "\v<(true|false)>" contained containedin=hbsComponent,hbsMustache,hbsMustacheBlock,hbsPencil,hbsElseBlock
syntax match hbsArg "\v(\@\S+|\S+)\=@=" contained containedin=hbsComponent,hbsMustache,hbsMustacheBlock,hbsPencil,hbsElseBlock
syntax match hbsOperator "\v(\S+)@<=\=" contained containedin=hbsComponent,hbsMustache,hbsMustacheBlock,hbsPencil,hbsElseBlock
syntax region hbsComment start="\v\{\{\!" end="\v\}\}" keepend
syntax region hbsComment start="\v\{\{\!\-\-" end="\v\-\-\}\}" keepend
" *Comment any comment
" *Constant any constant
" String a string constant: "this is a string"
" Character a character constant: 'c', '\n'
" Number a number constant: 234, 0xff
" Boolean a boolean constant: TRUE, false
" Float a floating point constant: 2.3e10
" *Identifier any variable name
" Function function name (also: methods for classes)
" *Statement any statement
" Conditional if, then, else, endif, switch, etc.
" Repeat for, do, while, etc.
" Label case, default, etc.
" Operator "sizeof", "+", "*", etc.
" Keyword any other keyword
" Exception try, catch, throw
" *PreProc generic Preprocessor
" Include preprocessor #include
" Define preprocessor #define
" Macro same as Define
" PreCondit preprocessor #if, #else, #endif, etc.
" *Type int, long, char, etc.
" StorageClass static, register, volatile, etc.
" Structure struct, union, enum, etc.
" Typedef A typedef
" *Special any special symbol
" SpecialChar special character in a constant
" Tag you can use CTRL-] on this
" Delimiter character that needs attention
" SpecialComment special things inside a comment
" Debug debugging statements
" *Underlined text that stands out, HTML links
" *Ignore left blank, hidden |hl-Ignore|
" *Error any erroneous construct
" *Todo anything that needs extra attention; mostly the
" keywords TODO FIXME and XXX
highlight link hbsBuiltInHelper Function
highlight link hbsBuiltInHelperInElse Function
highlight link hbsControlFlow Function
highlight link hbsKeyword Keyword
highlight link hbsOperator Operator
highlight link hbsDelimiter Delimiter
highlight link hbsMustacheName Statement
highlight link hbsPencilName Statement
highlight link hbsIdentifier Identifier
highlight link hbsString String
highlight link hbsNumber Special
highlight link hbsBool Boolean
highlight link hbsHandles Define
highlight link hbsComponentStatement Define
highlight link hbsUnescapedHandles Identifier
highlight link hbsUnescapedIdentifier Identifier
highlight link hbsComment Comment
highlight link hbsArg Type
let b:current_syntax = "handlebars"

View File

@@ -6,6 +6,8 @@
" Leonardo Fontenelle (Spell checking)
" Nam SungHyun <namsh@kldp.org> (Original maintainer)
" Eisuke Kawashima (add format-flags: #16132)
" Last Change:
" 2026 Mar 02 by Vim Project, various syntax improvements #19548
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -17,21 +19,21 @@ set cpo&vim
syn sync minlines=10
" Identifiers
syn match poStatementMsgCTxt "^msgctxt"
syn match poStatementMsgidplural "^msgid_plural" contained
syn match poStatementMsgCTxt "^msgctxt\>"
syn match poStatementMsgidplural "^msgid_plural\>" contained
syn match poPluralCaseN "[0-9]" contained
syn match poStatementMsgstr "^msgstr\(\[[0-9]\]\)" contains=poPluralCaseN
syn match poStatementMsgstr "^msgstr\%(\[[0-9]\]\)" contains=poPluralCaseN
" Simple HTML and XML highlighting
syn match poHtml "<\_[^<>]\+>" contains=poHtmlTranslatables,poLineBreak
syn match poHtmlNot +"<[^<]\+>"+ms=s+1,me=e-1
syn region poHtmlTranslatables start=+\(abbr\|alt\|content\|summary\|standby\|title\)=\\"+ms=e-1 end=+\\"+ contained contains=@Spell
syn region poHtmlTranslatables start=+\<\%(abbr\|alt\|content\|summary\|standby\|title\)=\\"+ms=e-1 end=+\\"+ contained contains=@Spell
syn match poLineBreak +"\n"+ contained
" Translation blocks
syn region poMsgCTxt matchgroup=poStatementMsgCTxt start=+^msgctxt "+rs=e-1 matchgroup=poStringCTxt end=+^msgid "+me=s-1 contains=poStringCTxt
syn region poMsgID matchgroup=poStatementMsgid start=+^msgid "+rs=e-1 matchgroup=poStringID end=+^msgstr\(\|\[[\]0\[]\]\) "+me=s-1 contains=poStringID,poStatementMsgidplural,poStatementMsgid
syn region poMsgSTR matchgroup=poStatementMsgstr start=+^msgstr\(\|\[[\]0\[]\]\) "+rs=e-1 matchgroup=poStringSTR end=+\n\n+me=s-1 contains=poStringSTR,poStatementMsgstr
syn region poMsgID matchgroup=poStatementMsgid start=+^msgid "+rs=e-1 matchgroup=poStringID end=+^msgstr\%(\>\|\[[\]0\[]\]\) "+me=s-1 contains=poStringID,poStatementMsgidplural,poStatementMsgid
syn region poMsgSTR matchgroup=poStatementMsgstr start=+^msgstr\%(\>\|\[[\]0\[]\]\) "+rs=e-1 matchgroup=poStringSTR end=+\n\n+me=s-1 contains=poStringSTR,poStatementMsgstr
syn region poStringCTxt start=+"+ skip=+\\\\\|\\"+ end=+"+
syn region poStringID start=+"+ skip=+\\\\\|\\"+ end=+"+ contained
\ contains=poSpecial,poFormat,poCommentKDE,poPluralKDE,poKDEdesktopFile,poHtml,poAcceleratorId,poHtmlNot,poVariable
@@ -39,9 +41,9 @@ syn region poStringSTR start=+"+ skip=+\\\\\|\\"+ end=+"+ contained
\ contains=@Spell,poSpecial,poFormat,poHeaderItem,poCommentKDEError,poHeaderUndefined,poPluralKDEError,poMsguniqError,poKDEdesktopFile,poHtml,poAcceleratorStr,poHtmlNot,poVariable
" Header and Copyright
syn match poHeaderItem "\(Project-Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|Language\|MIME-Version\|Content-Type\|Content-Transfer-Encoding\|Plural-Forms\|X-Generator\): " contained
syn match poHeaderUndefined "\(PACKAGE VERSION\|YEAR-MO-DA HO:MI+ZONE\|FULL NAME <EMAIL@ADDRESS>\|LANGUAGE <LL@li.org>\|CHARSET\|ENCODING\|INTEGER\|EXPRESSION\)" contained
syn match poCopyrightUnset "SOME DESCRIPTIVE TITLE\|FIRST AUTHOR <EMAIL@ADDRESS>, YEAR\|Copyright (C) YEAR Free Software Foundation, Inc\|YEAR THE PACKAGE\'S COPYRIGHT HOLDER\|PACKAGE" contained
syn match poHeaderItem "\<\%(Project-Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|Language\|MIME-Version\|Content-Type\|Content-Transfer-Encoding\|Plural-Forms\|X-Generator\): " contained
syn match poHeaderUndefined "\<\%(PACKAGE VERSION\>\|YEAR-MO-DA HO:MI+ZONE\>\|FULL NAME <EMAIL@ADDRESS>\|LANGUAGE <LL@li.org>\|CHARSET\>\|ENCODING\>\|INTEGER\>\|EXPRESSION\>\)" contained
syn match poCopyrightUnset "\<\%(SOME DESCRIPTIVE TITLE\|FIRST AUTHOR <EMAIL@ADDRESS>, YEAR\|Copyright (C) YEAR Free Software Foundation, Inc\|YEAR THE PACKAGE\'S COPYRIGHT HOLDER\|PACKAGE\)\>" contained
" Translation comment block including: translator comment, automatic comments, flags and locations
syn match poComment "^#.*$"
@@ -52,9 +54,11 @@ syn match poFlagFormat /\<\%(no-\)\?boost-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?c++-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?c-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?csharp-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?d-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?elisp-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?gcc-internal-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?gfc-internal-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?go-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?java-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?java-printf-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?javascript-format\>/ contained
@@ -62,6 +66,7 @@ syn match poFlagFormat /\<\%(no-\)\?kde-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?librep-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?lisp-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?lua-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?modula2-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?objc-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?object-pascal-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?perl-brace-format\>/ contained
@@ -72,39 +77,42 @@ syn match poFlagFormat /\<\%(no-\)\?python-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?qt-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?qt-plural-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?ruby-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?rust-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?scheme-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?sh-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?sh-printf-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?smalltalk-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?tcl-format\>/ contained
syn match poFlagFormat /\<\%(no-\)\?ycp-format\>/ contained
syn match poFlagFormat /\<no-wrap\>/ contained
syn match poCommentTranslator "^# .*$" contains=poCopyrightUnset
syn match poCommentAutomatic "^#\..*$"
syn match poCommentSources "^#:.*$"
syn match poCommentFlags "^#,.*$" contains=poFlagFuzzy,poFlagFormat
syn match poCommentFlags "^#[,=].*$" contains=poFlagFuzzy,poFlagFormat
syn match poCommentPrevious "^#|.*$"
" Translations (also includes header fields as they appear in a translation msgstr)
syn region poCommentKDE start=+"_: +ms=s+1 end="\\n" end="\"\n^msgstr"me=s-1 contained
syn region poCommentKDEError start=+"\(\|\s\+\)_:+ms=s+1 end="\\n" end=+"\n\n+me=s-1 contained
syn region poCommentKDEError start=+"\%(\|\s\+\)_:+ms=s+1 end="\\n" end=+"\n\n+me=s-1 contained
syn match poPluralKDE +"_n: +ms=s+1 contained
syn region poPluralKDEError start=+"\(\|\s\+\)_n:+ms=s+1 end="\"\n\n"me=s-1 contained
syn match poSpecial contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
syn match poFormat "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
syn region poPluralKDEError start=+"\%(\|\s\+\)_n:+ms=s+1 end="\"\n\n"me=s-1 contained
syn match poSpecial contained "\\\%(x\x\+\|\o\{1,3}\|.\|$\)"
syn match poFormat "%\%(\d\+\$\)\=[-+' #0*]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlL]\|ll\)\=\%([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
syn match poFormat "%%" contained
" msguniq and msgcat conflicts
syn region poMsguniqError matchgroup=poMsguniqErrorMarkers start="#-#-#-#-#" end='#\("\n"\|\)-\("\n"\|\)#\("\n"\|\)-\("\n"\|\)#\("\n"\|\)-\("\n"\|\)#\("\n"\|\)-\("\n"\|\)#\("\n"\|\)\\n' contained
syn region poMsguniqError matchgroup=poMsguniqErrorMarkers start="#-#-#-#-#" end='#\%("\n"\|\)-\%("\n"\|\)#\%("\n"\|\)-\%("\n"\|\)#\%("\n"\|\)-\%("\n"\|\)#\%("\n"\|\)-\%("\n"\|\)#\%("\n"\|\)\\n' contained
" Obsolete messages
syn match poObsolete "^#\~.*$"
" KDE Name= handling
syn match poKDEdesktopFile "\"\(Name\|Comment\|GenericName\|Description\|Keywords\|About\)="ms=s+1,me=e-1
syn match poKDEdesktopFile "\"\%(Name\|Comment\|GenericName\|Description\|Keywords\|About\)="ms=s+1,me=e-1
" Accelerator keys - this messes up if the preceding or following char is a multibyte unicode char
syn match poAcceleratorId contained "[^&_~][&_~]\(\a\|\d\)[^:]"ms=s+1,me=e-1
syn match poAcceleratorStr contained "[^&_~][&_~]\(\a\|\d\)[^:]"ms=s+1,me=e-1 contains=@Spell
syn match poAcceleratorId contained "[^&_~][&_~]\%(\a\|\d\)[^:]"ms=s+1,me=e-1
syn match poAcceleratorStr contained "[^&_~][&_~]\%(\a\|\d\)[^:]"ms=s+1,me=e-1 contains=@Spell
" Variables simple
syn match poVariable contained "%\d"

View File

@@ -5,6 +5,7 @@
" 2025 Sep 25 by Vim Project: fix wrong type highlighting #18394
" 2025 Dec 03 by Vim Project: highlight t-strings #18679
" 2026 Jan 26 by Vim Project: highlight constants #18922
" 2026 Mar 11 by Vim Project: fix number performance #19630
" Credits: Neil Schemenauer <nas@python.ca>
" Dmitry Vasiliev
" Rob B
@@ -270,16 +271,21 @@ syn match pythonEscape "\\$"
" https://docs.python.org/reference/lexical_analysis.html#numeric-literals
if !exists("python_no_number_highlight")
" numbers (including complex)
syn match pythonNumber "\<0[oO]\%(_\=\o\)\+\>"
syn match pythonNumber "\<0[xX]\%(_\=\x\)\+\>"
syn match pythonNumber "\<0[bB]\%(_\=[01]\)\+\>"
syn match pythonNumber "\<\%([1-9]\%(_\=\d\)*\|0\+\%(_\=0\)*\)\>"
syn match pythonNumber "\<\d\%(_\=\d\)*[jJ]\>"
syn match pythonNumber "\<\d\%(_\=\d\)*[eE][+-]\=\d\%(_\=\d\)*[jJ]\=\>"
syn match pythonNumber "\<0[oO]_\=\o\+\%(_\o\+\)*\>"
syn match pythonNumber "\<0[xX]_\=\x\+\%(_\x\+\)*\>"
syn match pythonNumber "\<0[bB]_\=[01]\+\%(_[01]\+\)*\>"
syn match pythonNumber "\<\%([1-9]\d*\%(_\d\+\)*\|0\+\%(_0\+\)*\)\>"
syn match pythonNumber "\<\d\+\%(_\d\+\)*[jJ]\>"
syn match pythonNumber "\<\d\+\%(_\d\+\)*[eE][+-]\=\d\+\%(_\d\+\)*[jJ]\=\>"
" \d\.
syn match pythonNumber
\ "\<\d\%(_\=\d\)*\.\%([eE][+-]\=\d\%(_\=\d\)*\)\=[jJ]\=\%(\W\|$\)\@="
\ "\<\d\+\%(_\d\+\)*\.\%([eE][+-]\=\d\+\%(_\d\+\)*\)\=[jJ]\=\%(\W\|$\)\@="
" \d\.\d
syn match pythonNumber
\ "\%(^\|\W\)\@1<=\%(\d\%(_\=\d\)*\)\=\.\d\%(_\=\d\)*\%([eE][+-]\=\d\%(_\=\d\)*\)\=[jJ]\=\>"
\ "\<\d\+\%(_\d\+\)*\.\d\+\%(_\d\+\)*\%([eE][+-]\=\d\+\%(_\d\+\)*\)\=[jJ]\=\>"
" \.\d
syn match pythonNumber
\ "\%(^\|\W\)\@1<=\.\d\+\%(_\d\+\)*\%([eE][+-]\=\d\+\%(_\d\+\)*\)\=[jJ]\=\>"
endif
" Group the built-ins in the order in the 'Python Library Reference' for

View File

@@ -3,7 +3,7 @@
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Haakon Riiser <hakonrk@fys.uio.no>
" Contributor: Jack Haden-Enneking
" Last Change: 2022 Oct 15
" Last Change: 2026 Mar 06
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -16,10 +16,31 @@ syn match sedError "\S"
syn match sedWhitespace "\s\+" contained
syn match sedSemicolon ";"
syn match sedAddress "[[:digit:]$]"
" Addresses {{{1
syn match sedAddress "\d\+\|\$"
" GNU extensions
syn match sedAddress "\d\+\~\d\+"
syn region sedAddress matchgroup=Special start="[{,;]\s*/\%(\\/\)\="lc=1 skip="[^\\]\%(\\\\\)*\\/" end="/I\=" contains=sedTab,sedRegexpMeta
syn region sedAddress matchgroup=Special start="^\s*/\%(\\/\)\=" skip="[^\\]\%(\\\\\)*\\/" end="/I\=" contains=sedTab,sedRegexpMeta
syn match sedAddress "\~\d\+"
syn match sedAddress "[-+]\d\+"
syn region sedAddress
\ matchgroup=Delimiter
\ start="[{,;]\s*/\%(\\/\)\="lc=1
\ skip="[^\\]\%(\\\\\)*\\/"
"\ GNU extensions
\ end="/\%(IM\|MI\|[IM]\)\="
\ contains=sedTab,sedRegexpMeta
syn region sedAddress
\ matchgroup=Delimiter
\ start="^\s*/\%(\\/\)\="
"\ GNU extensions
\ skip="[^\\]\%(\\\\\)*\\/"
\ end="/\%(IM\|MI\|[IM]\)\="
\ contains=sedTab,sedRegexpMeta
" }}}
syn match sedFunction "[dDgGhHlnNpPqQx=]\s*\%($\|;\)" contains=sedSemicolon,sedWhitespace
if exists("g:sed_dialect") && g:sed_dialect ==? "bsd"
syn match sedComment "^\s*#.*$" contains=sedTodo
@@ -50,7 +71,7 @@ syn region sedFlagWrite matchgroup=sedFlag start="w" matchgroup=sedSemicolon
syn match sedFlag "[[:digit:]gpI]*w\=" contains=sedFlagWrite contained
syn match sedRegexpMeta "[.*^$]" contained
syn match sedRegexpMeta "\\." contains=sedTab contained
syn match sedRegexpMeta "\[.\{-}\]" contains=sedTab contained
syn match sedRegexpMeta "\[\^\=\]\=\%(\[:.\{-}:\]\|\[\..\{-}\.\]\|\[=.\{-}=\]\|[^]]\)*\]" contains=sedTab contained
syn match sedRegexpMeta "\\{\d\*,\d*\\}" contained
syn match sedRegexpMeta "\\%(.\{-}\\)" contains=sedTab contained
syn match sedReplaceMeta "&\|\\\%($\|.\)" contains=sedTab contained
@@ -68,15 +89,44 @@ let s:metacharacters = '$*.\^[~'
while s:i <= s:last
let s:delimiter = escape(nr2char(s:i), s:metacharacters)
if s:i != s:at
exe 'syn region sedAddress matchgroup=Special start=@\\'.s:delimiter.'\%(\\'.s:delimiter.'\)\=@ skip=@[^\\]\%(\\\\\)*\\'.s:delimiter.'@ end=@'.s:delimiter.'[IM]\=@ contains=sedTab'
exe 'syn region sedRegexp'.s:i 'matchgroup=Special start=@'.s:delimiter.'\%(\\\\\|\\'.s:delimiter.'\)*@ skip=@[^\\'.s:delimiter.']\%(\\\\\)*\\'.s:delimiter.'@ end=@'.s:delimiter.'@me=e-1 contains=sedTab,sedRegexpMeta keepend contained nextgroup=sedReplacement'.s:i
exe 'syn region sedReplacement'.s:i 'matchgroup=Special start=@'.s:delimiter.'\%(\\\\\|\\'.s:delimiter.'\)*@ skip=@[^\\'.s:delimiter.']\%(\\\\\)*\\'.s:delimiter.'@ end=@'.s:delimiter.'@ contains=sedTab,sedReplaceMeta keepend contained nextgroup=@sedFlags'
exe 'syn region sedAddress'
\ 'matchgroup=Delimiter'
\ 'start=@\\' .. s:delimiter .. '\%(\\' .. s:delimiter .. '\)\=@'
\ 'skip=@[^\\]\%(\\\\\)*\\' .. s:delimiter .. '\|\[.\{-}' .. s:delimiter .. '@'
\ 'end=@' .. s:delimiter .. '\%(IM\|MI\|[IM]\)\=@'
\ 'contains=sedTab,sedRegexpMeta'
exe 'syn region sedRegexp' .. s:i 'contained'
\ 'matchgroup=Delimiter'
\ 'start=@' .. s:delimiter .. '\%(\\\\\|\\' .. s:delimiter .. '\)*@'
\ 'end=@' .. s:delimiter .. '@me=e-1'
\ 'nextgroup=sedReplacement' .. s:i
\ 'contains=sedTab,sedRegexpMeta'
exe 'syn region sedReplacement' .. s:i 'contained'
\ 'matchgroup=Delimiter'
\ 'start=@' .. s:delimiter .. '\%(\\\\\|\\' .. s:delimiter .. '\)*@'
\ 'end=@' .. s:delimiter .. '@'
\ 'nextgroup=@sedFlags'
\ 'contains=sedTab,sedReplaceMeta'
endif
let s:i = s:i + 1
endwhile
syn region sedAddress matchgroup=Special start=+\\@\%(\\@\)\=+ skip=+[^\\]\%(\\\\\)*\\@+ end=+@I\=+ contains=sedTab,sedRegexpMeta
syn region sedRegexp64 matchgroup=Special start=+@\%(\\\\\|\\@\)*+ skip=+[^\\@]\%(\\\\\)*\\@+ end=+@+me=e-1 contains=sedTab,sedRegexpMeta keepend contained nextgroup=sedReplacement64
syn region sedReplacement64 matchgroup=Special start=+@\%(\\\\\|\\@\)*+ skip=+[^\\@]\%(\\\\\)*\\@+ end=+@+ contains=sedTab,sedReplaceMeta keepend contained nextgroup=sedFlag
syn region sedAddress
\ matchgroup=Delimiter
\ start=+\\\z(@\)+
\ end=+\z1\%(IM\|MI\|[IM]\)\=+
\ contains=sedTab,sedRegexpMeta
syn region sedRegexp64 contained
\ matchgroup=Delimiter
\ start=+@\%(\\\\\|\\@\)*+
\ end=+@+me=e-1
\ nextgroup=sedReplacement64
\ contains=sedTab,sedRegexpMeta
syn region sedReplacement64 contained
\ matchgroup=Delimiter
\ start=+@\%(\\\\\|\\@\)*+
\ end=+@+
\ nextgroup=sedFlag
\ contains=sedTab,sedReplaceMeta
" Since the syntax for the substitution command is very similar to the
" syntax for the transform command, I use the same pattern matching
@@ -110,8 +160,8 @@ if s:highlight_tabs
endif
let s:i = char2nr(" ") " ASCII: 32, EBCDIC: 64
while s:i <= s:last
exe "hi def link sedRegexp".s:i "Macro"
exe "hi def link sedReplacement".s:i "NONE"
exe "hi def link sedRegexp" .. s:i "Macro"
exe "hi def link sedReplacement" .. s:i "NONE"
let s:i = s:i + 1
endwhile
@@ -120,4 +170,4 @@ unlet s:highlight_tabs
let b:current_syntax = "sed"
" vim: nowrap sw=2 sts=2 ts=8 noet:
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:

View File

@@ -6,13 +6,8 @@
" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
" Karsten Hopp <karsten@redhat.com>
" Dean, Adam Kenneth <adam.ken.dean@hpe.com>
" Last Change: 2022 Nov 10
" Last Update: 2026 Feb 24
" Added RemoteCommand from pull request #4809
" Included additional keywords from Martin.
" Included PR #5753
" Update missing keywords #19488
" SSH Version: 8.5p1
" Last Change: 2026 Mar 11
" SSH Version: 10.1p1
"
" Setup
@@ -110,7 +105,8 @@ syn keyword sshconfigAddressFamily inet inet6
syn match sshconfigIPQoS "\<af[1-4][1-3]\>"
syn match sshconfigIPQoS "\<cs[0-7]\>"
syn keyword sshconfigIPQoS ef le lowdelay throughput reliability
syn keyword sshconfigIPQoS ef le
syn keyword sshconfigIPQoSDeprecated lowdelay throughput reliability
syn keyword sshconfigKbdInteractive bsdauth pam skey
syn keyword sshconfigKexAlgo diffie-hellman-group1-sha1
@@ -288,6 +284,7 @@ hi def link sshconfigLogLevel sshconfigEnum
hi def link sshconfigSysLogFacility sshconfigEnum
hi def link sshconfigAddressFamily sshconfigEnum
hi def link sshconfigIPQoS sshconfigEnum
hi def link sshconfigIPQoSDeprecated sshconfigDeprecated
hi def link sshconfigKbdInteractive sshconfigEnum
hi def link sshconfigKexAlgo sshconfigEnum
hi def link sshconfigTunnel sshconfigEnum

View File

@@ -8,8 +8,8 @@
" Contributor: Karsten Hopp <karsten@redhat.com>
" Contributor: Fionn Fitzmaurice (github.com/fionn)
" Originally: 2009-07-09
" Last Change: 2026-02-11
" SSH Version: 10.2p1
" Last Change: 2026-03-11
" SSH Version: 10.1p1
"
" Setup
@@ -112,7 +112,8 @@ syn keyword sshdconfigCompression delayed
syn match sshdconfigIPQoS "\<af[1-4][1-3]\>"
syn match sshdconfigIPQoS "\<cs[0-7]\>"
syn keyword sshdconfigIPQoS ef le lowdelay throughput reliability
syn keyword sshdconfigIPQoS ef le
syn keyword sshdconfigIPQoSDeprecated lowdelay throughput reliability
syn keyword sshdconfigKexAlgo diffie-hellman-group1-sha1
syn keyword sshdconfigKexAlgo diffie-hellman-group14-sha1
@@ -293,6 +294,7 @@ hi def link sshdconfigSysLogFacility sshdconfigEnum
hi def link sshdconfigVar sshdconfigEnum
hi def link sshdconfigCompression sshdconfigEnum
hi def link sshdconfigIPQoS sshdconfigEnum
hi def link sshdconfigIPQoSDeprecated sshdconfigDeprecated
hi def link sshdconfigKexAlgo sshdconfigEnum
hi def link sshdconfigTunnel sshdconfigEnum
hi def link sshdconfigSubsystem sshdconfigEnum
@@ -301,6 +303,7 @@ hi def link sshdconfigEnum Function
hi def link sshdconfigSpecial Special
hi def link sshdconfigKeyword Keyword
hi def link sshdconfigMatch Type
hi def link sshdconfigDeprecated Error
let b:current_syntax = "sshdconfig"

View File

@@ -2,11 +2,7 @@
" Language: sudoers(5) configuration files
" Maintainer: Eisuke Kawashima ( e.kawaschima+vim AT gmail.com )
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2024 Sep 02
" Recent Changes: Support for #include and #includedir.
" 2018 Aug 28 by Vim project Added many new options (Samuel D. Leslie)
" 2024 Sep 09 by Vim project Update allowed Tag_Spec Runas_Spec syntax items
" 2026 Feb 13 by Vim project update regex for matching usernames #19396
" Latest Change: 2026 Mar 11
if exists("b:current_syntax")
finish
@@ -24,60 +20,77 @@ syn match sudoersUserSpec '^' nextgroup=@sudoersUserInSpec skipwhite
syn match sudoersSpecEquals contained '=' nextgroup=@sudoersCmndSpecList skipwhite
syn cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersTagSpec,@sudoersCmndInSpec
syn cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersOptionSpec,sudoersTagSpec,@sudoersCmndInSpec
syn keyword sudoersTodo contained TODO FIXME XXX NOTE
syn region sudoersComment display oneline start='#' end='$' contains=sudoersTodo
syn region sudoersInclude display oneline start='[#@]\%(include\|includedir\)\>' end='$'
syn region sudoersInclude display oneline start='[#@]\%(include\|includedir\)\s\+\S\+' end='$'
syn keyword sudoersAlias User_Alias Runas_Alias nextgroup=sudoersUserAlias skipwhite skipnl
syn keyword sudoersAlias Host_Alias nextgroup=sudoersHostAlias skipwhite skipnl
syn keyword sudoersAlias Cmnd_Alias nextgroup=sudoersCmndAlias skipwhite skipnl
syn match sudoersUserAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersUserAliasEquals skipwhite skipnl
syn match sudoersUserNameInList contained '\<\l[-a-z0-9_]*\>' nextgroup=@sudoersUserList skipwhite skipnl
syn match sudoersUserNameInList contained '\<\l[-a-z0-9_]*\>' nextgroup=@sudoersUserList skipwhite skipnl
syn match sudoersUIDInList contained '#\d\+\>' nextgroup=@sudoersUserList skipwhite skipnl
syn match sudoersGroupInList contained '%\l[-a-z0-9_]*\>' nextgroup=@sudoersUserList skipwhite skipnl
syn match sudoersGIDInList contained '%#\d\+\>' nextgroup=@sudoersUserList skipwhite skipnl
syn match sudoersUserNetgroupInList contained '+\l[-a-z0-9_]*\>' nextgroup=@sudoersUserList skipwhite skipnl
syn match sudoersUserAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserList skipwhite skipnl
syn keyword sudoersUserAllInList contained ALL nextgroup=@sudoersUserList skipwhite skipnl
syn match sudoersUserName contained '\<\l[-a-z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersUID contained '#\d\+\>' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersGroup contained '%\l[-a-z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersUserNetgroup contained '+\l[-a-z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersUserAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersUserName contained '\<\l[-a-z0-9_]*\>' nextgroup=sudoersUserComma,@sudoersParameter skipwhite skipnl
syn match sudoersUID contained '#\d\+\>' nextgroup=sudoersUserComma,@sudoersParameter skipwhite skipnl
syn match sudoersGroup contained '%\l[-a-z0-9_]*\>' nextgroup=sudoersUserComma,@sudoersParameter skipwhite skipnl
syn match sudoersGID contained '%#\d\+\>' nextgroup=sudoersUserComma,@sudoersParameter skipwhite skipnl
syn match sudoersUserNetgroup contained '+\l[-a-z0-9_]*\>' nextgroup=sudoersUserComma,@sudoersParameter skipwhite skipnl
syn match sudoersUserAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersUserComma,@sudoersParameter skipwhite skipnl
syn keyword sudoersUserAll contained ALL nextgroup=sudoersUserComma,@sudoersParameter skipwhite skipnl
syn match sudoersUserComma contained ',' nextgroup=sudoersUserNegation,sudoersUserName,sudoersUID,sudoersGroup,sudoersGID,sudoersUserNetgroup,sudoersUserAliasRef,sudoersUserAll skipwhite skipnl
syn match sudoersUserNameInSpec contained '\<\l[-a-z0-9_]*\>' nextgroup=@sudoersUserSpec skipwhite skipnl
syn match sudoersUIDInSpec contained '#\d\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl
syn match sudoersUserNameInSpec contained '\<\l[-a-z0-9_]*\>' nextgroup=@sudoersUserSpec skipwhite skipnl
syn region sudoersUIDInSpec display oneline start='#\d\+\>' end='' nextgroup=@sudoersUserSpec skipwhite skipnl
syn match sudoersGroupInSpec contained '%\l[-a-z0-9_]*\>' nextgroup=@sudoersUserSpec skipwhite skipnl
syn match sudoersGIDInSpec contained '%#\d\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl
syn match sudoersUserNetgroupInSpec contained '+\l[-a-z0-9_]*\>' nextgroup=@sudoersUserSpec skipwhite skipnl
syn match sudoersUserAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserSpec skipwhite skipnl
syn keyword sudoersUserAllInSpec contained ALL nextgroup=@sudoersUserSpec skipwhite skipnl
syn match sudoersUserNameInRunas contained '\<\l[-a-z0-9_]*\>' nextgroup=@sudoersUserRunas skipwhite skipnl
syn match sudoersUserNameInRunas contained '\<\l[-a-z0-9_]*\>' nextgroup=@sudoersUserRunas skipwhite skipnl
syn match sudoersUIDInRunas contained '#\d\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl
syn match sudoersGroupInRunas contained '%\l[-a-z0-9_]*\>' nextgroup=@sudoersUserRunas skipwhite skipnl
syn match sudoersGIDInRunas contained '%#\d\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl
syn match sudoersUserNetgroupInRunas contained '+\l[-a-z0-9_]*\>' nextgroup=@sudoersUserRunas skipwhite skipnl
syn match sudoersUserAliasInRunas contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserRunas skipwhite skipnl
syn keyword sudoersUserAllInRunas contained ALL nextgroup=@sudoersUserRunas skipwhite skipnl
syn match sudoersHostAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersHostAliasEquals skipwhite skipnl
syn match sudoersHostNameInList contained '\<\l\+\>' nextgroup=@sudoersHostList skipwhite skipnl
syn match sudoersIPAddrInList contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersHostList skipwhite skipnl
syn match sudoersNetworkInList contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersHostList skipwhite skipnl
syn match sudoersHostNameInList contained '\<\l[a-z0-9_-]*\>' nextgroup=@sudoersHostList skipwhite skipnl
syn match sudoersIPAddrInList contained '\<\%(\d\{1,3}\.\)\{3}\d\{1,3}\>' nextgroup=@sudoersHostList skipwhite skipnl
syn match sudoersNetworkInList contained '\<\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=\>' nextgroup=@sudoersHostList skipwhite skipnl
syn match sudoersHostNetgroupInList contained '+\l\+\>' nextgroup=@sudoersHostList skipwhite skipnl
syn match sudoersHostAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersHostList skipwhite skipnl
syn match sudoersHostName contained '\<\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersIPAddr contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersNetwork contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersHostNetgroup contained '+\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersHostAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl
syn match sudoersHostName contained '\<\l[a-z0-9_-]*\>' nextgroup=sudoersHostComma,@sudoersParameter skipwhite skipnl
syn match sudoersIPAddr contained '\<\%(\d\{1,3}\.\)\{3}\d\{1,3}\>' nextgroup=sudoersHostComma,@sudoersParameter skipwhite skipnl
syn match sudoersNetwork contained '\<\%(\d\{1,3}\.\)\{3}\d\{1,3}/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\>' nextgroup=sudoersHostComma,@sudoersParameter skipwhite skipnl
syn match sudoersHostNetgroup contained '+\l\+\>' nextgroup=sudoersHostComma,@sudoersParameter skipwhite skipnl
syn match sudoersHostAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersHostComma,@sudoersParameter skipwhite skipnl
syn keyword sudoersHostAll contained ALL nextgroup=sudoersHostComma,@sudoersParameter skipwhite skipnl
syn match sudoersHostComma contained ',' nextgroup=sudoersHostNegation,sudoersHostName,sudoersIPAddr,sudoersNetwork,sudoersHostNetgroup,sudoersHostAliasRef,sudoersHostAll skipwhite skipnl
syn match sudoersHostNameInSpec contained '\<\l\+\>' nextgroup=@sudoersHostSpec skipwhite skipnl
syn match sudoersIPAddrInSpec contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersHostSpec skipwhite skipnl
syn match sudoersNetworkInSpec contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersHostSpec skipwhite skipnl
syn match sudoersCmndName contained '/[/A-Za-z0-9._-]\+' nextgroup=sudoersCmndComma,@sudoersParameter skipwhite skipnl
syn keyword sudoersCmndSpecial contained list sudoedit ALL nextgroup=sudoersCmndComma,@sudoersParameter skipwhite skipnl
syn match sudoersCmndAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersCmndComma,@sudoersParameter skipwhite skipnl
syn match sudoersCmndComma contained ',' nextgroup=sudoersCmndNegation,sudoersCmndName,sudoersCmndSpecial,sudoersCmndAliasRef skipwhite skipnl
syn match sudoersHostNameInSpec contained '\<\l[a-z0-9_-]*\>' nextgroup=@sudoersHostSpec skipwhite skipnl
syn match sudoersIPAddrInSpec contained '\<\%(\d\{1,3}\.\)\{3}\d\{1,3}\>' nextgroup=@sudoersHostSpec skipwhite skipnl
syn match sudoersNetworkInSpec contained '\<\%(\d\{1,3}\.\)\{3}\d\{1,3}/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\>' nextgroup=@sudoersHostSpec skipwhite skipnl
syn match sudoersHostNetgroupInSpec contained '+\l\+\>' nextgroup=@sudoersHostSpec skipwhite skipnl
syn match sudoersHostAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersHostSpec skipwhite skipnl
syn keyword sudoersHostAllInSpec contained ALL nextgroup=@sudoersHostSpec skipwhite skipnl
syn match sudoersCmndAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersCmndAliasEquals skipwhite skipnl
syn match sudoersCmndNameInList contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=@sudoersCmndList,sudoersCommandEmpty,sudoersCommandArgs skipwhite
@@ -85,6 +98,13 @@ syn match sudoersCmndAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@s
syn match sudoersCmndNameInSpec contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=@sudoersCmndSpec,sudoersCommandEmptyInSpec,sudoersCommandArgsInSpec skipwhite
syn match sudoersCmndAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersCmndSpec skipwhite skipnl
syn keyword sudoersCmndSpecialInSpec contained list sudoedit ALL nextgroup=@sudoersCmndSpec skipwhite skipnl
syn keyword sudoersCmndDigestInList contained sha224 sha256 sha384 sha512 nextgroup=sudoersCmndDigestColon skipwhite skipnl
syn match sudoersCmndDigestColon contained ':' nextgroup=sudoersDigestHex,sudoersDigestBase64 skipwhite skipnl
syn match sudoersDigestHex contained '\<\x\+\>' nextgroup=sudoersCmndDigestComma,sudoersCmndNegationInList,sudoersCmndNameInList,sudoersCmndAliasInList skipwhite skipnl
syn match sudoersDigestBase64 contained '\<[A-Za-z0-9+/]\+=*' nextgroup=sudoersCmndDigestComma,sudoersCmndNegationInList,sudoersCmndNameInList,sudoersCmndAliasInList skipwhite skipnl
syn match sudoersCmndDigestComma contained ',' nextgroup=sudoersCmndDigestInList skipwhite skipnl
syn match sudoersUserAliasEquals contained '=' nextgroup=@sudoersUserInList skipwhite skipnl
syn match sudoersUserListComma contained ',' nextgroup=@sudoersUserInList skipwhite skipnl
@@ -94,10 +114,10 @@ syn cluster sudoersUserList contains=sudoersUserListComma,sudoersUserLis
syn match sudoersUserSpecComma contained ',' nextgroup=@sudoersUserInSpec skipwhite skipnl
syn cluster sudoersUserSpec contains=sudoersUserSpecComma,@sudoersHostInSpec
syn match sudoersUserRunasBegin contained '(' nextgroup=@sudoersUserInRunas,sudoersUserRunasColon skipwhite skipnl
syn match sudoersUserRunasBegin contained '(' nextgroup=@sudoersUserInRunas,sudoersUserRunasColon,sudoersUserRunasEnd skipwhite skipnl
syn match sudoersUserRunasComma contained ',' nextgroup=@sudoersUserInRunas skipwhite skipnl
syn match sudoersUserRunasColon contained ':' nextgroup=@sudoersUserInRunas skipwhite skipnl
syn match sudoersUserRunasEnd contained ')' nextgroup=sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
syn match sudoersUserRunasColon contained ':' nextgroup=@sudoersUserInRunas,sudoersUserRunasEnd skipwhite skipnl
syn match sudoersUserRunasEnd contained ')' nextgroup=sudoersOptionSpec,sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
syn cluster sudoersUserRunas contains=sudoersUserRunasComma,sudoersUserRunasColon,@sudoersUserInRunas,sudoersUserRunasEnd
@@ -116,20 +136,21 @@ syn match sudoersCmndListColon contained ':' nextgroup=sudoersCmndAlias
syn cluster sudoersCmndList contains=sudoersCmndListComma,sudoersCmndListColon
syn match sudoersCmndSpecComma contained ',' nextgroup=@sudoersCmndSpecList skipwhite skipnl
syn match sudoersCmndSpecColon contained ':' nextgroup=@sudoersUserInSpec skipwhite skipnl
syn match sudoersCmndSpecColon contained ':' nextgroup=@sudoersHostInSpec skipwhite skipnl
syn cluster sudoersCmndSpec contains=sudoersCmndSpecComma,sudoersCmndSpecColon
syn cluster sudoersUserInList contains=sudoersUserNegationInList,sudoersUserNameInList,sudoersUIDInList,sudoersGroupInList,sudoersUserNetgroupInList,sudoersUserAliasInList
syn cluster sudoersUserInList contains=sudoersUserNegationInList,sudoersUserNameInList,sudoersUIDInList,sudoersGroupInList,sudoersGIDInList,sudoersUserNetgroupInList,sudoersUserAliasInList,sudoersUserAllInList
syn cluster sudoersHostInList contains=sudoersHostNegationInList,sudoersHostNameInList,sudoersIPAddrInList,sudoersNetworkInList,sudoersHostNetgroupInList,sudoersHostAliasInList
syn cluster sudoersCmndInList contains=sudoersCmndNegationInList,sudoersCmndNameInList,sudoersCmndAliasInList
syn cluster sudoersCmndInList contains=sudoersCmndDigestInList,sudoersCmndNegationInList,sudoersCmndNameInList,sudoersCmndAliasInList
syn cluster sudoersUser contains=sudoersUserNegation,sudoersUserName,sudoersUID,sudoersGroup,sudoersUserNetgroup,sudoersUserAliasRef
syn cluster sudoersHost contains=sudoersHostNegation,sudoersHostName,sudoersIPAddr,sudoersNetwork,sudoersHostNetgroup,sudoersHostAliasRef
syn cluster sudoersUser contains=sudoersUserNegation,sudoersUserName,sudoersUID,sudoersGroup,sudoersGID,sudoersUserNetgroup,sudoersUserAliasRef,sudoersUserAll
syn cluster sudoersHost contains=sudoersHostNegation,sudoersHostName,sudoersIPAddr,sudoersNetwork,sudoersHostNetgroup,sudoersHostAll,sudoersHostAliasRef
syn cluster sudoersCmnd contains=sudoersCmndNegation,sudoersCmndName,sudoersCmndSpecial,sudoersCmndAliasRef
syn cluster sudoersUserInSpec contains=sudoersUserNegationInSpec,sudoersUserNameInSpec,sudoersUIDInSpec,sudoersGroupInSpec,sudoersUserNetgroupInSpec,sudoersUserAliasInSpec
syn cluster sudoersHostInSpec contains=sudoersHostNegationInSpec,sudoersHostNameInSpec,sudoersIPAddrInSpec,sudoersNetworkInSpec,sudoersHostNetgroupInSpec,sudoersHostAliasInSpec
syn cluster sudoersUserInRunas contains=sudoersUserNegationInRunas,sudoersUserNameInRunas,sudoersUIDInRunas,sudoersGroupInRunas,sudoersUserNetgroupInRunas,sudoersUserAliasInRunas
syn cluster sudoersCmndInSpec contains=sudoersCmndNegationInSpec,sudoersCmndNameInSpec,sudoersCmndAliasInSpec
syn cluster sudoersUserInSpec contains=sudoersUserNegationInSpec,sudoersUserNameInSpec,sudoersUIDInSpec,sudoersGroupInSpec,sudoersGIDInSpec,sudoersUserNetgroupInSpec,sudoersUserAliasInSpec,sudoersUserAllInSpec
syn cluster sudoersHostInSpec contains=sudoersHostNegationInSpec,sudoersHostNameInSpec,sudoersIPAddrInSpec,sudoersNetworkInSpec,sudoersHostNetgroupInSpec,sudoersHostAliasInSpec,sudoersHostAllInSpec
syn cluster sudoersUserInRunas contains=sudoersUserNegationInRunas,sudoersUserNameInRunas,sudoersUIDInRunas,sudoersGroupInRunas,sudoersGIDInRunas,sudoersUserNetgroupInRunas,sudoersUserAliasInRunas,sudoersUserAllInRunas
syn cluster sudoersCmndInSpec contains=sudoersCmndNegationInSpec,sudoersCmndNameInSpec,sudoersCmndAliasInSpec,sudoersCmndSpecialInSpec
syn match sudoersUserNegationInList contained '!\+' nextgroup=@sudoersUserInList skipwhite skipnl
syn match sudoersHostNegationInList contained '!\+' nextgroup=@sudoersHostInList skipwhite skipnl
@@ -137,6 +158,7 @@ syn match sudoersCmndNegationInList contained '!\+' nextgroup=@sudoersCmndInLi
syn match sudoersUserNegation contained '!\+' nextgroup=@sudoersUser skipwhite skipnl
syn match sudoersHostNegation contained '!\+' nextgroup=@sudoersHost skipwhite skipnl
syn match sudoersCmndNegation contained '!\+' nextgroup=@sudoersCmnd skipwhite skipnl
syn match sudoersUserNegationInSpec contained '!\+' nextgroup=@sudoersUserInSpec skipwhite skipnl
syn match sudoersHostNegationInSpec contained '!\+' nextgroup=@sudoersHostInSpec skipwhite skipnl
@@ -149,17 +171,22 @@ syn match sudoersCommandEmpty contained '""' nextgroup=@sudoersCmndList sk
syn match sudoersCommandArgsInSpec contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersCommandArgsInSpec,@sudoersCmndSpec skipwhite
syn match sudoersCommandEmptyInSpec contained '""' nextgroup=@sudoersCmndSpec skipwhite skipnl
syn keyword sudoersDefaultEntry Defaults nextgroup=sudoersDefaultTypeAt,sudoersDefaultTypeColon,sudoersDefaultTypeGreaterThan,@sudoersParameter skipwhite skipnl
syn keyword sudoersDefaultEntry Defaults nextgroup=sudoersDefaultTypeAt,sudoersDefaultTypeColon,sudoersDefaultTypeGreaterThan,sudoersDefaultTypeBang,sudoersDefaultTypeAny
syn match sudoersDefaultTypeAt contained '@' nextgroup=@sudoersHost skipwhite skipnl
syn match sudoersDefaultTypeColon contained ':' nextgroup=@sudoersUser skipwhite skipnl
syn match sudoersDefaultTypeGreaterThan contained '>' nextgroup=@sudoersUser skipwhite skipnl
syn match sudoersDefaultTypeBang contained '!' nextgroup=@sudoersCmnd skipwhite skipnl
syn match sudoersDefaultTypeAny contained '\s' nextgroup=@sudoersParameter skipwhite skipnl
" TODO: could also deal with special characters here
syn match sudoersBooleanParameter contained '!' nextgroup=sudoersBooleanParameter skipwhite skipnl
syn match sudoersParameterNegation contained '!\+' nextgroup=sudoersBooleanParameter,sudoersIntegerOrBooleanParameter,sudoersModeOrBooleanParameter,sudoersFloatOrBooleanParameter,sudoersTimeoutOrBooleanParameter,sudoersStringOrBooleanParameter,sudoersListParameter skipwhite skipnl
syn keyword sudoersBooleanParameter contained skipwhite skipnl
\ nextgroup=sudoersParameterListComma
\ always_query_group_plugin
\ always_set_home
\ authenticate
\ case_insensitive_group
\ case_insensitive_user
\ closefrom_override
\ compress_io
\ env_editor
@@ -174,9 +201,26 @@ syn keyword sudoersBooleanParameter contained skipwhite skipnl
\ ignore_logfile_errors
\ ignore_unknown_defaults
\ insults
\ intercept
\ intercept_allow_setid
\ intercept_authenticate
\ intercept_verify
\ iolog_flush
\ log_allowed
\ log_denied
\ log_exit_status
\ log_host
\ log_input
\ log_output
\ log_passwords
\ log_server_keepalive
\ log_server_verify
\ log_stderr
\ log_stdin
\ log_stdout
\ log_subcmds
\ log_ttyin
\ log_ttyout
\ log_year
\ long_otp_prompt
\ mail_all_cmnds
@@ -188,8 +232,13 @@ syn keyword sudoersBooleanParameter contained skipwhite skipnl
\ match_group_by_gid
\ netgroup_tuple
\ noexec
\ noninteractive_auth
\ pam_acct_mgmt
\ pam_rhost
\ pam_ruser
\ pam_session
\ pam_setcred
\ pam_silent
\ passprompt_override
\ path_info
\ preserve_groups
@@ -197,7 +246,10 @@ syn keyword sudoersBooleanParameter contained skipwhite skipnl
\ requiretty
\ root_sudo
\ rootpw
\ runas_allow_unknown_id
\ runas_check_shell
\ runaspw
\ selinux
\ set_home
\ set_logname
\ set_utmp
@@ -210,6 +262,7 @@ syn keyword sudoersBooleanParameter contained skipwhite skipnl
\ targetpw
\ tty_tickets
\ umask_override
\ use_loginclass
\ use_netgroups
\ use_pty
\ user_command_timeouts
@@ -220,81 +273,161 @@ syn keyword sudoersIntegerParameter contained
\ nextgroup=sudoersIntegerParameterEquals
\ skipwhite skipnl
\ closefrom
\ command_timeout
\ loglinelen
\ maxseq
\ passwd_timeout
\ passwd_tries
\ syslog_maxlen
syn keyword sudoersIntegerOrBooleanParameter contained
\ nextgroup=sudoersIntegerParameterEquals,sudoersParameterListComma
\ skipwhite skipnl
\ loglinelen
syn keyword sudoersFloatOrBooleanParameter contained
\ nextgroup=sudoersFloatParameterEquals,sudoersParameterListComma
\ skipwhite skipnl
\ passwd_timeout
\ timestamp_timeout
syn keyword sudoersModeParameter contained
\ nextgroup=sudoersModeParameterEquals
\ skipwhite skipnl
\ iolog_mode
syn keyword sudoersModeOrBooleanParameter contained
\ nextgroup=sudoersModeParameterEquals,sudoersParameterListComma
\ skipwhite skipnl
\ umask
syn keyword sudoersTimeoutOrBooleanParameter contained
\ nextgroup=sudoersTimeoutParameterEquals,sudoersParameterListComma
\ skipwhite skipnl
\ command_timeout
\ log_server_timeout
syn keyword sudoersStringParameter contained
\ nextgroup=sudoersStringParameterEquals
\ skipwhite skipnl
\ apparmor_profile
\ askpass
\ authfail_message
\ badpass_message
\ cmddenial_message
\ group_plugin
\ intercept_type
\ iolog_file
\ limitprivs
\ log_format
\ mailsub
\ noexec_file
\ pam_askpass_service
\ pam_login_service
\ pam_service
\ passprompt
\ privs
\ role
\ runas_default
\ sudoers_locale
\ timestamp_type
\ timestampowner
\ type
syn keyword sudoersStringOrBooleanParameter contained
\ nextgroup=sudoersStringParameterEquals,sudoersParameterListComma
\ skipwhite skipnl
\ admin_flag
\ editor
\ env_file
\ exempt_group
\ fdexec
\ group_plugin
\ iolog_dir
\ iolog_file
\ iolog_flush
\ iolog_group
\ iolog_mode
\ iolog_user
\ lecture
\ lecture_file
\ lecture_status_dir
\ listpw
\ log_server_cabundle
\ log_server_peer_cert
\ log_server_peer_key
\ logfile
\ mailerflags
\ mailerpath
\ mailfrom
\ mailsub
\ mailto
\ noexec_file
\ pam_login_service
\ pam_service
\ passprompt
\ restricted_env_file
\ role
\ runas_default
\ rlimit_as
\ rlimit_core
\ rlimit_cpu
\ rlimit_data
\ rlimit_fsize
\ rlimit_locks
\ rlimit_memlock
\ rlimit_nofile
\ rlimit_nproc
\ rlimit_rss
\ rlimit_stack
\ runcwd
\ secure_path
\ sudoers_locale
\ syslog
\ syslog_badpri
\ syslog_goodpri
\ timestamp_type
\ timestampdir
\ timestampowner
\ type
\ verifypw
syn keyword sudoersListParameter contained
\ nextgroup=sudoersListParameterEquals
\ nextgroup=sudoersListParameterEquals,sudoersParameterListComma
\ skipwhite skipnl
\ env_check
\ env_delete
\ env_keep
\ log_servers
\ passprompt_regex
syn match sudoersParameterListComma contained ',' nextgroup=@sudoersParameter skipwhite skipnl
syn cluster sudoersParameter contains=sudoersBooleanParameter,sudoersIntegerParameter,sudoersStringParameter,sudoersListParameter
syn cluster sudoersParameter contains=sudoersParameterNegation,sudoersBooleanParameter,sudoersIntegerParameter,sudoersIntegerOrBooleanParameter,sudoersModeParameter,sudoersModeOrBooleanParameter,sudoersFloatOrBooleanParameter,sudoersTimeoutOrBooleanParameter,sudoersStringParameter,sudoersStringOrBooleanParameter,sudoersListParameter
syn match sudoersIntegerParameterEquals contained '[+-]\==' nextgroup=sudoersIntegerValue skipwhite skipnl
syn match sudoersStringParameterEquals contained '[+-]\==' nextgroup=sudoersStringValue skipwhite skipnl
syn match sudoersIntegerParameterEquals contained '=' nextgroup=sudoersIntegerValue skipwhite skipnl
syn match sudoersModeParameterEquals contained '=' nextgroup=sudoersModeValue skipwhite skipnl
syn match sudoersFloatParameterEquals contained '=' nextgroup=sudoersFloatValue skipwhite skipnl
syn match sudoersTimeoutParameterEquals contained '=' nextgroup=sudoersTimeoutValue skipwhite skipnl
syn match sudoersStringParameterEquals contained '=' nextgroup=sudoersStringValue skipwhite skipnl
syn match sudoersListParameterEquals contained '[+-]\==' nextgroup=sudoersListValue skipwhite skipnl
syn match sudoersIntegerValue contained '\d\+' nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersStringValue contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl
syn region sudoersStringValue contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersListValue contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl
syn region sudoersListValue contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersIntegerValue contained '\<\d\+\>' nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersModeValue contained '\<\o\+\>' nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersFloatValue contained '-\?\%(\<\d\+\>\|\<\d\+\%(\.\%(\d\+\>\)\?\)\?\|\.\d\+\>\)' nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersTimeoutValue contained '\<\d\+\>' nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersTimeoutValue contained '\<\%(\d\+[dDhHmMsS]\)\+\>' nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersStringValue contained '\s*\zs[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl
syn region sudoersStringValue contained start=+\s*\zs"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersListValue contained '\s*\zs[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl
syn region sudoersListValue contained start=+\s*\zs"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl
syn match sudoersTagSpec contained '\%(NO\)\=\%(EXEC\|FOLLOW\|LOG_\%(INPUT\|OUTPUT\)\|MAIL\|INTERCEPT\|PASSWD\|SETENV\):' nextgroup=sudoersTagSpec,@sudoersCmndInSpec skipwhite
syn keyword sudoersOptionSpec contained ROLE TYPE nextgroup=sudoersSELinuxSpecEquals skipwhite
syn keyword sudoersOptionSpec contained APPARMOR_PROFILE nextgroup=sudoersAppArmorSpecEquals skipwhite
syn keyword sudoersOptionSpec contained PRIVS LIMITPRIVS nextgroup=sudoersSolarisPrivSpecEquals skipwhite
syn keyword sudoersOptionSpec contained NOTBEFORE NOTAFTER nextgroup=sudoersDateSpecEquals skipwhite
syn keyword sudoersOptionSpec contained TIMEOUT nextgroup=sudoersTimeoutSpecEquals skipwhite
syn keyword sudoersOptionSpec contained CWD CHROOT nextgroup=sudoersDirectorySpecEquals skipwhite
syn match sudoersSELinuxSpecEquals contained '=' nextgroup=sudoersSELinuxSpecParam skipwhite skipnl
syn match sudoersAppArmorSpecEquals contained '=' nextgroup=sudoersAppArmorSpecParam skipwhite skipnl
syn match sudoersSolarisPrivSpecEquals contained '=' nextgroup=sudoersSolarisPrivSpecParam skipwhite skipnl
syn match sudoersDateSpecEquals contained '=' nextgroup=sudoersDateSpecParam skipwhite skipnl
syn match sudoersTimeoutSpecEquals contained '=' nextgroup=sudoersTimeoutSpecParam skipwhite skipnl
syn match sudoersDirectorySpecEquals contained '=' nextgroup=sudoersDirectorySpecParam,sudoersDirectorySpecParamError skipwhite skipnl
syn match sudoersSELinuxSpecParam contained /\<[A-Za-z0-9_]\+\>/ nextgroup=sudoersOptionSpec,sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
syn match sudoersAppArmorSpecParam contained /\S\+/ nextgroup=sudoersOptionSpec,sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
syn match sudoersSolarisPrivSpecParam contained /\S\+/ nextgroup=sudoersOptionSpec,sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
syn match sudoersDateSpecParam contained /\<\d\{10\}\%(\d\d\)\{0,2\}\%(Z\|[+-]\d\{4\}\)\?\>/ nextgroup=sudoersOptionSpec,sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
syn match sudoersTimeoutSpecParam contained /\<\d\+\>\|\<\%(\d\+[dDhHmMsS]\)\+\>/ nextgroup=sudoersOptionSpec,sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
syn match sudoersDirectorySpecParam contained '[/~]\f*\|\*' nextgroup=sudoersOptionSpec,sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
syn match sudoersDirectorySpecParam contained '"\%([/~]\f\{-}\|\*\)"' nextgroup=sudoersOptionSpec,sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
syn keyword sudoersTagSpec contained EXEC NOEXEC FOLLOW NOFOLLOW LOG_INPUT NOLOG_INPUT LOG_OUTPUT NOLOG_OUTPUT MAIL NOMAIL INTERCEPT NOINTERCEPT PASSWD NOPASSWD SETENV NOSETENV nextgroup=sudoersTagSpecColon skipwhite
syn match sudoersTagSpecColon contained /:/ nextgroup=sudoersTagSpec,@sudoersCmndInSpec skipwhite
hi def link sudoersSpecEquals Operator
hi def link sudoersTodo Todo
@@ -304,23 +437,32 @@ hi def link sudoersUserAlias Identifier
hi def link sudoersUserNameInList String
hi def link sudoersUIDInList Number
hi def link sudoersGroupInList PreProc
hi def link sudoersGIDInList Number
hi def link sudoersUserNetgroupInList PreProc
hi def link sudoersUserAliasInList PreProc
hi def link sudoersUserAllInList Special
hi def link sudoersUserName String
hi def link sudoersUID Number
hi def link sudoersGroup PreProc
hi def link sudoersGID Number
hi def link sudoersUserNetgroup PreProc
hi def link sudoersUserAliasRef PreProc
hi def link sudoersUserAll Special
hi def link sudoersUserComma Delimiter
hi def link sudoersUserNameInSpec String
hi def link sudoersUIDInSpec Number
hi def link sudoersGroupInSpec PreProc
hi def link sudoersGIDInSpec Number
hi def link sudoersUserNetgroupInSpec PreProc
hi def link sudoersUserAliasInSpec PreProc
hi def link sudoersUserAllInSpec Special
hi def link sudoersUserNameInRunas String
hi def link sudoersUIDInRunas Number
hi def link sudoersGroupInRunas PreProc
hi def link sudoersGIDInRunas Number
hi def link sudoersUserNetgroupInRunas PreProc
hi def link sudoersUserAliasInRunas PreProc
hi def link sudoersUserAllInRunas Special
hi def link sudoersHostAlias Identifier
hi def link sudoersHostNameInList String
hi def link sudoersIPAddrInList Number
@@ -331,17 +473,30 @@ hi def link sudoersHostName String
hi def link sudoersIPAddr Number
hi def link sudoersNetwork Number
hi def link sudoersHostNetgroup PreProc
hi def link sudoersHostAll Special
hi def link sudoersHostComma Delimiter
hi def link sudoersHostAliasRef PreProc
hi def link sudoersCmndName String
hi def link sudoersCmndSpecial Special
hi def link sudoersCmndAliasRef PreProc
hi def link sudoersCmndComma Delimiter
hi def link sudoersHostNameInSpec String
hi def link sudoersIPAddrInSpec Number
hi def link sudoersNetworkInSpec Number
hi def link sudoersHostNetgroupInSpec PreProc
hi def link sudoersHostAliasInSpec PreProc
hi def link sudoersHostAllInSpec Special
hi def link sudoersCmndAlias Identifier
hi def link sudoersCmndNameInList String
hi def link sudoersCmndAliasInList PreProc
hi def link sudoersCmndNameInSpec String
hi def link sudoersCmndAliasInSpec PreProc
hi def link sudoersCmndSpecialInSpec Special
hi def link sudoersCmndDigestInList Type
hi def link sudoersCmndDigestColon Operator
hi def link sudoersDigestHex Number
hi def link sudoersDigestBase64 Number
hi def link sudoersCmndDigestComma Delimiter
hi def link sudoersUserAliasEquals Operator
hi def link sudoersUserListComma Delimiter
hi def link sudoersUserListColon Delimiter
@@ -364,6 +519,7 @@ hi def link sudoersHostNegationInList Operator
hi def link sudoersCmndNegationInList Operator
hi def link sudoersUserNegation Operator
hi def link sudoersHostNegation Operator
hi def link sudoersCmndNegation Operator
hi def link sudoersUserNegationInSpec Operator
hi def link sudoersHostNegationInSpec Operator
hi def link sudoersUserNegationInRunas Operator
@@ -374,18 +530,46 @@ hi def link sudoersDefaultEntry Keyword
hi def link sudoersDefaultTypeAt Special
hi def link sudoersDefaultTypeColon Special
hi def link sudoersDefaultTypeGreaterThan Special
hi def link sudoersDefaultTypeBang Special
hi def link sudoersParameterNegation Operator
hi def link sudoersBooleanParameter Identifier
hi def link sudoersIntegerParameter Identifier
hi def link sudoersIntegerOrBooleanParameter Identifier
hi def link sudoersModeParameter Identifier
hi def link sudoersModeOrBooleanParameter Identifier
hi def link sudoersFloatOrBooleanParameter Identifier
hi def link sudoersTimeoutOrBooleanParameter Identifier
hi def link sudoersStringParameter Identifier
hi def link sudoersStringOrBooleanParameter Identifier
hi def link sudoersListParameter Identifier
hi def link sudoersParameterListComma Delimiter
hi def link sudoersIntegerParameterEquals Operator
hi def link sudoersModeParameterEquals Operator
hi def link sudoersFloatParameterEquals Operator
hi def link sudoersTimeoutParameterEquals Operator
hi def link sudoersStringParameterEquals Operator
hi def link sudoersListParameterEquals Operator
hi def link sudoersIntegerValue Number
hi def link sudoersModeValue Number
hi def link sudoersFloatValue Float
hi def link sudoersTimeoutValue Number
hi def link sudoersStringValue String
hi def link sudoersListValue String
hi def link sudoersOptionSpec Special
hi def link sudoersSELinuxSpecEquals Operator
hi def link sudoersAppArmorSpecEquals Operator
hi def link sudoersSolarisPrivSpecEquals Operator
hi def link sudoersDateSpecEquals Operator
hi def link sudoersTimeoutSpecEquals Operator
hi def link sudoersDirectorySpecEquals Operator
hi def link sudoersSELinuxSpecParam String
hi def link sudoersAppArmorSpecParam String
hi def link sudoersSolarisPrivSpecParam String
hi def link sudoersDateSpecParam Number
hi def link sudoersTimeoutSpecParam Number
hi def link sudoersDirectorySpecParam String
hi def link sudoersTagSpec Special
hi def link sudoersTagSpecColon Delimiter
hi def link sudoersInclude Statement
let b:current_syntax = "sudoers"

20
runtime/syntax/testdir/dumps/po_00.dump generated Normal file
View File

@@ -0,0 +1,20 @@
>#+0#0000e05#ffffff0| |F+0#0000001#ffff4012|I|R|S|T| |A|U|T|H|O|R| |<|E|M|A|I|L|@|A|D@1|R|E|S@1|>|,| |Y|E|A|R|.+0#0000e05#ffffff0| +0#0000000&@37
|#+0#0000e05&| +0#0000000&@73
|#+0#e000e06&|,| |f+0#0000001#ffff4012|u|z@1|y| +0#0000000#ffffff0@66
|m+0#af5f00255&|s|g|i|d| |"+0#e000002&@1| +0#0000000&@66
|m+0#af5f00255&|s|g|s|t|r| |"+0#e000002&@1| +0#0000000&@65
|"+0#e000002&|P+0#00e0e07&|r|o|j|e|c|t|-|I|d|-|V|e|r|s|i|o|n|:| |P+0#0000001#ffff4012|A|C|K|A|G|E| |V|E|R|S|I|O|N|\+0#e000e06#ffffff0|n|"+0#e000002&| +0#0000000&@35
|"+0#e000002&|P+0#00e0e07&|O|T|-|C|r|e|a|t|i|o|n|-|D|a|t|e|:| |2+0#e000002&|0|2|6|-|0|3|-|0|2| |1|3|:|2|3|+|0|9|0@1|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@30
|"+0#e000002&|P+0#00e0e07&|O|-|R|e|v|i|s|i|o|n|-|D|a|t|e|:| |Y+0#0000001#ffff4012|E|A|R|-|M|O|-|D|A| |H|O|:|M|I|+|Z|O|N|E|\+0#e000e06#ffffff0|n|"+0#e000002&| +0#0000000&@31
|"+0#e000002&|L+0#00e0e07&|a|s|t|-|T|r|a|n|s|l|a|t|o|r|:| |F+0#0000001#ffff4012|U|L@1| |N|A|M|E| |<|E|M|A|I|L|@|A|D@1|R|E|S@1|>|\+0#e000e06#ffffff0|n|"+0#e000002&| +0#0000000&@28
|"+0#e000002&|L+0#00e0e07&|a|n|g|u|a|g|e|-|T|e|a|m|:| |L+0#0000001#ffff4012|A|N|G|U|A|G|E| |<|L@1|@|l|i|.|o|r|g|>|\+0#e000e06#ffffff0|n|"+0#e000002&| +0#0000000&@35
|"+0#e000002&|L+0#00e0e07&|a|n|g|u|a|g|e|:| |\+0#e000e06&|n|"+0#e000002&| +0#0000000&@60
|"+0#e000002&|M+0#00e0e07&|I|M|E|-|V|e|r|s|i|o|n|:| |1+0#e000002&|.|0|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@53
|"+0#e000002&|C+0#00e0e07&|o|n|t|e|n|t|-|T|y|p|e|:| |t+0#e000002&|e|x|t|/|p|l|a|i|n|;| |c|h|a|r|s|e|t|=|U|T|F|-|8|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@31
|"+0#e000002&|C+0#00e0e07&|o|n|t|e|n|t|-|T|r|a|n|s|f|e|r|-|E|n|c|o|d|i|n|g|:| |8+0#e000002&|b|i|t|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@39
|"+0#e000002&|P+0#00e0e07&|l|u|r|a|l|-|F|o|r|m|s|:| |n+0#e000002&|p|l|u|r|a|l|s|=|I+0#0000001#ffff4012|N|T|E|G|E|R|;+0#e000002#ffffff0| |p|l|u|r|a|l|=|E+0#0000001#ffff4012|X|P|R|E|S@1|I|O|N|;+0#e000002#ffffff0|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@20
|"+0#e000002&|X+0#00e0e07&|-|G|e|n|e|r|a|t|o|r|:| |M+0#e000002&|a|n|u|a|l@1|y|G|e|n|e|r|a|t|e|d|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@40
@75
|#+0#e000e06&|:| |p|a|t|h|/|t|o|/|f|i|l|e|.|c|:|1|2|3| +0#0000000&@53
|#+0#e000e06&|,| |f+0#0000001#ffff4012|u|z@1|y|,+0#e000e06#ffffff0| |c+0#0000001#ffff4012|-|f|o|r|m|a|t| +0#0000000#ffffff0@56
@57|1|,|1| @10|T|o|p|

20
runtime/syntax/testdir/dumps/po_01.dump generated Normal file
View File

@@ -0,0 +1,20 @@
|"+0#e000002#ffffff0|C+0#00e0e07&|o|n|t|e|n|t|-|T|r|a|n|s|f|e|r|-|E|n|c|o|d|i|n|g|:| |8+0#e000002&|b|i|t|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@39
|"+0#e000002&|P+0#00e0e07&|l|u|r|a|l|-|F|o|r|m|s|:| |n+0#e000002&|p|l|u|r|a|l|s|=|I+0#0000001#ffff4012|N|T|E|G|E|R|;+0#e000002#ffffff0| |p|l|u|r|a|l|=|E+0#0000001#ffff4012|X|P|R|E|S@1|I|O|N|;+0#e000002#ffffff0|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@20
|"+0#e000002&|X+0#00e0e07&|-|G|e|n|e|r|a|t|o|r|:| |M+0#e000002&|a|n|u|a|l@1|y|G|e|n|e|r|a|t|e|d|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@40
@75
|#+0#e000e06&|:| |p|a|t|h|/|t|o|/|f|i|l|e|.|c|:|1|2|3| +0#0000000&@53
>#+0#e000e06&|,| |f+0#0000001#ffff4012|u|z@1|y|,+0#e000e06#ffffff0| |c+0#0000001#ffff4012|-|f|o|r|m|a|t| +0#0000000#ffffff0@56
|#+0#0000e05&||| |m|s|g|i|d| |"|H|i|,| |%|s|.|\|n|"| +0#0000000&@54
|m+0#af5f00255&|s|g|i|d| |"+0#e000002&|H|e|l@1|o|,| |%+0#e000e06&|s|.+0#e000002&|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@54
|m+0#af5f00255&|s|g|s|t|r| |"+0#e000002&@1| +0#0000000&@65
|"+0#e000002&|H|i|,| |%+0#e000e06&|s|.+0#e000002&|\+0#e000e06&|n|"+0#e000002&| +0#0000000&@63
@75
|#+0#e000e06&|:| |p|a|t|h|/|t|o|/|f|i|l|e|.|p|y|:|1|2|3| +0#0000000&@52
|#+0#e000e06&|,| |p+0#0000001#ffff4012|y|t|h|o|n|-|f|o|r|m|a|t| +0#0000000#ffffff0@58
|m+0#af5f00255&|s|g|i|d| |"+0#e000002&|%|(|n|u|m|)| |w|o|r|d|"| +0#0000000&@55
|m+0#af5f00255&|s|g|i|d|_|p|l|u|r|a|l| +0#0000000&|"+0#e000002&|%|(|n|u|m|)| |w|o|r|d|s|"| +0#0000000&@47
|m+0#af5f00255&|s|g|s|t|r|[|0|]| |"+0#e000002&@1| +0#0000000&@62
|m+0#af5f00255&|s|g|s|t|r|[|1+0#e000002&|]+0#af5f00255&| +0#0000000&|"+0#e000002&@1| +0#0000000&@62
@75
|#+0#0000e05&|.| |c|o|m@1|e|n|t| |f|o|r| |t|r|a|n|s|l|a|t|o|r| +0#0000000&@49
@57|1|9|,|1| @9|4|0|%|

20
runtime/syntax/testdir/dumps/po_02.dump generated Normal file
View File

@@ -0,0 +1,20 @@
|#+0#0000e05#ffffff0|.| |c|o|m@1|e|n|t| |f|o|r| |t|r|a|n|s|l|a|t|o|r| +0#0000000&@49
|#+0#e000e06&|:| |p|a|t|h|/|t|o|/|f|i|l|e|.|c|p@1|:|2|3|4| +0#0000000&@51
|#+0#e000e06&|:| |p|a|t|h|/|t|o|/|f|i|l|e|.|c|p@1|:|2|5|6| +0#0000000&@51
|#+0#e000e06&|,| |q+0#0000001#ffff4012|t|-|f|o|r|m|a|t| +0#0000000#ffffff0@62
|m+0#af5f00255&|s|g|c|t|x|t| |"+0#0000e05&|%|1| |i|s| |a| |v|a|r|i|a|b|l|e|"| +0#0000000&@48
>m+0#af5f00255&|s|g|i|d| |"+0#e000002&|v|a|l|u|e| |o|f| |%+0#e000e06&|1|:+0#e000002&|\+0#e000e06&|t|%+0#e000002&|L|2|"| +0#0000000&@49
|m+0#af5f00255&|s|g|s|t|r| |"+0#e000002&@1| +0#0000000&@65
@75
|#+0#e000e06&|:| |p|a|t|h|/|t|o|/|f|i|l|e|.|r|s|:|1|2|3| +0#0000000&@52
|#+0#e000e06&|,| |r+0#0000001#ffff4012|u|s|t|-|f|o|r|m|a|t| +0#0000000#ffffff0@60
|m+0#af5f00255&|s|g|i|d| |"+0#e000002&|H|e|l@1|o|,| |\+0#e000e06&|"|{+0#e000002&|:|?|}|\+0#e000e06&|"|.+0#e000002&|"| +0#0000000&@50
|m+0#af5f00255&|s|g|s|t|r| |"+0#e000002&|H|a|l@1|o|,| |»|{|:|?|}|«|.|"| +0#0000000&@51
@75
|#+0#e000e06&|=| |n+0#0000001#ffff4012|o|-|w|r|a|p| +0#0000000#ffffff0@64
|m+0#af5f00255&|s|g|i|d| |"+0#e000002&|L|o|r|e|m| |i|p|s|u|m| |d|o|l|o|r| |s|i|t| |a|m|e|t|,| |c|o|n|s|e|c|t|e|t|u|r| |a|d|i|p|i|s|c|i|n|g| |e|l|i|t|,| |s|e|d| |d|o| |e|i|u|s
|m|o|d| |t|e|m|p|o|r| |i|n|c|i|d|i|d|u|n|t| |u|t| |l|a|b|o|r|e| |e|t| |d|o|l|o|r|e| |m|a|g|n|a| |a|l|i|q|u|a|.|"| +0#0000000&@18
|m+0#af5f00255&|s|g|s|t|r| |"+0#e000002&|い*&|ろ|は|に|ほ|へ|と|"+&| +0#0000000&@51
@75
|#+0#0000e05&| |o|u|t|d|a|t|e|d| |e|n|t|r|i|e|s| +0#0000000&@56
@57|3|7|,|1| @9|9|3|%|

20
runtime/syntax/testdir/dumps/po_03.dump generated Normal file
View File

@@ -0,0 +1,20 @@
|#+0#0000e05#ffffff0| |o|u|t|d|a|t|e|d| |e|n|t|r|i|e|s| +0#0000000&@56
|#+0#0000e05&|~| |m|s|g|i|d| |"|f|o@1|"| +0#0000000&@60
>#+0#0000e05&|~| |m|s|g|s|t|r| |"|f|o@1|"| +0#0000000&@59
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|5|1|,|1| @9|B|o|t|

View File

@@ -0,0 +1,20 @@
>#+0#0000e05#ffffff0| |N|u|m|e|r|i|c| |l|i|t|e|r|a|l|s| +0#0000000&@56
|#+0#0000e05&| |h|t@1|p|s|:|/@1|d|o|c|s|.|p|y|t|h|o|n|.|o|r|g|/|3|/|r|e|f|e|r|e|n|c|e|/|l|e|x|i|c|a|l|_|a|n|a|l|y|s|i|s|.|h|t|m|l|#|n|u|m|e|r|i|c|-|l|i|t|e|r|a|l
|s| +0#0000000&@73
@75
|#+0#0000e05&| |I|n|t|e|g|e|r| |l|i|t|e|r|a|l|s| +0#0000000&@56
@75
|7+0#e000002&| +0#0000000&@73
|3+0#e000002&| +0#0000000&@73
|2+0#e000002&|1|4|7|4|8|3|6|4|7| +0#0000000&@64
@75
|7+0#e000002&|9|2@1|8|1|6|2|5|1|4|2|6|4|3@1|7|5|9|3|5|4|3|9|5|0|3@1|6|7|9|2@1|8|1|6|2|5|1|4|2|6|4|3@1|7|5|9|3|5|4|3|9|5|0|3@1|6| +0#0000000&@16
@75
|1+0#e000002&|0@1|_|0@2|_|0@2|_|0@2| +0#0000000&@59
|1+0#e000002&|0@10| +0#0000000&@62
|1+0#e000002&|_|0@1|_|0@1|_|0@1|_|0@1|_|0@2| +0#0000000&@57
@75
|0+0#e000002&|b|1|0@1|1@1|0|1@2| +0#0000000&@63
|0+0#e000002&|b|_|1@2|0|_|0|1|0|1| +0#0000000&@62
|0+0#e000002&|o|1|7@1| +0#0000000&@69
@57|1|,|1| @10|T|o|p|

View File

@@ -0,0 +1,20 @@
|1+0#e000002#ffffff0|0@10| +0#0000000&@62
|1+0#e000002&|_|0@1|_|0@1|_|0@1|_|0@1|_|0@2| +0#0000000&@57
@75
|0+0#e000002&|b|1|0@1|1@1|0|1@2| +0#0000000&@63
|0+0#e000002&|b|_|1@2|0|_|0|1|0|1| +0#0000000&@62
>0+0#e000002&|o|1|7@1| +0#0000000&@69
|0+0#e000002&|o|3|7@1| +0#0000000&@69
|0+0#e000002&|x|d|e|a|d|b|e@1|f| +0#0000000&@64
|0+0#e000002&|x|D|e|a|d|_|B|e@1|f| +0#0000000&@63
@75
|#+0#0000e05&| |F|l|o|a|t|i|n|g|-|p|o|i|n|t| |l|i|t|e|r|a|l|s| +0#0000000&@49
@75
|2+0#e000002&|.|7|1|8|2|8| +0#0000000&@67
|4+0#e000002&|.|0| +0#0000000&@71
@75
|9+0#e000002&|6|_|4|8|5|.|3@1|2|_|1|2|3| +0#0000000&@60
|3+0#e000002&|.|1|4|_|1|5|_|9|3| +0#0000000&@64
@75
|1+0#e000002&|0|.| +0#0000000&@1|#+0#0000e05&| |(|e|q|u|i|v|a|l|e|n|t| |t|o| |1|0|.|0|)| +0#0000000&@47
@57|1|8|,|1| @9|2|5|%|

View File

@@ -0,0 +1,20 @@
|1+0#e000002#ffffff0|0|.| +0#0000000&@1|#+0#0000e05&| |(|e|q|u|i|v|a|l|e|n|t| |t|o| |1|0|.|0|)| +0#0000000&@47
|.+0#e000002&|0@1|1| +0#0000000&@1|#+0#0000e05&| |(|e|q|u|i|v|a|l|e|n|t| |t|o| |0|.|0@1|1|)| +0#0000000&@45
@75
|1+0#e000002&|.|0|e|3| +0#0000000&@1|#+0#0000e05&| |(|r|e|p|r|e|s|e|n|t|s| |1|.|0|×|1|0|³|,| |o|r| |1|0@2|.|0|)| +0#0000000&@34
|1+0#e000002&|.|1|6@1|e|-|5| +0#0000000&@1|#+0#0000e05&| |(|r|e|p|r|e|s|e|n|t|s| |1|.|1|6@1|×|1|0|⁻|⁵|,| |o|r| |0|.|0@3|1@1|6@1|)| +0#0000000&@24
>6+0#e000002&|.|0|2@1|1|4|0|7|6|e|+|2|3| +0#0000000&@1|#+0#0000e05&| |(|r|e|p|r|e|s|e|n|t|s| |6|.|0|2@1|1|4|0|7|6|×|1|0|²|³|,| |o|r| |6|0|2@1|1|4|0|7|6|0@14|.
|)| +0#0000000&@73
@75
|1+0#e000002&|e|3| +0#0000000&@1|#+0#0000e05&| |(|e|q|u|i|v|a|l|e|n|t| |t|o| |1|.|e|3| |a|n|d| |1|.|0|e|3|)| +0#0000000&@37
|0+0#e000002&|e|0| +0#0000000&@1|#+0#0000e05&| |(|e|q|u|i|v|a|l|e|n|t| |t|o| |0|.|)| +0#0000000&@49
@75
|#+0#0000e05&| |I|m|a|g|i|n|a|r|y| |l|i|t|e|r|a|l|s| +0#0000000&@54
@75
|3+0#e000002&|++0#0000000&|4+0#e000002&|.|2|j| +0#0000000&@68
@75
|3+0#e000002&| +0#0000000&|+| |4+0#e000002&|.|2|j| +0#0000000&@66
@75
|4+0#e000002&|.|2|j| +0#0000000&@70
|3+0#e000002&|.|1|4|j| +0#0000000&@69
@57|3|6|,|1| @9|6|2|%|

View File

@@ -0,0 +1,20 @@
|3+0#e000002#ffffff0|.|1|4|j| +0#0000000&@69
|1+0#e000002&|0|.|j| +0#0000000&@70
|.+0#e000002&|0@1|1|j| +0#0000000&@69
|1+0#e000002&|e|1|0@1|j| +0#0000000&@68
|3+0#e000002&|.|1|4|e|-|1|0|j| +0#0000000&@65
>3+0#e000002&|.|1|4|_|1|5|_|9|3|j| +0#0000000&@63
@75
|1+0#e000002&|0|j| +0#0000000&@71
|0+0#e000002&|j| +0#0000000&@72
|1+0#e000002&|0@23|j| +0#0000000&@2|#+0#0000e05&| |e|q|u|i|v|a|l|e|n|t| |t|o| |1|e|+|2|4|j| +0#0000000&@23
@75
|3+0#e000002&|.|1|4|J| +0#0000000&@2|#+0#0000e05&| |e|q|u|i|v|a|l|e|n|t| |t|o| |3|.|1|4|j| +0#0000000&@45
@75
@75
@75
|#+0#0000e05&| |I|s@1|u|e| |#|1|9|6|2|5| |(|r|u|n|t|i|m|e|(|p|y|t|h|o|n|)|:| |L|a|r|g|e| |n|u|m|b|e|r| |l|i|t|e|r|a|l|s| |c|a|u|s|e| |E|3|6|3|)| +0#0000000&@8
@75
|N|=|2+0#e000002&|1|4|0|3|2|4|6|5|0|2|4|0|7|4@1|9|6|1|2|6|4@1|2|3|0|7|2|8|3|9|3@2|5|6|3|0@1|8|6|1|4|7|1|5|1|4@1|7|5@1|0|1|7@1|9|7@1|5|4|9|2|0|8@1|1|4|1|8|0|2|3
|4@1|7|1|4|0|1|3|6@1|4|3@1|4|5@1|1|9|0|9|5|8|0|4|6|7|9|6|1|0|9@1|2|8|5|1|8|7|2|4|7|0|9|1|4|5|8|7|6|8|7|3|9|6|2|6|1|9|2|1|5@1|7|3|6|3|0|4|7|4|5|4|@+0#4040ff13&@2
| +0#0000000&@56|5|3|,|1| @9|9|5|%|

View File

@@ -0,0 +1,20 @@
|N+0&#ffffff0|=|2+0#e000002&|1|4|0|3|2|4|6|5|0|2|4|0|7|4@1|9|6|1|2|6|4@1|2|3|0|7|2|8|3|9|3@2|5|6|3|0@1|8|6|1|4|7|1|5|1|4@1|7|5@1|0|1|7@1|9|7@1|5|4|9|2|0|8@1|1|4|1|8|0|2|3
|4@1|7|1|4|0|1|3|6@1|4|3@1|4|5@1|1|9|0|9|5|8|0|4|6|7|9|6|1|0|9@1|2|8|5|1|8|7|2|4|7|0|9|1|4|5|8|7|6|8|7|3|9|6|2|6|1|9|2|1|5@1|7|3|6|3|0|4|7|4|5|4|7@1|0
|5|2|0|8|0|5|1@1|9|0|5|6|4|9|3|1|0|6@1|8|1| +0#0000000&@53
> @74
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|6@1|,|0|-|1| @7|B|o|t|

20
runtime/syntax/testdir/dumps/sed_00.dump generated Normal file
View File

@@ -0,0 +1,20 @@
>#+0#0000e05#ffffff0| |s|e|d|(|1|)| +0#0000000&@66
@75
@75
|#+0#0000e05&| |A|d@1|r|e|s@1|e|s| +0#0000000&@63
@75
@75
|#+0#0000e05&| |l|i|n|e| |n|u|m|b|e|r| +0#0000000&@61
@75
|4+0#e000e06&|2|p+0#00e0e07&| +0#0000000&@71
|$+0#e000e06&|p+0#00e0e07&| +0#0000000&@72
@75
|/+0#e000e06&|f|o@1|b|a|r|/|p+0#00e0e07&| +0#0000000&@65
|/+0#e000e06&|f|o@1|[|/|]|b|a|r|/|p+0#00e0e07&| +0#0000000&@62
|/+0#e000e06&|f|o@1|\|/|b|a|r|/|p+0#00e0e07&| +0#0000000&@63
@75
|\+0#e000e06&|x|f|o@1|b|a|r|x|p+0#00e0e07&| +0#0000000&@64
|\+0#e000e06&|x|f|o@1|\|x|b|a|r|x|p+0#00e0e07&| +0#0000000&@62
|\+0#e000e06&|x|f|o@1|[|x|]|b|a|r|x|p+0#00e0e07&| +0#0000000&@61
@75
@57|1|,|1| @10|T|o|p|

20
runtime/syntax/testdir/dumps/sed_01.dump generated Normal file
View File

@@ -0,0 +1,20 @@
|/+0#e000e06#ffffff0|f|o@1|\|/|b|a|r|/|p+0#00e0e07&| +0#0000000&@63
@75
|\+0#e000e06&|x|f|o@1|b|a|r|x|p+0#00e0e07&| +0#0000000&@64
|\+0#e000e06&|x|f|o@1|\|x|b|a|r|x|p+0#00e0e07&| +0#0000000&@62
|\+0#e000e06&|x|f|o@1|[|x|]|b|a|r|x|p+0#00e0e07&| +0#0000000&@61
> @74
|#+0#0000e05&| |s|k|i|p| |b|r|a|c|k|e|t| |e|x|p|r|e|s@1|i|o|n|s| +0#0000000&@48
|\+0#e000e06&|a|_|\|a|_|[|a|[|:|a|s|c|i@1|:|]|a|[|.|a|.|]|a|[|=|a|=|]|a|]|_|a|p+0#00e0e07&| +0#0000000&@40
|\+0#e000e06&|a|_|\|a|_|[|^|a|[|:|a|s|c|i@1|:|]|a|[|.|a|.|]|a|[|=|a|=|]|a|]|_|a|p+0#00e0e07&| +0#0000000&@39
|\+0#e000e06&|a|_|\|a|_|[|]|a|[|:|a|s|c|i@1|:|]|a|[|.|a|.|]|a|[|=|a|=|]|a|]|_|a|p+0#00e0e07&| +0#0000000&@39
|\+0#e000e06&|a|_|\|a|_|[|^|]|a|[|:|a|s|c|i@1|:|]|a|[|.|a|.|]|a|[|=|a|=|]|a|]|_|a|p+0#00e0e07&| +0#0000000&@38
@75
@75
|#+0#0000e05&| |r|a|n|g|e| +0#0000000&@67
@75
|4+0#e000e06&|2|,|8|4|p+0#00e0e07&| +0#0000000&@68
|/+0#e000e06&|f|o@1|/|,|/|b|a|r|/|p+0#00e0e07&| +0#0000000&@62
@75
|/+0#e000e06&|f|o@1|/|,|4|2|p+0#00e0e07&| +0#0000000&@65
@57|1|9|,|0|-|1| @7|2|8|%|

20
runtime/syntax/testdir/dumps/sed_02.dump generated Normal file
View File

@@ -0,0 +1,20 @@
|/+0#e000e06#ffffff0|f|o@1|/|,|4|2|p+0#00e0e07&| +0#0000000&@65
|4+0#e000e06&|2|,|/|b|a|r|/|p+0#00e0e07&| +0#0000000&@65
@75
@75
|#+0#0000e05&| |G|N|U| |e|x|t|e|n|s|i|o|n|s| +0#0000000&@58
> @74
@75
|#+0#0000e05&| |s|t|e|p| +0#0000000&@68
@75
|1+0#e000e06&|~|2|p+0#00e0e07&| +0#0000000&@70
@75
@75
|#+0#0000e05&| |i|g|n|o|r|e| |c|a|s|e|,| |m|u|l|t|i|l|i|n|e| +0#0000000&@50
@75
|/+0#e000e06&|f|o@1|b|a|r|/|I|p+0#00e0e07&| +0#0000000&@64
|/+0#e000e06&|f|o@1|b|a|r|/|M|p+0#00e0e07&| +0#0000000&@64
|/+0#e000e06&|f|o@1|b|a|r|/|I|M|p+0#00e0e07&| +0#0000000&@63
|/+0#e000e06&|f|o@1|b|a|r|/|M|I|p+0#00e0e07&| +0#0000000&@63
@75
@57|3|7|,|0|-|1| @7|6|7|%|

20
runtime/syntax/testdir/dumps/sed_03.dump generated Normal file
View File

@@ -0,0 +1,20 @@
| +0&#ffffff0@74
|\+0#e000e06&|a|f|o@1|b|\|a|r|a|I|p+0#00e0e07&| +0#0000000&@62
|\+0#e000e06&|a|f|o@1|b|\|a|r|a|M|p+0#00e0e07&| +0#0000000&@62
|\+0#e000e06&|a|f|o@1|b|\|a|r|a|I|M|p+0#00e0e07&| +0#0000000&@61
|\+0#e000e06&|a|f|o@1|b|\|a|r|a|M|I|p+0#00e0e07&| +0#0000000&@61
> @74
@75
|#+0#0000e05&| |i|n|c|r|e|m|e|n|t| +0#0000000&@63
@75
|4+0#e000e06&|2|,|+|4|2|p+0#00e0e07&| +0#0000000&@67
@75
@75
|#+0#0000e05&| |s|t|e|p| +0#0000000&@68
@75
|4+0#e000e06&|2|,|~|2|p+0#00e0e07&| +0#0000000&@68
@75
|~+0#4040ff13&| @73
|~| @73
|~| @73
| +0#0000000&@56|5@1|,|0|-|1| @7|B|o|t|

View File

@@ -0,0 +1,20 @@
>#+0#0000e05#ffffff0| |v|i|:|f|t|=|s|u|d|o|e|r|s| +0#0000000&@59
|H+0#af5f00255&|o|s|t|_|A|l|i|a|s| +0#0000000&|N+0#00e0e07&|O|D|E|S| +0#0000000&|=+0#af5f00255&| +0#0000000&|!+0#af5f00255&| +0#0000000&|n+0#e000002&|o|d|e|0|,+0#e000e06&| +0#0000000&|1+0#e000002&|9|2|.|1|6|8|.|1|0|.|1| +0#0000000&@34
|U+0#af5f00255&|s|e|r|_|A|l|i|a|s| +0#0000000&|A+0#00e0e07&|D|M|I|N| +0#0000000&|=+0#af5f00255&| +0#0000000&|a+0#e000002&|l|i|c|e|,+0#e000e06&| +0#0000000&|b+0#e000002&|o|b| +0#0000000&@45
|C+0#af5f00255&|m|n|d|_|A|l|i|a|s| +0#0000000&|V+0#00e0e07&|I|M| +0#0000000&|=+0#af5f00255&| +0#0000000&|/+0#e000002&|u|s|r|/|b|i|n|/|v|i|m|,+0#e000e06&| +0#0000000&|s+0#00e0003&|h|a|2@1|4|:+0#af5f00255&|d+0#e000002&|1|4|a|0|2|8|c|2|a|3|a|2|b|c|9|4|7|6|1|0|2|b@1|2|8@1|2|3|4|c|4|1|5|a|2|b
|0|1|f|8|2|8|e|a|6|2|a|c|5|b|3|e|4|2|f| +0#0000000&|/+0#e000002&|u|s|r|/|b|i|n|/|v|i|e|w|,+0#e000e06&| +0#0000000&|s+0#00e0003&|h|a|2|5|6|:+0#af5f00255&|4+0#e000002&|7|D|E|Q|p|j|8|H|B|S|a|+|/|T|I|m|W|+|5|J|C|e|u|Q|e|R|k|m|5|N|M|p
|J|W|Z|G|3|h|S|u|F|U|=| +0#0000000&|/+0#e000002&|u|s|r|/|b|i|n|/|v|i|m|d|i|f@1| +0#0000000&@46
|R+0#af5f00255&|u|n|a|s|_|A|l|i|a|s| +0#0000000&|R+0#00e0e07&|O@1|T| +0#0000000&|=+0#af5f00255&| +0#0000000&|c+0#e000002&|h|a|r|l|i|e|,+0#e000e06&| +0#0000000&|d+0#e000002&|a|v|e| +0#0000000&@42
@75
|#+0#0000e05&| |B|o@1|l|e|a|n| |F|l|a|g|s| +0#0000000&@59
|D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|a+0#00e0e07&|u|t|h|e|n|t|i|c|a|t|e| +0#0000000&@53
|D+0#af5f00255&|e|f|a|u|l|t|s|@+0#e000e06&| +0#0000000&|A+0#e000e06&|L@1|,| +0#0000000&|N+0#e000e06&|O|D|E|S| +0#0000000&|c+0#00e0e07&|a|s|e|_|i|n|s|e|n|s|i|t|i|v|e|_|g|r|o|u|p| +0#0000000&|,+0#e000e06&| +0#0000000&|!+0#af5f00255&| +0#0000000&|c+0#00e0e07&|a|s|e|_|i|n|s|e|n|s|i|t|i|v|e|_|u|s|e|r| +0#0000000&@5
|D+0#af5f00255&|e|f|a|u|l|t|s|@+0#e000e06&|!+0#af5f00255&|n+0#e000002&|o|d|e|0|,+0#e000e06&| +0#0000000&|!+0#af5f00255&|n+0#e000002&|o|d|e|1| +0#0000000&|!+0#af5f00255&@1| +0#0000000&|e+0#00e0e07&|n|v|_|r|e|s|e|t| +0#0000000&@38
|D+0#af5f00255&|e|f|a|u|l|t|s|@+0#e000e06&|1+0#e000002&|0|.|0|.|0|.|1| +0#0000000&|,+0#e000e06&| +0#0000000&|!+0#af5f00255&|1+0#e000002&|7|2|.|1|6|.|0|.|1|/|1|2|,+0#e000e06&| +0#0000000&|!+0#af5f00255&@1|1+0#e000002&|9|2|.|1|6|8|.|0|.|1|/|2|5@1|.|2|5@1|.|0|.|0| +0#0000000&|!+0#af5f00255&@1| +0#0000000&|f+0#00e0e07&|q|d|n| +0#0000000&@5
|D+0#af5f00255&|e|f|a|u|l|t|s|:+0#e000e06&|A|L@1|,| +0#0000000&|A+0#e000e06&|D|M|I|N| +0#0000000&|i+0#00e0e07&|g|n|o|r|e|_|d|o|t| +0#0000000&@44
|D+0#af5f00255&|e|f|a|u|l|t|s|:+0#e000e06&|u+0#e000002&|s|e|r|0|,+0#e000e06&| +0#0000000&|#+0#e000002&|1|0@2|,+0#e000e06&| +0#0000000&|%+0#e000e06&|g|r|o|u|p|0|,| +0#0000000&|%+0#e000002&|#|1|0@2| +0#0000000&|m+0#00e0e07&|a|i|l|_|a|l@1|_|c|m|n|d|s| +0#0000000&@21
|D+0#af5f00255&|e|f|a|u|l|t|s|!+0#e000e06&|A|L@1|,|V|I|M| +0#0000000&|n+0#00e0e07&|o|e|x|e|c| +0#0000000&@51
|D+0#af5f00255&|e|f|a|u|l|t|s|!+0#e000e06&|l|i|s|t|,|s|u|d|o|e|d|i|t| +0#0000000&|!+0#af5f00255&|p+0#00e0e07&|a|t|h|_|i|n|f|o| +0#0000000&@41
|D+0#af5f00255&|e|f|a|u|l|t|s|!+0#e000e06&| +0#0000000&|/+0#e000002&|b|i|n|/|l|s| +0#0000000&|r+0#00e0e07&|e|q|u|i|r|e|t@1|y| +0#0000000&@46
|D+0#af5f00255&|e|f|a|u|l|t|s|!+0#e000e06&|!+0#af5f00255&|/+0#e000002&|b|i|n|/|l|e|s@1| +0#0000000&|,+0#e000e06&| +0#0000000&|/+0#e000002&|b|i|n|/|m|o|r|e| +0#0000000&|s+0#00e0e07&|e|t|_|h|o|m|e| +0#0000000&@34
@57|1|,|1| @10|T|o|p|

View File

@@ -0,0 +1,20 @@
|D+0#af5f00255#ffffff0|e|f|a|u|l|t|s|:+0#e000e06&|A|L@1|,| +0#0000000&|A+0#e000e06&|D|M|I|N| +0#0000000&|i+0#00e0e07&|g|n|o|r|e|_|d|o|t| +0#0000000&@44
|D+0#af5f00255&|e|f|a|u|l|t|s|:+0#e000e06&|u+0#e000002&|s|e|r|0|,+0#e000e06&| +0#0000000&|#+0#e000002&|1|0@2|,+0#e000e06&| +0#0000000&|%+0#e000e06&|g|r|o|u|p|0|,| +0#0000000&|%+0#e000002&|#|1|0@2| +0#0000000&|m+0#00e0e07&|a|i|l|_|a|l@1|_|c|m|n|d|s| +0#0000000&@21
|D+0#af5f00255&|e|f|a|u|l|t|s|!+0#e000e06&|A|L@1|,|V|I|M| +0#0000000&|n+0#00e0e07&|o|e|x|e|c| +0#0000000&@51
|D+0#af5f00255&|e|f|a|u|l|t|s|!+0#e000e06&|l|i|s|t|,|s|u|d|o|e|d|i|t| +0#0000000&|!+0#af5f00255&|p+0#00e0e07&|a|t|h|_|i|n|f|o| +0#0000000&@41
|D+0#af5f00255&|e|f|a|u|l|t|s|!+0#e000e06&| +0#0000000&|/+0#e000002&|b|i|n|/|l|s| +0#0000000&|r+0#00e0e07&|e|q|u|i|r|e|t@1|y| +0#0000000&@46
>D+0#af5f00255&|e|f|a|u|l|t|s|!+0#e000e06&|!+0#af5f00255&|/+0#e000002&|b|i|n|/|l|e|s@1| +0#0000000&|,+0#e000e06&| +0#0000000&|/+0#e000002&|b|i|n|/|m|o|r|e| +0#0000000&|s+0#00e0e07&|e|t|_|h|o|m|e| +0#0000000&@34
|D+0#af5f00255&|e|f|a|u|l|t|s|>+0#e000e06&| +0#0000000&|A+0#e000e06&|L@1|,|R|O@1|T| +0#0000000&|!+0#af5f00255&|s+0#00e0e07&|e|t|e|n|v| +0#0000000&@48
|D+0#af5f00255&|e|f|a|u|l|t|s|>+0#e000e06&|!+0#af5f00255&|u+0#e000002&|s|e|r|0|,+0#e000e06&|!+0#af5f00255&@1|#+0#e000002&|1|0@2|,+0#e000e06&|!+0#af5f00255&@2|%+0#e000e06&|g|r|o|u|p|0|,|!+0#af5f00255&@3|%+0#e000002&|#|1|0@2| +0#0000000&|!+0#af5f00255&@4| +0#0000000&|s+0#00e0e07&|y|s|l|o|g|_|p|i|d| +0#0000000&@12
@75
|#+0#0000e05&| |I|n|t|e|g|e|r|s| +0#0000000&@64
|D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|c+0#00e0e07&|o|m@1|a|n|d|_|t|i|m|e|o|u|t|=+0#af5f00255&|1+0#e000002&|,+0#e000e06&| +0#0000000&|c+0#00e0e07&|o|m@1|a|n|d|_|t|i|m|e|o|u|t|=+0#af5f00255&|2+0#e000002&@1|s|,+0#e000e06&| +0#0000000&|c+0#00e0e07&|o|m@1|a|n|d|_|t|i|m|e|o|u|t|=+0#af5f00255&|3+0#e000002&@1|m|,+0#e000e06&| +0#0000000&|c+0#00e0e07&|o|m@1|a
|n|d|_|t|i|m|e|o|u|t|=+0#af5f00255&|4+0#e000002&@1|h|,+0#e000e06&| +0#0000000&|c+0#00e0e07&|o|m@1|a|n|d|_|t|i|m|e|o|u|t|=+0#af5f00255&|5+0#e000002&@1|d|,+0#e000e06&| +0#0000000&|c+0#00e0e07&|o|m@1|a|n|d|_|t|i|m|e|o|u|t|=+0#af5f00255&|6+0#e000002&|D|7|H|8|M|9|S| +0#0000000&@13
|D+0#af5f00255&|e|f|a|u|l|t|s|:+0#e000e06&|A|L@1| +0#0000000&|p+0#00e0e07&|a|s@1|w|d|_|t|r|i|e|s| +0#0000000&|=+0#af5f00255&| +0#0000000&|3+0#e000002&|,+0#e000e06&| +0#0000000&|p+0#00e0e07&|a|s@1|w|d|_|t|i|m|e|o|u|t| +0#0000000&|=+0#af5f00255&| +0#0000000&|2+0#e000002&|.|5|,+0#e000e06&| +0#0000000&|u+0#00e0e07&|m|a|s|k| +0#0000000&|=+0#af5f00255&| +0#0000000&|0+0#e000002&@1|2|7| +0#0000000&@9
|D+0#af5f00255&|e|f|a|u|l|t|s|@+0#e000e06&|A|L@1| +0#0000000&|!+0#af5f00255&| +0#0000000&|p+0#00e0e07&|a|s@1|w|d|_|t|i|m|e|o|u|t| +0#0000000&|,+0#e000e06&| +0#0000000&|!+0#af5f00255&@2| +0#0000000&|u+0#00e0e07&|m|a|s|k| +0#0000000&@33
@75
|#+0#0000e05&| |S|t|r|i|n|g|s| +0#0000000&@65
|D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|e+0#00e0e07&|d|i|t|o|r| +0#0000000&|=+0#af5f00255&| +0#0000000&|"+0#e000002&|/|u|s|r|/|b|i|n|/|v|i|m|:|/|b|i|n|/|v|i|"| +0#0000000&@34
|D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|s+0#00e0e07&|e|c|u|r|e|_|p|a|t|h| +0#0000000&|=+0#af5f00255&| +0#0000000&|/+0#e000002&|u|s|r|/|s|b|i|n|\|:|/|u|s|r|/|b|i|n| +0#0000000&@32
|D+0#af5f00255&|e|f|a|u|l|t|s|>+0#e000e06&|A|L@1| +0#0000000&|s+0#00e0e07&|y|s|l|o|g|_|b|a|d|p|r|i|=+0#af5f00255&|a+0#e000002&|l|e|r|t|,+0#e000e06&|s+0#00e0e07&|y|s|l|o|g|_|g|o@1|d|p|r|i|=+0#af5f00255&|n+0#e000002&|o|t|i|c|e| +0#0000000&@20
@57|1|7|,|1| @9|4@1|%|

View File

@@ -0,0 +1,20 @@
|D+0#af5f00255#ffffff0|e|f|a|u|l|t|s|>+0#e000e06&|A|L@1| +0#0000000&|s+0#00e0e07&|y|s|l|o|g|_|b|a|d|p|r|i|=+0#af5f00255&|a+0#e000002&|l|e|r|t|,+0#e000e06&|s+0#00e0e07&|y|s|l|o|g|_|g|o@1|d|p|r|i|=+0#af5f00255&|n+0#e000002&|o|t|i|c|e| +0#0000000&@20
@75
|#+0#0000e05&| |L|i|s|t|s| +0#0000000&@67
|D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|e+0#00e0e07&|n|v|_|c|h|e|c|k| +0#0000000&@5|=+0#af5f00255&| +0#0000000&|T+0#e000002&|Z| +0#0000000&@46
|D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|e+0#00e0e07&|n|v|_|d|e|l|e|t|e| +0#0000000&@4|++0#af5f00255&|=| +0#0000000&|"+0#e000002&|P|A|T|H| |*|P|A|T|H|"| +0#0000000&@35
>D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|e+0#00e0e07&|n|v|_|k|e@1|p| +0#0000000&@6|-+0#af5f00255&|=| +0#0000000&|"+0#e000002&|X|D|G|_|*|_|H|O|M|E|"| +0#0000000&@35
|D+0#af5f00255&|e|f|a|u|l|t|s|>+0#e000e06&|A|L@1| +0#0000000&|!+0#af5f00255&@4| +0#0000000&|e+0#00e0e07&|n|v|_|k|e@1|p| +0#0000000&@47
@75
|D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|p+0#00e0e07&|a|s@1|p|r|o|m|p|t|_|r|e|g|e|x| +0#0000000&@1|=+0#af5f00255&| +0#0000000&|"+0#e000002&|[|P|p|]|a|s@1|w|o|r|d|[|:| |]|*|"| +0#0000000&@27
|D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|p+0#00e0e07&|a|s@1|p|r|o|m|p|t|_|r|e|g|e|x| +0#0000000&|-+0#af5f00255&|=| +0#0000000&|"+0#e000002&|(|?|i|)|P|A|S@1|W|O|R|D|"| +0#0000000&@31
|D+0#af5f00255&|e|f|a|u|l|t|s| +0#0000000&|p+0#00e0e07&|a|s@1|p|r|o|m|p|t|_|r|e|g|e|x| +0#0000000&|++0#af5f00255&|=| +0#0000000&|"+0#e000002&|p|a|s@1|w|o|r|d|"| +0#0000000&@35
@75
|#+0#0000e05&| |D|i|r|e|c|t|i|v|e|s| +0#0000000&@62
|@+0#af5f00255&|i|n|c|l|u|d|e|d|i|r| |/|e|t|c|/|s|u|d|o|e|r|s|.|d| +0#0000000&@48
|#+0#af5f00255&|i|n|c|l|u|d|e| |/|e|t|c|/|s|u|d|o|e|r|s|.|d|/|%|h| +0#0000000&@48
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|3|4|,|1| @9|B|o|t|

View File

@@ -0,0 +1,20 @@
>#+0#0000e05#ffffff0| |v|i|:|f|t|=|s|u|d|o|e|r|s| +0#0000000&@59
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&@30|A+0#e000e06&|L@1| +0#0000000&@31
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&@14|N+0#e000e06&|O|S|E|T|E|N|V| +0#0000000&|:+0#e000e06&| +0#0000000&@5|A+0#e000e06&|L@1| +0#0000000&@31
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&@6|C+0#e000e06&|W|D| +0#0000000&|=+0#af5f00255&| +0#0000000&|*+0#e000002&| +0#0000000&@16|A+0#e000e06&|L@1| +0#0000000&@31
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|)| +0#0000000&@24|A+0#e000e06&|L@1| +0#0000000&@31
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|)| +0#0000000&@24|A+0#e000e06&|L@1| +0#0000000&@31
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|)| +0#0000000&@8|N+0#e000e06&|O|S|E|T|E|N|V| +0#0000000&|:+0#e000e06&| +0#0000000&@5|A+0#e000e06&|L@1| +0#0000000&@31
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|)| +0#0000000&|C+0#e000e06&|W|D| +0#0000000&|=+0#af5f00255&| +0#0000000&|*+0#e000002&| +0#0000000&@16|A+0#e000e06&|L@1| +0#0000000&@31
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|)| +0#0000000&|C+0#e000e06&|W|D| +0#0000000&|=+0#af5f00255&| +0#0000000&|*+0#e000002&| +0#0000000&|N+0#e000e06&|O|S|E|T|E|N|V| +0#0000000&|:+0#e000e06&| +0#0000000&@5|A+0#e000e06&|L@1| +0#0000000&@31
@75
|!+0#af5f00255&|u+0#e000002&|s|e|r|0|,+0#e000e06&| +0#0000000&|%+0#e000e06&|g|r|o|u|p|0| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|u+0#e000002&|s|e|r|0|,+0#e000e06&| +0#0000000&|!+0#af5f00255&|u+0#e000002&|s|e|r|1| +0#0000000&|:+0#e000e06&| +0#0000000&|!+0#af5f00255&|g+0#e000002&|r|o|u|p|0|,+0#e000e06&| +0#0000000&|g+0#e000002&|r|o|u|p|1|)+0#e000e06&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@15
|#+0#e000002&|1|0@2|,+0#e000e06&| +0#0000000&@1|%+0#e000002&|#|1|0@2| +0#0000000&@1|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|#+0#e000002&|1|0@2| +0#0000000&|:+0#e000e06&| +0#0000000&|#+0#e000002&|1|0@2|)+0#e000e06&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@33
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&| +0#0000000&@6|)+0#e000e06&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@51
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1| +0#0000000&@3|)+0#e000e06&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@51
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&| +0#0000000&@2|:+0#e000e06&| +0#0000000&@2|)+0#e000e06&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@51
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&| +0#0000000&@2|:+0#e000e06&|A|L@1|)| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@51
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@51
@75
|A+0#e000e06&|L@1| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|,+0#e000e06&| +0#0000000&|!+0#af5f00255&| +0#0000000&|n+0#e000002&|o|d|e|1| +0#0000000&|=+0#af5f00255&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|:+0#e000e06&| +0#0000000&|!+0#af5f00255&| +0#0000000&|n+0#e000002&|o|d|e|2| +0#0000000&|,+0#e000e06&| +0#0000000&|n+0#e000002&|o|d|e|3| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|C+0#e000e06&|W|D|=+0#af5f00255&|/+0#e000002&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@9
@57|1|,|1| @10|T|o|p|

View File

@@ -0,0 +1,20 @@
|A+0#e000e06#ffffff0|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1| +0#0000000&@3|)+0#e000e06&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@51
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&| +0#0000000&@2|:+0#e000e06&| +0#0000000&@2|)+0#e000e06&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@51
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&| +0#0000000&@2|:+0#e000e06&|A|L@1|)| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@51
|A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@51
@75
>A+0#e000e06&|L@1| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|,+0#e000e06&| +0#0000000&|!+0#af5f00255&| +0#0000000&|n+0#e000002&|o|d|e|1| +0#0000000&|=+0#af5f00255&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|:+0#e000e06&| +0#0000000&|!+0#af5f00255&| +0#0000000&|n+0#e000002&|o|d|e|2| +0#0000000&|,+0#e000e06&| +0#0000000&|n+0#e000002&|o|d|e|3| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|C+0#e000e06&|W|D|=+0#af5f00255&|/+0#e000002&| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&@9
@75
|u+0#e000002&|s|e|r|0| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&@7|A+0#e000e06&|P@1|A|R|M|O|R|_|P|R|O|F|I|L|E|=+0#af5f00255&|u+0#e000002&|n|c|o|n|f|i|n|e|d| +0#0000000&|/+0#e000002&|b|i|n|/|p|w|d| +0#0000000&|"@1| @14
|u+0#e000002&|s|e|r|1| +0#0000000&|n+0#e000002&|o|d|e|1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|r+0#e000002&|o@1|t|)+0#e000e06&| +0#0000000&|A+0#e000e06&|P@1|A|R|M|O|R|_|P|R|O|F|I|L|E|=+0#af5f00255&|p+0#e000002&|r|o|f|_|a|/@1|&|p|r|o|f|_|b| +0#0000000&|N+0#e000e06&|O|E|X|E|C|:| +0#0000000&|/+0#e000002&|b|i|n|/|p|i|n|g| +0#0000000&@3
@75
|u+0#e000002&|s|e|r|0| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&|P+0#e000e06&|R|I|V|S|=+0#af5f00255&|"+0#e000002&|p|r|o|c|_|i|n|f|o|,|p|r|o|c|_|s|e|s@1|i|o|n|"| +0#0000000&|/+0#e000002&|b|i|n|/|k|i|l@1| +0#0000000&@20
@75
|#+0#e000002&|1|0@2| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&@10|N+0#e000e06&|O|T|B|E|F|O|R|E|=+0#af5f00255&| +0#0000000&|2+0#e000002&|0|2|6|0|1|3|1|2|3| +0#0000000&@10|N+0#e000e06&|O|T|A|F|T|E|R| +0#0000000&|=+0#af5f00255&| +0#0000000&|2+0#e000002&|0|2|7|0|1|3|1
|2|3|5|9|5|9| +0#0000000&@14|/+0#e000002&|b|i|n|/|c|r|o|n|t|a|b| +0#0000000&@41
|#+0#e000002&|1|0@1|1| +0#0000000&|n+0#e000002&|o|d|e|1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|)| +0#0000000&@7|N+0#e000e06&|O|T|A|F|T|E|R| +0#0000000&|=+0#af5f00255&| +0#0000000&|2+0#e000002&|0|2|7|0|1|3|1|2|3|5|9|5|9|Z| +0#0000000&@5|N+0#e000e06&|O|T|B|E|F|O|R|E|=+0#af5f00255&| +0#0000000&|2+0#e000002&|0|2|6|0|1|3|1
|2|3|Z| +0#0000000&@9|M+0#e000e06&|A|I|L| +0#0000000&|:+0#e000e06&| +0#0000000&@1|/+0#e000002&|b|i|n|/|c|r|o|n|t|a|b| +0#0000000&@41
|#+0#e000002&|1|0@1|2| +0#0000000&|n+0#e000002&|o|d|e|2| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|)| +0#0000000&@4|N+0#e000e06&|O|T|B|E|F|O|R|E|=+0#af5f00255&| +0#0000000&|2+0#e000002&|0|2|6|0|1|3|1|2|3|5|9|5|9|-|1|2|0@1| +0#0000000&@1|N+0#e000e06&|O|T|A|F|T|E|R| +0#0000000&|=+0#af5f00255&| +0#0000000&|2+0#e000002&|0|2|7|0|1|3|1
|2|3|+|1|4|0@1| +0#0000000&@13|/+0#e000002&|b|i|n|/|c|r|o|n|t|a|b| +0#0000000&@41
@75
@57|1|9|,|1| @9|4|8|%|

View File

@@ -0,0 +1,20 @@
| +0&#ffffff0@74
|%+0#e000e06&|g|r|o|u|p|0| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T| +0#0000000&|=+0#af5f00255&| +0#0000000&|1+0#e000002&| +0#0000000&@12|/+0#e000002&|b|i|n|/|m|o|r|e| +0#0000000&@25
|%+0#e000e06&|g|r|o|u|p|1| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T| +0#0000000&|=+0#af5f00255&| +0#0000000&|2+0#e000002&|s| +0#0000000&@11|/+0#e000002&|b|i|n|/|m|o|r|e|,+0#e000e06&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T|=+0#af5f00255&|2+0#e000002&|S| +0#0000000&@3
@5|N+0#e000e06&|O|F|O|L@1|O|W|:| +0#0000000&|/+0#e000002&|b|i|n|/|l|e|s@1| +0#0000000&@50
|%+0#e000e06&|g|r|o|u|p|2| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T| +0#0000000&|=+0#af5f00255&| +0#0000000&|3+0#e000002&|m| +0#0000000&@11|/+0#e000002&|b|i|n|/|m|o|r|e|,+0#e000e06&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T|=+0#af5f00255&|3+0#e000002&|M| +0#0000000&@3
@5|N+0#e000e06&|O|F|O|L@1|O|W|:| +0#0000000&|/+0#e000002&|b|i|n|/|l|e|s@1| +0#0000000&@50
>%+0#e000e06&|g|r|o|u|p|3| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T| +0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|h| +0#0000000&@11|/+0#e000002&|b|i|n|/|m|o|r|e|,+0#e000e06&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T|=+0#af5f00255&|4+0#e000002&|H| +0#0000000&@3
@5|N+0#e000e06&|O|F|O|L@1|O|W|:| +0#0000000&|/+0#e000002&|b|i|n|/|l|e|s@1| +0#0000000&@50
|%+0#e000e06&|g|r|o|u|p|4| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T| +0#0000000&|=+0#af5f00255&| +0#0000000&|5+0#e000002&|d| +0#0000000&@11|/+0#e000002&|b|i|n|/|m|o|r|e|,+0#e000e06&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T|=+0#af5f00255&|5+0#e000002&|D| +0#0000000&@3
@5|N+0#e000e06&|O|F|O|L@1|O|W|:| +0#0000000&|/+0#e000002&|b|i|n|/|l|e|s@1| +0#0000000&@50
|%+0#e000e06&|g|r|o|u|p|5| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T| +0#0000000&|=+0#af5f00255&| +0#0000000&|1+0#e000002&|D|2|h|3|M|4|s| +0#0000000&@5|/+0#e000002&|b|i|n|/|m|o|r|e|,+0#e000e06&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T|=+0#af5f00255&|1+0#e000002&|d|2|H|3|m
|4|S| +0#0000000&@2|N+0#e000e06&|O|F|O|L@1|O|W|:| +0#0000000&|/+0#e000002&|b|i|n|/|l|e|s@1| +0#0000000&@50
@75
|%+0#e000002&|#|1|0@2| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&@7|C+0#e000e06&|W|D|=+0#af5f00255&|/+0#e000002&|s|r|v| +0#0000000&@17|l+0#e000e06&|i|s|t| +0#0000000&@22
|%+0#e000002&|#|1|0@1|1| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&| +0#0000000&@3|)+0#e000e06&| +0#0000000&|C+0#e000e06&|W|D|=+0#af5f00255&|~+0#e000002&|r|o@1|t| +0#0000000&@16|l+0#e000e06&|i|s|t| +0#0000000&@22
|%+0#e000002&|#|1|0@1|2| +0#0000000&|n+0#e000002&|o|d|e|0| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|:|A|L@1|)| +0#0000000&|C+0#e000e06&|W|D|=+0#af5f00255&|*+0#e000002&| +0#0000000&@4|N+0#e000e06&|O|E|X|E|C| +0#0000000&|:+0#e000e06&| +0#0000000&@7|l+0#e000e06&|i|s|t| +0#0000000&@22
@75
|#+0#e000002&|6|5@1|3|5| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|)| +0#0000000&|N+0#e000e06&|O|E|X|E|C|:|N|O|F|O|L@1|O|W|:|N|O|L|O|G|_|I|N|P|U|T|:|N|O|M|A|I|L|:|N|O|I|N|T|E|R|C|E|P|T|:|N|O|P|A|S@1|W|D|:
|N|O|S|E|T|E|N|V|:| +0#0000000&|s+0#e000e06&|u|d|o|e|d|i|t| +0#0000000&@56
@57|3@1|,|1| @9|9|3|%|

View File

@@ -0,0 +1,20 @@
|#+0#e000002#ffffff0|6|5@1|3|5| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|)| +0#0000000&|N+0#e000e06&|O|E|X|E|C|:|N|O|F|O|L@1|O|W|:|N|O|L|O|G|_|I|N|P|U|T|:|N|O|M|A|I|L|:|N|O|I|N|T|E|R|C|E|P|T|:|N|O|P|A|S@1|W|D|:
|N|O|S|E|T|E|N|V|:| +0#0000000&|s+0#e000e06&|u|d|o|e|d|i|t| +0#0000000&@56
@75
>A+0#e000e06&|L@1| +0#0000000&|A+0#e000e06&|L@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|(+0#e000e06&|A|L@1|:|A|L@1|)| +0#0000000&|T+0#e000e06&|I|M|E|O|U|T|=+0#af5f00255&|1+0#e000002&|m| +0#0000000&|C+0#e000e06&|W|D|=+0#af5f00255&|*+0#e000002&| +0#0000000&|F+0#e000e06&|O|L@1|O|W| +0#0000000&|:+0#e000e06&| +0#0000000&|^+0#e000002&|/|b|i|n|/|[|e|f|]|?|g|r|e|p|$| +0#0000000&@12
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|4|3|,|1| @9|B|o|t|

View File

@@ -8,8 +8,8 @@
|e+0#af5f00255&|c|h|o| +0#0000000&|v+0#00e0e07&|:|l+0#0000000&|u|a| |v+0#00e0e07&|:|m+0#0000000&|s|g|p|a|c|k|_|t|y|p|e|s| |v+0#00e0e07&|:|r+0#0000000&|e|l|n|u|m| |v+0#00e0e07&|:|s+0#0000000&|t|d|e|r@1| |v+0#00e0e07&|:|t+0#0000000&|e|r|m|r|e|q|u|e|s|t| |v+0#00e0e07&|:|v+0#0000000&|i|r|t|n|u|m| @6
@75
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|c+0#0000000&|h|a|n@1|e|l| |&+0#00e0e07&|i+0#0000000&|n|c@1|o|m@1|a|n|d| |&+0#00e0e07&|m+0#0000000&|o|u|s|e|s|c|r|o|l@1| |&+0#00e0e07&|p+0#0000000&|u|m|b|l|e|n|d| |&+0#00e0e07&|r+0#0000000&|e|d|r|a|w|d|e|b|u|g| |&+0#00e0e07&|s+0#0000000&|c|r|o|l@1|b|a|c|k| @1
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t+0#0000000&|e|r|m|s|y|n|c| |&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| |&+0#00e0e07&|w+0#0000000&|i|n|h|i|g|h|l|i|g|h|t| @46
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t|e|r|m|s|y|n|c| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| @60
@75
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
@75

View File

@@ -1,6 +1,6 @@
|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|&+0#00e0e07&|c+0#0000000&|h|a|n@1|e|l| |&+0#00e0e07&|i+0#0000000&|n|c@1|o|m@1|a|n|d| |&+0#00e0e07&|m+0#0000000&|o|u|s|e|s|c|r|o|l@1| |&+0#00e0e07&|p+0#0000000&|u|m|b|l|e|n|d| |&+0#00e0e07&|r+0#0000000&|e|d|r|a|w|d|e|b|u|g| |&+0#00e0e07&|s+0#0000000&|c|r|o|l@1|b|a|c|k| @1
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t+0#0000000&|e|r|m|s|y|n|c| |&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| |&+0#00e0e07&|w+0#0000000&|i|n|h|i|g|h|l|i|g|h|t| @46
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t|e|r|m|s|y|n|c| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| |&+0#00e0e07&|w|i|n|h|i|g|h|l|i|g|h|t| +0#0000000&@46
> @74
|~+0#4040ff13&| @73
|~| @73

View File

@@ -1,4 +1,5 @@
>"+0#0000e05#ffffff0| |V|i|m| |:|s|y|n|t|a|x| |c|o|m@1|a|n|d| +0#0000000&@53
|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|G|r|o|u|p|L|i|s|t| |T|o|d|o| +0#0000000&@32
@75
@75
|"+0#0000e05&| |:|s|y|n|-|c|a|s|e| +0#0000000&@63
@@ -7,14 +8,13 @@
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|a|s|e| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&@57
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|a|s|e| +0#0000000&|i+0#00e0003&|g|n|o|r|e| +0#0000000&@56
@75
|"+0#0000e05&| |:|s|y|n| |c|l|e|a|r| +0#0000000&@62
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|@|t|e|s|t|C|l|u|s|t|e|r| @49
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|t|e|s|t|G|r|o|u|p| @52
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|@|t|e|s|t|C|l|u|s|t|e|r| |t|e|s|t|G|r|o|u|p| @39
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|t|e|s|t|G|r|o|u|p| |@|t|e|s|t|C|l|u|s|t|e|r| @39
@75
|"+0#0000e05&| |:|s|y|n|-|c|o|n|c|e|a|l| +0#0000000&@60
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|o|n|c|e|a|l| +0#0000000&@60
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|o|n|c|e|a|l| +0#0000000&|o+0#00e0003&|n| +0#0000000&@57
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|o|n|c|e|a|l| +0#0000000&|o+0#00e0003&|f@1| +0#0000000&@56
@75
|"+0#0000e05&| |:|s|y|n|-|f|o|l|d|l|e|v|e|l| +0#0000000&@58
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|f+0#00e0003&|o|l|d|l|e|v|e|l| +0#0000000&@58
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|f+0#00e0003&|o|l|d|l|e|v|e|l| +0#0000000&|s+0#00e0003&|t|a|r|t| +0#0000000&@52
@57|1|,|1| @10|T|o|p|

View File

@@ -1,20 +1,20 @@
|s+0#af5f00255#ffffff0|y|n|t|a|x| +0#0000000&|c+0#00e0003&|o|n|c|e|a|l| +0#0000000&|o+0#00e0003&|f@1| +0#0000000&@56
|s+0#af5f00255#ffffff0|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|t|e|s|t|G|r|o|u|p| @52
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|@|t|e|s|t|C|l|u|s|t|e|r| |t|e|s|t|G|r|o|u|p| @39
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|t|e|s|t|G|r|o|u|p| |@|t|e|s|t|C|l|u|s|t|e|r| @39
@75
|"+0#0000e05&| |:|s|y|n|-|c|o|n|c|e|a|l| +0#0000000&@60
> @74
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|o|n|c|e|a|l| +0#0000000&@60
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|o|n|c|e|a|l| +0#0000000&|o+0#00e0003&|n| +0#0000000&@57
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|o|n|c|e|a|l| +0#0000000&|o+0#00e0003&|f@1| +0#0000000&@56
@75
|"+0#0000e05&| |:|s|y|n|-|f|o|l|d|l|e|v|e|l| +0#0000000&@58
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|f+0#00e0003&|o|l|d|l|e|v|e|l| +0#0000000&@58
>s+0#af5f00255&|y|n|t|a|x| +0#0000000&|f+0#00e0003&|o|l|d|l|e|v|e|l| +0#0000000&|s+0#00e0003&|t|a|r|t| +0#0000000&@52
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|f+0#00e0003&|o|l|d|l|e|v|e|l| +0#0000000&|s+0#00e0003&|t|a|r|t| +0#0000000&@52
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|f+0#00e0003&|o|l|d|l|e|v|e|l| +0#0000000&|m+0#00e0003&|i|n|i|m|u|m| +0#0000000&@50
@75
|"+0#0000e05&| |:|s|y|n|-|i|s|k|e|y|w|o|r|d| +0#0000000&@58
|"+0#0000e05&| |:|s|y|n|-|i|n|c|l|u|d|e| +0#0000000&@60
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|i+0#00e0003&|s|k|e|y|w|o|r|d| +0#0000000&@58
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|i+0#00e0003&|s|k|e|y|w|o|r|d| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&@52
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|i+0#00e0003&|s|k|e|y|w|o|r|d| +0#0000000&|@+0#00e0003&|,+0#e000e06&|4+0#00e0003&|8|-|5|7|,+0#e000e06&|1+0#00e0003&|9|2|-|2|5@1|,+0#e000e06&|$+0#00e0003&|,+0#e000e06&|_+0#00e0003&| +0#0000000&@38
@75
|"+0#0000e05&| |:|s|y|n|-|l|i|s|t| +0#0000000&@63
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|l+0#00e0003&|i|s|t| +0#0000000&@63
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|l+0#00e0003&|i|s|t| +0#0000000&|F|o@1| @59
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|l+0#00e0003&|i|s|t| +0#0000000&|@|B|a|r| @58
@57|1|9|,|1| @10|5|%|
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|i+0#00e0003&|n|c|l|u|d|e| +0#0000000&|@|F|o@1| |<+0#00e0003&|s+0#0000000&|f|i|l|e|>+0#00e0003&|:+0#0000000&|p+0#af5f00255&|:+0#0000000&|h+0#af5f00255&|/+0#0000000&|f|o@1|.|v|i|m| @35
@57|1|9|,|0|-|1| @8|3|%|

View File

@@ -1,20 +1,20 @@
|s+0#af5f00255#ffffff0|y|n|t|a|x| +0#0000000&|l+0#00e0003&|i|s|t| +0#0000000&|@|B|a|r| @58
|s+0#af5f00255#ffffff0|y|n|t|a|x| +0#0000000&|i+0#00e0003&|n|c|l|u|d|e| +0#0000000&|@|F|o@1| |<+0#00e0003&|s+0#0000000&|f|i|l|e|>+0#00e0003&|:+0#0000000&|p+0#af5f00255&|:+0#0000000&|h+0#af5f00255&|/+0#0000000&|f|o@1|.|v|i|m| @35
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|i+0#00e0003&|n|c|l|u|d|e| +0#0000000&|<+0#00e0003&|s+0#0000000&|f|i|l|e|>+0#00e0003&|:+0#0000000&|p+0#af5f00255&|:+0#0000000&|h+0#af5f00255&|/+0#0000000&|f|o@1|.|v|i|m| @40
@75
|"+0#0000e05&| |:|s|y|n|-|i|s|k|e|y|w|o|r|d| +0#0000000&@58
@75
>s+0#af5f00255&|y|n|t|a|x| +0#0000000&|i+0#00e0003&|s|k|e|y|w|o|r|d| +0#0000000&@58
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|i+0#00e0003&|s|k|e|y|w|o|r|d| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&@52
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|i+0#00e0003&|s|k|e|y|w|o|r|d| +0#0000000&|@+0#00e0003&|,+0#e000e06&|4+0#00e0003&|8|-|5|7|,+0#e000e06&|1+0#00e0003&|9|2|-|2|5@1|,+0#e000e06&|$+0#00e0003&|,+0#e000e06&|_+0#00e0003&| +0#0000000&@38
@75
|"+0#0000e05&| |:|s|y|n|-|l|i|s|t| +0#0000000&@63
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|l+0#00e0003&|i|s|t| +0#0000000&@63
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|l+0#00e0003&|i|s|t| +0#0000000&|F|o@1| @59
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|l+0#00e0003&|i|s|t| +0#0000000&|@|B|a|r| @58
@75
|"+0#0000e05&| |:|s|y|n|-|s|p|e|l@1| +0#0000000&@62
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|p|e|l@1| +0#0000000&@62
>s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|p|e|l@1| +0#0000000&|t+0#00e0003&|o|p|l|e|v|e|l| +0#0000000&@53
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|p|e|l@1| +0#0000000&|n+0#00e0003&|o|t|o|p|l|e|v|e|l| +0#0000000&@51
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|p|e|l@1| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| +0#0000000&@54
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|c@1|o|m@1|e|n|t| +0#0000000&@54
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&@1|o|m@1|e|n|t| +0#0000000&@54
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&@1|o|m@1|e|n|t| +0#0000000&|F|o@1| @50
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&@1|o|m@1|e|n|t| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n
|"| +0#0000000&@73
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&@1|o|m@1|e|n|t| +0#0000000&|F|o@1| |m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t
@1|e|r|n|"| +0#0000000&@69
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|f|r|o|m|s|t|a|r|t| +0#0000000&@53
@57|3|7|,|1| @9|1|2|%|
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|p|e|l@1| +0#0000000&|t+0#00e0003&|o|p|l|e|v|e|l| +0#0000000&@53
@57|3|7|,|1| @10|8|%|

View File

@@ -1,20 +1,20 @@
|"+0#0000e05#ffffff0| |:|s|y|n|-|s|y|n|c|-|f|r|o|m|s|t|a|r|t| +0#0000000&@53
|s+0#af5f00255#ffffff0|y|n|t|a|x| +0#0000000&|s+0#00e0003&|p|e|l@1| +0#0000000&|t+0#00e0003&|o|p|l|e|v|e|l| +0#0000000&@53
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|p|e|l@1| +0#0000000&|n+0#00e0003&|o|t|o|p|l|e|v|e|l| +0#0000000&@51
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|p|e|l@1| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| +0#0000000&@54
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|c@1|o|m@1|e|n|t| +0#0000000&@54
> @74
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&@1|o|m@1|e|n|t| +0#0000000&@54
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&@1|o|m@1|e|n|t| +0#0000000&|F|o@1| @50
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&@1|o|m@1|e|n|t| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n
|"| +0#0000000&@73
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&@1|o|m@1|e|n|t| +0#0000000&|F|o@1| |m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t
@1|e|r|n|"| +0#0000000&@69
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|f|r|o|m|s|t|a|r|t| +0#0000000&@53
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|f+0#00e0003&|r|o|m|s|t|a|r|t| +0#0000000&@53
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|f+0#00e0003&|r|o|m|s|t|a|r|t| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r
|n|"| +0#0000000&@72
> @74
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|l|i|n|e|b|r|e|a|k|s| +0#0000000&@52
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&@50
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@7
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|l|i|n|e|c|o|n|t| +0#0000000&@54
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@44
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&@7
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|(|m|i|n|||m|a|x|)|l|i|n|e|s| +0#0000000&@48
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&@39
@57|5|2|,|0|-|1| @7|1|8|%|
@57|5@1|,|0|-|1| @7|1|3|%|

View File

@@ -1,20 +1,20 @@
|s+0#af5f00255#ffffff0|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&@39
| +0&#ffffff0@74
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|l|i|n|e|b|r|e|a|k|s| +0#0000000&@52
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&@50
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@7
> @74
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|l|i|n|e|c|o|n|t| +0#0000000&@54
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@44
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&@7
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|(|m|i|n|||m|a|x|)|l|i|n|e|s| +0#0000000&@48
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&@39
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|i|n|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|m+0#00e0003&|a|x|l|i|n|e|s|=|4+0#e000002&|2| +0#0000000&|l+0#00e0003&|i|n|e|b|r|e|a|k|s|=|1+0#e000002&| +0#0000000&|l+0#00e0003&|i|n|e|c|o|n|t| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@7
|"+0#0000e05&| |o|b|s|o|l|e|t|e| +0#0000000&@64
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|l+0#00e0003&|i|n|e|s|=|4+0#e000002&|2| +0#0000000&@54
@75
>"+0#0000e05&| |:|s|y|n|-|s|y|n|c| |s|y|n|c| |p|a|t@1|e|r|n|s| +0#0000000&@49
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|S|y|n|c|M|a|t|c|h| |g+0#00e0003&|r|o|u|p|h|e|r|e| +0#0000000&@1|t|e|s|t|F|o@1| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@14
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|S|y|n|c|M|a|t|c|h| |g+0#00e0003&|r|o|u|p|t|h|e|r|e| +0#0000000&|t|e|s|t|B|a|r| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@14
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|S|y|n|c|M|a|t|c|h| |g+0#00e0003&|r|o|u|p|h|e|r|e| +0#0000000&@1|N|O|N|E| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@17
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|S|y|n|c|M|a|t|c|h| |g+0#00e0003&|r|o|u|p|t|h|e|r|e| +0#0000000&|N|O|N|E| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@17
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c| |s|k|i|p| |g|r|o|u|p|s| +0#0000000&@51
@75
|s+0#af5f00255&|y|n| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|M|a|t|c|h| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@40
|s+0#af5f00255&|y|n| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t|e|s|t|R|e|g|i|o|n| |s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|-|p|a|t@1|e|r|n|"| +0#0000000&|s+0#00e0003&|k|i|p|=|"+0#e000002&|s|k|i|p|-|p|a|t@1|e|r|n|"| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|e
|n|d|-|p|a|t@1|e|r|n|"| +0#0000000&@63
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|c|l|e|a|r| +0#0000000&@57
@57|7|0|,|1| @9|2|5|%|
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c| |s|y|n|c| |p|a|t@1|e|r|n|s| +0#0000000&@49
@57|7|0|,|0|-|1| @7|1|7|%|

View File

@@ -1,20 +1,20 @@
|"+0#0000e05#ffffff0| |:|s|y|n|-|s|y|n|c|-|c|l|e|a|r| +0#0000000&@57
|"+0#0000e05#ffffff0| |:|s|y|n|-|s|y|n|c| |s|y|n|c| |p|a|t@1|e|r|n|s| +0#0000000&@49
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|S|y|n|c|M|a|t|c|h| |g+0#00e0003&|r|o|u|p|h|e|r|e| +0#0000000&@1|t|e|s|t|F|o@1| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@14
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|S|y|n|c|M|a|t|c|h| |g+0#00e0003&|r|o|u|p|t|h|e|r|e| +0#0000000&|t|e|s|t|B|a|r| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@14
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|S|y|n|c|M|a|t|c|h| |g+0#00e0003&|r|o|u|p|h|e|r|e| +0#0000000&@1|N|O|N|E| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@17
>s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|S|y|n|c|M|a|t|c|h| |g+0#00e0003&|r|o|u|p|t|h|e|r|e| +0#0000000&|N|O|N|E| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@17
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c| |s|k|i|p| |g|r|o|u|p|s| +0#0000000&@51
@75
|s+0#af5f00255&|y|n| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|M|a|t|c|h| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@40
|s+0#af5f00255&|y|n| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t|e|s|t|R|e|g|i|o|n| |s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|-|p|a|t@1|e|r|n|"| +0#0000000&|s+0#00e0003&|k|i|p|=|"+0#e000002&|s|k|i|p|-|p|a|t@1|e|r|n|"| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|e
|n|d|-|p|a|t@1|e|r|n|"| +0#0000000&@63
@75
|"+0#0000e05&| |:|s|y|n|-|s|y|n|c|-|c|l|e|a|r| +0#0000000&@57
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&@57
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|s+0#00e0003&|y|n|c| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|F|o@1| @53
@75
>"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t|s| |a|r|e| |n|o|t| |e|x|p|l|i|c|i|t|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |:|s|y|n|t|a|x|,| |s|e@1| |:|h|e|l|p| |:|c|o|m@1|e|n|t
|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|M|a|t|c|h| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@20
|"+0#0000e05&| +0#0000000&|N+0#e000e06&|O|T|E|:| +0#0000e05&|c|o|m@1|e|n|t|s| |n|o|t| |c|u|r@1|e|n|t|l|y| |s|u|p@1|o|r|t|e|d| +0#0000000&@34
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|K|e|y|w|o|r|d| |k|e|y|w|o|r|d| |c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"| |t|a|i|l| |c|o|m@1|e|n|t| @18
|s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t|e|s|t|R|e|g|i|o|n| |s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|-|p|a|t@1|e|r|n|"| +0#0000000&|s+0#00e0003&|k|i|p|=|"+0#e000002&|s|k|i|p|-|p|a|t@1|e|r|n|"| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|e|n|d|-|p|a
|t@1|e|r|n|"| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"| |t|a|i|l| |c|o|m@1|e|n|t| @43
@75
|"+0#0000e05&| |M|u|l|t|i|l|i|n|e| |c|o|m@1|a|n|d|s| +0#0000000&@54
@75
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|K|e|y|w|o|r|d| @51
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@6|"+0#0000e05&|\| |c|o|n|c|e|a|l| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
@6|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
@57|8|7|,|1| @9|3|2|%|
|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t|s| |a|r|e| |n|o|t| |e|x|p|l|i|c|i|t|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |:|s|y|n|t|a|x|,| |s|e@1| |:|h|e|l|p| |:|c|o|m@1|e|n|t
| +0#0000000&@56|8@1|,|1| @9|2@1|%|

View File

@@ -1,20 +1,20 @@
| +0&#ffffff0@5|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
|"+0#0000e05#ffffff0| |t|a|i|l| |c|o|m@1|e|n|t|s| |a|r|e| |n|o|t| |e|x|p|l|i|c|i|t|l|y| |s|u|p@1|o|r|t|e|d| |b|y| |:|s|y|n|t|a|x|,| |s|e@1| |:|h|e|l|p| |:|c|o|m@1|e|n|t
|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|M|a|t|c|h| |"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@20
|"+0#0000e05&| +0#0000000&|N+0#e000e06&|O|T|E|:| +0#0000e05&|c|o|m@1|e|n|t|s| |n|o|t| |c|u|r@1|e|n|t|l|y| |s|u|p@1|o|r|t|e|d| +0#0000000&@34
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|K|e|y|w|o|r|d| |k|e|y|w|o|r|d| |c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"| |t|a|i|l| |c|o|m@1|e|n|t| @18
|s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t|e|s|t|R|e|g|i|o|n| |s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|-|p|a|t@1|e|r|n|"| +0#0000000&|s+0#00e0003&|k|i|p|=|"+0#e000002&|s|k|i|p|-|p|a|t@1|e|r|n|"| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|e|n|d|-|p|a
|t@1|e|r|n|"| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"| |t|a|i|l| |c|o|m@1|e|n|t| @43
> @74
|"+0#0000e05&| |M|u|l|t|i|l|i|n|e| |c|o|m@1|a|n|d|s| +0#0000000&@54
@75
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|K|e|y|w|o|r|d| @51
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@6|"+0#0000e05&|\| |c|o|n|c|e|a|l| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
@6|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&@1|h|a|r|=|&+0#e000002&| +0#0000000&@59
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d|i|n| |o|p|t|i|o|n| +0#0000000&@47
@6>\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|r| @41
@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000000&|e|s|t|N|e|x|t|0|,|@|t|e|s|t|C|l|u|s|t|e|r| @34
@6|"+0#0000e05&|\| |t|r|a|n|s|p|a|r|e|n|t| |o|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
@6|"+0#0000e05&|\| |s|k|i|p|w|h|i|t|e| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|n|l| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
@6|"+0#0000e05&|\| |K|E|Y|W|O|R|D|S| |L|I|S|T| +0#0000000&@52
@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |1| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|1| @58
@57|1|0|4|,|7| @8|3|8|%|
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000001#ffff4012|e|s|t|C|o|n|t|a|i|n|e|r| +0#0000000#ffffff0@41
@57|1|0|5|,|0|-|1| @6|2|7|%|

View File

@@ -1,20 +1,20 @@
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|1| @58
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000001#ffff4012|e|s|t|C|o|n|t|a|i|n|e|r| +0#0000000#ffffff0@41
@6|"+0#0000e05&|\| +0#0000000&|n+0#0000e05&|e|x|t|g|r|o|u|p| +0#0000000&|o+0#0000e05&|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000001#ffff4012|e|s|t|N|e|x|t|0|,|@|t|e|s|t|C|l|u|s|t|e|r| +0#0000000#ffffff0@34
@6|"+0#0000e05&|\| +0#0000000&|t+0#0000e05&|r|a|n|s|p|a|r|e|n|t| +0#0000000&|o+0#0000e05&|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
@6>"+0#0000e05&|\| |s|k|i|p|w|h|i|t|e| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|n|l| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
@6|"+0#0000e05&|\| |K|E|Y|W|O|R|D|S| |L|I|S|T| +0#0000000&@52
@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |1| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|1| @58
@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |2| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|2| @58
@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |3| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|3| @58
> @74
|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|M|a|t|c|h| @55
@6|"+0#0000e05&|\| |M|A|T|C|H| |P|A|T@1|E|R|N| +0#0000000&@52
@6|"+0#0000e05&|\| |p|a|t@1|e|r|n| |s|t|a|r|t| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|/+0#e000002&| +0#0000000&@65
| +0#e000002&@5|"+0#0000e05&|\| |p|a|r|t| |1| |d|e|s|c|r|i|p|t|i|o|n| +0#0000000&@47
| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|1|a| |.|*| |p|a|t|1|b| +0#0000000&@53
| +0#e000002&@5|"+0#0000e05&|\| |p|a|r|t| |2| |d|e|s|c|r|i|p|t|i|o|n| +0#0000000&@47
| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|2|a| |.|*| |p|a|t|2|b| +0#0000000&@53
| +0#e000002&@5|"+0#0000e05&|\| |p|a|r|t| |3| |d|e|s|c|r|i|p|t|i|o|n| +0#0000000&@47
| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|3|a| |.|*| |p|a|t|3|b| +0#0000000&@53
| +0#e000002&@5|"+0#0000e05&|\| |p|a|t@1|e|r|n| |e|n|d| +0#0000000&@54
| +0#e000002&@5|\+0#e000e06&|/+0#e000002&| +0#0000000&@66
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@57|1|2@1|,|0|-|1| @6|4|6|%|
@75
@57|1|2@1|,|7| @8|3|2|%|

View File

@@ -1,20 +1,20 @@
| +0&#ffffff0@5|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
| +0&#ffffff0@74
|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t|e|s|t|M|a|t|c|h| @55
@6|"+0#0000e05&|\| |M|A|T|C|H| |P|A|T@1|E|R|N| +0#0000000&@52
@6|"+0#0000e05&|\| |p|a|t@1|e|r|n| |s|t|a|r|t| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|/+0#e000002&| +0#0000000&@65
| +0#e000002&@5>"+0#0000e05&|\| |p|a|r|t| |1| |d|e|s|c|r|i|p|t|i|o|n| +0#0000000&@47
| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|1|a| |.|*| |p|a|t|1|b| +0#0000000&@53
| +0#e000002&@5|"+0#0000e05&|\| |p|a|r|t| |2| |d|e|s|c|r|i|p|t|i|o|n| +0#0000000&@47
| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|2|a| |.|*| |p|a|t|2|b| +0#0000000&@53
| +0#e000002&@5|"+0#0000e05&|\| |p|a|r|t| |3| |d|e|s|c|r|i|p|t|i|o|n| +0#0000000&@47
| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|3|a| |.|*| |p|a|t|3|b| +0#0000000&@53
| +0#e000002&@5|"+0#0000e05&|\| |p|a|t@1|e|r|n| |e|n|d| +0#0000000&@54
| +0#e000002&@5|\+0#e000e06&|/+0#e000002&| +0#0000000&@66
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@6|"+0#0000e05&|\| |c|o|n|c|e|a|l| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
@6|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&@1|h|a|r|=|&+0#e000002&| +0#0000000&@59
@6>"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d|i|n| |o|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|r| @41
@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000000&|e|s|t|N|e|x|t|0|,|@|t|e|s|t|C|l|u|s|t|e|r| @34
@6|"+0#0000e05&|\| |t|r|a|n|s|p|a|r|e|n|t| |o|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
@6|"+0#0000e05&|\| |s|k|i|p|w|h|i|t|e| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|n|l| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
@57|1|4|0|,|7| @8|5|3|%|
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
@57|1|4|0|,|7| @8|3|7|%|

View File

@@ -1,20 +1,20 @@
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
| +0&#ffffff0@5|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d|i|n| |o|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000001#ffff4012|e|s|t|C|o|n|t|a|i|n|e|r| +0#0000000#ffffff0@41
@6|"+0#0000e05&|\| +0#0000000&|n+0#0000e05&|e|x|t|g|r|o|u|p| +0#0000000&|o+0#0000e05&|p|t|i|o|n| +0#0000000&@49
@6>\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000001#ffff4012|e|s|t|N|e|x|t|0|,|@|t|e|s|t|C|l|u|s|t|e|r| +0#0000000#ffffff0@34
@6|"+0#0000e05&|\| +0#0000000&|t+0#0000e05&|r|a|n|s|p|a|r|e|n|t| +0#0000000&|o+0#0000e05&|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
@6|"+0#0000e05&|\| |s|k|i|p|w|h|i|t|e| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|n|l| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|s| |o|p|t|i|o|n| +0#0000000&@50
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2| @28
@6|"+0#0000e05&|\| |f|o|l|d| |o|p|t|i|o|n| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000001#ffff4012|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2| +0#0000000#ffffff0@28
@6|"+0#0000e05&|\| +0#0000000&|f+0#0000e05&|o|l|d| +0#0000000&|o+0#0000e05&|p|t|i|o|n| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|f+0#e000e06&|o|l|d| +0#0000000&@62
@6>"+0#0000e05&|\| |d|i|s|p|l|a|y| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|d+0#e000e06&|i|s|p|l|a|y| +0#0000000&@59
@6|"+0#0000e05&|\| |e|x|t|e|n|d| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|t|e|n|d| +0#0000000&@60
@6|"+0#0000e05&|\| |e|x|c|l|u|d|e|n|l| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|c|l|u|d|e|n|l| +0#0000000&@57
@6|"+0#0000e05&|\| |k|e@1|p|e|n|d| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|k+0#e000e06&|e@1|p|e|n|d| +0#0000000&@59
@75
|s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t|e|s|t|R|e|g|i|o|n| @53
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@6|"+0#0000e05&|\| |s|t|a|r|t| |o|p|t|i|o|n| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|-|p|a|t@1|e|r|n|"| +0#0000000&@45
@6|"+0#0000e05&|\| |s|k|i|p| |o|p|t|i|o|n| +0#0000000&@54
@57|1|5|8|,|7| @8|6|0|%|
@6|"+0#0000e05&|\| |d|i|s|p|l|a|y| |o|p|t|i|o|n| +0#0000000&@51
@57|1|5|8|,|7| @8|4|2|%|

View File

@@ -1,20 +1,20 @@
| +0&#ffffff0@5|"+0#0000e05&|\| |s|k|i|p| |o|p|t|i|o|n| +0#0000000&@54
| +0&#ffffff0@5|"+0#0000e05&|\| |d|i|s|p|l|a|y| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|d+0#e000e06&|i|s|p|l|a|y| +0#0000000&@59
@6|"+0#0000e05&|\| |e|x|t|e|n|d| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|t|e|n|d| +0#0000000&@60
@6|"+0#0000e05&|\| |e|x|c|l|u|d|e|n|l| |o|p|t|i|o|n| +0#0000000&@49
@6>\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|c|l|u|d|e|n|l| +0#0000000&@57
@6|"+0#0000e05&|\| |k|e@1|p|e|n|d| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|k+0#e000e06&|e@1|p|e|n|d| +0#0000000&@59
@75
|s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t|e|s|t|R|e|g|i|o|n| @53
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@6|"+0#0000e05&|\| |s|t|a|r|t| |o|p|t|i|o|n| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|-|p|a|t@1|e|r|n|"| +0#0000000&@45
@6|"+0#0000e05&|\| |s|k|i|p| |o|p|t|i|o|n| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|s+0#00e0003&|k|i|p|=|"+0#e000002&|s|k|i|p|-|p|a|t@1|e|r|n|"| +0#0000000&@47
@6|"+0#0000e05&|\| |e|n|d| |o|p|t|i|o|n| +0#0000000&@55
@6|\+0#e000e06&| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|e|n|d|-|p|a|t@1|e|r|n|"| +0#0000000&@49
@6|"+0#0000e05&|\| |c|o|n|c|e|a|l| |o|p|t|i|o|n| +0#0000000&@51
@6>\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
@6|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&@1|h|a|r|=|&+0#e000002&| +0#0000000&@59
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d|i|n| |o|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|r| @41
@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000000&|e|s|t|N|e|x|t|0|,|@|t|e|s|t|C|l|u|s|t|e|r| @34
@6|"+0#0000e05&|\| |t|r|a|n|s|p|a|r|e|n|t| |o|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
@6|"+0#0000e05&|\| |s|k|i|p|w|h|i|t|e| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
@57|1|7|6|,|7| @8|6|7|%|
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
@57|1|7|6|,|7| @8|4|7|%|

View File

@@ -1,20 +1,20 @@
| +0&#ffffff0@5|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
@6|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&@1|h|a|r|=|&+0#e000002&| +0#0000000&@59
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
@6>"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d|i|n| |o|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000001#ffff4012|e|s|t|C|o|n|t|a|i|n|e|r| +0#0000000#ffffff0@41
@6|"+0#0000e05&|\| +0#0000000&|n+0#0000e05&|e|x|t|g|r|o|u|p| +0#0000000&|o+0#0000e05&|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000001#ffff4012|e|s|t|N|e|x|t|0|,|@|t|e|s|t|C|l|u|s|t|e|r| +0#0000000#ffffff0@34
@6|"+0#0000e05&|\| +0#0000000&|t+0#0000e05&|r|a|n|s|p|a|r|e|n|t| +0#0000000&|o+0#0000e05&|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
@6|"+0#0000e05&|\| |s|k|i|p|w|h|i|t|e| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
@6|"+0#0000e05&|\| |s|k|i|p|n|l| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|s| |o|p|t|i|o|n| +0#0000000&@50
@6>\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2| @28
@6|"+0#0000e05&|\| |o|n|e|l|i|n|e| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|o+0#e000e06&|n|e|l|i|n|e| +0#0000000&@59
@6|"+0#0000e05&|\| |f|o|l|d| |o|p|t|i|o|n| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|f+0#e000e06&|o|l|d| +0#0000000&@62
@6|"+0#0000e05&|\| |d|i|s|p|l|a|y| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|d+0#e000e06&|i|s|p|l|a|y| +0#0000000&@59
@6|"+0#0000e05&|\| |e|x|t|e|n|d| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|t|e|n|d| +0#0000000&@60
@6|"+0#0000e05&|\| |c|o|n|c|e|a|l|e|n|d|s| |o|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l|e|n|d|s| +0#0000000&@55
@6|"+0#0000e05&|\| |e|x|c|l|u|d|e|n|l| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|c|l|u|d|e|n|l| +0#0000000&@57
@6|"+0#0000e05&|\| |k|e@1|p|e|n|d| |o|p|t|i|o|n| +0#0000000&@51
@57|1|9|4|,|7| @8|7|4|%|
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000001#ffff4012|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2| +0#0000000#ffffff0@28
@57|1|9|4|,|7| @8|5|2|%|

View File

@@ -1,20 +1,20 @@
| +0&#ffffff0@5|"+0#0000e05&|\| |k|e@1|p|e|n|d| |o|p|t|i|o|n| +0#0000000&@51
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000001#ffff4012|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2| +0#0000000#ffffff0@28
@6|"+0#0000e05&|\| +0#0000000&|o+0#0000e05&|n|e|l|i|n|e| +0#0000000&|o+0#0000e05&|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|o+0#e000e06&|n|e|l|i|n|e| +0#0000000&@59
@6|"+0#0000e05&|\| |f|o|l|d| |o|p|t|i|o|n| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|f+0#e000e06&|o|l|d| +0#0000000&@62
@6>"+0#0000e05&|\| |d|i|s|p|l|a|y| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|d+0#e000e06&|i|s|p|l|a|y| +0#0000000&@59
@6|"+0#0000e05&|\| |e|x|t|e|n|d| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|t|e|n|d| +0#0000000&@60
@6|"+0#0000e05&|\| |c|o|n|c|e|a|l|e|n|d|s| |o|p|t|i|o|n| +0#0000000&@47
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l|e|n|d|s| +0#0000000&@55
@6|"+0#0000e05&|\| |e|x|c|l|u|d|e|n|l| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|c|l|u|d|e|n|l| +0#0000000&@57
@6|"+0#0000e05&|\| |k|e@1|p|e|n|d| |o|p|t|i|o|n| +0#0000000&@51
@6|\+0#e000e06&| +0#0000000&|k+0#e000e06&|e@1|p|e|n|d| +0#0000000&@59
@75
|s+0#af5f00255&|y|n| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t|e|s|t|C|l|u|s|t|e|r| @51
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@6>"+0#0000e05&|\| |c|o|n|t|a|i|n|s| |o|p|t|i|o|n| +0#0000000&@50
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2|,|t|e|s|t|C|o|n|t|a|i|n|e|d|3| @13
@75
|s+0#af5f00255&|y|n| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t|e|s|t|C|l|u|s|t|e|r| @51
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@6|"+0#0000e05&|\| |a|d@1| |o|p|t|i|o|n| +0#0000000&@55
@6|\+0#e000e06&| +0#0000000&|a+0#e000e06&|d@1|=|t+0#0000000&|e|s|t|A|d@1| @55
@6|"+0#0000e05&|\| |r|e|m|o|v|e| |o|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|r+0#e000e06&|e|m|o|v|e|=|t+0#0000000&|e|s|t|R|e|m|o|v|e| @49
@75
@75
|"+0#0000e05&| |m|u|l|t|i|l|i|n|e| |g|r|o|u|p| |l|i|s|t| +0#0000000&@52
@75
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|0| |k|e|y|w|o|r|d| @45
@57|2|1|2|,|7| @8|8|1|%|
@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|s| |o|p|t|i|o|n| +0#0000000&@50
@57|2|1|2|,|7| @8|5|7|%|

View File

@@ -1,20 +1,20 @@
|s+0#af5f00255#ffffff0|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|0| |k|e|y|w|o|r|d| @45
| +0&#ffffff0@5|"+0#0000e05&|\| |c|o|n|t|a|i|n|s| |o|p|t|i|o|n| +0#0000000&@50
@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000001#ffff4012|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2|,|t|e|s|t|C|o|n|t|a|i|n|e|d|3| +0#0000000#ffffff0@13
@75
|s+0#af5f00255&|y|n| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t|e|s|t|C|l|u|s|t|e|r| @51
@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
@6>"+0#0000e05&|\| |a|d@1| |o|p|t|i|o|n| +0#0000000&@55
@6|\+0#e000e06&| +0#0000000&|a+0#e000e06&|d@1|=|t+0#0000001#ffff4012|e|s|t|A|d@1| +0#0000000#ffffff0@55
@6|"+0#0000e05&|\| +0#0000000&|r+0#0000e05&|e|m|o|v|e| +0#0000000&|o+0#0000e05&|p|t|i|o|n| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|r+0#e000e06&|e|m|o|v|e|=|t+0#0000001#ffff4012|e|s|t|R|e|m|o|v|e| +0#0000000#ffffff0@49
@75
@75
|"+0#0000e05&| |m|u|l|t|i|l|i|n|e| |g|r|o|u|p| |l|i|s|t| +0#0000000&@52
@75
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|0| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|1| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|2| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|3| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|4| |k|e|y|w|o|r|d| @45
>s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|5| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|6| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|7| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|8| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|9| |k|e|y|w|o|r|d| @45
@75
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|K|e|y|w|o|r|d| @51
@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=| +0#0000000&@56
@6|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t|0| |,| |t|e|s|t|N|e|x|t|1| |,| @43
@6|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t|[|2|-|8|]|.|*| |,| @49
@6|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
@57|2|3|0|,|1| @8|8@1|%|
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|5| |k|e|y|w|o|r|d| @45
@57|2|3|0|,|7| @8|6|2|%|

View File

@@ -1,20 +1,20 @@
| +0&#ffffff0@5|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t|9| |,| |@|t|e|s|t|C|l|u|s|t|e|r| |s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@32
|s+0#af5f00255#ffffff0|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|5| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|6| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|7| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|8| |k|e|y|w|o|r|d| @45
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|N|e|x|t|9| |k|e|y|w|o|r|d| @45
> @74
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|K|e|y|w|o|r|d| @51
@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=| +0#0000000&@56
@6|"+0#0000e05&|\| +0#0000000&|a+0#0000e05&| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|s|t|N|e|x|t|0| +0#0000000#ffffff0|,| |t+0#0000001#ffff4012|e|s|t|N|e|x|t|1| +0#0000000#ffffff0|,| @43
@6|"+0#0000e05&|\| +0#0000000&|a+0#0000e05&| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|s|t|N|e|x|t|[|2|-|8|]|.|*| +0#0000000#ffffff0|,| @49
@6|"+0#0000e05&|\| +0#0000000&|a+0#0000e05&| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|s|t|N|e|x|t|9| +0#0000000#ffffff0|,| |@+0#0000001#ffff4012|t|e|s|t|C|l|u|s|t|e|r| +0#0000000#ffffff0|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@32
@6|"+0#0000e05&|\| |K|E|Y|W|O|R|D|S| |L|I|S|T| +0#0000000&@52
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|4| @58
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|5| @58
@6>\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|6| @58
@75
@75
|"+0#0000e05&| |l|e|a|k|i|n|g| |c|o|n|t|a|i|n|e|d| |g|r|o|u|p|s| +0#0000000&@48
@75
|"+0#0000e05&| +0#0000000&|E+0#e000e06&|x|a|m|p|l|e|:| +0#0000e05&|r|u|n|t|i|m|e|/|s|y|n|t|a|x|/|z|s|h|.|v|i|m| +0#0000000&@41
|"+0#0000e05&| @2|"+0#e000002&|c|l|u|s|t|e|r|"| +0#0000e05&|s|h|o|u|l|d| |n|o|t| |b|e| |h|i|g|h|l|i|g|h|t|e|d| |o|u|t|s|i|d|e| |o|f| |:|s|y|n|t|a|x| |c|o|m@1|a|n|d|s| +0#0000000&@7
@75
|f+0#af5f00255&|u|n|c|t|i|o|n|!| +0#0000000&|s+0#e000e06&|:|C+0#0000000&|o|n|t|a|i|n|e|d|G|r|o|u|p|(+0#e000e06&|)| +0#0000000&@46
@2|"+0#0000e05&| |.@2| +0#0000000&@67
@2|f+0#af5f00255&|o|r| +0#0000000&|c+0#00e0e07&|l|u|s|t|e|r| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|[+0#e000e06&|'+0#e000002&|m|a|r|k|d|o|w|n|H|i|g|h|l|i|g|h|t|_|z|s|h|'|,+0#0000000&| |'+0#e000002&|z|s|h|'|]+0#e000e06&| +0#0000000&@25
@4|"+0#0000e05&| |.@2| +0#0000000&@65
@2|e+0#af5f00255&|n|d|f|o|r| +0#0000000&@66
@2|"+0#0000e05&| |.@2| +0#0000000&@67
@57|2|4|8|,|7| @8|9|6|%|
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|6| @58
@57|2|4|8|,|0|-|1| @6|6|7|%|

View File

@@ -1,20 +1,20 @@
| +0&#ffffff0@1|"+0#0000e05&| |.@2| +0#0000000&@67
|e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|6| @58
@75
|"+0#0000e05&| |e|a|r|l|y| |t|e|r|m|i|n|a|t|i|o|n| |o|f| |v|i|m|S|y|n|R|e|g|i|o|n| +0#0000000&@39
@75
>s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t|e|s|t|R|e|g|i|o|n| @53
@6|"+0#0000e05&|\| ||| |d|o|e|s| |n|o|t| |e|n|d| |t|h|e| |a|r|g|s| |r|e|g|i|o|n| +0#0000000&@35
@6|"+0#0000e05&|\| |s|t|a|r|t|=|"|f|o@1|\|||b|a|r|"| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|"| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|e|n|d|"| +0#0000000&@57
@75
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|2|6@1|,|1| @8|B|o|t|
|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t|e|s|t|K|e|y|w|o|r|d| @51
@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=| +0#0000000&|t+0#0000001#ffff4012|e|s|t|N|e|x|t|0|,+0#0000000#ffffff0| @45
@6>"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|,| |t+0#0000001#ffff4012|e|s|t|N|e|x|t|1| +0#0000000#ffffff0@55
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&|,+0#0000000&| |t+0#0000001#ffff4012|e|s|t|N|e|x|t|2| +0#0000000#ffffff0@56
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|e|x|t|N|e|x|t|3| +0#0000000#ffffff0@56
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&|,+0#0000001#ffff4012|t|e|x|t|N|e|x|t|4| +0#0000000#ffffff0@57
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|,| |t+0#0000001#ffff4012|e|x|t|N|e|x|t|5| +0#0000000#ffffff0|,| @53
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|6|,+0#0000000#ffffff0| @56
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|7| +0#0000000#ffffff0|,| @55
@57|2|6@1|,|7| @8|7|2|%|

View File

@@ -0,0 +1,20 @@
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|7| +0#0000000#ffffff0|,| @55
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|8|,+0#0000000#ffffff0| @57
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|9| +0#0000000#ffffff0|,| @56
@6>"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|1|0| +0#0000000#ffffff0@56
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|e|x|t|N|e|x|t|1@1|,+0#0000000#ffffff0| @54
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|1|2|,|t|e|x|t|N|e|x|t|1|3|,+0#0000000#ffffff0| @44
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|1|3|,|t|e|x|t|N|e|x|t|1|4| +0#0000000#ffffff0@45
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|e|x|t|N|e|x|t|1|5|,|t|e|x|t|N|e|x|t|1|6| +0#0000000#ffffff0@44
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|,| |t+0#0000001#ffff4012|e|x|t|N|e|x|t|1|7| +0#0000000#ffffff0|,| |t+0#0000001#ffff4012|e|x|t|N|e|x|t|1|8| +0#0000000#ffffff0|,| @39
@6|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|1|9|,+0#0000000#ffffff0| |@+0#0000001#ffff4012|t|e|s|t|C|l|u|s|t|e|r| +0#0000000#ffffff0@42
@57|2|8|4|,|7| @8|7@1|%|

View File

@@ -0,0 +1,20 @@
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|t+0#0000001#ffff4012|e|x|t|N|e|x|t|1|9|,+0#0000000#ffffff0| |@+0#0000001#ffff4012|t|e|s|t|C|l|u|s|t|e|r| +0#0000000#ffffff0@42
@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
@6|"+0#0000e05&|\| |K|E|Y|W|O|R|D|S| |L|I|S|T| +0#0000000&@52
@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |1| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|1| @58
@6>"+0#0000e05&|\| |k|e|y|w|o|r|d| |2| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|2| @58
@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |3| +0#0000000&@56
@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|3| @58
@75
@75
|"+0#0000e05&| |l|e|a|k|i|n|g| |c|o|n|t|a|i|n|e|d| |g|r|o|u|p|s| +0#0000000&@48
@75
|"+0#0000e05&| +0#0000000&|E+0#e000e06&|x|a|m|p|l|e|:| +0#0000e05&|r|u|n|t|i|m|e|/|s|y|n|t|a|x|/|z|s|h|.|v|i|m| +0#0000000&@41
|"+0#0000e05&| @2|"+0#e000002&|c|l|u|s|t|e|r|"| +0#0000e05&|s|h|o|u|l|d| |n|o|t| |b|e| |h|i|g|h|l|i|g|h|t|e|d| |o|u|t|s|i|d|e| |o|f| |:|s|y|n|t|a|x| |c|o|m@1|a|n|d|s| +0#0000000&@7
@75
|f+0#af5f00255&|u|n|c|t|i|o|n|!| +0#0000000&|s+0#e000e06&|:|C+0#0000000&|o|n|t|a|i|n|e|d|G|r|o|u|p|(+0#e000e06&|)| +0#0000000&@46
@2|"+0#0000e05&| |.@2| +0#0000000&@67
@2|f+0#af5f00255&|o|r| +0#0000000&|c+0#00e0e07&|l|u|s|t|e|r| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|[+0#e000e06&|'+0#e000002&|m|a|r|k|d|o|w|n|H|i|g|h|l|i|g|h|t|_|z|s|h|'|,+0#0000000&| |'+0#e000002&|z|s|h|'|]+0#e000e06&| +0#0000000&@25
@57|3|0|2|,|7| @8|8|2|%|

View File

@@ -0,0 +1,20 @@
| +0&#ffffff0@1|f+0#af5f00255&|o|r| +0#0000000&|c+0#00e0e07&|l|u|s|t|e|r| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|[+0#e000e06&|'+0#e000002&|m|a|r|k|d|o|w|n|H|i|g|h|l|i|g|h|t|_|z|s|h|'|,+0#0000000&| |'+0#e000002&|z|s|h|'|]+0#e000e06&| +0#0000000&@25
@4|"+0#0000e05&| |.@2| +0#0000000&@65
@2|e+0#af5f00255&|n|d|f|o|r| +0#0000000&@66
@2|"+0#0000e05&| |.@2| +0#0000000&@67
|e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
> @74
@75
|"+0#0000e05&| |e|a|r|l|y| |t|e|r|m|i|n|a|t|i|o|n| |o|f| |v|i|m|S|y|n|R|e|g|i|o|n| +0#0000000&@39
@75
|s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t|e|s|t|R|e|g|i|o|n| @53
@6|"+0#0000e05&|\| ||| |d|o|e|s| |n|o|t| |e|n|d| |t|h|e| |a|r|g|s| |r|e|g|i|o|n| +0#0000000&@35
@6|"+0#0000e05&|\| |s|t|a|r|t|=|"|f|o@1|\|||b|a|r|"| +0#0000000&@49
@6|\+0#e000e06&| +0#0000000&|s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|"| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|e|n|d|"| +0#0000000&@57
@75
@75
|"+0#0000e05&| |I|s@1|u|e| |#|1|8|4|9|1| |(|T|w|o| |"+0#e000002&|)|"|s+0#0000e05&| |a|r|e| |i|n|c|o|r@1|e|c|t|l|y| |c|o|l|o|r|e|d| |'|v|i|m|O|p|e|r|E|r@1|o|r|'| |i|n| |s|y|n|t|a|x|/|m
|a|i|l|.|v|i|m|)| +0#0000000&@66
@75
@57|3|2|0|,|0|-|1| @6|8|7|%|

View File

@@ -0,0 +1,20 @@
| +0&#ffffff0@74
|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&@6|m|a|i|l|H|e|a|d|e|r|K|e|y| @2|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|m+0#0000001#ffff4012|a|i|l|H|e|a|d|e|r|E|m|a|i|l|,|m|a|i|l|E|m|a|i
|l|,|@|N|o|S|p|e|l@1| +0#0000000#ffffff0|"+0#e000002&|\|v|(|^|(|\|>| |?|)|*|)|@|<|=|(|f|r|o|m|||r|e|p|l|y|-|t|o|)|:|.|*|$|"| +0#0000000&|f+0#e000e06&|o|l|d| +0#0000000&@22
@75
@75
>"+0#0000e05&| |I|s@1|u|e| |#|1|9|3|6@1| |(|h|i|g|h|l|i|g|h|t| |e|r@1|o|r| |f|o|r| |c|o|n|t|a|i|n|s| |e|l|e|m|e|n|t|s| |i|n| |a| |n|e|w| |l|i|n|e|)| +0#0000000&@6
|"+0#0000e05&| |s|y|n|t|a|x|/|t|y|p|s|t|.|v|i|m| +0#0000000&@56
@75
|"+0#0000e05&| |C|o|d|e| |{@2|1| +0#0000000&@63
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t|y|p|s|t|C|o|d|e| @50
@4|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|@+0#0000001#ffff4012|t|y|p|s|t|C|o|m@1|o|n| +0#0000000#ffffff0@47
@12|\+0#e000e06&| +0#0000000&|,|@+0#0000001#ffff4012|t|y|p|s|t|C|o|d|e|K|e|y|w|o|r|d|s| +0#0000000#ffffff0@41
@12|\+0#e000e06&| +0#0000000&|,|@+0#0000001#ffff4012|t|y|p|s|t|C|o|d|e|C|o|n|s|t|a|n|t|s| +0#0000000#ffffff0@40
@12|\+0#e000e06&| +0#0000000&|,|@+0#0000001#ffff4012|t|y|p|s|t|C|o|d|e|I|d|e|n|t|i|f|i|e|r|s| +0#0000000#ffffff0@38
@12|\+0#e000e06&| +0#0000000&|,|@+0#0000001#ffff4012|t|y|p|s|t|C|o|d|e|F|u|n|c|t|i|o|n|s| +0#0000000#ffffff0@40
@12|\+0#e000e06&| +0#0000000&|,|@+0#0000001#ffff4012|t|y|p|s|t|C|o|d|e|P|a|r|e|n|s| +0#0000000#ffffff0@43
@75
|"+0#0000e05&| |C|o|d|e| |>| |K|e|y|w|o|r|d|s| |{@2|2| +0#0000000&@52
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t|y|p|s|t|C|o|d|e|K|e|y|w|o|r|d|s| @42
@57|3@1|6|,|1| @8|9|2|%|

View File

@@ -0,0 +1,20 @@
|s+0#af5f00255#ffffff0|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t|y|p|s|t|C|o|d|e|K|e|y|w|o|r|d|s| @42
@4|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|C|o|n|d|i|t|i|o|n|a|l| +0#0000000#ffffff0@39
@12|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|R|e|p|e|a|t| +0#0000000#ffffff0@44
@12|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|K|e|y|w|o|r|d| +0#0000000#ffffff0@43
@12|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|S|t|a|t|e|m|e|n|t| +0#0000000#ffffff0@41
> @74
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t|y|p|s|t|C|o|d|e|K|e|y|w|o|r|d|s| @42
@4|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=| +0#0000000&@59
@12|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@52
@12|\+0#e000e06&| +0#0000000&@1|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|C|o|n|d|i|t|i|o|n|a|l| +0#0000000#ffffff0@39
@12|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|R|e|p|e|a|t| +0#0000000#ffffff0@44
@12|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|K|e|y|w|o|r|d| +0#0000000#ffffff0@43
@12|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|S|t|a|t|e|m|e|n|t| +0#0000000#ffffff0@41
@75
@75
|s+0#af5f00255&|y|n|t|a|x| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t|y|p|s|t|C|o|d|e|K|e|y|w|o|r|d|s| @42
@4|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=| +0#0000000&@59
@12|"+0#0000e05&|\| +0#0000000&|c+0#0000e05&|o|m@1|e|n|t| +0#0000000&@52
@12|\+0#e000e06&| +0#0000000&@1|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|C|o|n|d|i|t|i|o|n|a|l| +0#0000000#ffffff0@39
@57|3|5|4|,|0|-|1| @6|9|7|%|

View File

@@ -0,0 +1,20 @@
| +0&#ffffff0@11|\+0#e000e06&| +0#0000000&@1|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|C|o|n|d|i|t|i|o|n|a|l| +0#0000000#ffffff0@39
@12|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|R|e|p|e|a|t| +0#0000000#ffffff0@44
@12|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|K|e|y|w|o|r|d| +0#0000000#ffffff0@43
@12|\+0#e000e06&| +0#0000000&|,|t+0#0000001#ffff4012|y|p|s|t|C|o|d|e|S|t|a|t|e|m|e|n|t| +0#0000000#ffffff0@41
@75
> @74
|"+0#0000e05&| |E|x|a|m|p|l|e|s| |f|r|o|m| |d|i|s|t|r|i|b|u|t|e|d| |s|y|n|t|a|x| |f|i|l|e|s| +0#0000000&@34
@75
|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&@2|s|l|r|n|r|c|C|o|l|o|r|I|n|i|t| @4|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"+0#e000002&|^|\|s|*|c|o|l|o|r|\|s|\|+|\|S|\|+|"| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&|n+0#e000e06&|e|x
|t|g|r|o|u|p|=|s+0#0000001#ffff4012|l|r|n|r|c|C|o|l|o|r|V|a|l|\|(|S|t|r|\|)|\|=| +0#0000000#ffffff0|c+0#e000e06&|o|n|t|a|i|n|s|=|s+0#0000001#ffff4012|l|r|n|r|c|C|o|l|o|r|\|(|O|b|j|\|||O|b|j|S|t|r|\|)|\|=| +0#0000000#ffffff0@6
|s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&@1|s|l|r|n|r|c|C|m|d|L|i|n|e| @6|m+0#e000e06&|a|t|c|h|g|r|o|u|p|=|s+0#0000000&|l|r|n|r|c|C|m|d| |s+0#00e0003&|t|a|r|t|=|"+0#e000002&|\|<|\+0#e000e06&|(|a+0#e000002&|u|t|o|b|a|u|d|\+0#e000e06&|||.+0#e000002&
@2|\+0#e000e06&|||v+0#e000002&|i|s|i|b|l|e|_|h|e|a|d|e|r|s|\+0#e000e06&|)|\+0#e000002&|>|"| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|$|"| +0#0000000&|o+0#e000e06&|n|e|l|i|n|e| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|s+0#0000001#ffff4012|l|r|n|r|c|\|(|S|t|r|i|n|g|\|||C|o|m@1|e|n|t|\|)
| +0#0000000#ffffff0@74
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|3|7|2|,|0|-|1| @6|B|o|t|

View File

@@ -16,5 +16,5 @@
|e+0#af5f00255&|c|h|o| +0#0000000&|v+0#00e0e07&|:|l+0#0000000&|u|a| |v+0#00e0e07&|:|m+0#0000000&|s|g|p|a|c|k|_|t|y|p|e|s| |v+0#00e0e07&|:|r+0#0000000&|e|l|n|u|m| |v+0#00e0e07&|:|s+0#0000000&|t|d|e|r@1| |v+0#00e0e07&|:|t+0#0000000&|e|r|m|r|e|q|u|e|s|t| |v+0#00e0e07&|:|v+0#0000000&|i|r|t|n|u|m| @6
@75
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|c+0#0000000&|h|a|n@1|e|l| |&+0#00e0e07&|i+0#0000000&|n|c@1|o|m@1|a|n|d| |&+0#00e0e07&|m+0#0000000&|o|u|s|e|s|c|r|o|l@1| |&+0#00e0e07&|p+0#0000000&|u|m|b|l|e|n|d| |&+0#00e0e07&|r+0#0000000&|e|d|r|a|w|d|e|b|u|g| |&+0#00e0e07&|s+0#0000000&|c|r|o|l@1|b|a|c|k| @1
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t+0#0000000&|e|r|m|s|y|n|c| |&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t|e|r|m|s|y|n|c| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
@57|3|9|7|,|1| @8|9|8|%|

View File

@@ -1,5 +1,5 @@
|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t+0#0000000&|e|r|m|s|y|n|c| |&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| |&+0#00e0e07&|w+0#0000000&|i|n|h|i|g|h|l|i|g|h|t| @46
|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t|e|r|m|s|y|n|c| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| @60
@75
|e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
> @74

View File

@@ -15,6 +15,6 @@
|e+0#af5f00255&|c|h|o| +0#0000000&|v+0#00e0e07&|:|l+0#0000000&|u|a| |v+0#00e0e07&|:|m+0#0000000&|s|g|p|a|c|k|_|t|y|p|e|s| |v+0#00e0e07&|:|r+0#0000000&|e|l|n|u|m| |v+0#00e0e07&|:|s+0#0000000&|t|d|e|r@1| |v+0#00e0e07&|:|t+0#0000000&|e|r|m|r|e|q|u|e|s|t| |v+0#00e0e07&|:|v+0#0000000&|i|r|t|n|u|m| @6
@75
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|c+0#0000000&|h|a|n@1|e|l| |&+0#00e0e07&|i+0#0000000&|n|c@1|o|m@1|a|n|d| |&+0#00e0e07&|m+0#0000000&|o|u|s|e|s|c|r|o|l@1| |&+0#00e0e07&|p+0#0000000&|u|m|b|l|e|n|d| |&+0#00e0e07&|r+0#0000000&|e|d|r|a|w|d|e|b|u|g| |&+0#00e0e07&|s+0#0000000&|c|r|o|l@1|b|a|c|k| @1
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t+0#0000000&|e|r|m|s|y|n|c| |&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| |&+0#00e0e07&|w+0#0000000&|i|n|h|i|g|h|l|i|g|h|t| @46
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t|e|r|m|s|y|n|c| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| @60
@57|3|9|7|,|1| @8|9@1|%|

View File

@@ -1,4 +1,4 @@
|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| |&+0#00e0e07&|w+0#0000000&|i|n|h|i|g|h|l|i|g|h|t| @46
|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| @60
> @74
|~+0#4040ff13&| @73
|~| @73

View File

@@ -0,0 +1,51 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2026-03-02 13:23+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
"X-Generator: ManuallyGenerated\n"
#: path/to/file.c:123
#, fuzzy, c-format
#| msgid "Hi, %s.\n"
msgid "Hello, %s.\n"
msgstr ""
"Hi, %s.\n"
#: path/to/file.py:123
#, python-format
msgid "%(num) word"
msgid_plural "%(num) words"
msgstr[0] ""
msgstr[1] ""
#. comment for translator
#: path/to/file.cpp:234
#: path/to/file.cpp:256
#, qt-format
msgctxt "%1 is a variable"
msgid "value of %1:\t%L2"
msgstr ""
#: path/to/file.rs:123
#, rust-format
msgid "Hello, \"{:?}\"."
msgstr "Hallo, »{:?}«."
#= no-wrap
msgid "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
msgstr "いろはにほへと"
# outdated entries
#~ msgid "foo"
#~ msgstr "foo"

View File

@@ -0,0 +1,65 @@
# sed(1)
# Addresses
# line number
42p
$p
/foobar/p
/foo[/]bar/p
/foo\/bar/p
\xxfoobarxp
\xxfoo\xbarxp
\xxfoo[x]barxp
# skip bracket expressions
\aa_\a_[a[:ascii:]a[.a.]a[=a=]a]_ap
\aa_\a_[^a[:ascii:]a[.a.]a[=a=]a]_ap
\aa_\a_[]a[:ascii:]a[.a.]a[=a=]a]_ap
\aa_\a_[^]a[:ascii:]a[.a.]a[=a=]a]_ap
# range
42,84p
/foo/,/bar/p
/foo/,42p
42,/bar/p
# GNU extensions
# step
1~2p
# ignore case, multiline
/foobar/Ip
/foobar/Mp
/foobar/IMp
/foobar/MIp
\aafoob\araIp
\aafoob\araMp
\aafoob\araIMp
\aafoob\araMIp
# increment
42,+42p
# step
42,~2p

View File

@@ -0,0 +1,43 @@
# vi:ft=sudoers
Host_Alias NODES = ! node0, 192.168.10.1
User_Alias ADMIN = alice, bob
Cmnd_Alias VIM = /usr/bin/vim, sha224:d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f /usr/bin/view, sha256:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= /usr/bin/vimdiff
Runas_Alias ROOT = charlie, dave
# Boolean Flags
Defaults authenticate
Defaults@ ALL, NODES case_insensitive_group , ! case_insensitive_user
Defaults@!node0, !node1 !! env_reset
Defaults@10.0.0.1 , !172.16.0.1/12, !!192.168.0.1/255.255.0.0 !! fqdn
Defaults:ALL, ADMIN ignore_dot
Defaults:user0, #1000, %group0, %#1000 mail_all_cmnds
Defaults!ALL,VIM noexec
Defaults!list,sudoedit !path_info
Defaults! /bin/ls requiretty
Defaults!!/bin/less , /bin/more set_home
Defaults> ALL,ROOT !setenv
Defaults>!user0,!!#1000,!!!%group0,!!!!%#1000 !!!!! syslog_pid
# Integers
Defaults command_timeout=1, command_timeout=22s, command_timeout=33m, command_timeout=44h, command_timeout=55d, command_timeout=6D7H8M9S
Defaults:ALL passwd_tries = 3, passwd_timeout = 2.5, umask = 0027
Defaults@ALL ! passwd_timeout , !!! umask
# Strings
Defaults editor = "/usr/bin/vim:/bin/vi"
Defaults secure_path = /usr/sbin\:/usr/bin
Defaults>ALL syslog_badpri=alert,syslog_goodpri=notice
# Lists
Defaults env_check = TZ
Defaults env_delete += "PATH *PATH"
Defaults env_keep -= "XDG_*_HOME"
Defaults>ALL !!!!! env_keep
Defaults passprompt_regex = "[Pp]assword[: ]*"
Defaults passprompt_regex -= "(?i)PASSWORD"
Defaults passprompt_regex += "password"
# Directives
@includedir /etc/sudoers.d
#include /etc/sudoers.d/%h

View File

@@ -0,0 +1,43 @@
# vi:ft=sudoers
ALL ALL = ALL
ALL ALL = NOSETENV : ALL
ALL ALL = CWD = * ALL
ALL ALL = (ALL) ALL
ALL ALL = (ALL) ALL
ALL ALL = (ALL) NOSETENV : ALL
ALL ALL = (ALL) CWD = * ALL
ALL ALL = (ALL) CWD = * NOSETENV : ALL
!user0, %group0 ALL = (user0, !user1 : !group0, group1) ALL
#1000, %#1000 ALL = (#1000 : #1000) ALL
ALL ALL = ( ) ALL
ALL ALL = (ALL ) ALL
ALL ALL = ( : ) ALL
ALL ALL = ( :ALL) ALL
ALL ALL = (ALL:ALL) ALL
ALL node0 , ! node1 = ALL : ! node2 , node3 = (ALL:ALL) CWD=/ ALL
user0 node0 = APPARMOR_PROFILE=unconfined /bin/pwd ""
user1 node1 = (root) APPARMOR_PROFILE=prof_a//&prof_b NOEXEC: /bin/ping
user0 node0 = PRIVS="proc_info,proc_session" /bin/kill
#1000 node0 = NOTBEFORE= 2026013123 NOTAFTER = 20270131235959 /bin/crontab
#1001 node1 = () NOTAFTER = 20270131235959Z NOTBEFORE= 2026013123Z MAIL : /bin/crontab
#1002 node2 = (ALL) NOTBEFORE= 20260131235959-1200 NOTAFTER = 2027013123+1400 /bin/crontab
%group0 node0 = TIMEOUT = 1 /bin/more
%group1 node0 = TIMEOUT = 2s /bin/more, (ALL:ALL) TIMEOUT=2S NOFOLLOW: /bin/less
%group2 node0 = TIMEOUT = 3m /bin/more, (ALL:ALL) TIMEOUT=3M NOFOLLOW: /bin/less
%group3 node0 = TIMEOUT = 4h /bin/more, (ALL:ALL) TIMEOUT=4H NOFOLLOW: /bin/less
%group4 node0 = TIMEOUT = 5d /bin/more, (ALL:ALL) TIMEOUT=5D NOFOLLOW: /bin/less
%group5 node0 = TIMEOUT = 1D2h3M4s /bin/more, (ALL:ALL) TIMEOUT=1d2H3m4S NOFOLLOW: /bin/less
%#1000 node0 = CWD=/srv list
%#1001 node0 = ( ) CWD=~root list
%#1002 node0 = (:ALL) CWD=* NOEXEC : list
#65535 ALL = (ALL) NOEXEC:NOFOLLOW:NOLOG_INPUT:NOMAIL:NOINTERCEPT:NOPASSWD:NOSETENV: sudoedit
ALL ALL = (ALL:ALL) TIMEOUT=1m CWD=* FOLLOW : ^/bin/[ef]?grep$

View File

@@ -220,7 +220,7 @@ echo v:lua v:msgpack_types v:relnum v:stderr v:termrequest v:virtnum
echo &channel &inccommand &mousescroll &pumblend &redrawdebug &scrollback
echo &shada &shadafile &statuscolumn &termpastefilter &termsync &winbar
echo &winblend &winhighlight
echo &winblend
enddef

View File

@@ -1,4 +1,5 @@
" Vim :syntax command
" VIM_TEST_SETUP hi link vimGroupList Todo
" :syn-case
@@ -7,6 +8,13 @@ syntax case
syntax case match
syntax case ignore
" :syn clear
syntax clear @testCluster
syntax clear testGroup
syntax clear @testCluster testGroup
syntax clear testGroup @testCluster
" :syn-conceal
syntax conceal
@@ -19,6 +27,11 @@ syntax foldlevel
syntax foldlevel start
syntax foldlevel minimum
" :syn-include
syntax include @Foo <sfile>:p:h/foo.vim
syntax include <sfile>:p:h/foo.vim
" :syn-iskeyword
syntax iskeyword
@@ -247,6 +260,50 @@ syn keyword testKeyword
\ keyword5
\ keyword6
syn keyword testKeyword
"\ nextgroup option
\ nextgroup= testNext0,
"\ comment
\ , testNext1
"\ comment
\, testNext2
"\ comment
\ ,textNext3
"\ comment
\,textNext4
"\ comment
\ , textNext5 ,
"\ comment
\ textNext6,
"\ comment
\ textNext7 ,
"\ comment
\textNext8,
"\ comment
\textNext9 ,
"\ comment
\ textNext10
"\ comment
\ ,textNext11,
"\ comment
\ textNext12,textNext13,
"\ comment
\ textNext13,textNext14
"\ comment
\ ,textNext15,textNext16
"\ comment
\ , textNext17 , textNext18 ,
"\ comment
\ textNext19, @testCluster
\ skipnl
"\ KEYWORDS LIST
"\ keyword 1
\ keyword1
"\ keyword 2
\ keyword2
"\ keyword 3
\ keyword3
" leaking contained groups
@@ -261,6 +318,7 @@ function! s:ContainedGroup()
" ...
endfunction
" early termination of vimSynRegion
syn region testRegion
@@ -269,3 +327,51 @@ syn region testRegion
\ start="start"
\ end="end"
" Issue #18491 (Two ")"s are incorrectly colored 'vimOperError' in syntax/mail.vim)
syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(from|reply-to):.*$" fold
" Issue #19366 (highlight error for contains elements in a new line)
" syntax/typst.vim
" Code {{{1
syntax cluster typstCode
\ contains=@typstCommon
\ ,@typstCodeKeywords
\ ,@typstCodeConstants
\ ,@typstCodeIdentifiers
\ ,@typstCodeFunctions
\ ,@typstCodeParens
" Code > Keywords {{{2
syntax cluster typstCodeKeywords
\ contains=typstCodeConditional
\ ,typstCodeRepeat
\ ,typstCodeKeyword
\ ,typstCodeStatement
syntax cluster typstCodeKeywords
\ contains=
"\ comment
\ typstCodeConditional
\ ,typstCodeRepeat
\ ,typstCodeKeyword
\ ,typstCodeStatement
syntax cluster typstCodeKeywords
\ contains=
"\ comment
\ typstCodeConditional
\ ,typstCodeRepeat
\ ,typstCodeKeyword
\ ,typstCodeStatement
" Examples from distributed syntax files
syn match slrnrcColorInit contained "^\s*color\s\+\S\+" skipwhite nextgroup=slrnrcColorVal\(Str\)\= contains=slrnrcColor\(Obj\|ObjStr\)\=
syn region slrnrcCmdLine matchgroup=slrnrcCmd start="\<\(autobaud\|...\|visible_headers\)\>" end="$" oneline contains=slrnrc\(String\|Comment\)

View File

@@ -408,7 +408,7 @@ echo v:lua v:msgpack_types v:relnum v:stderr v:termrequest v:virtnum
echo &channel &inccommand &mousescroll &pumblend &redrawdebug &scrollback
echo &shada &shadafile &statuscolumn &termpastefilter &termsync &winbar
echo &winblend &winhighlight
echo &winblend
endfunction

View File

@@ -407,5 +407,5 @@ echo v:lua v:msgpack_types v:relnum v:stderr v:termrequest v:virtnum
echo &channel &inccommand &mousescroll &pumblend &redrawdebug &scrollback
echo &shada &shadafile &statuscolumn &termpastefilter &termsync &winbar
echo &winblend &winhighlight
echo &winblend

Some files were not shown because too many files have changed in this diff Show More