Compare commits

...

101 Commits

Author SHA1 Message Date
Foxe Chen
c920d93443 patch 9.2.0498: potential heap buffer overflow in if_xcmdsrv.c
Problem:  potential heap buffer overflow in if_xcmdsrv.c
          server_parse_message() (Michael Bommarito)
Solution: Add strlen() call (Foxe Chen)

fixes:  #20235
closes: #20236

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 20:42:20 +00:00
Miguel Barro
4a99175e39 patch 9.2.0497: Cannot jump to remote tags
Problem:  Cannot jump to remote tags
          (after v9.2.0405)
Solution: Add the 'tagsecure' option (Miguel Barro)

closes: #20162

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Miguel Barro <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 20:11:52 +00:00
Christian Brabandt
a65a52d684 patch 9.2.0496: [security]: Code Injection in cucumber filetype plugin
Problem:  [security]: Code Injection in cucumber filetype plugin
          (Christopher Lusk)
Solution: Use rubys Regexp.new() with the untrusted pattern

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-4473-94jm-w5x9

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 19:39:24 +00:00
Christian Brabandt
f08ab2f4d7 patch 9.2.0495: [security]: runtime(netrw): code injection via NetrwBookHistSave()
Problem:  [security]: runtime(netrw): code injection via
          NetrwBookHistSave()
Solution: Properly quote the directory name using string() function
          (Srinivas Piskala Ganesh Babu)

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-crm5-rh6j-2c7c

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 18:53:48 +00:00
mathmil
2a01e59671 runtime(just): add 'suffixesadd' to ftplugin
closes: #20197

Signed-off-by: mathmil <82173590+mathmil@users.noreply.github.com>
Signed-off-by: Peter Benjamin <petermbenjamin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 18:08:46 +00:00
Aliaksei Budavei
23c77d8ec8 runtime(sh): Do not conflate empty array and function declarations in Bash
Although the "=" character is permitted in function names,
a construct that parses as a variable assignment is
preferred to it parsing as a function declaration.  See the
updated test file "sh_functions_bash.sh" for details.

fixes:  #20183
closes: #20205

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 18:06:22 +00:00
Maxim Kim
f0e874a129 patch 9.2.0494: User commands cannot handle single args with spaces
Problem:  User commands cannot handle single args with spaces
Solution: Add the -nargs=_ attribute (Maxim Kim)

-nargs=_ allow user commands to have a single argument with spaces.

For example given the following Test command and TestComplete function:

```
vim9script
def TestComplete(A: string, _: string, _: number): list<string>
    var all = ["qqqq", "aaaa", "qq aa"]
    return all->matchfuzzy(A)
enddef
command! -nargs=_ -complete=customlist,TestComplete Test echo <q-args>
```

`:Test q a<tab>` should successfully complete `qq aa`

fixes:  #20102
closes: #20189

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 17:58:15 +00:00
Yasuhiro Matsumoto
abecad5af0 patch 9.2.0493: popup: missing Popup, PopupBorder and PopupTitle hi groups
Problem:  popup: missing Popup, PopupBorder and PopupTitle highlight groups
Solution: add Popup, PopupBorder and PopupTitle highlight groups and
          fall back to Pmenu related highlighting groups (Yasuhiro Matsumoto).

fixes:  #20110
closes: #20208

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 17:49:42 +00:00
Yasuhiro Matsumoto
3db4c3a20b patch 9.2.0492: popup: decoration wrongly drawn with clipping on border
Problem:  popup: clipwindow popups with border and padding could still
          spill into the surrounding chrome of the host window
Solution: Consume the border first, then the padding, per edge; spill
          any leftover clip into the opposite edge's decoration; derive
          the bottom padding row from total_height; skip the scrollbar
          branch for clipwindow popups (Yasuhiro Matsumoto).

closes: #20227

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 09:27:04 +00:00
Philip H.
ab24858cf5 CI: Update clang to v22
closes: #20228

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 08:48:14 +00:00
tecis
f03155aa2a runtime(htmldjango): Add syntax highlighting of comparison operators
The presence `djangoOperators` in the file `syntax/django.vim` and
having the highlight function with a `match` statement leads to a
highlight spill-over with other elements defined in `syntax/html.vim`.
To avoid the highlight spill-over declare a region called
`djangoTagBlockNaive` to limit `djangoOperator` to only be matched
within.

related: #20225
closes:  #20232

Signed-off-by: tecis <67809811+tecis@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 08:44:39 +00:00
tecis
8b25d90b08 runtime(django): Resolve FIXME of comparrison operators + localization tags
Summary: Add highlight of comparison operators resolving FIXME left by maintainer.

How it works: By creating a the variable ‘djangoOperator’ with the regex
and defining to only highlight when enclosed within ‘djangoTag’ and
‘djangoVarBlock’ the highlight works as expected.

Note: Note even though the maintainer had left the note “FIXME ==, !=,
      <, >, <=, and >= should be djangoStatements” the results do work
as I think he intended even though the variable ‘djangoOperator’ had to
be created to achieve the result. By doing it this way the highlight
process does not get confused depending on the spacing of the comparison
operator. Example: {{ x>=10 }} and {{ x >= 10 }} work as expected.

Add tags related to localization.

Documentation source:

- https://docs.djangoproject.com/en/5.2/topics/i18n/formatting/#controlling-localization-in-templates

closes: #20225

Signed-off-by: tecis <67809811+tecis@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 08:32:15 +00:00
orbisai0security
403ba303b9 ccfilter: uses unbounded strcat()/strcpy()
Problem:  ccfilter.c copies compiler output into fixed-size buffers
          with strcat() and strcpy(), so very long diagnostics can
          overflow.
Solution: replace with snprintf() bounded by LINELENGTH.

Automated security fix generated by Orbis Security AI

closes: #20233

Signed-off-by: orbisai0security <mediratta01.pally@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 08:22:08 +00:00
K.Takata
8ae45e4202 NSIS: Don't install 32-bit dll on ARM64
closes: #20234

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 15:51:03 +00:00
Zoltan Arpadffy
d8c4774273 patch 9.2.0491: VMS: various build issues
Problem:  VMS: various build issues
Solution: Fix issues for VMS (Zoltan Arpadffy)

closes: #20131

Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 08:42:47 +00:00
glepnir
88b00d1c57 patch 9.2.0490: matchfuzzy() can crash on long multi-word patterns
Problem:  matchfuzzy() can crash on long multi-word patterns.
Solution: Clamp pat_chars to maxMatches and stop before calling
          match_positions() when the buffer is full (glepnir).

closes: #20209

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 08:36:39 +00:00
Phạm Bình An
591db923ba runtime(zip,tar): Add support for compressed .cbz and .cbt files
*.cbz and *.cbt files are just zip and tar files for comic books.
https://en.wikipedia.org/wiki/Comic_book_archive

closes: #20206

Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 08:02:13 +00:00
Doug Kearns
f7e239bd0e runtime(sh): Update syntax, don't include parens in function name highlighting
Parentheses are not part of the function name so highlight them
differently.

closes: #20219

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 07:57:10 +00:00
Keith Smiley
bc7f736a39 patch 9.2.0489: filetype: some Objective-C files are not recognized
Problem:  filetype: some Objective-C files are not recognized
Solution: Add g:filetype_mm override variable, improve the objective c
          pattern detection (Keith Smiley).

closes: #20221

Signed-off-by: Keith Smiley <keithbsmiley@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 07:46:25 +00:00
dependabot[bot]
7cb86f46cb CI: Bump the github-actions group across 1 directory with 2 updates
Bumps the github-actions group with 2 updates in the / directory: [github/codeql-action](https://github.com/github/codeql-action) and [actions/labeler](https://github.com/actions/labeler).

Updates `github/codeql-action` from 4.35.3 to 4.35.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.35.3...v4.35.4)

Updates `actions/labeler` from 6.0.1 to 6.1.0
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v6.0.1...v6.1.0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/labeler
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

closes: #20226

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 07:40:21 +00:00
Hirohito Higashi
b467b56ef0 patch 9.2.0488: statusline: status line highlight blends into adjacent vsep cells
Problem:  When two windows are placed side by side with vsplit and
          their status lines are connected (the cell between them
          is drawn with the 'stl' / 'stlnc' fillchar, not the
          'vert' character), that connecting cell still uses the
          VertSplit highlight.  The status line bar therefore
          looks broken at the separator column, and any custom
          edge highlight set in 'statusline' (%#XX# / %N*) is cut
          off there.
Solution: Make that connecting cell take the highlight from the
          neighbouring status line edge instead of VertSplit:
            - Next to the current window, use the current
              window's edge highlight, so the StatusLine bar (and
              any %#... at the edge) extends into the column
              without a seam.
            - Between two non-current windows whose status
              fillchar is a space, use the left window's
              right-edge highlight, so the StatusLineNC bar is
              continuous across the column too.
          Cells drawn with the 'vert' character (the two windows
          do not share a status line) keep the VertSplit
          highlight as before.

          Add Test_statusline_vsep_borrow_hl with two layouts
          (NC | cur | NC | NC and NC | NC | cur | NC) so all
          three cases above are covered.

closes: #20182

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 16:52:29 +00:00
Yasuhiro Matsumoto
ee49669e8f patch 9.2.0487: viminfo: possible signed int overflow in register array
Problem:  viminfo: possible signed int overflow in register array growth
Solution: Cast to size_t (Yasuhiro Matsumoto)

The expression `limit * 2 * sizeof(string_T)` in read_viminfo_register()
multiplies in int and overflows once limit exceeds INT_MAX/2. Cast to
size_t first so the size computation stays unsigned. Defensive only;
reaching this path requires registers consuming many gigabytes.

closes: #20207

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 16:44:46 +00:00
Christian Brabandt
de7a5b5425 patch 9.2.0486: out-of-bound read when recovering swap files
Problem:  out-of-bound read when recovering corrupted swap files
          (Rahul Hoysala)
Solution: Validate the db_txt_start field when recovering a swap
          file.

Supported by AI

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 16:34:53 +00:00
Foxe Chen
e85e3e5d85 patch 9.2.0485: clipboard provider callback can be called recursively
Problem:  clipboard provider callback can be called recursively, leading
          to E132: Function call depth is higher than 'maxfuncdepth'
Solution: Prevent recursive calls of
          clip_provider_copy()/clip_provider_paste() (Foxe Chen).

closes: #20213

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 16:00:04 +00:00
Foxe Chen
bec23ef65c patch 9.2.0484: TextPutPre triggers clipboard provider callback twice
Problem:  TextPutPre triggers clipboard provider callback twice
          when do_put() runs autocommands that themselves request
          the clipboard.
Solution: Guard do_put() and put_do_autocmd() with
          inc_clip_provider()/dec_clip_provider() so the provider
          is queried at most once per put operation (Foxe Chen).

closes: #20215

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 15:45:11 +00:00
Jonathan Demme
77b8a12f82 runtime(doc): Update 'softtabstop' documentation
closes: #20218

Signed-off-by: Jonathan Demme <j.b.demme@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 15:37:31 +00:00
Hirohito Higashi
f281493c49 patch 9.2.0483: popup: terminal embedded in an opacity popup freezes Vim on input
Problem:  When a terminal buffer is shown inside a popup with 'opacity'
          set to a value other than 100, typing into it freezes Vim.
          Only the first keystroke is drawn; afterwards no input is
          processed and the screen stops updating.
Solution: When marking background lines for redraw to keep opacity
          blend cells fresh, do not raise must_redraw.  This marking
          happens from inside update_screen() (via
          may_update_popup_mask()), so raising must_redraw makes
          terminal_loop()'s "while (must_redraw != 0) update_screen()"
          loop never terminate.  Add redraw_win_range_now() that
          updates only the per-window state and use it from
          redraw_win_under_opacity_popup() (Hirohito Higashi)

fixes:  #20214
closes: #20220

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 15:02:48 +00:00
Foxe Chen
37d61dae72 runtime(doc): update doc for clipboard provider
closes: #20217

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 09:46:47 +00:00
Foxe Chen
29fa934344 patch 9.2.0482: runtime(osc52): triggered twice with TextPutPoste autocmd
Problem:  runtime(osc52): triggered twice with TextPutPoste autocmd
Solution: Detect recursive trigger and return null (Foxe Chen)

closes: #20216

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 02:09:24 +00:00
Christian Brabandt
8e41c34aba patch 9.2.0481: runtime(netrw): command injection possible via maps
Problem:  runtime(netrw): command injection possible via crafted
          directory names in NetrwMaps() (Christopher Lusk)
Solution: Temporarily remove B flag in NetrwMaps() to prevent command
          injection

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-14 18:52:08 +00:00
Christian Brabandt
8af0f098c3 patch 9.2.0480: [security]: runtime(netrw): code injection via mf command
Problem:  [security]: runtime(netrw): code injection via mf command
          (Christopher Lusk, Zdenek Dohnal)
Solution: Do not use string concatenation inside the filter() commands
          (Zdenek Dohnal)

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-66hr-7p6x-x5j3

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-14 16:43:15 +00:00
Christian Brabandt
3fb5e58fbc patch 9.2.0479: [security]: runtime(tar): command injection in tar plugin
Problem:  [security]: runtime(tar): command injection in tar plugin
          (Christopher Lusk)
Solution: Use the correct shellescape(args, 1) form for a :! command

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-2fpv-9ff7-xg5w

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-14 15:43:44 +00:00
K.Takata
950f501a18 runtime(doc): Fix file mode for the Italian manpage
closes: #20210

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-14 08:39:03 +00:00
yilisharcs
702d32e161 runtime(compiler): set zig errorformat
includes a new zig_cc file to catch warnings

closes: #20198

Signed-off-by: yilisharcs <yilisharcs@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-12 18:11:55 +00:00
John Marriott
8aecd377f0 patch 9.2.0478: channel: redundant str/length assignments in channel_part_info()
Problem:  channel: redundant str/length assignments in channel_part_info
Solution: Use the STR_LITERAL_SET() macro (John Marriott)

closes: #20199

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-12 17:58:21 +00:00
Yasuhiro Matsumoto
3a9e1bb7e2 patch 9.2.0477: popup: leftover content after popup_free under layout change
Problem:  popup_mask still marks the freed popup's cells as covered
          until may_update_popup_mask() runs inside the next
          update_screen.  Any screen_fill / screen_puts called in
          between (for example msg_clr_eos triggered by a status message
          from :copen) hits skip_for_popup() and silently drops writes
          to those cells, so the popup's chars survive on screen until
          those cells happen to be redrawn for another reason.
Solution: Add popup_clear_mask_for() and call it from popup_hide() and
          popup_free() when the popup was visible, so the upcoming
          writes take effect immediately (Yasuhiro Matsumoto)

Note: The test is limited to MS-Windows because the original report
      (#20178) was reproduced there and the redraw timing required to
      surface the bug differs on other platforms.

fixes:  #20178
closes: #20188

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-12 17:47:41 +00:00
glepnir
38237411e4 patch 9.2.0476: pattern completion leaks memory on alloc failures
Problem:  copy_substring_from_pos() leaked on ga_grow() failures,
          expand_pattern_in_buf() leaked "match" on ga_grow() failure,
          fuzzy_match_str_with_pos() ignored ga_grow() failures
Solution: Route failures through cleanup paths, check ga_grow before
          writing to ga_data (glepnir)

closes: #20203

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-12 17:40:19 +00:00
Antonio Giovanni Colombo
78302b7b4a translation(it): Update Italian manpage
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-12 17:30:26 +00:00
Foxe Chen
f45ed6465d runtime(hlyamk): Allow to highlight put regions using TextPutPost
closes: #20196

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-11 17:23:01 +00:00
J. Paulo Seibt
74019bea8c patch 9.2.0475: runtime(netrw): bookmark paths not normalized
Problem:  the bookmarks list can have duplicate entries, more often
          in win32 (due to mixed slashes and capitalization) and when
          g:netrw_keepdir=0 (which could introduce relative paths).
          Duplicate entries could be: C:\foo\BAR\baz.file
                                     c:\foo\bar\baz.file
                                     c:/foo\BAR/baz.file
                                     BAR/baz.file
Solution: Normalize the paths and make sure they are always absolute
          (J. Paulo Seibt).

closes: #20194

Signed-off-by: J. Paulo Seibt <jpseibt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-11 17:10:55 +00:00
K.Takata
7784fac15f patch 9.2.0474: MS-Windows: hard to tell which Visual Studio version was selected with MSVC
Problem:  When running msvc*.bat there is no indication of which
          Visual Studio version and target architecture got
          selected.
Solution: After vcvarsall.bat returns, echo the VS version, VC
          tools version and target architecture, and set the
          Command Prompt title accordingly (Ken Takata).

closes: #20193

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-11 16:58:24 +00:00
zeertzjq
a70b7a85af patch 9.2.0473: Pasting ". register without autocommands breaks TextPut*
Problem:  Pasting ". register without TextPut* autocommands breaks
          subsequent TextPut* autocommands (after 9.2.0470).
Solution: Only decrement add_last_insert if it has been incremented
          (zeertzjq).

closes: #20192

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-11 16:49:19 +00:00
Yasuhiro Matsumoto
51f1447d2a patch 9.2.0472: popup: column jitters when scrolled outside viewport
Problem:  popup: column jitters horizontally when textprop is scrolled
          above the host window's top (after v9.2.0469)
Solution: Compute the virtual column from the prop's actual line via
          getvcol() and translate it through prop_win's win_col_off /
          leftcol / wincol (Yasuhiro Matsumoto).

popup_screenpos_above_top() probed textpos2screenpos() at
prop_win->w_topline using the prop's own tp_col, so the returned
screen_scol picked up topline's tab stops and multi-byte widths instead
of the prop line's own.  Once the textprop scrolled above the host's
top, the popup's wincol jittered left/right every time a wider or
narrower line rotated into the topmost slot.

Compute the virtual column from the prop's actual line via getvcol()
and translate it through prop_win's win_col_off / leftcol / wincol.
Row extrapolation from topline is unchanged.

closes: #20187

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-11 16:29:27 +00:00
John Marriott
1b65cfbac5 patch 9.2.0471: vimvars di_key initialized at runtime
Problem:  evalvars_init() copies each vimvar's name into di_key at
          startup and runtime-checks that the name fits in
          DICTITEM16_KEY_LEN, even though all names are known at
          compile time.
Solution: Embed the name in di_key via the VV_NAME macro so the
          initialization happens at compile time.  Drop the
          runtime length check and the STRCPY loop (John Marriott).

closes: #20185

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-11 16:22:05 +00:00
Matthew Fernandez
852f4f43ca runtime(doc): Fix manpage typo in description of '--ttyfail'
This seems to have been accidentally introduced in
ce6fe84db2.

closes: #20186

Signed-off-by: Matthew Fernandez <matthew.fernandez@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-11 16:19:16 +00:00
Christian Brabandt
bfebd1209b runtime(javacc): Check for existence of javaFuncDef syn group before clearing it
fixes: #20190

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-11 10:15:02 +02:00
Foxe Chen
e0781bd5bf patch 9.2.0470: No way to hook into put commands
Problem:  No way to hook into put commands
          (yochem)
Solution: Introduce TextPutPre and TextPutPost autocommands
          (Foxe Chen).

fixes:  #18701
closes: #20144

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-10 19:17:19 +00:00
Yasuhiro Matsumoto
e3d9929109 patch 9.2.0469: popup: textprop-anchored popups bleed past host window edges
Problem:  A popup anchored to a text property in a split window is
          positioned relative to the screen and may extend into
          adjacent splits or off-screen regions.  There is no way to
          confine the popup to the window that contains the textprop.
Solution: Add the "clipwindow" popup option to allow clipping the text
          property popup to the host window (Yasuhiro Matsumoto).

Adds a "clipwindow" boolean option to popup_create()/popup_setoptions().
When set on a textprop-anchored popup, the popup's drawn extent is
confined to its host (textprop) window's content rectangle so the popup
no longer bleeds across a horizontal split's statusline (top/bottom) or
a vsplit's separator (right) into another window.

The popup keeps its full logical size and position; only the rows or
columns that fall outside the host window's content area are skipped
during drawing, so a popup that scrolls toward the host's edge looks
visually "cut off" without its borders being relocated.  popup_getoptions
and popup_getpos continue to report the unclipped geometry.

Implementation:

  - w_popup_topoff / w_popup_bottomoff record how many rows of the
    popup fall outside the host on each side.  popup_adjust_position()
    computes them from the host rectangle after the logical layout is
    finalised, and update_popups() and the popup-mask builder subtract
    them when emitting cells/borders/scrollbar and when marking
    popup-owned cells.  win_update() is bracketed by transient
    w_height/w_topline/w_winrow adjustments so the buffer's drawn
    content matches the visible row range.

  - w_popup_rightclip is the horizontal counterpart for the host's
    right edge: the right border, padding and content columns past
    the host are not drawn.  win_update() is bracketed by a transient
    w_width reduction so the buffer text is not written past the
    host's right edge either.

  - When the textprop scrolls just above the host window's top, the
    popup is kept visible by extending the prop search above topline
    (new helper find_prop_in_lines) and synthesising a negative
    screen_row so the top-clip path can roll the popup off the top.
    When the textprop has scrolled far enough that even the bottom
    border would overlap the host edge -- or when the popup would
    overflow the host's left edge at all -- the popup is hidden, and
    unhidden again once it comes back within range.

  - The "reduce-height" / "clamp winrow to 0" fallbacks in
    popup_adjust_position are bypassed for host-clipped popups so the
    popup keeps its natural anchored position instead of being
    snapped to the screen edge.

    Left-edge partial clipping is intentionally not supported: it
    would require shrinking the buffer width during win_update, which
    reflows wrapped lines and corrupts the displayed content; the
    popup is hidden instead.

closes: #20166

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-10 19:02:38 +00:00
Yasuhiro Matsumoto
ef1ecc3b61 patch 9.2.0468: popups: not correctly updated from a CmdlineChanged autocommand
Problem:  popup_show() from a CmdlineChanged autocommand doesn't update
          the screen (Mao-Yining)
Solution: Refresh the screen when popups need redraw
          (Yasuhiro Matsumoto).

popup_settext()/popup_show() called from a CmdlineChanged autocommand
did not refresh the screen because cmdline mode normally skips
update_screen(), so async info-popup updates only became visible after
a manual :redraw.  Refresh the screen when popups need redrawing right
after the autocommand.

fixes:  #20175
closes: #20179

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-10 18:20:01 +00:00
Hirohito Higashi
5ef1eec5c5 patch 9.2.0467: multi-line statusline loses highlighting attributes
Problem:  In a multi-line statusline (and 'tabpanel'), %#XX# / %N*
          set on one row do not persist on subsequent rows.
          build_stl_str_hl_local() rebuilds stl_items[] from scratch
          on every line break ("%@" or "\n"), so the highlight is
          reset at each row boundary even though within a row it
          stays until %* (or another %# / %*).
Solution: Carry the last Highlight item's stl_minwid across line
          breaks via a new in/out int* parameter "carry_hl".  At the
          start of each row, pre-insert a Highlight item from the
          carried value so the row begins under the same highlight;
          before returning, update the carried value with the row's
          final Highlight item.  Apply the same carry to the
          tabpanel rendering loop (Hirohito Higashi).

related: #19123
closes:  #20180

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-10 18:14:01 +00:00
Yasuhiro Matsumoto
3a8b9e09b2 patch 9.2.0466: popup: redraw can use stale blended cells
Problem:  popup: redraw can use stale blended cells
Solution: Save the old popup area and redraw the newly exposed region so
          opacity popups don't show stale blended cells when another
          popup moves or closes. Consolidate redraw helpers so the
          saved-area and exposed-area logic is shared across
          move/hide/close/settext/setoptions. Refactor popup redrawing
          code, add a regressions tests (Yasuhiro Matsumoto).

closes: #20172

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-10 17:23:12 +00:00
Christian Brabandt
2020e0bade patch 9.2.0465: modeline: foldmarker cannot be set with modelinestrict
Problem:  modeline: foldmarker cannot be set with modelinestrict
          (Lyderic Landry, after v9.2.0350)
Solution: Add foldmarker option to the whitelist

fixes:  #20028
closes: #20174

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-10 17:00:59 +00:00
J. Paulo Seibt
ec76ac620b patch 9.2.0464: runtime(netrw): bookmarking directory uses current dir
Problem:  runtime(netrw): bookmarking directory uses current dir
Solution: Correctly handle netrw actual directory (J. Paulo Seibt)

fixes:  #10481
closes: #20169

Signed-off-by: J. Paulo Seibt <jpseibt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-10 16:55:18 +00:00
Yegappan Lakshmanan
6b8d2262d3 patch 9.2.0463: Not able to use legacy expression evaluation in a vim9script maps
Problem:  Not able to use legacy expression evaluation in a vim9script
          maps
Solution: Explicitly set script version to 1 when the :legacy modifier has been
          used (Yegappan Lakshmanan).

fixe:   #20176
closes: #20177

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-10 16:41:35 +00:00
K.Takata
3a1ac7ced2 patch 9.2.0462: MS-Windows: workaround for assert error on GUI
Problem:  When Vim is built with debug mode, gvim causes an assertion
          error and stops working when running on Visual Studio
          Debugger.
Solution: Stop calling _set_fmode() if not needed (Ken Takata).

closes: #20181

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-10 16:34:01 +00:00
Christian Brabandt
4f610f07b7 patch 9.2.0461: Corrupted undofile causes use-after-free
Problem:  The four pointer-resolution loops in u_read_undo() lack
          an i != j guard, so a header whose uh_next.seq equals
          its own uh_seq resolves uh_next.ptr to itself.  On
          buffer close, u_freeheader() sees uhp->uh_next.ptr !=
          NULL and skips updating b_u_oldhead, so u_blockfree()
          dereferences the freed header on the next iteration.
          The same pattern applies to uh_prev, uh_alt_next and
          uh_alt_prev.  A crafted .un~ file in the same directory
          as a text file can trigger the use-after-free and
          subsequent double-free when the buffer is closed.
          (Daniel Cervera)
Solution: Add an i != j guard to each of the four resolution
          loops, matching the guard already present in the
          duplicate-detection loop above.

closes: #20168

Supported by AI

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-09 14:41:37 +00:00
zeertzjq
abd74fa122 patch 9.2.0460: did_set_shellpipe_redir() in wrong file
Problem:  did_set_shellpipe_redir() is a callback for a string option,
          but is not in optionstr.c (after 9.2.0458).
Solution: Move it to optionstr.c. Also add missing change from patch
          9.2.0455 (zeertzjq).

related: #20159
related: #20164
closes:  #20170

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-09 14:22:47 +00:00
Christian Brabandt
124f8becec patch 9.2.0459: tests: test_termcodes fails (after v9.2.0456)
Problem:  tests: test_termcodes fails, because it disabled DECRQM, but
          did not adjust the expected values in the test (after v9.2.0456)
Solution: Update the test

related: #20161
closes:  #20173

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-09 14:13:52 +00:00
dependabot[bot]
fbec828c7e CI: Bump the github-actions group across 1 directory with 2 updates
Bumps the github-actions group with 2 updates in the / directory: [github/codeql-action](https://github.com/github/codeql-action) and [actions/labeler](https://github.com/actions/labeler).

Updates `github/codeql-action` from 4.35.2 to 4.35.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.35.2...v4.35.3)

Updates `actions/labeler` from 6 to 6.0.1
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v6...v6.0.1)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/labeler
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

closes: #20171

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-09 13:49:57 +00:00
Christian Brabandt
84ae09dd79 patch 9.2.0458: Crash with invalid shellredir/shellpipe value
Problem:  Crash with invalid shellredir/shellpipe value
          (bfredl)
Solution: Validate the option and allow only a single "%s".

fixes:  #20157
closes: #20159

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-08 21:32:21 +00:00
Christian Brabandt
2f00656b34 patch 9.2.0457: Compile warning about unused variable
Problem:  Compile warning about unused variable
          (Tony Mechelynck, after v9.2.0452)
Solution: Initialize the variable

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-08 21:22:28 +00:00
Foxe Chen
7644d9d611 patch 9.2.0456: stray p character displayed on some terms
Problem:  stray p character displayed on some terms
Solution: Make sending DECRQM more strict and disable it for a few more
          terminals (Foxe Chen)

fixes:  #20156
fixes:  #20140
closes: #20161

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-08 21:14:52 +00:00
zeertzjq
9694ff58fe patch 9.2.0455: 'findfunc' only allows extra info for cmdline completion
Problem:  'findfunc' only allows extra info for cmdline completion, not
          for actually finding files (Maxim Kim, after 9.2.0451).
Solution: Handle returning a list of dicts when actually finding files.
          Also fix crash on NULL string (zeertzjq).

fixes:  #20163
closes: #20164

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-08 21:09:48 +00:00
zeertzjq
b207b5a2a3 patch 9.2.0454: tests: no test that "abbr" in customlist completion is shown
Problem:  No test that "abbr" in customlist completion is shown in pum.
Solution: Add some "abbr" fields to the existing test (zeertzjq).

closes: #20165

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-08 21:06:08 +00:00
Hirohito Higashi
c895390e58 patch 9.2.0453: vertical separator of statusline blend into active statusline
Problem:  Since v9.2.0349, the vertical separator cell at status line
	  rows is drawn as a space with StatusLine highlight, hiding the
	  user's 'fillchars' "vert" or "stl"/"stlnc" character at that
	  cell (after v9.2.0349)
Solution: Drop the status line blend.  At status line rows the separator
	  cell goes back to using the status fillchar when adjacent
	  status lines are connected, or the vsep character otherwise.
	  (Same as before v9.2.0348)

Keep the VertSplitNC highlight group introduced in v9.2.0349.  The
highlight (VertSplit vs VertSplitNC) is selected based on whether the
current window is adjacent to the separator at the row.

Vertical separators are redrawn on current-window changes and on
:redrawstatus[!] so the VertSplit/VertSplitNC highlight is updated
immediately.

fixes:   #20089
related: #19951
closes:  #20167

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-08 21:03:12 +00:00
Yasuhiro Matsumoto
b9871cef10 patch 9.2.0452: screen.c popup opacity blend logic is duplicated
Problem:  screen_line() has four near-identical blocks computing
          the popup_attr, the combined attr, the blend value and
          the underlying base attr in sequence when handling popups
          with opacity.  The duplication makes the function long
          and hard to follow, and changes have to be applied to all
          four sites.
Solution: Extract the shared computation into popup_blend_with_base()
          and popup_base_attr_or() helpers, and cache per-popup
          attrs once via popup_opacity_T.  No behavior change
          (Yasuhiro Matsumoto).

closes: #20154

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-07 19:40:16 +00:00
zeertzjq
58124789aa patch 9.2.0451: 'findfunc' can't return extra info for cmdline completion
Problem:  'findfunc' can't return extra info for cmdline completion
          (Maxim Kim).
Solution: Handle 'findfunc' return value in cmdline completion like that
          of "customlist" functions (zeertzjq).

fixes:  #20155
closes: #20158

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-07 19:32:23 +00:00
Christian Brabandt
9299332917 patch 9.2.0450: [security]: heap buffer overflow in spellfile.c read_compound()
Problem:  read_compound() in spellfile.c computes the size of the regex
          pattern buffer using signed-int arithmetic on the attacker
          controlled SN_COMPOUND sectionlen.  With sectionlen=0x40000008
          and UTF-8 encoding active the multiplication wraps to 27 while
          the per-byte loop writes up to ~1B bytes, overflowing the heap.
          Reachable when loading a crafted .spl file (e.g. via 'set spell'
          after a modeline sets 'spelllang').  The cp/ap/crp allocations
          have the same int + 1 overflow class (Daniel Cervera)
Solution: Use type size_t as buffer size and reject values larger than
          COMPOUND_MAX_LEN (100000).  Apply the same size_t treatment to
          the cp/ap/crp allocations.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-q4jv-r9gj-6cwv

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-07 18:49:53 +00:00
Yasuhiro Matsumoto
4cbdef8e30 runtime(vim9): Check cmd.exe on WSL is executable
closes: #20150

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-06 18:24:51 +00:00
Christian Brabandt
0ab4316fce patch 9.2.0449: Make proto fails in non GTK builds
Problem:  Make proto fails when not building the GTK gui
Solution: Test for $GLIB_COMPILE_RESOURCES as done elsewhere

closes: #20145

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-06 18:17:00 +00:00
Yasuhiro Matsumoto
4bcc8ba93d patch 9.2.0448: Vim9: dangling cmdline pointer after skip_expr_cctx()
Problem:  Vim9: dangling cmdline pointer after skip_expr_cctx()
          (Foxe Chen)
Solution: Extract the cmdline restoration logic from compile_lambda into
          a helper restore_cmdline_arg() and call it from
          skip_expr_cctx() too, so a skipped lambda inside an "else"
          branch does not leave "*arg" pointing into freed evalarg
          memory (Yasuhiro Matsumoto).

fixes:  #20147
closes: #20148

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-06 18:02:09 +00:00
magnus-rattlehead
c06002f3cb patch 9.2.0447: cindent does not ignore comments
Problem:  When find_start_brace() scans backwards for the enclosing
          block, '{' and '}' inside // and /* */ comments are counted,
          producing wrong indent for code following such comments
          (rendcrx).
Solution: Implement FM_SKIPCOMM in findmatchlimit() to track block-
          comment state and skip matches inside comments. Pass
          FM_SKIPCOMM from cindent's call sites
          (find_start_brace, find_match_char, cin_iswhileofdo,
          get_c_indent).

fixes:  #4
fixes:  #648
fixes:  #19578
closes: #19581
closes: #20111

Signed-off-by: magnus-rattlehead <guranjakustivi@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-05 21:14:33 +00:00
J. Paulo Seibt
7ccc273a4c patch 9.2.0446: runtime(netrw): off-by-one bug in s:NetrwUnMarkFile()
Problem:  off-by-one bug in s:NetrwUnMarkFile()
Solution: Correctly loop through all buffers to unlet all variables
          (J. Paulo Seibt)

When the function loops through buffers to clear s:netrwmarkfilelist_#
and s:netrwmarkfilemtch_#, it skips the last one at bufnr('$'), messing
up mark highlights and causing other functions that operate on those
arrays (like delete or rename) to target stale marked files.

The bufnr() help page says that bufnr("$") returns the highest buffer
number of existing buffers, so while ibuf < bufnr("$") does not clear
the last buffer-local arrays.

To reproduce:

Just opening a fresh Vim and running :Ex opens a netrw buffer at the
highest number. Then, typing mu after marking some files triggers the
mark highlight bug, and finally typing D would act like calling the
delete function against the previous marked files, as the buffer-local
arrays where not touched by s:NetrwUnMarkFile.

closes: #20129

Signed-off-by: J. Paulo Seibt <jpseibt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-05 20:09:58 +00:00
Jesse Rosenstock
40fc78f0a1 patch 9.2.0445: win_fix_scroll() called before win_comp_pos() in command_height()
Problem:  win_fix_scroll(true) is called before win_comp_pos() in
          command_height().
Solution: Move win_fix_scroll(true) after win_comp_pos(), matching the
          ordering used in win_drag_status_line() (Jesse Rosenstock).

Patch 9.2.0413 added win_fix_scroll(true) to command_height() to handle
splitkeep when cmdheight changes, but placed the call before win_comp_pos().
win_fix_scroll() reads w_winrow to detect window movement
(620557bd48/src/window.c (L7266)),
but w_winrow is not recomputed until win_comp_pos() runs
(620557bd48/src/window.c (L6516)).
This causes incorrect scroll adjustments and was breaking
Test_smoothscroll_incsearch on macOS CI.

closes: #20138

Co-authored-by: Gemini
Signed-off-by: Jesse Rosenstock <jmr@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-05 19:50:46 +00:00
Christian Brabandt
88fb739918 patch 9.2.0444: Cannot set 'path' option via modeline
Problem:  Cannot set 'path' option via modeline (zeertzjq, after v9.2.0435)
Solution: Revert the part that disallows setting 'path' via modeline.

closes: #20137

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-05 19:47:19 +00:00
Hirohito Higashi
cf947e7ef0 patch 9.2.0443: GUI: cancelling save dialog overwrites or discards unnamed buffer
Problem:  When closing gvim with an unsaved unnamed buffer, choosing
          "Yes" in the "Save changes?" dialog and then "Cancel" in the
          file selection dialog either silently writes the buffer to a
          file named "Untitled" (overwriting any existing file with
          that name) or discards the buffer altogether
          (vibs29, after v9.1.0265).
Solution: In dialog_changed(), if browse_save_fname() leaves the buffer
          without a file name, treat it as a cancel and return without
          saving.  Also stop clearing the modified flag in the restore
          path on write failure, so the unsaved changes are kept and
          the caller (e.g. gui_shell_closed()) can also cancel the
          close.  Pre-fill the file dialog with "Untitled" to match
          the preceding "Save changes to ..." prompt.  Add a test for
          the write-failure path (Hirohito Higashi).

fixes:  #20132
closes: #20143

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-05 19:02:59 +00:00
zeertzjq
2bfddbea47 patch 9.2.0442: completion: i_CTRL-X_CTRL-V doesn't use dict from customlist
Problem:  Completion with i_CTRL-X_CTRL-V doesn't use dict from cmdline
          "customlist" completion.
Solution: Include abbr/kind/menu/info in the completion items
          (zeertzjq).

closes: #20139

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-05 18:56:56 +00:00
Arnaud Rebillout
1903020b82 runtime(autopkgtest): update syntax script
Fix some typos, and move a deprecated keyword where it belongs

closes: #20141

Signed-off-by: Arnaud Rebillout <arnaudr@debian.org>
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-05 18:53:33 +00:00
mityu
b10159bcc2 Fix wrong comment in getchar.c
The comment for `do_key_input_pre()` function says that it handles the
InsertCharPre autocommand, but what the function actually handles is the
KeyInputPre autocommand.

closes: #20142

Signed-off-by: mityu <mityu.mail@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-04 20:24:07 +00:00
Hirohito Higashi
8c7d824b73 patch 9.2.0441: statusline: click handler not called on multi-line statusline
Problem:  With a multi-line statusline clicking on a "%[FuncName]...%[]"
          or "%@FuncName@..." region defined on a row other than the
          last drawn row does not invoke the handler (Christian
          Robinson, after v9.2.0338)
Solution: In win_redr_custom() the click region table reflects only the
          last iteration of the per-row draw loop, so click regions are
          recorded only for the last row.  Move the click-region
          resolution inside the loop and append regions for each row
          using vim_realloc().  This also fixes a leak of
          clicktab[].funcname for non-last rows (Hirohito Higashi).

fixes:  #20116
closes: #20120

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-04 20:03:46 +00:00
Yasuhiro Matsumoto
0c998003bc patch 9.2.0440: MS-Windows: cursor flicker during update_screen()
Problem:  MS-Windows: cursor flicker during update_screen()
Solution: Hide the cursor during update_screen() to avoid Windows ConPTY
          flicker (Yasuhiro Matsumoto).

On terminals that do not honor synchronized output mode (e.g. Windows
ConPTY), update_screen() emits cell positioning and content as multiple
Win32 console writes through mch_write(), which the terminal renders as
separate frames.  This shows up as the cursor briefly jumping to column
1 of rows being redrawn, especially during async redraws around the
popup completion menu.

Disable the cursor with cursor_off() at the start of update_screen()
and restore it with cursor_on() at the end, but only when synchronized
output mode is not active.  When it is, the redraw is already atomic
from the terminal's view and hiding the cursor would only add visible
blink with no benefit.

closes: #20121

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-04 19:58:27 +00:00
zeertzjq
3bfffcc290 patch 9.2.0439: completion: info popup not removed in cmdline mode
Problem:  Info popup isn't removed when selecting an item that doesn't
          have "info" in cmdline completion, which is inconsistent with
          Insert mode behavior.
Solution: Set pum_call_update_screen in cmdline mode (zeertzjq).

closes: #20128

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-04 19:53:10 +00:00
Jesse Rosenstock
20a124a6e0 patch 9.2.0438: tests: test_plugin_termdebug is flaky
Problem:  Test_termdebug_tbreak(), Test_termdebug_basic(), and
          Test_termdebug_toggle_break() use synchronous assert_equal()
          to check breakpoint signs immediately after sending commands
          to gdb.  On slow CI (ASAN, ARM64, macOS) gdb may not have
          processed the response yet, causing the sign to be missing.
Solution: Wrap the three assertions in WaitForAssert() to poll until
          the signs are placed, matching the pattern already used by
          the other assertions in the same tests (Jesse Rosenstock).

closes: #20133

Co-authored-by: Gemini
Signed-off-by: Jesse Rosenstock <jmr@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-04 19:22:25 +00:00
Hirohito Higashi
bb807ebc8a runtime(doc): Tweak documentation style
closes: #20134

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-04 19:17:52 +00:00
Felipe Matarazzo
cb0b4cf45c Fix a few more typos
closes: #20135

Signed-off-by: Felipe Matarazzo <felipemps@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-04 19:10:37 +00:00
Yasuhiro Matsumoto
9d3019104c patch 9.2.0437: MS-Windows: cursor flicker in vtp mode
Problem:  MS-Windows: cursor flicker in vtp mode
Solution: Skip mch_update_cursor() in cursor_visible() when vtp is
          active (Yasuhiro Matsumoto).

In vtp (ConPTY) mode the cursor visibility is controlled by DECTCEM
(\033[?25h / \033[?25l).  The follow-up call to mch_update_cursor() then
re-emits DECSCUSR (\033[0 q etc.) on every visibility toggle even though
the cursor shape did not change.  Some terminals briefly redisplay the
cursor when DECSCUSR arrives, so this can cause a visible flash at the
position the cursor will be moved to next (e.g. column 0 ahead of a line
redraw).

In non-vtp mode the call is still required because SetConsoleCursorInfo()
inside mch_set_cursor_shape() reads s_cursor_visible to apply the
visibility change, so keep that path unchanged.

closes: #20122

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-03 18:37:05 +00:00
Christian Brabandt
77677c33de patch 9.2.0436: Buffer overflow when parsing overlong errorformat lines
Problem:  When an error line in a file passed to :cfile / :cgetfile is
          longer than IOSIZE, qf_parse_file_pfx() copies the tail
          into the fixed-size IObuff with STRMOVE(), overflowing the heap buffer.
          The same code path can also loop indefinitely because
          qf_parse_file_pfx() always returns QF_MULTISCAN when a
          tail is present, and qf_init_ext() unconditionally goes
          to "restofline" without bounding the tail length (Nabih).
Solution: Remove the STRMOVE() into IObuff.  In the QF_MULTISCAN
          branch, alias linebuf into the tail directly and update
          linelen, requiring strict progress (new length less than
          the previous length) before retrying; otherwise ignore
          the line.

closes: #20126

Supported by AI

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-03 18:33:39 +00:00
Christian Brabandt
190cb3c2b9 patch 9.2.0435: [security]: backticks in 'path' may cause shell execution on completion
Problem:  [security]: Backticks enclosed shell commands in the 'path'
          option value are executed during completion (q1uf3ng).
Solution: Skip path entries containing backticks, add P_SECURE to 'path'
          option, so that it cannot be set from a modeline (for symmetry with
          the 'cdpath' option)

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-hwg5-3cxw-wvvg

Supported by AI.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-03 18:17:02 +00:00
Christian Brabandt
fde5a56ecb patch 9.2.0434: cscope: filename interpreted by /bin/sh
Problem:  cs_create_connection() builds the cscope command by
          interpolating csinfo[i].fname (and ppath, flags) into a
          string and lets the shell parse it.  Shell metacharacters
          in a database filename are therefore evaluated by /bin/sh
          before cscope is exec'd, rather than being passed through as a
          literal path (q1uf3ng)
Solution: Build argv directly and execvp() the cscope binary
          without an intervening shell.

closes: #20119

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-03 17:47:50 +00:00
Yasuhiro Matsumoto
5c700152ae patch 9.2.0433: customlist completion cannot supply pum metadata
Problem:  customlist completion cannot supply pum metadata
Solution: Allow each item returned by a customlist function to be
          either a string or a Dict with keys "word", "abbr", "kind",
          "menu" and "info" (Yasuhiro Matsumoto).

closes: #20100

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-02 16:11:01 +00:00
Yasuhiro Matsumoto
3bd25c63b4 patch 9.2.0432: blob to string conversion can be improved
Problem:  blob to string conversion can be improved
Solution: Compute the output size up front and use a single alloc plus
          mch_memmove() (Yasuhiro Matsumoto).

Replace per-byte ga_append/snprintf loops with bulk allocation and
mch_memmove in three hot paths: blob2string() (used by string()),
string_from_blob(), and the UTF-16/UCS path of f_blob2str(). For a
16 MiB blob, string(blob) is ~28x faster and blob2str() is ~2x faster.

Benchmark (16 MiB blob, 5 iterations, total seconds):

| | Before | After | Speedup |
|---|---:|---:|---:|
| `string(blob)` | 6.422 | 0.225 | 28.5x |
| `blob2str(b)` | 0.504 | 0.265 | 1.90x |
| `blob2str(b, {encoding: 'utf-8'})` | 0.507 | 0.282 | 1.80x |
| `blob2str(b, {encoding: 'utf-16le'})` | 0.407 | 0.202 | 2.01x |

closes: #20112

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-02 15:49:17 +00:00
Yasuhiro Matsumoto
e1e92fea92 patch 9.2.0431: blob encoding can be improved
Problem:  blob encoding can be improved
Solution: Speed up blob encoding by avoiding per-byte ga_append()
          (Yasuhiro Matsumoto)

Replace the per-byte ga_append loop in the VAR_BLOB branch of
json_encode_item() with a single ga_grow for the worst case
(2 + 4 * blen) and direct writes through a local pointer. Also
read blob bytes through a local char_u* instead of going through
blob_get() for each byte.

Benchmark (1 MiB blob, 5 iterations, total seconds, median of 3 runs):

| byte distribution | Before | After | Speedup |
|---|---:|---:|---:|
| 1-digit (0–9)     | 0.0254 | 0.0174 | 1.46x |
| 2-digit (10–99)   | 0.0344 | 0.0064 | 5.38x |
| 3-digit (100–255) | 0.0539 | 0.0102 | 5.28x |
| mixed (0–255)     | 0.0335 | 0.0093 | 3.60x |

closes: #20113

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-02 15:39:55 +00:00
Yasuhiro Matsumoto
2219c89013 patch 9.2.0430: tests: Test_shortmess_F3() is flaky on MS-Windows
Problem:  tests: Test_shortmess_F3() is flaky on MS-Windows
Solution: Increase the sleep to 3s (Yasuhiro Matsumoto)

On MS-Windows time_differs() treats mtime as unchanged unless st_mtime
differs by more than 1 second, so a 2-second sleep can fall short when
the two writes straddle a second boundary. Bump the non-nanotime sleep
to 3 seconds.

closes: #20117

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-02 15:20:18 +00:00
Yasuhiro Matsumoto
e25933014c patch 9.2.0429: tests: flaky screendump Test_smoothscroll_incsearch()
Problem:  tests: flaky screendump Test_smoothscroll_incsearch()
Solution: Replace screendump test by WaitForAssert()
          (Yasuhiro Matsumoto)

VerifyScreenDump fails consistently on the macos-15-intel CI runner.
Replace the dump comparisons with assertions that verify the actual
invariant under test: that the visible buffer view stays unchanged
across the four incremental-search keystrokes (i.e. skipcol is not
reset). Drop the now-unused dump files.

closes: #20118

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-02 13:29:01 +00:00
Doug Kearns
e4413c5df7 runtime(algol68): Update syntax file, match symbolic identity relators
closes: #20109

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-01 16:35:57 +00:00
Yasuhiro Matsumoto
59e59a62b4 patch 9.2.0428: popup: no opacity support for completepopup/previewpopup
Problem:  popup: no opacity support for completepopup/previewpopup
Solution: Add support opacity: suboption for the 'completeopt'.

Accepts opacity:0-100 with the same semantics as popup_create()'s
opacity option, allowing the info / preview popup to blend with
the background.

closes: #20099

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-01 16:32:44 +00:00
Yasuhiro Matsumoto
7b218ae98c patch 9.2.0427: popup: opacity blend may leaks white bg color
Problem:  popup: opacity blend may leaks white bg color
Solution: Add cterm color blending for 256 color terminals, use
          COLOR_INVALID() macro to check for invalid color
          (Yasuhiro Matsumoto)

When a textprop highlight only set gui=undercurl/guisp (no fg/bg), the
CTERMCOLOR sentinel was treated by hl_blend_attr() as a real near-white
color, leaking white bg onto textprop-covered cells under an opacity
popup or pum.  Add a cterm color blending path that approximates blends
in the xterm 256-color palette using the gui RGB when available, so
opacity now has a visible effect even without 'termguicolors' (in
256-color terminals).  Below 256 colors the blend is skipped.

Also document the requirement (GUI, 'termguicolors', or 256-color
terminal) and update existing pumopt/popupwin opacity screendumps to
reflect the new blended output.

closes: #20095

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-01 16:22:32 +00:00
Yasuhiro Matsumoto
cf5d7102b9 patch 9.2.0426: tests: still some flaky screendump tests
Problem:  tests: still some flaky screendump tests
          (James McCoy)
Solution: Replace flaky VerifyScreenDump checks with assert_* assertions
          for Test_visual_block_scroll and Test_scrolloffpad_with_folds,
          and remove the now-unused dump files, mark those tests as
          flaky (which happened previously for screendump tests
          automatically) (Yasuhiro Matsumoto).

fixes:   #20096
related: #20095

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-01 16:20:43 +00:00
Shougo Matsushita
d25f8d1b2c patch 9.2.0425: Cannot silence undo/redo messages
Problem:  Cannot silence undo/redo messages
Solution: Add "u" flag to 'shortmess' option
          (Shougo Matsushita).

fixes:  #20049
closes: #20107

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-01 14:54:56 +00:00
Yasuhiro Matsumoto
ec8b8bd82a patch 9.2.0424: popup: flicker when wildtrigger() refreshes the popup menu
Problem:  popup: flicker when wildtrigger() refreshes the popup menu
Solution: Wrap the pum teardown and cmdline redraw in synchronized
          terminal output (Yasuhiro Matsumoto).

Reduces flicker when wildtrigger() refreshes the popup on every
keystroke and the cmdline is wrapped: the un-scroll inside
update_screen() and the re-scroll inside redrawcmd() are emitted as
one atomic terminal update.

closes: #20081

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-01 13:29:01 +00:00
Yasuhiro Matsumoto
587447ec64 patch 9.2.0423: popup: wrapped cmdline truncated with wildoptions=pum
Problem:  popup: wrapped cmdline truncated with wildoptions=pum
Solution: Call msg_starthere() in redrawcmd() to reset lines_left
          before each redraw (Yasuhiro Matsumoto).

redrawcmd() leaves lines_left at its previous value, which decrements
across successive redraws (e.g. when wildtrigger() refreshes the popup
on every keystroke) until 0, after which msg_no_more aborts drawing
the wrapped cmdline. Call msg_starthere() to reset it.

related: #20081

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-01 13:25:31 +00:00
281 changed files with 6643 additions and 2141 deletions

View File

@@ -22,7 +22,7 @@ jobs:
env:
CC: ${{ matrix.compiler }}
GCC_VER: 14
CLANG_VER: 21
CLANG_VER: 22
TEST: test
SRCDIR: ./src
LEAK_CFLAGS: -DEXITFREE

View File

@@ -48,7 +48,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4.35.2
uses: github/codeql-action/init@v4.35.4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -59,7 +59,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v4.35.2
uses: github/codeql-action/autobuild@v4.35.4
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -73,4 +73,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4.35.2
uses: github/codeql-action/analyze@v4.35.4

View File

@@ -17,6 +17,6 @@ jobs:
pull-requests: write
steps:
- uses: actions/labeler@v6
- uses: actions/labeler@v6.1.0
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -90,7 +90,7 @@ Unicode true ; !include defaults to UTF-8 after Unicode True since 3.0 Alpha 2
# ----------- No configurable settings below this line -----------
##########################################################
# Installer Attributes, Including headers, Plugins and etc.
# Installer Attributes, Including headers, Plugins and etc.
CRCCheck force
@@ -638,21 +638,23 @@ SectionGroupEnd
!undef LIBRARY_X64
${EndIf}
# Install DLLs for 32-bit gvimext.dll into the GvimExt32 directory.
SetOutPath $0\GvimExt32
ClearErrors
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libintl-8.dll" \
"$0\GvimExt32\libintl-8.dll" "$0\GvimExt32"
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libiconv-2.dll" \
"$0\GvimExt32\libiconv-2.dll" "$0\GvimExt32"
# Install libgcc_s_sjlj-1.dll only if it is needed.
!if ${INCLUDE_LIBGCC}
!if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
"$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
!if !${ARM64}
# Install DLLs for 32-bit gvimext.dll into the GvimExt32 directory.
SetOutPath $0\GvimExt32
ClearErrors
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libintl-8.dll" \
"$0\GvimExt32\libintl-8.dll" "$0\GvimExt32"
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libiconv-2.dll" \
"$0\GvimExt32\libiconv-2.dll" "$0\GvimExt32"
# Install libgcc_s_sjlj-1.dll only if it is needed.
!if ${INCLUDE_LIBGCC}
!if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
"$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
!endif
!endif
!endif
${EndIf}

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 Apr 23
# Last Change: 2026 May 16
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
# These functions are moved here from runtime/filetype.vim to make startup
@@ -798,9 +798,14 @@ export def FTnroff(): number
enddef
export def FTmm()
if exists("g:filetype_mm")
exe "setf " .. g:filetype_mm
return
endif
var n = 1
while n < 20
if getline(n) =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
if getline(n) =~ '^\s*\(//\|#\s*\(include\|import\)\>\|@import\>\|/\*\)'
setf objcpp
return
endif

View File

@@ -3,7 +3,7 @@ vim9script
# Vim runtime support library
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2026 Apr 17
# Last Change: 2026 May 06
export def IsSafeExecutable(filetype: string, executable: string): bool
if empty(exepath(executable))
@@ -51,7 +51,7 @@ if has('unix')
execute $'silent !cmd /c start "" /b {args} {Redir()}' | redraw!
enddef
endif
elseif exists('$WSL_DISTRO_NAME') # use cmd.exe to start GUI apps in WSL
elseif exists('$WSL_DISTRO_NAME') && executable('cmd.exe') # use cmd.exe to start GUI apps in WSL
export def Launch(args: string)
const command = (args =~? '\v<\f+\.(exe|com|bat|cmd)>')
? $'cmd.exe /c start /b {args} {Redir()}'

View File

@@ -25,6 +25,7 @@
" 2026 Apr 09 by Vim Project: fix bug with dotted filename (#19930)
" 2026 Apr 15 by Vim Project: fix more path traversal issues (#19981)
" 2026 Apr 16 by Vim Project: use g:tar_secure in tar#Extract()
" 2026 May 14 by Vim Project: use correct shellescape() call in Vimuntar()
"
" Contains many ideas from Michael Toren's <tar.vim>
"
@@ -832,9 +833,9 @@ fun! tar#Vimuntar(...)
" if necessary, decompress the tarball; then, extract it
if tartail =~ '\.tgz'
if executable("gunzip")
silent exe "!gunzip ".shellescape(tartail)
silent exe "!gunzip ".shellescape(tartail, 1)
elseif executable("gzip")
silent exe "!gzip -d ".shellescape(tartail)
silent exe "!gzip -d ".shellescape(tartail, 1)
else
echoerr "unable to decompress<".tartail."> on this system"
if simplify(curdir) != simplify(tarhome)

View File

@@ -1,6 +1,8 @@
" Vim compiler file
" Compiler: Zig Compiler
" Upstream: https://github.com/ziglang/zig.vim
" Last Change:
" 2026 May 12 by the Vim project (set errormformat)
if exists("current_compiler")
finish
@@ -11,13 +13,29 @@ let s:save_cpo = &cpo
set cpo&vim
" a subcommand must be provided for the this compiler (test, build-exe, etc)
if has('patch-7.4.191')
CompilerSet makeprg=zig\ \$*\ \%:S
else
CompilerSet makeprg=zig\ \$*\ \"%\"
endif
CompilerSet makeprg=zig\ \$*\ \%:S
" TODO: improve errorformat as needed.
CompilerSet errorformat=
\%-G,
\%-G\ %#+-\ %.%#,
\%-Ginstall,
\%-Ginstall\ transitive\ failure,
\%-Grun,
\%-Grun\ transitive\ failure,
\%-Gtest,
\%-Gtest\ transitive\ failure,
\%-Gfailed\ command:\ %.%#,
\%-Gerror:\ %*\\d\ compilation\ errors,
\%-GBuild\ Summary:\ %.%#,
\%-Gerror:\ the\ following\ build\ command\ failed\ with\ exit\ code\ %*\\d:,
\%-G.zig-cache%.%#,
\%E%f:%l:%c:\ error:\ %m,
\%I%f:%l:%c:\ note:\ %m
" zig has no warnings, but zig cc and zig c++ do
CompilerSet errorformat+=
\%W%f:%l:%c:\ warning:\ %m,
\%-G%*\\d\ warnings\ generated.
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@@ -1,7 +1,8 @@
" Vim compiler file
" Compiler: Zig Compiler (zig build)
" Upstream: https://github.com/ziglang/zig.vim
" Last Change: 2024 Apr 05 by The Vim Project (removed :CompilerSet definition)
" Last Change: 2024 Apr 05 by the Vim Project (removed :CompilerSet definition)
" 2026 May 12 by the Vim Project (removed comment)
if exists('current_compiler')
finish
@@ -13,13 +14,11 @@ let s:save_cpo = &cpo
set cpo&vim
if exists('g:zig_build_makeprg_params')
execute 'CompilerSet makeprg=zig\ build\ '.escape(g:zig_build_makeprg_params, ' \|"').'\ $*'
execute 'CompilerSet makeprg=zig\ build\ '.escape(g:zig_build_makeprg_params, ' \|"').'\ $*'
else
CompilerSet makeprg=zig\ build\ $*
CompilerSet makeprg=zig\ build\ $*
endif
" TODO: anything to add to errorformat for zig build specifically?
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: tabstop=8 shiftwidth=4 softtabstop=4 expandtab
" vim: tabstop=8 shiftwidth=2 softtabstop=2 expandtab

View File

@@ -1,7 +1,8 @@
" Vim compiler file
" Compiler: Zig Compiler (zig build-exe)
" Upstream: https://github.com/ziglang/zig.vim
" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
" Last Change: 2025 Nov 16 by the Vim Project (set errorformat)
" 2026 May 12 by the Vim project (remove errorformat)
if exists('current_compiler')
finish
@@ -13,9 +14,7 @@ let s:save_cpo = &cpo
set cpo&vim
CompilerSet makeprg=zig\ build-exe\ \%:S\ \$*
" CompilerSet errorformat=%f:%l:%c: %t%*[^:]: %m, %f:%l:%c: %m, %f:%l: %m
CompilerSet errorformat&
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: tabstop=8 shiftwidth=4 softtabstop=4 expandtab
" vim: tabstop=8 shiftwidth=2 softtabstop=2 expandtab

View File

@@ -0,0 +1,18 @@
" Vim compiler file
" Compiler: Zig Compiler (zig cc)
" Last Change: 2026 May 12
if exists('current_compiler')
finish
endif
runtime compiler/zig.vim
let current_compiler = 'zig_cc'
let s:save_cpo = &cpo
set cpo&vim
CompilerSet makeprg=zig\ cc\ \%:S\ \$*
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: tabstop=8 shiftwidth=2 softtabstop=2 expandtab

View File

@@ -1,7 +1,8 @@
" Vim compiler file
" Compiler: Zig Compiler (zig test)
" Upstream: https://github.com/ziglang/zig.vim
" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
" Last Change: 2025 Nov 16 by the Vim Project (set errorformat)
" 2026 May 12 by the Vim Project (remove error format)
if exists('current_compiler')
finish
@@ -13,9 +14,7 @@ let s:save_cpo = &cpo
set cpo&vim
CompilerSet makeprg=zig\ test\ \%:S\ \$*
" CompilerSet errorformat=%f:%l:%c: %t%*[^:]: %m, %f:%l:%c: %m, %f:%l: %m
CompilerSet errorformat&
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: tabstop=8 shiftwidth=4 softtabstop=4 expandtab
" vim: tabstop=8 shiftwidth=2 softtabstop=2 expandtab

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 9.2. Last change: 2026 Feb 25
*autocmd.txt* For Vim version 9.2. Last change: 2026 May 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -421,6 +421,8 @@ Name triggered by ~
|TextChangedP| after a change was made to the text in Insert mode
when popup menu visible
|TextChangedT| after a change was made to the text in Terminal mode
|TextPutPost| after text has been put
|TextPutPre| before text is put
|TextYankPost| after text has been yanked or deleted
|SafeState| nothing pending, going to wait for the user to type a
@@ -1359,6 +1361,45 @@ TextChangedP After a change was made to the text in the
TextChangedT After a change was made to the text in the
current buffer in Terminal mode.
Otherwise the same as TextChanged.
*TextPutPost*
TextPutPost After text has been put in the current buffer.
The following values in |v:event| are mostly
the same as |TextYankPost|:
operator The operation performed,
either 'p' or 'P'.
regcontents Text that was put. For
|quote_=|, this is the result
of the expression.
regname Name of the register or empty
string for the unnamed
register.
regtype Type of the register, see
|getregtype()|.
visual True if the operation is
performed in |Visual| mode.
Not triggered when |quote_| is used nor when
called recursively.
It is not allowed to change the buffer text,
see |textlock|.
Note that for the |quote_.| register, since
the last inserted text is buffered into the
input buffer (buffer isn't modified directly),
this autocommand is called directly after
|TextPutPre|.
{only when compiled with the +eval feature}
*TextPutPre*
TextPutPre Before text has been put in the current buffer.
Same values as |TextPutPost| in |v:event|. It
is valid to call |setreg()| in this
autocommand, allowing you to process and
modify the text in "regcontents" before it is
put. However this does not apply to |quote_#|,
|quote_=|, |quote_%|, |quote_:|, |quote_/| or |quote_.|.
Not triggered when |quote_| is used nor when
called recursively.
It is not allowed to change the buffer text,
see |textlock|.
{only when compiled with the +eval feature}
*TextYankPost*
TextYankPost After text has been yanked or deleted in the
current buffer. The following values of

View File

@@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.2. Last change: 2026 Apr 28
*builtin.txt* For Vim version 9.2. Last change: 2026 May 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -11904,16 +11904,16 @@ tabpanel_getinfo() *tabpanel_getinfo()*
tabpanel_scroll({n} [, {opts}]) *tabpanel_scroll()*
Scroll the tabpanel by {n} rows. Positive values scroll down
(later tabs become visible), negative values scroll up. The
new offset is clamped to the valid range.
(later tab pages become visible), negative values scroll up.
The new offset is clamped to the valid range.
When {opts} is a |Dictionary| and its "absolute" entry is
|TRUE|, {n} is used as the new absolute scroll offset
instead of a delta.
|TRUE|, {n} is used as the new absolute scroll offset instead
of a delta.
Returns |TRUE| if the scroll offset changed, |FALSE|
otherwise (for example when the tabpanel is not shown, or
the offset is already at the requested value).
Returns |TRUE| if the scroll offset changed, |FALSE| otherwise
(for example when the tabpanel is not shown, or the offset is
already at the requested value).
Return type: |vim9-boolean|

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 9.2. Last change: 2026 Feb 14
*eval.txt* For Vim version 9.2. Last change: 2026 May 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5346,6 +5346,9 @@ a |lambda| expression.
With the exception of the "available" callback if a callback is not provided,
Vim will not invoke anything, and this is not an error.
If the "paste" or "copy" callbacks are triggered recursively, then they will
not be called.
*clipboard-providers-textlock*
In both the "paste" and "copy" callbacks, it is not allowed to change the
buffer text, see |textlock|.
@@ -5367,6 +5370,9 @@ order:
is an empty string, then the type is automatically chosen.
2. A |list| of strings to return to Vim, each representing a line.
If an invalid value is returned, then this is not an error. Instead the
register will be left unchanged (not cleared).
*clipboard-providers-copy*
The "copy" callback returns nothing and takes the following arguments in the
following order:

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 9.2. Last change: 2026 Apr 13
*filetype.txt* For Vim version 9.2. Last change: 2026 May 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -164,6 +164,7 @@ variables can be used to overrule the filetype used for certain extensions:
*.int g:filetype_int
*.lsl g:filetype_lsl
*.m g:filetype_m |ft-mathematica-syntax|
*.mm g:filetype_mm
*.mac g:filetype_mac
*[mM]makefile,*.mk,*.mak,[mM]akefile*
g:make_flavor |ft-make-syntax|

View File

@@ -1,4 +1,4 @@
*ft_mp.txt* For Vim version 9.2. Last change: 2026 Feb 14
*ft_mp.txt* For Vim version 9.2. Last change: 2026 May 04
This is the documentation for the METAFONT and MetaPost filetype plugins.
Unless otherwise specified, the commands, settings and mappings defined below
@@ -25,7 +25,7 @@ MetaPost documents, including syntax coloring, indentation, and completion.
Defining indentation rules for METAFONT and MetaPost code is tricky and
somewhat subjective, because the syntax is quite liberal. The plugin uses some
heuristics that work well most of the time, but in particular cases you may
want to to override the automatic rules, so that the manually defined
want to override the automatic rules, so that the manually defined
indentation is preserved by commands like `gg=G`.
This can be achieved by appending `%>`, `%<`, `%=` or `%!` to a line to

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 9.2. Last change: 2026 Feb 14
*map.txt* For Vim version 9.2. Last change: 2026 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1593,7 +1593,10 @@ reported if any are supplied). However, it is possible to specify that the
command can take arguments, using the -nargs attribute. Valid cases are:
-nargs=0 No arguments are allowed (the default)
-nargs=1 Exactly one argument is required, it includes spaces
-nargs=1 Exactly one argument is required, it includes spaces;
completion treats white spaces as argument separation
-nargs=_ Exactly one argument is required, it includes spaces;
completion treats white spaces as part of the argument
-nargs=* Any number of arguments are allowed (0, 1, or many),
separated by white space
-nargs=? 0 or 1 arguments are allowed
@@ -1601,7 +1604,23 @@ command can take arguments, using the -nargs attribute. Valid cases are:
Arguments are considered to be separated by (unescaped) spaces or tabs in this
context, except when there is one argument, then the white space is part of
the argument.
the argument. The difference between the "-nargs=1" and "-nargs=_": >
func MyComplete(ArgLead, CmdLine, CursorPos)
return ["one value", "two values", "three values"]
\->matchfuzzy(a:ArgLead)
endfunc
:command -nargs=1 -complete=customlist,MyComplete MyCmd1 echo <q-args>
:command -nargs=_ -complete=customlist,MyComplete MyCmd2 echo <q-args>
Completing ":MyCmd1 two va<tab>" will complete with: >
:MyCmd1 two one value
Completing ":MyCmd2 two va<tab>" will complete with: >
:MyCmd2 two values
Note that arguments are used as text, not as expressions. Specifically,
"s:var" will use the script-local variable in the script where the command was
@@ -1693,7 +1712,21 @@ For the "custom" argument, the function should return the completion
candidates one per line in a newline separated string.
*E1303*
For the "customlist" argument, the function should return the completion
candidates as a Vim List. Non-string items in the list are ignored.
candidates as a Vim List. Each item may be either a string or a |Dictionary|.
A Dictionary item may have the following keys:
word (required) the text inserted into the command line when the
item is selected
abbr alternative text shown in the popup menu in place of "word",
when 'wildoptions' contains "pum"; useful when the inserted
text and the displayed text should differ
kind short kind text (one or two characters), shown in the popup
menu when 'wildoptions' contains "pum"
menu extra text shown after the match in the popup menu
info long description shown in the info popup; the |+popupwin|
feature is required to display it
Items that are neither a string nor a Dictionary, and Dictionary items without
a "word" key, are ignored. When 'wildoptions' does not contain "pum", only
"word" is shown.
The function arguments are:
ArgLead the leading portion of the argument currently being

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 9.2. Last change: 2026 Apr 29
*options.txt* For Vim version 9.2. Last change: 2026 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2393,6 +2393,9 @@ A jump table for the options with a short description can be found at |Q_op|.
close show close button: "on" (default) or "off"
height maximum height of the popup
highlight popup highlight group (default: PmenuSel)
opacity opacity percentage 0-100 (default 100, fully
opaque). When less than 100, content beneath
the popup shows through.
resize show resize handle: "on" (default) or "off"
shadow "off" (default) or "on" using |hl-PmenuShadow|
width maximum width of the popup
@@ -2400,6 +2403,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Example: >
:set completepopup=height:10,border:single,highlight:InfoPopup
:set completepopup=width:60,border:custom:─;│;─;│;┌;┐;┘;└
:set completepopup=border:round,opacity:80
<
When "align" is set to "item", the popup is positioned near the
selected item and moves as the selection changes.
@@ -3979,7 +3983,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|String| and is the |:find| command argument. The second argument is
a |Boolean| and is set to |v:true| when the function is called to get
a List of command-line completion matches for the |:find| command.
The function should return a List of strings.
The function should return a List, which is handled similarly to the
return value of a |:command-completion-customlist| function.
The function is called only once per |:find| command invocation.
The function can process all the directories specified in 'path'.
@@ -4769,7 +4774,8 @@ A jump table for the options with a short description can be found at |Q_op|.
[:PmenuKind,]:PmenuKindSel,
{:PmenuExtra,}:PmenuExtraSel,
x:PmenuSbar,X:PmenuThumb,j:PmenuBorder,
H:PmenuShadow,*:TabLine,
H:PmenuShadow,p:Popup,J:PopupBorder,
Q:PopupTitle,*:TabLine,
#:TabLineSel,_:TabLineFill,!:CursorColumn,
.:CursorLine,o:ColorColumn,q:QuickFixLine,
z:StatusLineTerm,Z:StatusLineTermNC,
@@ -4840,6 +4846,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-PmenuMatchSel| < popup menu matched text in selected line
|hl-PmenuBorder| j popup menu border characters
|hl-PmenuShadow| H popup menu shadow
|hl-Popup| p popup window body
|hl-PopupBorder| J popup window border characters
|hl-PopupTitle| Q popup window title
|hl-PreInsert| I text inserted when "preinsert" is in 'completeopt'
|hl-Normal| ( Window color (supersedes 'wincolor' option)
@@ -6211,6 +6220,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'filetype'
'foldcolumn'
'foldenable'
'foldmarker'
'foldmethod'
'modifiable'
'readonly'
@@ -7007,7 +7017,8 @@ A jump table for the options with a short description can be found at |Q_op|.
of 'fillchars' option.
opacity:{n} opacity percentage 0-100 (default 100).
When less than 100, background content shows
through the popup menu.
through the popup menu. Requires the GUI,
'termguicolors', or a 256-color terminal.
Flags (no value):
margin adds one-cell spacing inside the left and
@@ -7840,6 +7851,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Note: When using a pipe like "| tee", you'll lose the exit code of the
shell command. This might be configurable by your shell, look for
the pipefail option (for bash and zsh, use ":set -o pipefail").
Only a single "%s" value is allowed.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -7883,6 +7895,9 @@ A jump table for the options with a short description can be found at |Q_op|.
become obsolete (at least for Unix).
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*E1577*
Only a single "%s" item is allowed in the option value.
*'shellslash'* *'ssl'* *'noshellslash'* *'nossl'*
'shellslash' 'ssl' boolean (default off)
@@ -8044,6 +8059,9 @@ A jump table for the options with a short description can be found at |Q_op|.
search count statistics. The maximum limit can be set with
the 'maxsearchcount' option, see also |searchcount()|
function.
u don't give undo and redo messages like *shm-u*
"1 line less; before #1 1 second ago", "Already at oldest
change" or "Already at newest change"
This gives you the opportunity to avoid that a change between buffers
requires you to hit <Enter>, but still gives as useful a message as
@@ -9205,6 +9223,22 @@ A jump table for the options with a short description can be found at |Q_op|.
file names from the list. This avoids problems when a future version
uses another default.
*'tagsecure'* *'tsc'* *'notagsecure'* *'notsc'*
'tagsecure' 'tsc' boolean (default on)
global
When on, Vim refuses to follow tag entries whose file field looks like
a URL ("scheme://..."), aborting the jump with error |E1576|. This
prevents tag files from causing Vim to open URLs through |netrw|, which
would trigger a network request and expose netrw's URL-handling code to
attacker-controlled input or lead to environment exfiltration.
Tag files might be distributed alongside source code (e.g. via Git
repositories) and may therefore be untrustworthy. Only disable
this option if you fully control the tag files Vim will read.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'tagstack'* *'tgst'* *'notagstack'* *'notgst'*
'tagstack' 'tgst' boolean (default on)
global
@@ -10407,9 +10441,9 @@ A jump table for the options with a short description can be found at |Q_op|.
"noselect" If 'wildmenu' is enabled, show the menu but do not
preselect the first item.
"noinsert" If 'wildmenu' is enabled, show the menu and preselect
the first match, but do not insert it in the
command line. If both "noinsert" and "noselect" are
present, "noselect" takes precedence.
the first match, but do not insert it in the command
line. If both "noinsert" and "noselect" are present,
"noselect" takes precedence.
If only one match exists, it is completed fully, unless "noselect" or
"noinsert" is specified.

View File

@@ -1142,6 +1142,8 @@ One may easily "bookmark" the currently browsed directory by using >
mb
<
Note: Bookmarked paths are normalized and stored as absolute paths.
*.netrwbook*
Bookmarks are retained in between sessions of vim in a file called .netrwbook
as a |List|, which is typically stored in the first directory on the user's

View File

@@ -1,4 +1,4 @@
*pi_zip.txt* For Vim version 9.2. Last change: 2026 Apr 05
*pi_zip.txt* For Vim version 9.2. Last change: 2026 May 16
+====================+
| Zip File Interface |
@@ -114,9 +114,9 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
should be treated as zip files.
Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc.
Currently (as of October 2025) it holds: >
Currently (as of May 2026) it holds: >
let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,
let g:zipPlugin_ext='*.aar,*.apk,*.cbz,*.celzip,*.crtx,*.docm,*.docx,
\ *.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,
\ *.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,
\ *.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.pkpass,*.potm,*.potx,

View File

@@ -1,4 +1,4 @@
*popup.txt* For Vim version 9.2. Last change: 2026 Apr 06
*popup.txt* For Vim version 9.2. Last change: 2026 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -44,8 +44,11 @@ A popup window can be used for such things as:
The text in the popup window can be colored with |text-properties|. It is
also possible to use syntax highlighting.
The default color used is "Pmenu". If you prefer something else use the
"highlight" argument or the 'wincolor' option, e.g.: >
The default colors are taken from |hl-Popup| (body), |hl-PopupBorder|
(border) and |hl-PopupTitle| (title), which all link to |hl-Pmenu| by
default for backward compatibility. Override them to give general popup
windows a different look than the popup completion menu, or use the
"highlight" argument or the 'wincolor' option for a per-popup override: >
hi MyPopupColor ctermbg=lightblue guibg=lightblue
call setwinvar(winid, '&wincolor', 'MyPopupColor')
@@ -712,6 +715,15 @@ The second argument of |popup_create()| is a dictionary with options:
when "textprop" is present.
textpropid Used to identify the text property when "textprop" is
present. Use zero to reset.
clipwindow Only used when "textprop" is set. When TRUE the popup
is kept within the window containing the text
property: if the text property scrolls past that
window's top, bottom, left or right edge, the popup
is clipped at that edge instead of being drawn
outside it. Once the text property has scrolled out
of the window the popup is hidden.
Default FALSE.
See |popup-clipwindow|.
fixed When FALSE (the default), and:
- "pos" is "botleft" or "topleft", and
- the popup would be truncated at the right edge of
@@ -751,6 +763,10 @@ The second argument of |popup_create()| is a dictionary with options:
border one line of padding is added to put the title
on. You might want to add one or more spaces at the
start and end as padding.
The title uses |hl-PopupTitle| by default; if
"borderhighlight" is set the top border highlight is
used instead, and if "highlight"/'wincolor' is set
that is used.
wrap TRUE to make the lines wrap (default TRUE).
drag TRUE to allow the popup to be dragged with the mouse
by grabbing at the border. Has no effect if the
@@ -799,6 +815,8 @@ The second argument of |popup_create()| is a dictionary with options:
the highlight for the top/right/bottom/left border.
Example: ['TopColor', 'RightColor', 'BottomColor,
'LeftColor']
When not given and "highlight"/'wincolor' is also not
set, |hl-PopupBorder| is used.
borderchars List with characters, defining the character to use
for the top/right/bottom/left border. Optionally
followed by the character to use for the
@@ -949,6 +967,31 @@ If the window for which the popup was defined is closed, the popup is closed.
If the popup cannot fit in the desired position, it may show at a nearby
position.
CLIP TEXTPROP POPUP TO HOST WINDOW *popup-clipwindow*
When the popup is anchored to a text property in a split window, the popup is
by default drawn relative to the whole screen and may extend past the edges of
the window that contains the text property (the "host window"). Setting
"clipwindow" to TRUE keeps the popup within window's content area:
parts of the popup that fall outside the window are clipped, and the popup is
hidden once the text property has scrolled entirely past one of the edges.
Example: a tall popup anchored above the cursor that should never spill into
the window below the split: >
call popup_create(body, #{
\ textprop: 'marker',
\ textpropid: id,
\ pos: 'topleft',
\ line: -1, col: 0,
\ posinvert: v:false,
\ clipwindow: v:true,
\ })
<
With "posinvert" left at its default (TRUE) the popup may be flipped to the
opposite side of the text property when there is no room; set it to FALSE to
keep the requested side and rely on "clipwindow" to clip the overflow.
Some hints:
- To avoid collision with other plugins the text property type name has to be
unique. You can also use the "bufnr" item to make it local to a buffer.
@@ -1067,8 +1110,9 @@ The opacity value ranges from 0 to 100:
1-99 Partially transparent - the popup background is blended with
the underlying text, making both partially visible.
The transparency effect requires using the GUI or having 'termguicolors'
enabled in the terminal. Without it, the opacity setting has no effect.
The transparency effect requires using the GUI, having 'termguicolors'
enabled, or running in a 256-color terminal. On terminals with fewer
than 256 colors the opacity setting has no effect.
When a popup is transparent:
- The popup's background color is blended with the background text

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 9.2. Last change: 2026 Apr 21
*quickref.txt* For Vim version 9.2. Last change: 2026 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -960,6 +960,7 @@ Short explanation of each option: *option-list*
'taglength' 'tl' number of significant characters for a tag
'tagrelative' 'tr' file names in tag file are relative
'tags' 'tag' list of file names used by the tag command
'tagsecure' 'tsc' do not open remote files using tag commands
'tagstack' 'tgst' push tags onto the tag stack
'tcldll' name of the Tcl dynamic library
'term' name of the terminal

View File

@@ -195,6 +195,10 @@ recovered file. Or use |:DiffOrig|.
Once you are sure the recovery is ok delete the swap file. Otherwise, you
will continue to get warning messages that the ".swp" file already exists.
Note: Recovering swap files is best-effort. Vim attempts to validate fields
and skip corrupted sections, but the swap file format is intended for files
you trust. A crafted swap file may trigger parser bugs; such reports are
treated as robustness issues rather than security vulnerabilities.
ENCRYPTION AND THE SWAP FILE *:recover-crypt*

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 9.2. Last change: 2026 Apr 30
*syntax.txt* For Vim version 9.2. Last change: 2026 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5992,28 +5992,13 @@ EndOfBuffer Filler lines (~) after the last line in the buffer.
*hl-ErrorMsg*
ErrorMsg Error messages on the command line.
*hl-VertSplit*
VertSplit Column separating vertically split windows that are adjacent
to the current window. The cell character and highlight at
each screen row depend on what is at that row on both sides
of the separator:
- On a status line row of the current window: the cell is
drawn as a space with the |hl-StatusLine| highlight, so it
visually merges into the current window's status line.
- On any other row (including a row that is a status line
row of the adjacent non-current window but not of the
current window): the cell is drawn with the "vert" item of
'fillchars' and the VertSplit highlight.
VertSplit Column separating vertically split windows that is adjacent
to the current window. Drawn with the "vert" item of
'fillchars'.
*hl-VertSplitNC*
VertSplitNC Column separating vertically split windows where neither
adjacent window is the current window. The cell character
and highlight at each screen row depend on what is at that
row on both sides of the separator:
- On a status line row of either adjacent (non-current)
window: the cell is drawn as a space with the
|hl-StatusLineNC| highlight of that window, so it visually
merges into that window's status line.
- On any other row: the cell is drawn with the "vert" item
of 'fillchars' and the VertSplitNC highlight.
adjacent window is the current window. Drawn with the
"vert" item of 'fillchars'.
By default, highlighted like |hl-VertSplit|.
*hl-Folded*
Folded Line used for closed folds.
@@ -6092,6 +6077,18 @@ PmenuShadow Popup menu: Used for shadow.
ComplMatchIns Matched text of the currently inserted completion.
*hl-PreInsert*
PreInsert Text inserted when "preinsert" is in 'completeopt'.
*hl-Popup*
Popup Popup window body, used when neither the popup's 'wincolor'
nor explicit "highlight" argument is set. Linked to |hl-Pmenu|
by default.
*hl-PopupBorder*
PopupBorder Popup window border characters, used when "borderhighlight" is
not set and the popup's 'wincolor' is also not set.
Linked to |hl-Pmenu| by default.
*hl-PopupTitle*
PopupTitle Popup window title, used when "borderhighlight" is not set and
the popup's 'wincolor' is also not set. Linked to
|hl-Pmenu| by default.
*hl-PopupSelected*
PopupSelected Popup window created with |popup_menu()|. Linked to
|hl-PmenuSel| by default.
@@ -6130,20 +6127,22 @@ SpellRare Word that is recognized by the spellchecker as one that is
hardly ever used. |spell|
This will be combined with the highlighting used otherwise.
*hl-StatusLine*
StatusLine Status line of current window.
Also used for the vertical separator cell adjacent to the
current window's status line. see |hl-VertSplit|.
StatusLine Status line of current window. The highlight at the status
line's edge (StatusLine, or any %#... / %N* in 'statusline')
also extends into the adjacent vertical separator cell when
the status lines are connected (no 'vert' character drawn).
*hl-StatusLineNC*
StatusLineNC status lines of not-current windows.
Also used for the vertical separator cell adjacent to a
non-current window's status line. see |hl-VertSplitNC|.
StatusLineNC status lines of not-current windows. Like |hl-StatusLine|,
the edge highlight also extends into the adjacent vertical
separator cell.
Note: If this is equal to "StatusLine", Vim will use "^^^" in
the status line of the current window.
*hl-StatusLineTerm*
StatusLineTerm Status line of current window, if it is a |terminal| window.
*hl-StatusLineTermNC*
StatusLineTermNC Status lines of not-current windows that is a
|terminal| window.
StatusLineTermNC
Status lines of not-current windows that is a |terminal|
window.
*hl-TabLine*
TabLine Tab pages line, not active tab page label.
*hl-TabLineFill*
@@ -6163,19 +6162,19 @@ Title Titles for output from ":set all", ":autocmd" etc.
*hl-TitleBar*
TitleBar Title bar for the active Gui's window.
This feature is supported only in the MS-Windows GUI.
See |gui-w32-title-bar| for details
See |gui-w32-title-bar| for details.
Only the `guibg` and `guifg` highlight arguments are effective.
*hl-TitleBarNC*
TitleBarNC Title bar for inactive Gui's window.
This feature is supported only in the MS-Windows GUI.
See |gui-w32-title-bar| for details
See |gui-w32-title-bar| for details.
Only the `guibg` and `guifg` highlight arguments are effective.
*hl-Visual*
Visual Visual mode selection.
*hl-VisualNOS*
VisualNOS Visual mode selection when vim is "Not Owning the Selection".
Only X11 Gui's |gui-x11|, |xterm-clipboard| and |wayland-selections|
supports this.
Only X11 Gui's |gui-x11|, |xterm-clipboard| and
|wayland-selections| supports this.
*hl-WarningMsg*
WarningMsg Warning messages.
*hl-WildMenu*
@@ -6195,10 +6194,9 @@ Menu Current font, background and foreground colors of the menus.
Also used for the toolbar.
Applicable highlight arguments: font, guibg, guifg.
NOTE: For Motif the font argument actually
specifies a fontset at all times, no matter if 'guifontset' is
empty, and as such it is tied to the current |:language| when
set.
NOTE: For Motif the font argument actually specifies a fontset
at all times, no matter if 'guifontset' is empty, and as such
it is tied to the current |:language| when set.
*hl-Scrollbar*
Scrollbar Current background and foreground of the main window's
@@ -6209,10 +6207,9 @@ Scrollbar Current background and foreground of the main window's
Tooltip Current font, background and foreground of the tooltips.
Applicable highlight arguments: font, guibg, guifg.
NOTE: For Motif the font argument actually
specifies a fontset at all times, no matter if 'guifontset' is
empty, and as such it is tied to the current |:language| when
set.
NOTE: For Motif the font argument actually specifies a fontset
at all times, no matter if 'guifontset' is empty, and as such
it is tied to the current |:language| when set.
==============================================================================
15. Linking groups *:hi-link* *:highlight-link* *E412* *E413*

View File

@@ -1,4 +1,4 @@
*tabpage.txt* For Vim version 9.2. Last change: 2026 Apr 28
*tabpage.txt* For Vim version 9.2. Last change: 2026 May 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -516,7 +516,7 @@ a new, empty tab page; it is treated the same as a single click.
For finer-grained control, the 'tabpanel' value may contain |stl-%[FuncName]|
click regions. Clicks on those regions are dispatched to the callback
function instead of falling through to tab selection.
function instead of falling through to tab page selection.
==============================================================================
6. Setting 'guitablabel' *setting-guitablabel*

View File

@@ -785,6 +785,7 @@ $quote eval.txt /*$quote*
'nota' options.txt /*'nota'*
'notagbsearch' options.txt /*'notagbsearch'*
'notagrelative' options.txt /*'notagrelative'*
'notagsecure' options.txt /*'notagsecure'*
'notagstack' options.txt /*'notagstack'*
'notbi' options.txt /*'notbi'*
'notbidi' options.txt /*'notbidi'*
@@ -803,6 +804,7 @@ $quote eval.txt /*$quote*
'noto' options.txt /*'noto'*
'notop' options.txt /*'notop'*
'notr' options.txt /*'notr'*
'notsc' options.txt /*'notsc'*
'nottimeout' options.txt /*'nottimeout'*
'nottybuiltin' options.txt /*'nottybuiltin'*
'nottyfast' options.txt /*'nottyfast'*
@@ -1229,6 +1231,7 @@ $quote eval.txt /*$quote*
'taglength' options.txt /*'taglength'*
'tagrelative' options.txt /*'tagrelative'*
'tags' options.txt /*'tags'*
'tagsecure' options.txt /*'tagsecure'*
'tagstack' options.txt /*'tagstack'*
'tal' options.txt /*'tal'*
'tb' options.txt /*'tb'*
@@ -1279,6 +1282,7 @@ $quote eval.txt /*$quote*
'tr' options.txt /*'tr'*
'trz' options.txt /*'trz'*
'ts' options.txt /*'ts'*
'tsc' options.txt /*'tsc'*
'tsl' options.txt /*'tsl'*
'tsr' options.txt /*'tsr'*
'tsrfu' options.txt /*'tsrfu'*
@@ -4779,6 +4783,7 @@ E1573 channel.txt /*E1573*
E1574 channel.txt /*E1574*
E1575 builtin.txt /*E1575*
E1576 tagsrch.txt /*E1576*
E1577 options.txt /*E1577*
E158 sign.txt /*E158*
E159 sign.txt /*E159*
E16 cmdline.txt /*E16*
@@ -5968,6 +5973,8 @@ TextChanged autocmd.txt /*TextChanged*
TextChangedI autocmd.txt /*TextChangedI*
TextChangedP autocmd.txt /*TextChangedP*
TextChangedT autocmd.txt /*TextChangedT*
TextPutPost autocmd.txt /*TextPutPost*
TextPutPre autocmd.txt /*TextPutPre*
TextYankPost autocmd.txt /*TextYankPost*
Transact-SQL ft_sql.txt /*Transact-SQL*
Tuple eval.txt /*Tuple*
@@ -8461,8 +8468,11 @@ hl-PmenuSbar syntax.txt /*hl-PmenuSbar*
hl-PmenuSel syntax.txt /*hl-PmenuSel*
hl-PmenuShadow syntax.txt /*hl-PmenuShadow*
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
hl-Popup syntax.txt /*hl-Popup*
hl-PopupBorder syntax.txt /*hl-PopupBorder*
hl-PopupNotification syntax.txt /*hl-PopupNotification*
hl-PopupSelected syntax.txt /*hl-PopupSelected*
hl-PopupTitle syntax.txt /*hl-PopupTitle*
hl-PreInsert syntax.txt /*hl-PreInsert*
hl-Question syntax.txt /*hl-Question*
hl-QuickFixLine syntax.txt /*hl-QuickFixLine*
@@ -9790,6 +9800,7 @@ popt-option print.txt /*popt-option*
popup popup.txt /*popup*
popup-buffer popup.txt /*popup-buffer*
popup-callback popup.txt /*popup-callback*
popup-clipwindow popup.txt /*popup-clipwindow*
popup-close popup.txt /*popup-close*
popup-examples popup.txt /*popup-examples*
popup-filter popup.txt /*popup-filter*
@@ -10331,6 +10342,7 @@ shm-q options.txt /*shm-q*
shm-r options.txt /*shm-r*
shm-s options.txt /*shm-s*
shm-t options.txt /*shm-t*
shm-u options.txt /*shm-u*
shm-w options.txt /*shm-w*
shm-x options.txt /*shm-x*
short-name-changed version4.txt /*short-name-changed*

View File

@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 9.2. Last change: 2026 Feb 14
*tagsrch.txt* For Vim version 9.2. Last change: 2026 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -581,7 +581,8 @@ ctags).
doubtful). It cannot contain a <Tab>.
*E1576*
Using a remote file via network protocol (e.g. using
http://remote/file.txt) is not allowed.
http://remote/file.txt) is not allowed unless 'tagsecure'
is unset.
{tagaddress} The Ex command that positions the cursor on the tag. It can
be any Ex command, although restrictions apply (see
|tag-security|). Posix only allows line numbers and search

View File

@@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 9.2. Last change: 2026 Feb 14
*usr_05.txt* For Vim version 9.2. Last change: 2026 May 11
VIM USER MANUAL by Bram Moolenaar
@@ -509,6 +509,16 @@ To highlight in visual mode, use: >
To disable the effect of the plugin after it has been loaded: >
au! hlyank
Additionally, the plugin can also highlight regions that are put using the
|TextPutPost| autocommand. This is by default disabled and can be enabled
using: >
:let g:hlput_enable = v:true
<
The following configuration variables can be used are "g:hlput_hlgroup" and
"g:hlput_duration", which have the same effect as their yank counterparts: >
:let g:hlput_hlgroup = 'IncSearch'
:let g:hlput_duration = 300
------------------------------------------------------------------------------
Adding the osc52 package *osc52-install* *package-osc52*
------------------------------------------------------------------------------

View File

@@ -1,4 +1,4 @@
*usr_30.txt* For Vim version 9.2. Last change: 2026 Feb 14
*usr_30.txt* For Vim version 9.2. Last change: 2026 May 15
VIM USER MANUAL by Bram Moolenaar
@@ -531,9 +531,9 @@ they do when using only tab characters.
Vim 5.4 introduced the 'softtabstop' option. On top of the (hard) tab stops
used to display the horizontal tab characters in the text, Vim adds extra
soft tab stops dedicated only to the cursor. When 'softtabstop' is set to a
positive value, and the <Tab> key will push the cursor to the next soft tab
positive value, the <Tab> key will push the cursor to the next soft tab
stop. Vim will insert the correct combination of tab characters and spaces to
make the effect visually. Likewise pressing <BS> will have the cursor try to
achieve this effect. Likewise pressing <BS> will have the cursor try to
reach the nearest soft tab stop. The following example uses
`:set softtabstop=4`

View File

@@ -1,4 +1,4 @@
*version9.txt* For Vim version 9.2. Last change: 2026 Apr 29
*version9.txt* For Vim version 9.2. Last change: 2026 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41880,6 +41880,9 @@ Highlighting: ~
|hl-PmenuMatchSel| Popup menu: highlighting of matched text in selected
line
|hl-PmenuShadow| Popup menu: highlighting of the popup shadow
|hl-Popup| Popup window: body, default link |hl-Pmenu|
|hl-PopupBorder| Popup window: border characters, default link |hl-Pmenu|
|hl-PopupTitle| Popup window: title, default link |hl-Pmenu|
|hl-PreInsert| highlighting for completion preinserted text
|hl-TabPanel| |tabpanel|: not active tab page label
|hl-TabPanelFill| |tabpanel|: filler space
@@ -52587,6 +52590,8 @@ Popups ~
- Support for transparency, see |popup-opacity|.
- 'previewpopup' supports the same values as 'completepopup' (except for
"align").
- Support "opacity" setting for 'completepopup' option.
- Support for clipping textproperty popups |popup-clipwindow|.
Diff mode ~
---------
@@ -52621,6 +52626,14 @@ Other ~
- Added the "noinsert" value to the 'wildmode' option for symmetry with the
'completeopt' option
- Channel can handle |Blob| messages |channel-open-options|.
- Added the "u" flag to 'shortmess' to silence undo/redo messages: |shm-u|
- |:command-completion-customlist| can return a list of dictionaries with
kind/menu/info/abbr for the popup menu.
- |C-indenting| detects comments better.
- The |package-hlyank| can now optionally highlight the last put region as
well.
- New argument handling for user commands |:command-nargs| using the "-nars=_"
attribute to handle completion of single arguments with spaces as expected.
Platform specific ~
-----------------
@@ -52663,6 +52676,8 @@ Functions: ~
Autocommands: ~
|SessionLoadPre| before loading a |Session| file
|TextPutPost| after putting text
|TextPutPre| before putting text
Options: ~
@@ -52673,6 +52688,7 @@ Options: ~
configure the height.
't_BS' Begin synchronized update.
't_ES' End synchronized update.
'tagsecure' Do not open remote files using tag commands
'termresize' Method for handling terminal resize events.
'termsync' Enable support for terminal DEC 2026 sync mode.
'winhighlight' Window-local highlight group mappings.
@@ -52680,6 +52696,9 @@ Options: ~
Highlighting: ~
|hl-VertSplitNC| Column separator of non-current window.
|hl-Popup| Popup window body.
|hl-PopupBorder| Popup window border.
|hl-PopupTitle| Popup window title.
==============================================================================
PATCHES *patches-9.3* *bug-fixes-9.3*

View File

@@ -36,8 +36,9 @@ Pu
Particolarmente utile per editare programmi.
.PP
Ci sono parecchi miglioramenti rispetto a Vi: undo multipli, finestre e buffer
multipli, evidenziazione sintattica, possibilità di modificare la riga di comando,
completamento nomi file, help in linea, selezione testi in Modo Visual, etc..
multipli, evidenziazione sintattica, possibilità di modificare la riga di
comando, completamento nomi file, help online, selezione testi in Modo
Visual, etc.
Vedere ":help vi_diff.txt" per un sommario delle differenze fra
.B Vim
e Vi.
@@ -67,9 +68,10 @@ essere usata per scegliere uno o pi
nome_file ..
Una lista di nomi di file.
Il primo di questi sarà il file corrente, e verrà letto nel buffer.
Il cursore sarà posizionato sulla prima linea del buffer.
Il cursore sarà posizionato sulla prima riga del buffer.
Si può arrivare agli altri file col comando ":next".
Per editare un file il cui nome inizia per "\-" premettete "\-\-" alla lista_file.
Per editare un file il cui nome inizia per "\-" premettete "\-\-" alla
lista_file.
.TP
\-
Il file da editare è letto dallo stdin.
@@ -77,7 +79,7 @@ I comandi sono letti da stderr, che dovrebbe essere un terminale [tty].
.TP
\-t {tag}
Il file da editare e la posizione iniziale del cursore dipendono da "tag",
una specie di "etichetta" a cui saltare.
una "etichetta" a cui saltare.
{tag} viene cercata nel file "tags", e il file a essa associato diventa
quello corrente, e il comando a essa associato viene eseguito.
Di solito si usa per programmi C, nel qual caso {tag} potrebbe essere un
@@ -87,7 +89,7 @@ e il cursore
Vedere ":help tag\-commands".
.TP
\-q [file_errori]
Inizia in Modo QuickFix [correzione veloce].
Iniziare in Modo QuickFix [correzione veloce].
Il file [file_errori] è letto e il primo errore è visualizzato.
Se [file_errori] non è indicato, il suo nome è ottenuto dal valore
dell'opzione 'errorfile' (che, se non specificata, vale "AztecC.Err"
@@ -97,28 +99,28 @@ Vedere ":help quickfix".
.PP
.B Vim
si comporta in modo diverso se invocato con nomi differenti (il programma
eseguibile "soggiacente" può essere sempre lo stesso).
eseguibile "sottostante" può essere sempre lo stesso).
.TP 10
vim
Modo Normal, comportamento predefinito.
Iniziare in Modo Normal, comportamento predefinito.
.TP
ex
Inizia in Modo "Ex".
Iniziare in Modo "Ex".
Si può passare in Modo Normal col comando ":vi".
Si può invocare il Modo "Ex" anche con l'argomento "\-e".
.TP
view
Inizia in Modo Read-only (Sola Lettura). Non si possono modificare i file.
Iniziare in Modo Read-only (sola-lettura). Non si possono modificare i file.
Si può invocare il Modo Read-only anche con l'argomento "\-R".
.TP
gvim gview
La versione GUI [Graphical User Interface].
Apre una nuova finestra.
Usare la versione GUI [Graphical User Interface].
Viene aperta una nuova finestra.
Si può invocare il Modo GUI anche con l'argomento "\-g".
.TP
evim eview
La versione GUI in Modo Easy (semplificata).
Apre una nuova finestra.
Usare la versione GUI in Modo Easy (semplificato).
Viene aperta una nuova finestra.
Si può invocare il Modo Easy anche con l'argomento "\-y".
.TP
rvim rview rgvim rgview
@@ -128,21 +130,21 @@ della shell o sospendere
Si può chiedere la stessa cosa anche con l'argomento "\-Z".
.SH OPZIONI
Le opzioni possono essere in un ordine qualsiasi, prima o dopo i nomi di file.
Opzioni che non hanno un argomento si possono specificare dietro a un solo "\-".
Opzioni che non hanno un argomento si possono specificare insieme dietro a un
solo "\-".
.TP 12
+[numero]
Nel primo file il cursore sarà posizionato sulla linea "numero".
Se "numero" manca, il cursore sarà posizionato sull'ultima linea del file.
Nel primo file, posizionare il cursore sulla riga numero "numero".
Se "numero" manca, il cursore sarà posizionato sull'ultima riga del file.
.TP
+/{espressione}
Nel primo file il cursore sarà posizionato alla
prima occorrenza di {espressione}.
Nel primo file posizionare il cursore alla prima occorrenza di {espressione}.
Vedere ":help search\-pattern" per come specificare l'espressione.
.TP
+{comando}
.TP
\-c {comando}
{comando} sarà eseguito dopo che il primo file è stato letto.
Eseguire {comando} dopo che il primo file è stato letto.
{comando} è interpretato come un comando Ex.
Se il {comando} contiene spazi deve essere incluso fra doppi apici
(o altro delimitatore, a seconda della shell che si sta usando).
@@ -154,7 +156,7 @@ Note: Si possono avere fino a 10 comandi "+" o "\-c".
Se
.B Vim
è stato compilato con supporto ARABIC per editare file con orientamento
destra-sinistra e tastiera con mappatura araba, quest'opzione inizia
destra-sinistra e tastiera con mappatura araba, quest'opzione fa iniziare
.B Vim
in Modo Arabic, cioè impostando 'arabic'.
Altrimenti viene dato un messaggio di errore e
@@ -162,32 +164,32 @@ Altrimenti viene dato un messaggio di errore e
termina in modo anormale.
.TP
\-b
Modo Binary (binario).
Vengono impostate alcune opzioni che permettono di modificare un file
binario o un file che contiene un programma eseguibile.
Eseguire Vim in Modo Binary (binario).
Vengono impostate alcune opzioni che permettono di modificare un file binario
o un file che contiene un programma eseguibile.
.TP
\-C
Compatibile. Imposta l'opzione 'compatible'.
Compatibile. Impostare l'opzione 'compatible'.
In questo modo
.B Vim
ha quasi lo stesso comportamento di Vi, anche in presenza di un file .vimrc.
.TP
\-d
Inizia in Modo Diff [differenze].
Dovrebbero esserci come argomenti da due o otto nomi di file.
Iniziare in Modo Diff [differenze].
Dovrebbero esserci come argomenti da due fino a otto nomi di file.
.B Vim
aprirà tutti i file evidenziando le differenze fra gli stessi.
Funziona come vimdiff(1).
.TP
\-d {dispositivo}, \-dev {dispositivo}
Apre {dispositivo} per usarlo come terminale.
Aprire {dispositivo} per usarlo come terminale.
Solo per l'Amiga.
Esempio:
"\-d con:20/30/600/150".
.TP
\-D
Debugging. Vim si mette in Modo "debugging" a partire
dall'esecuzione del primo comando da uno script.
Debugging. Entrare in Modo "debugging" a partire dall'esecuzione del primo
comando di uno script.
.TP
\-e
Eseguire
@@ -202,15 +204,15 @@ in Modo Ex migliorato, come se il programma eseguito sia "exim".
\-f
Direttamente [Foreground]. Per la versione GUI,
.B Vim
non crea [fork] una nuova finestra, indipendente dalla shell di invocazione.
Per l'Amiga,
non creare [fork] una nuova finestra, indipendente dalla shell di invocazione.
Per l'Amiga, non fa ripartire
.B Vim
non è fatto ripartire per aprire una nuova finestra.
per aprire una nuova finestra.
Opzione da usare quando
.B Vim
è eseguito da un programma che attende la fine della
sessione di edit (p.es., mail).
Sull'Amiga i comandi ":sh" e ":!" non sono disponibili.
è eseguito da un programma che attende la fine della sessione di edit (p.es.,
mail).
In ambiente Amiga, i comandi ":sh" e ":!" non sono disponibili.
.TP
\-F
Se
@@ -229,7 +231,8 @@ Nota: Il supporto Farsi
Se
.B Vim
è stato compilato con supporto GUI, quest'opzione chiede di usarla.
Se Vim è stato compilato senza supporto GUI viene dato un messaggio di errore e
Se Vim è stato compilato senza supporto GUI viene dato un messaggio di
errore e
.B Vim
termina in modo anormale.
.TP
@@ -246,145 +249,148 @@ termina in modo anormale.
.TP
\-i {viminfo}
Se è abilitato l'uso di un file viminfo, quest'opzione indica il nome
del file da usare invece di quello predefinito "~/.viminfo".
del file da usare invece del file predefinito "~/.viminfo".
Si può anche evitare l'uso di un file .viminfo, dando come nome
"NONE".
.TP
\-l
Modo Lisp.
Imposta le opzioni 'lisp' e 'showmatch'.
Eseguire Vim in Modo Lisp.
Vengono impostate le opzioni 'lisp' e 'showmatch'.
.TP
\-L
Equivalente a \-r.
.TP
\-m
Inibisce modifica file.
Inibisce l'opzione 'write'.
Inibire modifica file.
Viene inibita l'opzione 'write'.
È ancora possibile modificare un buffer, ma non riscriverlo.
.TP
\-M
Modifiche non permesse. Le opzioni 'modifiable' e 'write' sono annullate,
in modo da impedire sia modifiche che riscritture. Da notare che queste
opzioni possono essere abilitate in seguito, permettendo così modifiche.
in modo da impedire sia modifiche che riscritture. Si noti che queste opzioni
possono essere cambiate in seguito, per consentire modifiche.
.TP
\-n
Inibisce l'uso di un file di swap.
Il recupero dopo una caduta di macchina sarà impossibile.
Inibire l'uso di un file di swap.
Ripristinare il file in caso di fine anormale sarà impossibile.
Utile per editare un file su un supporto molto lento (p.es., floppy).
Il comando ":set uc=0" ha lo stesso effetto.
Per abilitare il recupero usare ":set uc=200".
Per abilitare il ripristino usare ":set uc=200".
.TP
\-N
Modo "Non-compatibile". Annulla l'opzione 'compatible'.
Eseguire Vim in Modo "Non-compatibile". Annulla l'opzione 'compatible'.
Così
.B Vim
si comporta un po' meglio, ma è meno compatibile con Vi, anche in assenza di un
file .vimrc.
si comporta un po' meglio, ma è meno compatibile con Vi, anche in assenza di
un file .vimrc.
.TP
\-nb
Diviene un Editor server per NetBeans. Vedere la documentazione per dettagli.
Fare di Vim un Editor server per NetBeans. Vedere la documentazione per
dettagli.
.TP
\-o[N]
Apre N finestre in orizzontale.
Se N manca, apre una finestra per ciascun file.
Aprire N finestre in orizzontale.
Se N manca, aprire una finestra per ciascun file.
.TP
\-O[N]
Apre N finestre, in verticale.
Se N manca, apre una finestra per ciascun file.
Aprire N finestre, in verticale.
Se N manca, aprire una finestra per ciascun file.
.TP
\-p[N]
Apre N pagine di linguette.
Quando N è omesso, apre una pagine di linguette per ciascun file.
Aprire N pagine di schede.
Quando N è omesso, aprire una pagine di schede per ciascun file.
.TP
\-P {titolo-padre}
Solo per GUI Win32: Specifica il titolo dell'applicazione-padre. Se possibile,
Vim viene eseguito in una finestra MDI (Multiple-Document Interface).
{titolo-padre} deve apparire nel titolo della applicazione-padre. Accertatevi
Solo per GUI Win32: Specificare il titolo dell'applicazione-padre. Se
possibile, Vim viene eseguito in una finestra MDI
(Multiple-Document Interface).
{titolo-padre} deve apparire nel titolo dell'applicazione-padre. Accertarsi
che sia sufficientemente esplicativo. Notare che l'implementazione è ancora
rudimentale. Non funziona per tutte le applicazioni, e il menù non funziona.
.TP
\-r
Lista file di swap, e informazioni su come usarli per ripristinare file.
Listare file di swap, con informazioni su come usarli per ripristinare file.
.TP
\-r {file}
Modo Recovery (ripristino).
Eseguire Vim in Modo Recovery (ripristino).
Il file di swap è usato per recuperare una sessione di edit finita male.
Il file di swap è un file con lo stesso nome file del file di testo
editato, col suffisso ".swp".
Il file di swap è un file con lo stesso nome file del file di testo editato,
col prefisso "." e col suffisso ".swp".
Vedere ":help recovery".
.TP
\-R
Modo Read-only (Sola Lettura).
Imposta l'opzione 'readonly'.
Si può ancora modificare il buffer, ma il file è protetto da una riscrittura
involontaria.
Se si vuole davvero riscrivere il file, occorre aggiungere un punto esclamativo
al comando Ex, come in ":w!".
Eseguire Vim in Modo Read-only (Sola Lettura).
Viene impostata l'opzione 'readonly'.
È ancora possibile modificare il buffer, ma il file è protetto da una
riscrittura involontaria.
Se si vuole davvero riscrivere il file, occorre aggiungere un punto
esclamativo al comando Ex, come in ":w!".
L'opzione \-R implica anche l'opzione \-n (vedere sopra).
L'opzione 'readonly' può essere annullata con ":set noro".
Vedere ":help 'readonly'".
.TP
\-s
Modo silenzioso. Solo quando invocato come "Ex" o quando l'opzione
"\-e" è stata data prima dell'opzione "\-s".
Eseguire Vim in Modo silenzioso. Solo quando invocato come "Ex" o quando
l'opzione "\-e" è stata specificata prima dell'opzione "\-s".
.TP
\-s {script_in_input}
Lo script file {script_in_input} è letto.
Eseguire lo script file {script_in_input}.
I caratteri nel file sono interpretati come se immessi da terminale.
Lo stesso risultato si può ottenere col comando ":source! {script_in_input}".
Se la fine del file di input viene raggiunta prima che Vim termini,
l'ulteriore input verrà preso dalla tastiera.
.TP
\-S {file}
I comandi contenuti in {file} sono eseguiti dopo la lettura del primo file.
Eseguire i comandi contenuti in {file} dopo la lettura del primo file.
Equivalente a \-c "source {file}".
{file} non può avere un nome che inizia per '\-'.
Se {file} è omesso si usa "Session.vim" (funziona solo se \-S è l'ultimo
argomento specificato).
.TP
\-T {terminale}
Dice a
Specificare a
.B Vim
quale tipo di terminale state usando.
il tipo di terminale che si sta usando.
Utile solo se il terminale non viene riconosciuto correttamente da Vim.
Dovrebbe essere un terminale noto a
.B Vim
(predefinito) o definito nei file termcap o terminfo.
.TP
\-u {vimrc}
Usa i comandi nel file {vimrc} per inizializzazioni.
Usare i comandi nel file {vimrc} per inizializzazioni.
Tutte le altre inizializzazioni non sono eseguite.
Usare quest'opzione per editare qualche file di tipo speciale.
Si possono anche omettere tutte le inizializzazioni dando come nome "NONE".
Vedere ":help initialization" da vim per ulteriori dettagli.
.TP
\-U {gvimrc}
Usa i comandi nel file {gvimrc} per inizializzazioni GUI.
Usare i comandi nel file {gvimrc} per inizializzare la GUI.
Tutte le altre inizializzazioni GUI non sono eseguite.
Si possono anche omettere tutte le inizializzazioni GUI dando come nome "NONE".
Si possono anche omettere tutte le inizializzazioni GUI dando come nome
"NONE".
Vedere ":help gui\-init" da vim per ulteriori dettagli.
.TP
\-v
Inizia
Iniziare
.B Vim
in Modo Vi, come se il programma eseguibile fosse "vi". Questo ha
effetto solo quando Vim viene invocato con il nome "ex".
.TP
\-V[N]
Verboso. Vim manda messaggi relativi ai file di script che esegue
e quando legge o scrive un file viminfo. Il numero opzionale N è il valore
dell'opzione 'verbose'. Il valore predefinito è 10.
Verboso. Fare inviare a Vim messaggi relativi ai file di script eseguiti
e alla lettura/scrittura di un file viminfo. Il numero opzionale N è il
valore dell'opzione 'verbose'. Il valore predefinito è 10.
.TP
\-V[N]{nome_file}
Come \-V imposta 'verbosefile' a {nome_file}. Il risultato è che i messaggi
non sono visualizzati, ma scritti sul file {nome_file}. Il {nome_file} non
deve iniziare con un numero.
Come \-V, e si imposta 'verbosefile' a {nome_file}. Il risultato è che i
messaggi non sono visualizzati, ma scritti sul file {nome_file}. Il
{nome_file} non deve iniziare con un numero.
.TP
\-w{numero}
Imposta l'opzione 'window' a {numero}.
Impostare l'opzione 'window' a {numero}.
.TP
\-w {script_file}
Ogni carattere immesso viene registrato nel file {script_file},
Registrare ogni carattere immesso nel file {script_file},
finché non si esce da
.B Vim.
Utile se si vuole creare uno script file da usare con "vim \-s" o
@@ -402,7 +408,7 @@ nella scrittura dei file. Verr
.TP
\-X
Non connettersi al server X. Vim parte più rapidamente,
ma il titolo della finestra e la clipboard non sono usati.
ma il titolo della finestra e gli appunti non sono disponibili.
.TP
\-Y
Non connettersi al compositore Wayland.
@@ -410,17 +416,19 @@ Non connettersi al compositore Wayland.
\-y
Eseguire
.B Vim
in Modo Easy (semplificato), come se l'eseguibile invocato sia "evim" o "eview".
in Modo Easy (semplificato), come se l'eseguibile invocato sia "evim" o
"eview".
Fa sì che
.B Vim
si comporti come un editor che usa solo il mouse e i caratteri.
.TP
\-Z
Modo ristretto. Vim si comporta come se invocato con un nome che inizia per "r".
Eseguire Vim in Modo ristretto. Vim si comporta come se invocato con un nome
che inizia per "r".
.TP
\-\-
Specifica la fine delle opzioni.
Argomenti specificati dopo questo sono considerati nomi file.
In questo modo si specifica la fine delle opzioni.
Argomenti aggiunti dopo questo sono considerati nomi file.
Si può usare per editare un file il cui nome inizi per '-'.
.TP
\-\-clean
@@ -428,40 +436,43 @@ Richiede di non usare alcun file di personalizzazione (vimrc, plugin, etc.).
Utile per verificare se un problema persiste invocando Vim "originale".
.TP
\-\-cmd {comando}
Come "\-c", ma il comando è eseguito subito PRIMA
di eseguire qualsiasi file vimrc.
Si possono usare fino a 10 di questi comandi, indipendentemente dai comandi "\-c".
Come "\-c", ma eseguire il comando subito PRIMA di eseguire qualsiasi file
vimrc.
Si possono usare fino a 10 di questi comandi, indipendentemente dai comandi
"\-c".
.TP
\-\-echo\-wid
Solo per GUI GTK: Visualizza ID di Window su stdout.
Solo per GUI GTK: Visualizzare ID di Window su stdout.
.TP
\-\-gui-dialog-file {nome}
Quando si usa la GUI, invece di visualizzare un dialogo, il titolo e il
messaggio del dialogo sono scritti sul file {nome}. Il file viene creato o,
se già esistente, viene esteso. Quest'opzione serve solo in fase di test,
per evitare di restare bloccati da un dialogo che non si riesce a visualizzare.
per evitare di restare bloccati da un dialogo che non si riesce a
visualizzare.
Se si sta lavorando senza la GUI l'argomento viene ignorato.
.TP
\-\-help, \-h, \-?
Un po' di aiuto su opzioni e argomenti che si possono dare invocando Vim.
Visualizzare opzioni e argomenti che si possono specificare invocando Vim.
Subito dopo
.B Vim
esce.
.TP
\-\-literal
Considera i nomi passati come argomenti letterali, senza espandere metacaratteri.
Considerare i nomi passati come argomenti letterali, senza espandere
metacaratteri.
Non ha effetto in Unix, dove la shell espande comunque i metacaratteri.
.TP
\-\-log {nome_file}
Se
.B Vim
è stato compilato con le funzionalità eval e channel, inizia a registrare
e scrive le registrazioni a {nome_file}. Ciò equivale a chiamare
è stato compilato con le funzionalità eval e channel, iniziare a registrare
e scrivere le registrazioni a {nome_file}. Ciò equivale a chiamare
.I ch_logfile({nome_file}, 'ao')
in una fase molto iniziale dell'avvio del programma.
.TP
\-\-nofork
Direttamente [Foreground]. Per la versione GUI,
Eseguire Vim irettamente [Foreground]. Per la versione GUI,
.B Vim
non crea [fork] una nuova finestra, indipendente dalla shell di invocazione.
.TP
@@ -471,17 +482,19 @@ Non caricare plugin. Implicito se si specifica \-u NONE.
\-\-not\-a\-term
Da usare per specificare a
.B Vim
che l'utente è consapevole che l'input e l'output non avvengono con un terminale
vero e proprio. Ciò serve per evitare il messaggio di avvertimento e il ritardo
di due secondi che avverrebbero in assenza di questo argomento.
che l'utente è consapevole che l'input e l'output non avvengono con un
terminale vero e proprio. Ciò serve per evitare il messaggio di avvertimento
e il ritardo di due secondi, ossia il comportamento previsto in assenza di
questo argomento.
.TP
\-\-remote
Connettersi a un server Vim e chiedere di editare i file elencati come altri
argomenti. Se non si trova un server viene dato un messaggio e i file sono
editati nel Vim corrente.
Connettersi a un server Vim a cui chiedere di editare i file elencati come
altri argomenti. Se non si trova un server viene dato un messaggio e i file
sono editati nel Vim corrente.
.TP
\-\-remote\-expr {expr}
Connettersi a un server Vim, valutare {expr} e stampare il risultato su stdout.
\-\-remote\-expr {espressione}
Connettersi a un server Vim, valutare {espressione} e stampare il risultato su
stdout.
.TP
\-\-remote\-send {chiavi}
Connettersi a un server Vim e spedirgli {chiavi}.
@@ -490,16 +503,16 @@ Connettersi a un server Vim e spedirgli {chiavi}.
Come \-\-remote, ma senza avvisare se non si trova un server.
.TP
\-\-remote-wait
Come \-\-remote, ma Vim non termina finché i file non sono stati editati.
Come \-\-remote, ma non terminare Vim finché i file non sono stati editati.
.TP
\-\-remote\-wait\-silent
Come \-\-remote\-wait, ma senza avvisare se non si trova un server.
.TP
\-\-serverlist
Elenca i nomi di tutti i server Vim disponibili.
Elencare i nomi di tutti i server Vim disponibili.
.TP
\-\-servername {nome}
Usa {nome} come nome del server usato per il Vim corrente, a meno che sia
Usare {nome} come nome del server usato per il Vim corrente, a meno che sia
usato con l'argomento \-\-remote, nel qual caso indica il server a cui
connettersi.
Quando si sta usando il server a socket [socketserver backend], se il nome
@@ -512,19 +525,20 @@ rispettivamente, o "socket" o "x11". Disponibile solo se Vim
compilato con le due funzionalità socketserver e X11.
.TP
\-\-socketid {id}
Solo per GUI GTK: Usa meccanismo GtkPlug per eseguire gVim in un'altra finestra.
Solo per GUI GTK: Usare meccanismo GtkPlug per eseguire gVim in un'altra
finestra.
.TP
\-\-startuptime {nome_file}
Durante la fase iniziale, scrive messaggi di log al file {nome_file}.
Durante la fase iniziale, scrivere messaggi di log al file {nome_file}.
.TP
\-\-ttyfail
Quando stdin o stdout non sono un terminale (tty) esce subito da Vim.
Quando stdin o stdout non sono un terminale (tty) uscire subito da Vim.
.TP
\-\-version
Stampa la versione di Vim ed esce.
Stampare la versione di Vim e uscire.
.TP
\-\-windowid {id}
Solo per GUI Win32: Chiede a gVim di provare a user l'ID di window {id}
Solo per GUI Win32: Chiedere a gVim di provare a user l'ID di window {id}
come padre, in modo da venir eseguito all'interno della finestra specificata.
.SH AIUTO ONLINE
Battere ":help" in
@@ -532,10 +546,11 @@ Battere ":help" in
per iniziare.
Battere ":help argomento" per ricevere aiuto su uno specifico argomento.
Per esempio: ":help ZZ" per ricevere aiuto sul comando "ZZ".
Usare <Tab> e CTRL\-D per completare gli argomenti (":help cmdline\-completion").
Usare <Tab> e CTRL\-D per completare gli argomenti
(":help cmdline\-completion").
Ci sono "tag" nei file di help per passare da un argomento a un altro
(simili a legami ipertestuali, vedere ":help").
Tutti i file di documentazione possono essere navigati così. Ad es.:
Tutti i file di documentazione possono essere navigati così. P.es.:
":help syntax.txt".
.SH FILE
.TP 15
@@ -546,11 +561,11 @@ I file di documentazione di
Usare ":help doc\-file\-list" per avere la lista completa.
.br
.I vim??
è il numero di versione corto, p.es., vim91 per indicare
.B Vim 9.1
è il numero di versione corto, p.es., vim92 per indicare
.B Vim 9.2
.TP
/usr/local/share/vim/vim??/doc/tags
Il file di tags usato per trovare informazioni nei file di documentazione.
Il file di tag usato per trovare informazioni nei file di documentazione.
.TP
/usr/local/share/vim/vim??/syntax/syntax.vim
Inizializzazioni sintattiche a livello di sistema.
@@ -586,18 +601,21 @@ Inizializzazioni del men
a livello di sistema.
.TP
/usr/local/share/vim/vim??/bugreport.vim
Script Vim per generare una segnalazione di errore. Vedere ":help bugs".
Script Vim per generare una segnalazione di errore.
Vedere ":help bugs".
.TP
/usr/local/share/vim/vim??/filetype.vim
Script Vim per determinare il tipo di un file dal suo nome. Vedere ":help 'filetype'".
Script Vim per determinare il tipo di un file dal suo nome.
Vedere ":help 'filetype'".
.TP
/usr/local/share/vim/vim??/scripts.vim
Script Vim per determinare il tipo di un file dal suo contenuto. Vedere ":help 'filetype'".
Script Vim per determinare il tipo di un file dal suo contenuto.
Vedere ":help 'filetype'".
.TP
/usr/local/share/vim/vim??/print/*.ps
File usati per stampa PostScript.
.PP
Per informazioni aggiornate [in inglese \- NdT] vedere la home page di Vim:
Per informazioni aggiornate [in inglese] vedere la home page di Vim:
.br
<URL:http://www.vim.org/>
.SH VEDERE ANCHE
@@ -614,12 +632,12 @@ Vedere ":help credits" in
Tony Andrews e G.R. (Fred) Walter.
In verità, poco o nulla è rimasto del loro codice originale.
.SH BUG
Probabilmente.
È probabile che ce ne siano.
Vedere ":help todo" per una lista di problemi noti.
.PP
Si noti che un certo numero di comportamenti che possono essere considerati errori
da qualcuno, sono in effetti causati da una riproduzione fin troppo fedele del
comportamento di Vi. Se si ritiene che altre cose siano errori "perché Vi si comporta
diversamente", si dia prima un'occhiata al file vi_diff.txt (o si immetta
:help vi_diff.txt da Vim).
Un'occhiata va data anche alle opzioni 'compatible' e 'cpoptions.
Si noti che un certo numero di comportamenti che possono essere visti come
errori, sono in effetti causati da una riproduzione fin troppo fedele del
comportamento di Vi. Se si ritiene che altre cose siano errori "perché Vi si
comporta diversamente", si dia prima un'occhiata al file vi_diff.txt
(o si immetta :help vi_diff.txt da Vim).
Un'occhiata va data anche alle opzioni 'compatible' e 'cpoptions'.

View File

@@ -36,8 +36,9 @@ Può essere usato per editare qualsiasi file di testo.
Particolarmente utile per editare programmi.
.PP
Ci sono parecchi miglioramenti rispetto a Vi: undo multipli, finestre e buffer
multipli, evidenziazione sintattica, possibilità di modificare la riga di comando,
completamento nomi file, help in linea, selezione testi in Modo Visual, etc..
multipli, evidenziazione sintattica, possibilità di modificare la riga di
comando, completamento nomi file, help online, selezione testi in Modo
Visual, etc.
Vedere ":help vi_diff.txt" per un sommario delle differenze fra
.B Vim
e Vi.
@@ -67,9 +68,10 @@ essere usata per scegliere uno o più file da modificare.
nome_file ..
Una lista di nomi di file.
Il primo di questi sarà il file corrente, e verrà letto nel buffer.
Il cursore sarà posizionato sulla prima linea del buffer.
Il cursore sarà posizionato sulla prima riga del buffer.
Si può arrivare agli altri file col comando ":next".
Per editare un file il cui nome inizia per "\-" premettete "\-\-" alla lista_file.
Per editare un file il cui nome inizia per "\-" premettete "\-\-" alla
lista_file.
.TP
\-
Il file da editare è letto dallo stdin.
@@ -77,7 +79,7 @@ I comandi sono letti da stderr, che dovrebbe essere un terminale [tty].
.TP
\-t {tag}
Il file da editare e la posizione iniziale del cursore dipendono da "tag",
una specie di "etichetta" a cui saltare.
una "etichetta" a cui saltare.
{tag} viene cercata nel file "tags", e il file a essa associato diventa
quello corrente, e il comando a essa associato viene eseguito.
Di solito si usa per programmi C, nel qual caso {tag} potrebbe essere un
@@ -87,7 +89,7 @@ e il cursore è posizionato all'inizio della funzione.
Vedere ":help tag\-commands".
.TP
\-q [file_errori]
Inizia in Modo QuickFix [correzione veloce].
Iniziare in Modo QuickFix [correzione veloce].
Il file [file_errori] è letto e il primo errore è visualizzato.
Se [file_errori] non è indicato, il suo nome è ottenuto dal valore
dell'opzione 'errorfile' (che, se non specificata, vale "AztecC.Err"
@@ -97,28 +99,28 @@ Vedere ":help quickfix".
.PP
.B Vim
si comporta in modo diverso se invocato con nomi differenti (il programma
eseguibile "soggiacente" può essere sempre lo stesso).
eseguibile "sottostante" può essere sempre lo stesso).
.TP 10
vim
Modo Normal, comportamento predefinito.
Iniziare in Modo Normal, comportamento predefinito.
.TP
ex
Inizia in Modo "Ex".
Iniziare in Modo "Ex".
Si può passare in Modo Normal col comando ":vi".
Si può invocare il Modo "Ex" anche con l'argomento "\-e".
.TP
view
Inizia in Modo Read-only (Sola Lettura). Non si possono modificare i file.
Iniziare in Modo Read-only (sola-lettura). Non si possono modificare i file.
Si può invocare il Modo Read-only anche con l'argomento "\-R".
.TP
gvim gview
La versione GUI [Graphical User Interface].
Apre una nuova finestra.
Usare la versione GUI [Graphical User Interface].
Viene aperta una nuova finestra.
Si può invocare il Modo GUI anche con l'argomento "\-g".
.TP
evim eview
La versione GUI in Modo Easy (semplificata).
Apre una nuova finestra.
Usare la versione GUI in Modo Easy (semplificato).
Viene aperta una nuova finestra.
Si può invocare il Modo Easy anche con l'argomento "\-y".
.TP
rvim rview rgvim rgview
@@ -128,21 +130,21 @@ della shell o sospendere
Si può chiedere la stessa cosa anche con l'argomento "\-Z".
.SH OPZIONI
Le opzioni possono essere in un ordine qualsiasi, prima o dopo i nomi di file.
Opzioni che non hanno un argomento si possono specificare dietro a un solo "\-".
Opzioni che non hanno un argomento si possono specificare insieme dietro a un
solo "\-".
.TP 12
+[numero]
Nel primo file il cursore sarà posizionato sulla linea "numero".
Se "numero" manca, il cursore sarà posizionato sull'ultima linea del file.
Nel primo file, posizionare il cursore sulla riga numero "numero".
Se "numero" manca, il cursore sarà posizionato sull'ultima riga del file.
.TP
+/{espressione}
Nel primo file il cursore sarà posizionato alla
prima occorrenza di {espressione}.
Nel primo file posizionare il cursore alla prima occorrenza di {espressione}.
Vedere ":help search\-pattern" per come specificare l'espressione.
.TP
+{comando}
.TP
\-c {comando}
{comando} sarà eseguito dopo che il primo file è stato letto.
Eseguire {comando} dopo che il primo file è stato letto.
{comando} è interpretato come un comando Ex.
Se il {comando} contiene spazi deve essere incluso fra doppi apici
(o altro delimitatore, a seconda della shell che si sta usando).
@@ -154,7 +156,7 @@ Note: Si possono avere fino a 10 comandi "+" o "\-c".
Se
.B Vim
è stato compilato con supporto ARABIC per editare file con orientamento
destra-sinistra e tastiera con mappatura araba, quest'opzione inizia
destra-sinistra e tastiera con mappatura araba, quest'opzione fa iniziare
.B Vim
in Modo Arabic, cioè impostando 'arabic'.
Altrimenti viene dato un messaggio di errore e
@@ -162,32 +164,32 @@ Altrimenti viene dato un messaggio di errore e
termina in modo anormale.
.TP
\-b
Modo Binary (binario).
Vengono impostate alcune opzioni che permettono di modificare un file
binario o un file che contiene un programma eseguibile.
Eseguire Vim in Modo Binary (binario).
Vengono impostate alcune opzioni che permettono di modificare un file binario
o un file che contiene un programma eseguibile.
.TP
\-C
Compatibile. Imposta l'opzione 'compatible'.
Compatibile. Impostare l'opzione 'compatible'.
In questo modo
.B Vim
ha quasi lo stesso comportamento di Vi, anche in presenza di un file .vimrc.
.TP
\-d
Inizia in Modo Diff [differenze].
Dovrebbero esserci come argomenti da due o otto nomi di file.
Iniziare in Modo Diff [differenze].
Dovrebbero esserci come argomenti da due fino a otto nomi di file.
.B Vim
aprirà tutti i file evidenziando le differenze fra gli stessi.
Funziona come vimdiff(1).
.TP
\-d {dispositivo}, \-dev {dispositivo}
Apre {dispositivo} per usarlo come terminale.
Aprire {dispositivo} per usarlo come terminale.
Solo per l'Amiga.
Esempio:
"\-d con:20/30/600/150".
.TP
\-D
Debugging. Vim si mette in Modo "debugging" a partire
dall'esecuzione del primo comando da uno script.
Debugging. Entrare in Modo "debugging" a partire dall'esecuzione del primo
comando di uno script.
.TP
\-e
Eseguire
@@ -202,15 +204,15 @@ in Modo Ex migliorato, come se il programma eseguito sia "exim".
\-f
Direttamente [Foreground]. Per la versione GUI,
.B Vim
non crea [fork] una nuova finestra, indipendente dalla shell di invocazione.
Per l'Amiga,
non creare [fork] una nuova finestra, indipendente dalla shell di invocazione.
Per l'Amiga, non fa ripartire
.B Vim
non è fatto ripartire per aprire una nuova finestra.
per aprire una nuova finestra.
Opzione da usare quando
.B Vim
è eseguito da un programma che attende la fine della
sessione di edit (p.es., mail).
Sull'Amiga i comandi ":sh" e ":!" non sono disponibili.
è eseguito da un programma che attende la fine della sessione di edit (p.es.,
mail).
In ambiente Amiga, i comandi ":sh" e ":!" non sono disponibili.
.TP
\-F
Se
@@ -229,7 +231,8 @@ Nota: Il supporto Farsi è stato rimosso a partire dalla patch 8.1.0932.
Se
.B Vim
è stato compilato con supporto GUI, quest'opzione chiede di usarla.
Se Vim è stato compilato senza supporto GUI viene dato un messaggio di errore e
Se Vim è stato compilato senza supporto GUI viene dato un messaggio di
errore e
.B Vim
termina in modo anormale.
.TP
@@ -246,145 +249,148 @@ termina in modo anormale.
.TP
\-i {viminfo}
Se è abilitato l'uso di un file viminfo, quest'opzione indica il nome
del file da usare invece di quello predefinito "~/.viminfo".
del file da usare invece del file predefinito "~/.viminfo".
Si può anche evitare l'uso di un file .viminfo, dando come nome
"NONE".
.TP
\-l
Modo Lisp.
Imposta le opzioni 'lisp' e 'showmatch'.
Eseguire Vim in Modo Lisp.
Vengono impostate le opzioni 'lisp' e 'showmatch'.
.TP
\-L
Equivalente a \-r.
.TP
\-m
Inibisce modifica file.
Inibisce l'opzione 'write'.
Inibire modifica file.
Viene inibita l'opzione 'write'.
È ancora possibile modificare un buffer, ma non riscriverlo.
.TP
\-M
Modifiche non permesse. Le opzioni 'modifiable' e 'write' sono annullate,
in modo da impedire sia modifiche che riscritture. Da notare che queste
opzioni possono essere abilitate in seguito, permettendo così modifiche.
in modo da impedire sia modifiche che riscritture. Si noti che queste opzioni
possono essere cambiate in seguito, per consentire modifiche.
.TP
\-n
Inibisce l'uso di un file di swap.
Il recupero dopo una caduta di macchina sarà impossibile.
Inibire l'uso di un file di swap.
Ripristinare il file in caso di fine anormale sarà impossibile.
Utile per editare un file su un supporto molto lento (p.es., floppy).
Il comando ":set uc=0" ha lo stesso effetto.
Per abilitare il recupero usare ":set uc=200".
Per abilitare il ripristino usare ":set uc=200".
.TP
\-N
Modo "Non-compatibile". Annulla l'opzione 'compatible'.
Eseguire Vim in Modo "Non-compatibile". Annulla l'opzione 'compatible'.
Così
.B Vim
si comporta un po' meglio, ma è meno compatibile con Vi, anche in assenza di un
file .vimrc.
si comporta un po' meglio, ma è meno compatibile con Vi, anche in assenza di
un file .vimrc.
.TP
\-nb
Diviene un Editor server per NetBeans. Vedere la documentazione per dettagli.
Fare di Vim un Editor server per NetBeans. Vedere la documentazione per
dettagli.
.TP
\-o[N]
Apre N finestre in orizzontale.
Se N manca, apre una finestra per ciascun file.
Aprire N finestre in orizzontale.
Se N manca, aprire una finestra per ciascun file.
.TP
\-O[N]
Apre N finestre, in verticale.
Se N manca, apre una finestra per ciascun file.
Aprire N finestre, in verticale.
Se N manca, aprire una finestra per ciascun file.
.TP
\-p[N]
Apre N pagine di linguette.
Quando N è omesso, apre una pagine di linguette per ciascun file.
Aprire N pagine di schede.
Quando N è omesso, aprire una pagine di schede per ciascun file.
.TP
\-P {titolo-padre}
Solo per GUI Win32: Specifica il titolo dell'applicazione-padre. Se possibile,
Vim viene eseguito in una finestra MDI (Multiple-Document Interface).
{titolo-padre} deve apparire nel titolo della applicazione-padre. Accertatevi
Solo per GUI Win32: Specificare il titolo dell'applicazione-padre. Se
possibile, Vim viene eseguito in una finestra MDI
(Multiple-Document Interface).
{titolo-padre} deve apparire nel titolo dell'applicazione-padre. Accertarsi
che sia sufficientemente esplicativo. Notare che l'implementazione è ancora
rudimentale. Non funziona per tutte le applicazioni, e il menù non funziona.
.TP
\-r
Lista file di swap, e informazioni su come usarli per ripristinare file.
Listare file di swap, con informazioni su come usarli per ripristinare file.
.TP
\-r {file}
Modo Recovery (ripristino).
Eseguire Vim in Modo Recovery (ripristino).
Il file di swap è usato per recuperare una sessione di edit finita male.
Il file di swap è un file con lo stesso nome file del file di testo
editato, col suffisso ".swp".
Il file di swap è un file con lo stesso nome file del file di testo editato,
col prefisso "." e col suffisso ".swp".
Vedere ":help recovery".
.TP
\-R
Modo Read-only (Sola Lettura).
Imposta l'opzione 'readonly'.
Si può ancora modificare il buffer, ma il file è protetto da una riscrittura
involontaria.
Se si vuole davvero riscrivere il file, occorre aggiungere un punto esclamativo
al comando Ex, come in ":w!".
Eseguire Vim in Modo Read-only (Sola Lettura).
Viene impostata l'opzione 'readonly'.
È ancora possibile modificare il buffer, ma il file è protetto da una
riscrittura involontaria.
Se si vuole davvero riscrivere il file, occorre aggiungere un punto
esclamativo al comando Ex, come in ":w!".
L'opzione \-R implica anche l'opzione \-n (vedere sopra).
L'opzione 'readonly' può essere annullata con ":set noro".
Vedere ":help 'readonly'".
.TP
\-s
Modo silenzioso. Solo quando invocato come "Ex" o quando l'opzione
"\-e" è stata data prima dell'opzione "\-s".
Eseguire Vim in Modo silenzioso. Solo quando invocato come "Ex" o quando
l'opzione "\-e" è stata specificata prima dell'opzione "\-s".
.TP
\-s {script_in_input}
Lo script file {script_in_input} è letto.
Eseguire lo script file {script_in_input}.
I caratteri nel file sono interpretati come se immessi da terminale.
Lo stesso risultato si può ottenere col comando ":source! {script_in_input}".
Se la fine del file di input viene raggiunta prima che Vim termini,
l'ulteriore input verrà preso dalla tastiera.
.TP
\-S {file}
I comandi contenuti in {file} sono eseguiti dopo la lettura del primo file.
Eseguire i comandi contenuti in {file} dopo la lettura del primo file.
Equivalente a \-c "source {file}".
{file} non può avere un nome che inizia per '\-'.
Se {file} è omesso si usa "Session.vim" (funziona solo se \-S è l'ultimo
argomento specificato).
.TP
\-T {terminale}
Dice a
Specificare a
.B Vim
quale tipo di terminale state usando.
il tipo di terminale che si sta usando.
Utile solo se il terminale non viene riconosciuto correttamente da Vim.
Dovrebbe essere un terminale noto a
.B Vim
(predefinito) o definito nei file termcap o terminfo.
.TP
\-u {vimrc}
Usa i comandi nel file {vimrc} per inizializzazioni.
Usare i comandi nel file {vimrc} per inizializzazioni.
Tutte le altre inizializzazioni non sono eseguite.
Usare quest'opzione per editare qualche file di tipo speciale.
Si possono anche omettere tutte le inizializzazioni dando come nome "NONE".
Vedere ":help initialization" da vim per ulteriori dettagli.
.TP
\-U {gvimrc}
Usa i comandi nel file {gvimrc} per inizializzazioni GUI.
Usare i comandi nel file {gvimrc} per inizializzare la GUI.
Tutte le altre inizializzazioni GUI non sono eseguite.
Si possono anche omettere tutte le inizializzazioni GUI dando come nome "NONE".
Si possono anche omettere tutte le inizializzazioni GUI dando come nome
"NONE".
Vedere ":help gui\-init" da vim per ulteriori dettagli.
.TP
\-v
Inizia
Iniziare
.B Vim
in Modo Vi, come se il programma eseguibile fosse "vi". Questo ha
effetto solo quando Vim viene invocato con il nome "ex".
.TP
\-V[N]
Verboso. Vim manda messaggi relativi ai file di script che esegue
e quando legge o scrive un file viminfo. Il numero opzionale N è il valore
dell'opzione 'verbose'. Il valore predefinito è 10.
Verboso. Fare inviare a Vim messaggi relativi ai file di script eseguiti
e alla lettura/scrittura di un file viminfo. Il numero opzionale N è il
valore dell'opzione 'verbose'. Il valore predefinito è 10.
.TP
\-V[N]{nome_file}
Come \-V imposta 'verbosefile' a {nome_file}. Il risultato è che i messaggi
non sono visualizzati, ma scritti sul file {nome_file}. Il {nome_file} non
deve iniziare con un numero.
Come \-V, e si imposta 'verbosefile' a {nome_file}. Il risultato è che i
messaggi non sono visualizzati, ma scritti sul file {nome_file}. Il
{nome_file} non deve iniziare con un numero.
.TP
\-w{numero}
Imposta l'opzione 'window' a {numero}.
Impostare l'opzione 'window' a {numero}.
.TP
\-w {script_file}
Ogni carattere immesso viene registrato nel file {script_file},
Registrare ogni carattere immesso nel file {script_file},
finché non si esce da
.B Vim.
Utile se si vuole creare uno script file da usare con "vim \-s" o
@@ -402,7 +408,7 @@ nella scrittura dei file. Verrà chiesta una chiave di cifratura.
.TP
\-X
Non connettersi al server X. Vim parte più rapidamente,
ma il titolo della finestra e la clipboard non sono usati.
ma il titolo della finestra e gli appunti non sono disponibili.
.TP
\-Y
Non connettersi al compositore Wayland.
@@ -410,17 +416,19 @@ Non connettersi al compositore Wayland.
\-y
Eseguire
.B Vim
in Modo Easy (semplificato), come se l'eseguibile invocato sia "evim" o "eview".
in Modo Easy (semplificato), come se l'eseguibile invocato sia "evim" o
"eview".
Fa sì che
.B Vim
si comporti come un editor che usa solo il mouse e i caratteri.
.TP
\-Z
Modo ristretto. Vim si comporta come se invocato con un nome che inizia per "r".
Eseguire Vim in Modo ristretto. Vim si comporta come se invocato con un nome
che inizia per "r".
.TP
\-\-
Specifica la fine delle opzioni.
Argomenti specificati dopo questo sono considerati nomi file.
In questo modo si specifica la fine delle opzioni.
Argomenti aggiunti dopo questo sono considerati nomi file.
Si può usare per editare un file il cui nome inizi per '-'.
.TP
\-\-clean
@@ -428,40 +436,43 @@ Richiede di non usare alcun file di personalizzazione (vimrc, plugin, etc.).
Utile per verificare se un problema persiste invocando Vim "originale".
.TP
\-\-cmd {comando}
Come "\-c", ma il comando è eseguito subito PRIMA
di eseguire qualsiasi file vimrc.
Si possono usare fino a 10 di questi comandi, indipendentemente dai comandi "\-c".
Come "\-c", ma eseguire il comando subito PRIMA di eseguire qualsiasi file
vimrc.
Si possono usare fino a 10 di questi comandi, indipendentemente dai comandi
"\-c".
.TP
\-\-echo\-wid
Solo per GUI GTK: Visualizza ID di Window su stdout.
Solo per GUI GTK: Visualizzare ID di Window su stdout.
.TP
\-\-gui-dialog-file {nome}
Quando si usa la GUI, invece di visualizzare un dialogo, il titolo e il
messaggio del dialogo sono scritti sul file {nome}. Il file viene creato o,
se già esistente, viene esteso. Quest'opzione serve solo in fase di test,
per evitare di restare bloccati da un dialogo che non si riesce a visualizzare.
per evitare di restare bloccati da un dialogo che non si riesce a
visualizzare.
Se si sta lavorando senza la GUI l'argomento viene ignorato.
.TP
\-\-help, \-h, \-?
Un po' di aiuto su opzioni e argomenti che si possono dare invocando Vim.
Visualizzare opzioni e argomenti che si possono specificare invocando Vim.
Subito dopo
.B Vim
esce.
.TP
\-\-literal
Considera i nomi passati come argomenti letterali, senza espandere metacaratteri.
Considerare i nomi passati come argomenti letterali, senza espandere
metacaratteri.
Non ha effetto in Unix, dove la shell espande comunque i metacaratteri.
.TP
\-\-log {nome_file}
Se
.B Vim
è stato compilato con le funzionalità eval e channel, inizia a registrare
e scrive le registrazioni a {nome_file}. Ciò equivale a chiamare
è stato compilato con le funzionalità eval e channel, iniziare a registrare
e scrivere le registrazioni a {nome_file}. Ciò equivale a chiamare
.I ch_logfile({nome_file}, 'ao')
in una fase molto iniziale dell'avvio del programma.
.TP
\-\-nofork
Direttamente [Foreground]. Per la versione GUI,
Eseguire Vim irettamente [Foreground]. Per la versione GUI,
.B Vim
non crea [fork] una nuova finestra, indipendente dalla shell di invocazione.
.TP
@@ -471,17 +482,19 @@ Non caricare plugin. Implicito se si specifica \-u NONE.
\-\-not\-a\-term
Da usare per specificare a
.B Vim
che l'utente è consapevole che l'input e l'output non avvengono con un terminale
vero e proprio. Ciò serve per evitare il messaggio di avvertimento e il ritardo
di due secondi che avverrebbero in assenza di questo argomento.
che l'utente è consapevole che l'input e l'output non avvengono con un
terminale vero e proprio. Ciò serve per evitare il messaggio di avvertimento
e il ritardo di due secondi, ossia il comportamento previsto in assenza di
questo argomento.
.TP
\-\-remote
Connettersi a un server Vim e chiedere di editare i file elencati come altri
argomenti. Se non si trova un server viene dato un messaggio e i file sono
editati nel Vim corrente.
Connettersi a un server Vim a cui chiedere di editare i file elencati come
altri argomenti. Se non si trova un server viene dato un messaggio e i file
sono editati nel Vim corrente.
.TP
\-\-remote\-expr {expr}
Connettersi a un server Vim, valutare {expr} e stampare il risultato su stdout.
\-\-remote\-expr {espressione}
Connettersi a un server Vim, valutare {espressione} e stampare il risultato su
stdout.
.TP
\-\-remote\-send {chiavi}
Connettersi a un server Vim e spedirgli {chiavi}.
@@ -490,16 +503,16 @@ Connettersi a un server Vim e spedirgli {chiavi}.
Come \-\-remote, ma senza avvisare se non si trova un server.
.TP
\-\-remote-wait
Come \-\-remote, ma Vim non termina finché i file non sono stati editati.
Come \-\-remote, ma non terminare Vim finché i file non sono stati editati.
.TP
\-\-remote\-wait\-silent
Come \-\-remote\-wait, ma senza avvisare se non si trova un server.
.TP
\-\-serverlist
Elenca i nomi di tutti i server Vim disponibili.
Elencare i nomi di tutti i server Vim disponibili.
.TP
\-\-servername {nome}
Usa {nome} come nome del server usato per il Vim corrente, a meno che sia
Usare {nome} come nome del server usato per il Vim corrente, a meno che sia
usato con l'argomento \-\-remote, nel qual caso indica il server a cui
connettersi.
Quando si sta usando il server a socket [socketserver backend], se il nome
@@ -512,19 +525,20 @@ rispettivamente, o "socket" o "x11". Disponibile solo se Vim è stato
compilato con le due funzionalità socketserver e X11.
.TP
\-\-socketid {id}
Solo per GUI GTK: Usa meccanismo GtkPlug per eseguire gVim in un'altra finestra.
Solo per GUI GTK: Usare meccanismo GtkPlug per eseguire gVim in un'altra
finestra.
.TP
\-\-startuptime {nome_file}
Durante la fase iniziale, scrive messaggi di log al file {nome_file}.
Durante la fase iniziale, scrivere messaggi di log al file {nome_file}.
.TP
\-\-ttyfail
Quando stdin o stdout non sono un terminale (tty) esce subito da Vim.
Quando stdin o stdout non sono un terminale (tty) uscire subito da Vim.
.TP
\-\-version
Stampa la versione di Vim ed esce.
Stampare la versione di Vim e uscire.
.TP
\-\-windowid {id}
Solo per GUI Win32: Chiede a gVim di provare a user l'ID di window {id}
Solo per GUI Win32: Chiedere a gVim di provare a user l'ID di window {id}
come padre, in modo da venir eseguito all'interno della finestra specificata.
.SH AIUTO ONLINE
Battere ":help" in
@@ -532,10 +546,11 @@ Battere ":help" in
per iniziare.
Battere ":help argomento" per ricevere aiuto su uno specifico argomento.
Per esempio: ":help ZZ" per ricevere aiuto sul comando "ZZ".
Usare <Tab> e CTRL\-D per completare gli argomenti (":help cmdline\-completion").
Usare <Tab> e CTRL\-D per completare gli argomenti
(":help cmdline\-completion").
Ci sono "tag" nei file di help per passare da un argomento a un altro
(simili a legami ipertestuali, vedere ":help").
Tutti i file di documentazione possono essere navigati così. Ad es.:
Tutti i file di documentazione possono essere navigati così. P.es.:
":help syntax.txt".
.SH FILE
.TP 15
@@ -546,11 +561,11 @@ I file di documentazione di
Usare ":help doc\-file\-list" per avere la lista completa.
.br
.I vim??
è il numero di versione corto, p.es., vim91 per indicare
.B Vim 9.1
è il numero di versione corto, p.es., vim92 per indicare
.B Vim 9.2
.TP
/usr/local/share/vim/vim??/doc/tags
Il file di tags usato per trovare informazioni nei file di documentazione.
Il file di tag usato per trovare informazioni nei file di documentazione.
.TP
/usr/local/share/vim/vim??/syntax/syntax.vim
Inizializzazioni sintattiche a livello di sistema.
@@ -586,18 +601,21 @@ Inizializzazioni del menù
a livello di sistema.
.TP
/usr/local/share/vim/vim??/bugreport.vim
Script Vim per generare una segnalazione di errore. Vedere ":help bugs".
Script Vim per generare una segnalazione di errore.
Vedere ":help bugs".
.TP
/usr/local/share/vim/vim??/filetype.vim
Script Vim per determinare il tipo di un file dal suo nome. Vedere ":help 'filetype'".
Script Vim per determinare il tipo di un file dal suo nome.
Vedere ":help 'filetype'".
.TP
/usr/local/share/vim/vim??/scripts.vim
Script Vim per determinare il tipo di un file dal suo contenuto. Vedere ":help 'filetype'".
Script Vim per determinare il tipo di un file dal suo contenuto.
Vedere ":help 'filetype'".
.TP
/usr/local/share/vim/vim??/print/*.ps
File usati per stampa PostScript.
.PP
Per informazioni aggiornate [in inglese \- NdT] vedere la home page di Vim:
Per informazioni aggiornate [in inglese] vedere la home page di Vim:
.br
<URL:http://www.vim.org/>
.SH VEDERE ANCHE
@@ -614,12 +632,12 @@ Vedere ":help credits" in
Tony Andrews e G.R. (Fred) Walter.
In verità, poco o nulla è rimasto del loro codice originale.
.SH BUG
Probabilmente.
È probabile che ce ne siano.
Vedere ":help todo" per una lista di problemi noti.
.PP
Si noti che un certo numero di comportamenti che possono essere considerati errori
da qualcuno, sono in effetti causati da una riproduzione fin troppo fedele del
comportamento di Vi. Se si ritiene che altre cose siano errori "perché Vi si comporta
diversamente", si dia prima un'occhiata al file vi_diff.txt (o si immetta
:help vi_diff.txt da Vim).
Un'occhiata va data anche alle opzioni 'compatible' e 'cpoptions.
Si noti che un certo numero di comportamenti che possono essere visti come
errori, sono in effetti causati da una riproduzione fin troppo fedele del
comportamento di Vi. Se si ritiene che altre cose siano errori "perché Vi si
comporta diversamente", si dia prima un'occhiata al file vi_diff.txt
(o si immetta :help vi_diff.txt da Vim).
Un'occhiata va data anche alle opzioni 'compatible' e 'cpoptions'.

View File

@@ -515,7 +515,7 @@ GTK GUI only: Use the GtkPlug mechanism to run gVim in another window.
During startup write timing messages to the file {fname}.
.TP
\-\-ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.
When stdin or stdout is not a terminal (tty) then exit right away.
.TP
\-\-version
Print version information and exit.

View File

@@ -396,7 +396,7 @@ OPTIONS
--startuptime {file}
During startup write timing messages to the file {fname}.
--ttyfail When stdin or stdout is not a a terminal (tty) then exit
--ttyfail When stdin or stdout is not a terminal (tty) then exit
right away.
--version Print version information and exit.

View File

@@ -1,4 +1,4 @@
*vim9.txt* For Vim version 9.2. Last change: 2026 Feb 14
*vim9.txt* For Vim version 9.2. Last change: 2026 May 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2355,11 +2355,6 @@ in Vim9 script.
let &laststatus=v:true
vim9cmd &laststatus = true
<
- Not using a string where an argument requires a string (|E1174|) >vim
echo substitute('Hallo', 'a', 'e', v:true)
vim9cmd echo substitute('Hallo', 'a', 'e', true) # E1174: String...
<
One consequence is that the item type of a list or dict given to |map()| must
not change when its type is either declared or inferred. For example, this

View File

@@ -1,4 +1,4 @@
*windows.txt* For Vim version 9.2. Last change: 2026 Mar 01
*windows.txt* For Vim version 9.2. Last change: 2026 May 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -960,6 +960,9 @@ settings. The option is a comma-separated list of values:
the value is "on", it must be set after border.
height maximum height of the popup
highlight highlight group of the popup (default is Pmenu)
opacity opacity percentage 0-100 (default 100, fully opaque).
When less than 100, content beneath the popup shows
through.
resize show resize handle: "on" (default) or "off"
shadow "off" (default) or "on" using |hl-PmenuShadow|
width maximum width of the popup
@@ -968,6 +971,7 @@ Example: >
:set previewpopup=height:10,width:60
:set previewpopup=border:single,borderhilight:PmenuBorder
:set previewpopup=border:custom:─;│;─;│;┌;┐;┘;└
:set previewpopup=border:round,opacity:80
A few peculiarities:
- If the file is in a buffer already, it will be re-used. This will allow for

View File

@@ -2,6 +2,8 @@
" Language: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2016 Aug 29
" 2026 May 26 by Vim Project: prevent Code Injection
" https://github.com/vim/vim/security/advisories/GHSA-4473-94jm-w5x9
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
@@ -96,7 +98,8 @@ function! s:stepmatch(receiver,target)
catch
endtry
if has("ruby") && pattern !~ '\\\@<!#{'
ruby VIM.command("return #{if (begin; Kernel.eval('/'+VIM.evaluate('pattern')+'/'); rescue SyntaxError; end) === VIM.evaluate('a:target') then 1 else 0 end}")
" Use Regexp.new, so the pattern stays untrusted data and cannot inject Ruby
ruby VIM.command("return #{if (begin; Regexp.new(VIM.evaluate('pattern')); rescue RegexpError; end) === VIM.evaluate('a:target') then 1 else 0 end}")
else
return 0
endif

View File

@@ -2,6 +2,7 @@
" Language: Justfile
" Maintainer: Peter Benjamin <@pbnj>
" Last Change: 2025 Jan 19
" 2026 May 17 by Vim Project: add 'suffixesadd' #20197
" Credits: The original author, Noah Bogart <https://github.com/NoahTheDuke/vim-just/>
" Only do this when not done yet for this buffer
@@ -13,5 +14,6 @@ let b:did_ftplugin = 1
setlocal iskeyword+=-
setlocal comments=n:#
setlocal commentstring=#\ %s
setlocal suffixesadd=.just
let b:undo_ftplugin = "setlocal iskeyword< comments< commentstring<"
let b:undo_ftplugin = "setlocal iskeyword< comments< commentstring< suffixesadd<"

View File

@@ -1,7 +1,8 @@
" Vim filetype plugin file
" Language: Nvidia PTX (Parellel Thread Execution)
" Language: Nvidia PTX (Parallel Thread Execution)
" Maintainer: Yinzuo Jiang <jiangyinzuo@foxmail.com>
" Last Change: 2024-12-05
" 2026 May 04 by Vim Project: fix typo
if exists("b:did_ftplugin")
finish

View File

@@ -4,6 +4,7 @@
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 2024 Sep 19 (simplify keywordprg #15696)
" 2024 Jul 22 by Vim project (use :hor term #17822)
" 2026 May 04 by Vim Project: fix typo
if exists("b:did_ftplugin")
finish
@@ -26,7 +27,7 @@ if exists("loaded_matchit") && !exists("b:match_words")
endif
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Readline Intialization Files (inputrc, .inputrc)\tinputrc;*.inputrc\n"
let b:browsefilter = "Readline Initialization Files (inputrc, .inputrc)\tinputrc;*.inputrc\n"
if has("win32")
let b:browsefilter ..= "All Files (*.*)\t*\n"
else

View File

@@ -2,6 +2,7 @@
" Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last Change: 2022 Apr 06
" 2026 May 04 by Vim Project: fix typo
if exists("b:did_indent")
"finish
@@ -71,7 +72,7 @@ fun! CdlGetIndent(lnum)
" One 'closing' element at the beginning of the line has already reduced the
" indent, but 'else', 'elseif' & 'then' increment it for the next line.
" '=' at the beginning already has the right indent (increased for
" asignments).
" assignments).
let f = -1
let inicio = matchend(line, '^\c\s*\(else\a*\|then\|endif\|/[*/]\|[);={]\)')
if inicio > 0

View File

@@ -1,2 +1,2 @@
" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
" Placeholder for backwards compatibility: .jsx used to stand for JavaScript.
runtime! indent/javascript.vim

View File

@@ -4,8 +4,9 @@
" Last Change: 2023-09-11
" 2024 Jul 04 by Vim Project: use shiftwidth() instead of hard-coding shifted values #15138
" 2025 Dec 29 by Vim Project: clean up
" 2025 Dec 31 by Vim Project: correcly indent after nested array literal #19042
" 2025 Dec 31 by Vim Project: correctly indent after nested array literal #19042
" 2026 Jan 28 by Vim Project: fix indentation when a string literal contains 'if' #19265
" 2026 May 04 by Vim Project: fix typo
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
" Note: upstream seems umaintained: https://github.com/rust-lang/rust.vim/issues/502

View File

@@ -3,10 +3,11 @@
" Maintainer: Christian Brabandt <cb@256bit.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
" Latest Revision: 2019-10-24
" Latest Revision: 20260504
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-sh-indent
" Changelog:
" 20260504 - fix typo
" 20250906 - indent function closing properly on multiline commands
" 20250318 - Detect local arrays in functions
" 20241411 - Detect dash character in function keyword for
@@ -233,7 +234,7 @@ function! s:is_array(line)
endfunction
function! s:is_in_block(line)
" checks whether a:line is whithin a
" checks whether a:line is within a
" block e.g. a shell function
" foo() {
" ..

View File

@@ -2,6 +2,7 @@
" Language: Stylus
" Maintainer: Marc Harter
" Last Change: 2010 May 21
" 2026 May 04 by Vim Project: fix typo
" Based On: sass.vim from Tim Pope
"
if exists("b:did_indent")
@@ -97,7 +98,7 @@ function! GetStylusIndent()
let line = substitute(getline(lnum),'[\s()]\+$','','') " get last line strip ending whitespace
let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','') " get current line, trimmed
let lastcol = strlen(line) " get last col in prev line
let line = substitute(line,'^\s\+','','') " then remove preceeding whitespace
let line = substitute(line,'^\s\+','','') " then remove preceding whitespace
let indent = indent(lnum) " get indent on prev line
let cindent = indent(v:lnum) " get indent on current line
let increase = indent + &sw " increase indent by the shift width

View File

@@ -1,2 +1,2 @@
" Placeholder for backwards compatilibity: .tsx used to stand for TypeScript.
" Placeholder for backwards compatibility: .tsx used to stand for TypeScript.
runtime! indent/typescript.vim

View File

@@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2026 Apr 21
" Last Change: 2026 May 17
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" If there already is an option window, jump to that one.
@@ -315,6 +315,8 @@ call append("$", "\t" .. s:global_or_local)
call <SID>OptionG("tc", &tc)
call <SID>AddOption("tagrelative", gettext("file names in a tags file are relative to the tags file"))
call <SID>BinOptionG("tr", &tr)
call <SID>AddOption("tagsecure", gettext("a :tag command cannot access remote files"))
call <SID>BinOptionG("tsc", &tsc)
call <SID>AddOption("tagstack", gettext("a :tag command will use the tagstack"))
call <SID>BinOptionG("tgst", &tgst)
call <SID>AddOption("showfulltag", gettext("when completing tags in Insert mode show more info"))

View File

@@ -1,7 +1,7 @@
vim9script
# Highlight Yank plugin
# Last Change: 2026 Apr 11
# Last Change: 2026 May 11
def HighlightedYank()
@@ -36,8 +36,34 @@ def HighlightedYank()
endif
enddef
export def HighlightedPut()
if !get(g:, "hlput_enable", false)
return
endif
var hlgroup = get(g:, "hlput_hlgroup", "IncSearch")
var duration = min([get(g:, "hlput_duration", 300), 3000])
var [beg, end] = [getpos("'["), getpos("']")]
var type = v:event.regtype ?? 'v'
var pos = getregionpos(beg, end, {type: type, exclusive: false})
var m = matchaddpos(hlgroup, pos->mapnew((_, v) => {
var col_beg = v[0][2] + v[0][3]
var col_end = v[1][2] + v[1][3] + 1
return [v[0][1], col_beg, col_end - col_beg]
}))
var winid = win_getid()
timer_start(duration, (_) => {
if winbufnr(winid) != -1
m->matchdelete(winid)
endif
})
enddef
augroup hlyank
autocmd!
autocmd TextYankPost * HighlightedYank()
autocmd TextPutPost * HighlightedPut()
augroup END
# vim:sts=2:sw=2:et:

View File

@@ -1,33 +1,7 @@
" Creator: Charles E Campbell
" Previous Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
" Maintainer: This runtime file is looking for a new maintainer.
" Last Change:
" 2025 Aug 07 by Vim Project (use correct "=~#" for netrw_stylesize option #17901)
" 2025 Aug 07 by Vim Project (netrw#BrowseX() distinguishes remote files #17794)
" 2025 Aug 22 by Vim Project netrw#Explore handle terminal correctly #18069
" 2025 Sep 05 by Vim Project ensure netrw#fs#Dirname() returns trailing slash #18199
" 2025 Sep 11 by Vim Project only keep cursor position in tree mode #18275
" 2025 Sep 17 by Vim Project tighten the regex to handle remote compressed archives #18318
" 2025 Sep 18 by Vim Project 'equalalways' not always respected #18358
" 2025 Oct 01 by Vim Project fix navigate to parent folder #18464
" 2025 Oct 26 by Vim Project fix parsing of remote user names #18611
" 2025 Oct 27 by Vim Project align comment after #18611
" 2025 Nov 01 by Vim Project fix NetrwChgPerm #18674
" 2025 Nov 13 by Vim Project don't wipe unnamed buffers #18740
" 2025 Nov 18 by Vim Project use UNC paths when using scp and Windows paths #18764
" 2025 Nov 28 by Vim Project fix undefined variable in *NetrwMenu #18829
" 2025 Dec 26 by Vim Project fix use of g:netrw_cygwin #19015
" 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
" 2026 Apr 01 by Vim Project use fnameescape() with netrw#FileUrlEdit()
" 2026 Apr 05 by Vim Project Fix netrw#RFC2396() #19913
" 2026 Apr 15 by Vim Project Add missing escape()
" 2026 Apr 19 by Vim Project expand ~ on Windows #20003
" 2026 Apr 21 by Vim Project fix shell-injection via tempfile suffix (sftp://, file://)
" 2026 Apr 21 by Vim Project drop unused g:netrw_tmpfile_escape
" Last Change: 2026 May 17
" 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
@@ -2961,7 +2935,7 @@ function s:NetrwBookHistSave()
while ( first || cnt != g:netrw_dirhistcnt )
let lastline= lastline + 1
if exists("g:netrw_dirhist_{cnt}")
call setline(lastline,'let g:netrw_dirhist_'.cnt."='".g:netrw_dirhist_{cnt}."'")
call setline(lastline,'let g:netrw_dirhist_'.cnt.'='.string(g:netrw_dirhist_{cnt}))
endif
let first = 0
let cnt = ( cnt - 1 ) % g:netrw_dirhistmax
@@ -4836,6 +4810,12 @@ endfunction
" s:NetrwMaps: {{{2
function s:NetrwMaps(islocal)
" remove B flag from 'cpo' so that \<CR>, \<Bar>, etc. inside
" interpolated path names play back as literal text rather than
" the actual key — without this, a crafted directory name can
" inject keystrokes into the cmdline the mapping is typing
let _cpo = &cpo
set cpo-=B
" mouse <Plug> maps: {{{3
if g:netrw_mousemaps && g:netrw_retmap
@@ -5080,6 +5060,7 @@ function s:NetrwMaps(islocal)
" support user-specified maps
call netrw#UserMaps(0)
endif " }}}3
let &cpo = _cpo
endfunction
" s:NetrwCommands: set up commands {{{2
@@ -5179,7 +5160,7 @@ function s:NetrwMarkFile(islocal,fname)
else
" remove filename from buffer's markfilelist
call filter(s:netrwmarkfilelist_{curbufnr},'v:val != a:fname')
call filter(s:netrwmarkfilelist_{curbufnr}, {_, v -> v !=# a:fname})
if s:netrwmarkfilelist_{curbufnr} == []
" local markfilelist is empty; remove it entirely
call s:NetrwUnmarkList(curbufnr,curdir)
@@ -5200,7 +5181,6 @@ function s:NetrwMarkFile(islocal,fname)
else
" initialize new markfilelist
let s:netrwmarkfilelist_{curbufnr}= []
call add(s:netrwmarkfilelist_{curbufnr},substitute(a:fname,'[|@]$','',''))
@@ -5220,7 +5200,7 @@ function s:NetrwMarkFile(islocal,fname)
call add(s:netrwmarkfilelist,netrw#fs#ComposePath(b:netrw_curdir,a:fname))
else
" remove new filename from global markfilelist
call filter(s:netrwmarkfilelist,'v:val != "'.dname.'"')
call filter(s:netrwmarkfilelist, {_, v -> v !=# dname})
if s:netrwmarkfilelist == []
unlet s:netrwmarkfilelist
endif
@@ -6348,7 +6328,7 @@ function s:NetrwUnMarkFile(islocal)
endif
let ibuf= 1
while ibuf < bufnr("$")
while ibuf <= bufnr("$")
if exists("s:netrwmarkfilelist_".ibuf)
unlet s:netrwmarkfilelist_{ibuf}
unlet s:netrwmarkfilemtch_{ibuf}
@@ -7243,7 +7223,7 @@ function s:NetrwTreeDisplay(dir,depth)
" hide given patterns
let listhide= split(g:netrw_list_hide,',')
for pat in listhide
call filter(w:netrw_treedict[dir],'v:val !~ "'.escape(pat,'\\').'"')
call filter(w:netrw_treedict[dir], {_, v -> v !~# pat})
endfor
elseif g:netrw_hide == 2
@@ -9005,22 +8985,30 @@ function s:MakeSshCmd(sshcmd)
return sshcmd
endfunction
" s:MakeBookmark: enters a bookmark into Netrw's bookmark system {{{2
" s:MakeBookmark: enters a bookmark into Netrw's bookmark system {{{2
" Note that bookmark paths should always be absolute.
function s:MakeBookmark(fname)
if !exists("g:netrw_bookmarklist")
let g:netrw_bookmarklist= []
let g:netrw_bookmarklist = []
endif
if index(g:netrw_bookmarklist,a:fname) == -1
" curdir not currently in g:netrw_bookmarklist, so include it
if isdirectory(s:NetrwFile(a:fname)) && a:fname !~ '/$'
call add(g:netrw_bookmarklist,a:fname.'/')
elseif a:fname !~ '/'
call add(g:netrw_bookmarklist,getcwd()."/".a:fname)
else
call add(g:netrw_bookmarklist,a:fname)
endif
" Normalize path to prevent duplicate entries
let bookmark_path = netrw#fs#AbsPath(s:NetrwFile(a:fname))
let ignore_case = 0
if has('win32')
let bookmark_path = substitute(bookmark_path, '\\', '/', 'ge')
let ignore_case = 1
endif
let bookmark_path = simplify(bookmark_path)
if isdirectory(bookmark_path) && bookmark_path !~ '/$'
let bookmark_path .= '/'
endif
if index(g:netrw_bookmarklist, bookmark_path, 0, ignore_case) == -1
" Not currently in the bookmarks list, so include it
call add(g:netrw_bookmarklist, bookmark_path)
call sort(g:netrw_bookmarklist)
endif

View File

@@ -1142,6 +1142,8 @@ One may easily "bookmark" the currently browsed directory by using >
mb
<
Note: Bookmarked paths are normalized and stored as absolute paths.
*.netrwbook*
Bookmarks are retained in between sessions of vim in a file called .netrwbook
as a |List|, which is typically stored in the first directory on the user's

View File

@@ -16,13 +16,20 @@ def OSCMessage(id: number)
sent_message = true
enddef
export def Paste(reg: string): tuple<string, list<string>>
var loop_timerid: number = -1
export def Paste(reg: string): any
# Check if user has indicated that the terminal does not support OSC 52 paste
# (or has disabled it)
if get(g:, 'osc52_disable_paste', 0)
return ("c", [])
endif
if loop_timerid != -1
# This will result in the register being unchanged
return null
endif
# Some terminals like Kitty respect the selection type parameter on both X11
# and Wayland. If the terminal doesn't then the selection type parameter
# should be ignored (no-op)
@@ -61,6 +68,14 @@ export def Paste(reg: string): tuple<string, list<string>>
endif
endtry
# A TextPutPost autocmd may cause this function to be called twice, which is
# technically intended behaviour, however it is not necessary for this plugin.
# To prevent this, return immediately if we have not returned back to the main
# loop since the last "paste" call.
loop_timerid = timer_start(0, (_) => {
loop_timerid = -1
})
if interrupt
echo "Interrupted while waiting for OSC 52 response"
return ("c", [""])

View File

@@ -35,6 +35,7 @@ augroup tar
au FileWriteCmd tarfile::*/* call tar#Write(expand("<amatch>"))
endif
au BufReadCmd *.cbt call tar#Browse(expand("<amatch>"))
au BufReadCmd *.lrp call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar.bz2 call tar#Browse(expand("<amatch>"))

View File

@@ -6,6 +6,7 @@
" Last Change:
" 2025 Apr 02 by Vim Project: add *.whl to list of zip extensions (#17038)
" 2025 Oct 06 by MultisampledNight: add *.pkpass to list of zip extensions (#18501)
" 2026 May 16 by Vim Project: add .cbz extension (#20206)
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2016 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
@@ -31,7 +32,7 @@ set cpo&vim
" ---------------------------------------------------------------------
" Options: {{{1
if !exists("g:zipPlugin_ext")
let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,*.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.pkpass,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,*.wsz,*.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
let g:zipPlugin_ext='*.aar,*.apk,*.cbz,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,*.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.pkpass,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,*.wsz,*.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
endif
" ---------------------------------------------------------------------

View File

@@ -3,7 +3,7 @@
" Version: 0.4
" Maintainer: Janis Papanagnou
" Previous Maintainer: NevilleD.ALGOL_68@sgr-a.net
" Last Change: 2026 Apr 23
" Last Change: 2026 May 02
if exists("b:current_syntax")
finish
@@ -71,6 +71,7 @@ if exists("algol68_symbolic_operators")
syn match algol68SymbolOperator "\%([-+*%/]\|%\*\):="
syn match algol68SymbolOperator "+=:"
syn match algol68SymbolOperator "*\*\|&"
syn match algol68SymbolOperator ":/\==:"
endif
syn match algol68Number "\<\d\+\%(\s\+\d\+\)*\>"

View File

@@ -2,6 +2,7 @@
" Language: Debian autopkgtest control files
" Maintainer: Debian Vim Maintainers
" Last Change: 2025 Jul 05
" 2026 May 05 by Vim project: fix typos
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/autopkgtest.vim
"
" Specification of the autopkgtest format is available at:
@@ -31,10 +32,10 @@ syn match autopkgtestTests contained "[a-z0-9][a-z0-9+.-]\+\%(,\=\s*[a-z0-9][a-z
syn match autopkgtestArbitrary contained "[^#]*"
syn keyword autopkgtestRestrictions contained
\ allow-stderr
\ breaks-testbe
\ build-neede
\ breaks-testbed
\ build-needed
\ flaky
\ hint-testsuite-trigger
\ hint-testsuite-triggers
\ isolation-container
\ isolation-machine
\ needs-internet
@@ -43,10 +44,11 @@ syn keyword autopkgtestRestrictions contained
\ needs-sudo
\ rw-build-tree
\ skip-foreign-architecture
\ skip-not-installable
\ skippable
\ superficial
syn keyword autopkgtestDeprecatedRestrictions contained needs-recommends
syn keyword autopkgtestDeprecatedRestrictions contained
\ needs-recommends
\ skip-not-installable
syn match autopkgtestFeatures contained 'test-name=[^, ]*\%([, ]*[^, #]\)*,\='
syn match autopkgtestDepends contained '\%(@builddeps@\|@recommends@\|@\)'

View File

@@ -4,6 +4,7 @@
" Last Change: 2021 Nov 29
" 2026 Feb 12 by Vim Project add partial support #19386
" 2026 Apr 17 by Vim Project Update to Django 5.2 version #19994
" 2026 May 17 by Vim Project Update comparison operators #20225
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -18,8 +19,6 @@ syn match djangoError "%}\|}}\|#}"
" Django template built-in tags and parameters
" 'comment' doesn't appear here because it gets special treatment
syn keyword djangoStatement contained autoescape csrf_token empty
" FIXME ==, !=, <, >, <=, and >= should be djangoStatements:
" syn keyword djangoStatement contained == != < > <= >=
syn keyword djangoStatement contained and as block endblock by cycle debug else elif
syn keyword djangoStatement contained extends filter endfilter firstof for
syn keyword djangoStatement contained endfor if endif ifchanged endifchanged
@@ -33,7 +32,9 @@ syn keyword djangoStatement contained get_current_language noop get_available_la
syn keyword djangoStatement contained get_current_language_bidi get_language_info plural
syn keyword djangoStatement contained translate blocktranslate endblocktranslate
syn keyword djangoStatement contained partialdef endpartialdef partial
syn keyword djangoStatement contained querystring lorem verbatim
syn keyword djangoStatement contained querystring lorem verbatim localize endlocalize
syn keyword djangoStatement contained localtime endlocaltime timezone endtimezone
syn keyword djangoStatement contained get_current_timezone
" Django templete built-in filters
syn keyword djangoFilter contained add addslashes capfirst center cut date
@@ -49,6 +50,7 @@ syn keyword djangoFilter contained time timesince timeuntil title truncatechars
syn keyword djangoFilter contained truncatewords truncatewords_html unordered_list upper urlencode
syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno
syn keyword djangoFilter contained force_escape iriencode json_script truncatechars_html
syn keyword djangoFilter contained localize unlocalize localtime utc timezone
" Keywords to highlight within comments
syn keyword djangoTodo contained TODO FIXME XXX
@@ -68,6 +70,9 @@ syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgume
syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
syn region djangoComBlock start="{#" end="#}" contains=djangoTodo
" Match comparison operators within Django statements.
syn match djangoOperator "==\|!=\|<=\|>=\|<\|>" contained containedin=djangoTagBlock
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
@@ -82,6 +87,6 @@ hi def link djangoError Error
hi def link djangoComment Comment
hi def link djangoComBlock Comment
hi def link djangoTodo Todo
hi def link djangoOperator Operator
let b:current_syntax = "django"

View File

@@ -2,6 +2,7 @@
" Language: Django HTML template
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
" Last Change: 2014 Jul 13
" 2026 May 17 by Vim Project Add highlighting for comparison operators #20232
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -23,4 +24,8 @@ syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgume
syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
syn region djangoComBlock start="{#" end="#}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
" Use djangoTagBlockNaive to limit the djangoOperator matched characters to avoid spill-over with HTML, JS and CSS.
syn region djangoTagBlockNaive start="{%" end="%}" contains=djangoTagBlock,djangoVarBlock,djangoComment,djangoComBlock
syn match djangoOperator "==\|!=\|<=\|>=\|<\|>" contained containedin=CONTAINS,@djangoTagBlockNaive
let b:current_syntax = "htmldjango"

View File

@@ -3,6 +3,7 @@
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/javacc.vim
" Last Change: 2012 Oct 05
" 2026 May 11 by Vim project: check for existence of javaFuncDef before clearing it
" Uses java.vim, and adds a few special things for JavaCC Parser files.
" Those files usually have the extension *.jj
@@ -33,7 +34,9 @@ syn clear javaError2
" remove function definitions (they look different) (first define in
" in case it was not defined in java.vim)
"syn match javaFuncDef "--"
syn clear javaFuncDef
if hlexists('javaFuncDef')
syn clear javaFuncDef
endif
syn match javaFuncDef "[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType
syn keyword javaccPackages options DEBUG_PARSER DEBUG_LOOKAHEAD DEBUG_TOKEN_MANAGER

View File

@@ -3,29 +3,7 @@
" Maintainer: This runtime file is looking for a new maintainer.
" Previous Maintainers: Charles E. Campbell
" Lennart Schultz <Lennart.Schultz@ecmwf.int>
" Last Change: 2024 Mar 04 by Vim Project {{{1
" 2024 Nov 03 by Aliaksei Budavei <0x000c70 AT gmail DOT com> improved bracket expressions, #15941
" 2025 Jan 06 add $PS0 to bashSpecialVariables #16394
" 2025 Jan 18 add bash coproc, remove duplicate syn keywords #16467
" 2025 Mar 21 update shell capability detection #16939
" 2025 Apr 03 command substitution opening paren at EOL #17026
" 2025 Apr 10 improve shell detection #17084
" 2025 Apr 29 match escaped chars in test operands #17221
" 2025 May 06 improve single-quote string matching in parameter expansions
" 2025 May 06 match KornShell compound arrays
" 2025 May 10 improve wildcard character class lists
" 2025 May 21 improve supported KornShell features
" 2025 Jun 16 change how sh_fold_enabled is reset #17557
" 2025 Jul 18 properly delete :commands #17785
" 2025 Aug 23 bash: add support for ${ cmd;} and ${|cmd;} #18084
" 2025 Sep 23 simplify ksh logic, update sh statements #18355
" 2026 Jan 15 highlight command switches that contain a digit
" 2026 Feb 11 improve support for KornShell function names and variables
" 2026 Feb 15 improve comment handling #19414
" 2026 Mar 23 improve matching of function definitions #19638
" 2026 Apr 02 improve matching of function definitions #19849
" 2026 Apr 19 improve detection of special variables #20016
" }}}
" Last Change: 2026 May 17 by Vim Project
" Version: 208
" Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
" For options and settings, please use: :help ft-sh-syntax
@@ -280,7 +258,7 @@ syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial
syn cluster shDerefVarList contains=shDerefOffset,shDerefOp,shDerefVarArray,shDerefOpError
syn cluster shEchoList contains=shArithmetic,shBracketExpr,shCommandSub,shCommandSubBQ,shDerefVarArray,shSubshare,shValsub,shDeref,shDerefSimple,shEscape,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shCtrlSeq,shEchoQuote
syn cluster shExprList1 contains=shBracketExpr,shNumber,shOperator,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shDblBrace,shDeref,shDerefSimple,shCtrlSeq
syn cluster shExprList2 contains=@shExprList1,@shCaseList,shTest
syn cluster shExprList2 contains=@shExprList1,@shCaseList,shTest,shFunctionNameError
syn cluster shFunctionCmds contains=shFor,shCaseEsac,shIf,shRepeat,shDblBrace,shDblParen
if exists("b:is_ksh88") || exists("b:is_mksh")
" Offer "shFunctionCmds" as is.
@@ -306,7 +284,7 @@ if exists("b:is_kornshell") || exists("b:is_bash")
endif
syn cluster shPPSLeftList contains=shAlias,shArithmetic,shBracketExpr,shCmdParenRegion,shCommandSub,shSubshare,shValsub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shHereString,shRedir,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable
syn cluster shPPSRightList contains=shDeref,shDerefSimple,shEscape,shPosnParm
syn cluster shSubShList contains=shBracketExpr,@shCommandSubList,shCommandSubBQ,shSubshare,shValsub,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
syn cluster shSubShList contains=shBracketExpr,@shCommandSubList,shCommandSubBQ,shSubshare,shValsub,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator,shFunctionNameError
syn cluster shTestList contains=shArithmetic,shBracketExpr,shCommandSub,shCommandSubBQ,shSubshare,shValsub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shSpecialDQ,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
syn cluster shNoZSList contains=shSpecialNoZS
syn cluster shForList contains=shTestOpr,shNumber,shDerefSimple,shDeref,shCommandSub,shCommandSubBQ,shSubshare,shValsub,shArithmetic
@@ -665,40 +643,48 @@ endif
ShFoldFunctions syn region shFunctionExpr matchgroup=shFunctionExprRegion start="{" end="}" contains=@shFunctionList contained skipwhite skipnl nextgroup=shQuickComment
ShFoldFunctions syn region shFunctionSubSh matchgroup=shFunctionSubShRegion start="(" end=")" contains=@shFunctionList contained skipwhite skipnl nextgroup=shQuickComment
syn match shFunctionParens "()" contained
if exists("b:is_bash")
syn keyword shFunctionKey coproc
syn match shFunctionCmdOne "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds
syn match shFunctionCmdTwo "\%#=1\%(\%(\<\k\+\>\|[^()<>|&$;\t ]\+\)\+\)\@>\ze\s*\%(()\ze\)\=\_s*\%(\<\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" contained skipwhite skipnl nextgroup=@shFunctionCmds
syn match shFunctionOne "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionTwo "\%#=1\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\ze\s*\%(()\ze\)\=\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionThree "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh
syn match shFunctionFour "\%#=1\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\ze\s*\%(\%(()\ze\)\=\)\@>\_s*((\@!" contained skipwhite skipnl nextgroup=shFunctionSubSh
syn match shFunctionCmdOne "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
syn match shFunctionCmdTwo "\%#=1\%(\%(\<\k\+\>\|[^()<>|&$;\t ]\+\)\+\)\@>\ze\s*\%(()\ze\)\=\_s*\%(\<\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" contained skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
syn match shFunctionOne "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
syn match shFunctionTwo "\%#=1\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\ze\s*\%(()\ze\)\=\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
syn match shFunctionThree "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
syn match shFunctionFour "\%#=1\%(\%(\<\k\+\|[^()<>|&$;\t ]\+\)\+\)\@>\ze\s*\%(\%(()\ze\)\=\)\@>\_s*((\@!" contained skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
" Claim empty array assignments.
syn match shArrayEmptyDecl "\%#=1\ze\%(\<\h\w*=\)\@>()" transparent nextgroup=shVariable
if !exists("g:sh_no_error")
syn match shFunctionNameError "\%#=1\%(\%(\<\h\w*\)\@>=\)\%(\%(\w\+\)\@>=\=\)\+()" skipwhite skipnl nextgroup=shExpr,shSubSh
endif
elseif exists("b:is_ksh88")
" AT&T ksh88
syn match shFunctionCmdOne "^\s*\zs\h\w*\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds
syn match shFunctionOne "^\s*\zs\h\w*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionCmdOne "^\s*\zs\h\w*\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
syn match shFunctionOne "^\s*\zs\h\w*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
syn match shFunctionTwo "\<\h\w*\>\ze\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionThree "^\s*\zs\h\w*\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh
syn match shFunctionThree "^\s*\zs\h\w*\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
elseif exists("b:is_mksh")
" MirBSD ksh is the wild west of absurd and abstruse function names...
syn match shFunctionCmdOne "^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds
syn match shFunctionOne "^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionTwo "\%#=1\%(\%(\<\w\+\|[@!+.%,:-]\+\)*[-A-Za-z_.%,0-9:]\)\@>\ze\s*\%(()\ze\)\=\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionThree "^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh
syn match shFunctionCmdOne "^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
syn match shFunctionOne "^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
syn match shFunctionTwo "\%#=1\%(\%(\<\w\+\|[@!+.%,:-]\+\)*[-A-Za-z_.%,0-9:]\)\@>\ze\s*\%(()\ze\)\=\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
syn match shFunctionThree "^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
elseif exists("b:is_kornshell")
" ksh93
syn match shFunctionCmdOne "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds
syn match shFunctionOne "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionCmdOne "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
syn match shFunctionOne "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
syn match shFunctionTwo "\%(\<\h\+\|\.\)[A-Za-z_.0-9]*\ze\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionThree "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh
syn match shFunctionThree "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
syn match shNamespaceOne "\<\h\w*\>\ze\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr
else
syn match shFunctionCmdOne "^\s*\zs\h\w*\s*()\ze\_s*\%(for\|case\|if\|while\|until\)\>" skipwhite skipnl nextgroup=@shFunctionCmds
syn match shFunctionCmdTwo "\<\h\w*\s*()\ze\_s*\%(for\|case\|if\|while\|until\)\>" contained skipwhite skipnl nextgroup=@shFunctionCmds
syn match shFunctionOne "^\s*\zs\h\w*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionTwo "\<\h\w*\>\s*()\ze\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr
syn match shFunctionThree "^\s*\zs\h\w*\s*()\ze\_s*(" skipwhite skipnl nextgroup=shFunctionSubSh
syn match shFunctionFour "\<\h\w*\>\s*()\ze\_s*(" contained skipwhite skipnl nextgroup=shFunctionSubSh
syn match shFunctionCmdOne "^\s*\zs\h\w*\s*()\ze\_s*\%(for\|case\|if\|while\|until\)\>" skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
syn match shFunctionCmdTwo "\<\h\w*\s*()\ze\_s*\%(for\|case\|if\|while\|until\)\>" contained skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
syn match shFunctionOne "^\s*\zs\h\w*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
syn match shFunctionTwo "\<\h\w*\>\s*()\ze\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
syn match shFunctionThree "^\s*\zs\h\w*\s*()\ze\_s*(" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
syn match shFunctionFour "\<\h\w*\>\s*()\ze\_s*(" contained skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
endif
if !exists("g:sh_no_error")
@@ -967,6 +953,9 @@ if !exists("skip_sh_syntax_inits")
hi def link shInError Error
hi def link shParenError Error
hi def link shTestError Error
if exists("b:is_bash")
hi def link shFunctionNameError Error
endif
if exists("b:is_kornshell") || exists("b:is_posix")
hi def link shDTestError Error
endif
@@ -987,6 +976,7 @@ if !exists("skip_sh_syntax_inits")
hi def link shCtrlSeq Special
hi def link shExprRegion Delimiter
hi def link shFunctionKey Keyword
hi def link shFunctionParens Delimiter
hi def link shFunctionOne Function
hi def link shFunctionTwo shFunctionOne
hi def link shFunctionThree shFunctionOne

View File

@@ -0,0 +1,20 @@
>#+0#0000e05#ffffff0| +0#0000000&@73
| +0#0000e05&@3|V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|a|l|g|o|l|6|8|_|s|y|m|b|o|l|i|c|_|o|p|e|r|a|t|o|r|s| |=| |1| +0#0000000&@19
|#+0#0000e05&| +0#0000000&@73
@75
@75
|#+0#0000e05&| |s|y|m|b|o|l|i|c| |o|p|e|r|a|t|o|r|s| |#| +0#0000000&@52
@75
|#+0#0000e05&| |I|D|E|N|T|I|T|Y| |#| +0#0000000&@62
@75
|x| |:+0#af5f00255&|=|:| +0#0000000&@1|y| @66
|x| |:+0#af5f00255&|/|=|:| +0#0000000&|y| @66
@75
|#+0#0000e05&| |B|O@1|L| |#| +0#0000000&@66
@75
|~+0#af5f00255&| +0#0000000&|T+0#e000002&|R|U|E| +0#0000000&@68
|T+0#e000002&|R|U|E| +0#0000000&|&+0#af5f00255&| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@62
|T+0#e000002&|R|U|E| +0#0000000&|=+0#af5f00255&| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@62
|T+0#e000002&|R|U|E| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@61
@75
@57|1|,|1| @10|T|o|p|

View File

@@ -0,0 +1,20 @@
| +0&#ffffff0@74
|~+0#af5f00255&| +0#0000000&|T+0#e000002&|R|U|E| +0#0000000&@68
|T+0#e000002&|R|U|E| +0#0000000&|&+0#af5f00255&| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@62
|T+0#e000002&|R|U|E| +0#0000000&|=+0#af5f00255&| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@62
|T+0#e000002&|R|U|E| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@61
> @74
|#+0#0000e05&| |I|N|T| |#| +0#0000000&@67
@75
|++0#af5f00255&|4+0#e000002&|2| +0#0000000&@71
|-+0#af5f00255&|4+0#e000002&|2| +0#0000000&@71
@75
|4+0#e000002&|2| +0#0000000&|++0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|-+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|*+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|%+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|%+0#af5f00255&|*| +0#0000000&|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|/+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|*+0#af5f00255&@1| +0#0000000&|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|^+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
@57|1|9|,|0|-|1| @7|1|6|%|

View File

@@ -0,0 +1,20 @@
|4+0#e000002#ffffff0|2| +0#0000000&|^+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
@75
|i| |++0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65
|i| |-+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65
|i| |*+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65
>i| |%+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65
|i| |%+0#af5f00255&|*|:|=| +0#0000000&|4+0#e000002&|2| +0#0000000&@65
@75
|4+0#e000002&|2| +0#0000000&|=+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|<+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|<+0#af5f00255&|=| +0#0000000&|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|>+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66
|4+0#e000002&|2| +0#0000000&|>+0#af5f00255&|=| +0#0000000&|8+0#e000002&|7| +0#0000000&@66
@75
|#+0#0000e05&| |R|E|A|L| |#| +0#0000000&@66
@75
|++0#af5f00255&|4+0#e000002&|.|2| +0#0000000&@70
|-+0#af5f00255&|4+0#e000002&|.|2| +0#0000000&@70
@57|3|7|,|1| @9|3|8|%|

View File

@@ -0,0 +1,20 @@
|-+0#af5f00255#ffffff0|4+0#e000002&|.|2| +0#0000000&@70
@75
|4+0#e000002&|.|2| +0#0000000&|++0#af5f00255&| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@65
|4+0#e000002&|.|2| +0#0000000&|-+0#af5f00255&| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@65
|4+0#e000002&|.|2| +0#0000000&|*+0#af5f00255&| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@65
>4+0#e000002&|.|2| +0#0000000&|/+0#af5f00255&| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@65
@75
|4+0#e000002&|.|2| +0#0000000&|*+0#af5f00255&@1| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64
|4+0#e000002&|.|2| +0#0000000&|^+0#af5f00255&| +0#0000000&@1|8+0#e000002&|.|7| +0#0000000&@64
|4+0#e000002&|.|2| +0#0000000&|*+0#af5f00255&@1| +0#0000000&|8+0#e000002&|7| +0#0000000&@65
|4+0#e000002&|.|2| +0#0000000&|^+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@65
@75
|r| |++0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65
|r| |-+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65
|r| |*+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65
|r| |/+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65
@75
|4+0#e000002&|.|2| +0#0000000&|=+0#af5f00255&| +0#0000000&@1|8+0#e000002&|.|7| +0#0000000&@64
|4+0#e000002&|.|2| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64
@57|5@1|,|1| @9|6|0|%|

View File

@@ -0,0 +1,20 @@
|4+0#e000002#ffffff0|.|2| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64
|4+0#e000002&|.|2| +0#0000000&|<+0#af5f00255&| +0#0000000&@1|8+0#e000002&|.|7| +0#0000000&@64
|4+0#e000002&|.|2| +0#0000000&|<+0#af5f00255&|=| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64
|4+0#e000002&|.|2| +0#0000000&|>+0#af5f00255&| +0#0000000&@1|8+0#e000002&|.|7| +0#0000000&@64
|4+0#e000002&|.|2| +0#0000000&|>+0#af5f00255&|=| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64
> @74
|#+0#0000e05&| |C|H|A|R| |#| +0#0000000&@66
@75
|"+0#e000002&|a|"| +0#0000000&|=+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b|"| +0#0000000&@64
|"+0#e000002&|a|"| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b|"| +0#0000000&@64
|"+0#e000002&|a|"| +0#0000000&|<+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b|"| +0#0000000&@64
|"+0#e000002&|a|"| +0#0000000&|<+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b|"| +0#0000000&@64
|"+0#e000002&|a|"| +0#0000000&|>+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b|"| +0#0000000&@64
|"+0#e000002&|a|"| +0#0000000&|>+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b|"| +0#0000000&@64
@75
|#+0#0000e05&| |S|T|R|I|N|G| |#| +0#0000000&@64
@75
|"+0#e000002&|a@2|"| +0#0000000&|=+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b@2|"| +0#0000000&@60
|"+0#e000002&|a@2|"| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@60
@57|7|3|,|0|-|1| @7|8|2|%|

View File

@@ -0,0 +1,20 @@
|"+0#e000002#ffffff0|a@2|"| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@60
|"+0#e000002&|a@2|"| +0#0000000&|<+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b@2|"| +0#0000000&@60
|"+0#e000002&|a@2|"| +0#0000000&|<+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@60
|"+0#e000002&|a@2|"| +0#0000000&|>+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b@2|"| +0#0000000&@60
|"+0#e000002&|a@2|"| +0#0000000&|>+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@60
> @74
|"+0#e000002&|a@2|"| +0#0000000&|++0#af5f00255&| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@61
|"+0#e000002&|a@2|"| +0#0000000&|++0#af5f00255&| +0#0000000&|"+0#e000002&|b|"| +0#0000000&@63
@3|4+0#e000002&|2| +0#0000000&|*+0#af5f00255&| +0#0000000&|"+0#e000002&|a@2|"| +0#0000000&@61
|"+0#e000002&|a@2|"| +0#0000000&|*+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@64
@75
@4|s| |++0#af5f00255&|:|=| +0#0000000&|"+0#e000002&|a@2|"| +0#0000000&@59
|"+0#e000002&|a@2|"| +0#0000000&|++0#af5f00255&|=|:| +0#0000000&|s| @63
@4|s| |*+0#af5f00255&|:|=| +0#0000000&|5+0#e000002&| +0#0000000&@63
@75
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|9|1|,|0|-|1| @7|B|o|t|

View File

@@ -11,7 +11,7 @@
|#+0#0000e05&| +0#0000000&@73
|#+0#0000e05&| |D|i|s|p|l|a|y| |s|o|m|e| |H|e|l|p| +0#0000000&@55
|#+0#0000e05&| +0#0000000&@73
|U+0#00e0e07&|s|a|g|e| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@64
|U+0#00e0e07&|s|a|g|e| |(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@64
@75
|#+0#0000e05&| |d|o|e|s| |t|h|i|s| |c|o|m@1|e|n|t| |w|o|r|k|?| +0#0000000&@49
|V+0#00e0e07&|a|r|i|a|b|l|e|N|a|m|e|=+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|B|a|s|i|c|C|o|n|f|i|g|N|a|m|e|}|_+0#e000002&|*|"+0#af5f00255&| +0#0000000&@39

View File

@@ -1,4 +1,4 @@
|U+0#00e0e07#ffffff0|s|a|g|e| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@64
|U+0#00e0e07#ffffff0|s|a|g|e| |(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@64
@75
|#+0#0000e05&| |d|o|e|s| |t|h|i|s| |c|o|m@1|e|n|t| |w|o|r|k|?| +0#0000000&@49
|V+0#00e0e07&|a|r|i|a|b|l|e|N|a|m|e|=+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|B|a|s|i|c|C|o|n|f|i|g|N|a|m|e|}|_+0#e000002&|*|"+0#af5f00255&| +0#0000000&@39

View File

@@ -4,7 +4,7 @@
|#+0#0000e05&| +0#0000000&@73
|#+0#0000e05&| |C|r|e|a|t|e| |a| |b|a|c|k|u|p| |u|s|i|n|g| |f|b|a|c|k|u|p|/|f|r|e|c|o|v|e|r| +0#0000000&@34
>#+0#0000e05&| +0#0000000&@73
|E+0#00e0e07&|x|e|c|u|t|e|F|b|a|c|k|u|p| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&|#+0#0000e05&| |T|E|S|T|I|N|G| +0#0000000&@45
|E+0#00e0e07&|x|e|c|u|t|e|F|b|a|c|k|u|p| |(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&|#+0#0000e05&| |T|E|S|T|I|N|G| +0#0000000&@45
@75
|[+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|D|e|b|u|g|S|c|r|i|p|t|"+0#af5f00255&| +0#0000000&|]+0#af5f00255&| +0#0000000&@3|&+0#af5f00255&@1| +0#0000000&|s+0#af5f00255&|e|t| +0#00e0e07&|-+0#e000e06&|x| +0#00e0e07&||+0#af5f00255&@1| +0#0000000&|s+0#af5f00255&|e|t| +0#00e0e07&|++0#e000e06&|x| +0#0000000&@33
@75

View File

@@ -14,7 +14,7 @@
| | +0#0000000&@73
|#+0#0000e05&| |a|v|a|i|l|a|b|l|e|!| +0#0000000&@62
|#+0#0000e05&| +0#0000000&@73
|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
@75
|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|F+0#e000002&|u|n|c|t|i|o|n|1|:| |f|o|r| |l|o@1|p| |i|n|s|i|d|e| |a| |f|u|n|c|t|i|o|n|:|\+0#e000e06&|t|\|c|"+0#af5f00255&| +0#0000000&@25
|i|s|_|d|a|s|h|:| |1|,| |i|s|_|p|o|s|i|x|:| |1|,| |i|s|_|s|h|:| |1|,| @22|1|,|1| @10|T|o|p|

View File

@@ -2,7 +2,7 @@
| | +0#0000000&@73
|#+0#0000e05&| |a|v|a|i|l|a|b|l|e|!| +0#0000000&@62
|#+0#0000e05&| +0#0000000&@73
|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
@75
>e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|F+0#e000002&|u|n|c|t|i|o|n|1|:| |f|o|r| |l|o@1|p| |i|n|s|i|d|e| |a| |f|u|n|c|t|i|o|n|:|\+0#e000e06&|t|\|c|"+0#af5f00255&| +0#0000000&@25
|[+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|*|"+0#af5f00255&| +0#0000000&|]+0#af5f00255&| +0#0000000&||+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|n+0#e000002&|o|n|e|\+0#e000e06&|c|"+0#af5f00255&| +0#0000000&@49

View File

@@ -3,7 +3,7 @@
|#+0#0000e05&| +0#0000000&@73
|#+0#0000e05&| |F|o|r| |l|o@1|p| |w|i|t|h| |'|i|n| |l|i|s|t|'| |$|*| +0#0000000&@46
|#+0#0000e05&| +0#0000000&@73
>F+0#00e0e07&|u|n|c|t|i|o|n|2| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
>F+0#00e0e07&|u|n|c|t|i|o|n|2| |(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
@75
|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|F+0#e000002&|u|n|c|t|i|o|n|2|:| |f|o|r| |l|o@1|p| |i|n|s|i|d|e| |a| |f|u|n|c|t|i|o|n|:|\+0#e000e06&|t|\|c|"+0#af5f00255&| +0#0000000&@25
|f+0#af5f00255&|o|r| +0#0000000&|V|a|r| |i+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|*| +0#0000000&@61

View File

@@ -1,6 +1,6 @@
|#+0#0000e05#ffffff0| |F|o|r| |l|o@1|p| |w|i|t|h| |'|i|n| |l|i|s|t|'| |$|@|.| |W|o|r|k|s| |t|h|e| |s|a|m|e| |w|a|y| |a|s| |$|*| +0#0000000&@20
|#+0#0000e05&| +0#0000000&@73
|F+0#00e0e07&|u|n|c|t|i|o|n|3| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
|F+0#00e0e07&|u|n|c|t|i|o|n|3| |(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
@75
|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|F+0#e000002&|u|n|c|t|i|o|n|3|:| |f|o|r| |l|o@1|p| |i|n|s|i|d|e| |a| |f|u|n|c|t|i|o|n|:|\+0#e000e06&|t|\|c|"+0#af5f00255&| +0#0000000&@25
>f+0#af5f00255&|o|r| +0#0000000&|V|a|r| |i+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|@| +0#0000000&@61
@@ -15,6 +15,6 @@
|#+0#0000e05&| +0#0000000&@73
|#+0#0000e05&| |F|o|r| |l|o@1|p| |w|i|t|h| |'|i|n| |l|i|s|t|'| |"|$|@|"|.| |S|p|e|c|i|a|l| |c|a|s|e|.| |W|o|r|k|s| |l|i|k|e| |"|$|1|"| |"|$|2|"| |.@2| +0#0000000&@4
|#+0#0000e05&| +0#0000000&@73
|F+0#00e0e07&|u|n|c|t|i|o|n|4| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
|F+0#00e0e07&|u|n|c|t|i|o|n|4| |(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
@75
@57|4|8|,|1| @9|5|6|%|

View File

@@ -4,17 +4,17 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#af5f00255#ffffff0|y|p|e|s|e|t| +0#0000000&|-+0#e000e06&|i| +0#0000000&|n+0#00e0e07&|=+0#0000000&|0+0#e000002&| +0#0000000&@58
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(+0#e000e06&|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(+0#e000e06&|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:| @67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|i|s|_|b|a|s|h|:| |1|,| @45|1|,|1| @10|T|o|p|

View File

@@ -1,20 +1,20 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(+0#e000e06&|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|l|e|c|t|o|r| |0+0#e000002&|<+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| |2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| ||@1| |:| @35
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:| @67
@57|1|9|,|1| @9|3|6|%|
@57|1|9|,|1| @9|1|6|%|

View File

@@ -2,19 +2,19 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|i+0#00e0e07#ffffff0|f@1|y|(|)| +0#0000000&|f+0#af5f00255&|o|r| |(@1|;@1|)@1| +0#0000000&@55
| +0#0000e05#a8a8a8255@1|i+0#00e0e07#ffffff0|f@1|y|(+0#e000e06&|)| +0#0000000&|f+0#af5f00255&|o|r| |(@1|;@1|)@1| +0#0000000&@55
|-+0#0000e05#a8a8a8255| >d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|f@1|y| @68
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| |:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|!+0#00e0e07&|?|#|(|)| +0#0000000&@54
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|!+0#00e0e07&|?|#|(+0#e000e06&|)| +0#0000000&@54
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|@+0#00e0e07&|α|!| +0#0000000&|{+0#e000e06&| +0#0000000&@50
|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@51
|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#e000e06&| +0#0000000&@63
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|@|α|!+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@56
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#af5f00255&| +0#0000000&@67
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|e+0#af5f00255&|v|a|l| +0#0000000&|!+0#af5f00255&|?+0#0000000&|\+0#e000e06&|#| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@54
@57|3|7|,|1| @9|8|6|%|
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|e+0#af5f00255&|v|a|l| +0#0000000&|!+0#af5f00255&|?+0#0000000&|\+0#e000e06&|#| +0#0000000&|"+0#af5f00255&|\+0#e000e06&|"|$|1|\|"|"+0#af5f00255&| +0#0000000&@50
@57|3|7|,|1| @9|4|0|%|

View File

@@ -1,20 +1,20 @@
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|e+0#af5f00255&|v|a|l| +0#0000000&|!+0#af5f00255&|?+0#0000000&|\+0#e000e06&|#| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@54
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|e+0#af5f00255&|v|a|l| +0#0000000&|!+0#af5f00255&|?+0#0000000&|\+0#e000e06&|#| +0#0000000&|"+0#af5f00255&|\+0#e000e06&|"|$|1|\|"|"+0#af5f00255&| +0#0000000&@50
||+0#0000e05#a8a8a8255| |f+0#af5f00255#ffffff0|i| +0#0000000&@70
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|n+0#00e0e07#ffffff0|a|m|e|s|p|a|c|e| |(|)| +0#0000000&@60
| +0#0000e05#a8a8a8255@1|n+0#00e0e07#ffffff0|a|m|e|s|p|a|c|e| |(+0#e000e06&|)| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |{+0#e000e06#ffffff0| +0#0000000&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|#|;+0#af5f00255&| +0#0000000&@62
||+0#0000e05#a8a8a8255| >}+0#e000e06#ffffff0|;+0#0000000&| |n|a|m|e|s|p|a|c|e| |$+0#e000e06&|@| +0#0000000&@57
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|5@1|,|1| @9|B|o|t|
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|#+0&#ffffff0| |W|h|e|t|h|e|r| |"|=|"| |b|e|l|o|n|g|s| |t|o| |a| |n|a|m|e| |o|r| |d|e|l|i|m|i|t|s| |a| |n|a|m|e| |d|e|p|e|n|d|s| |o|n| |w|h|e|t|h|e|r| +0#0000000&@3
| +0#0000e05#a8a8a8255@1|#+0&#ffffff0| |t|h|e| |r|e|s|e|r|v|e|d| |w|o|r|d| |"|f|u|n|c|t|i|o|n|"| |i|s| |p|r|e|s|e|n|t|,| |i|f| |s|o|,| |t|h|e|n| |"|=|"| |i|s| |p|a|r|t| |o|f| +0#0000000&@3
| +0#0000e05#a8a8a8255@1|#+0&#ffffff0| |t|h|e| |f|u|n|c|t|i|o|n| |n|a|m|e|;| |e|l|s|e|,| |"|=|"| |d|e|l|i|m|i|t|s| |t|h|e| |n|a|m|e| |o|f| |a| |v|a|r|i|a|b|l|e| |w|h|e|n| |t|h|i|s| +0#0000000&
| +0#0000e05#a8a8a8255@1|#+0&#ffffff0| |n|a|m|e| |i|s| |g|i|v|e|n| |i|n| |a|l|p|h|a|n|u|m|e|r|i|c| |c|h|a|r|a|c|t|e|r|s| |a|n|d| |"|_|"|s| |b|e|f|o|r|e| |t|h|e| |l|e|f|t|m|o|s|t| +0#0000000&@1
| +0#0000e05#a8a8a8255@1|#+0&#ffffff0| |"|=|"|;| |o|t|h|e|r|w|i|s|e|,| |"|=|"| |i|s| |p|a|r|t| |o|f| |t|h|e| |f|u|n|c|t|i|o|n| |n|a|m|e| |w|h|e|n| |t|h|i|s| |n|a|m|e| |h|a|s| +0#0000000&@3
| +0#0000e05#a8a8a8255@1|#+0&#ffffff0| |o|n|e| |o|r| |m|o|r|e| |s|u|p@1|o|r|t|e|d| |N|O|N|-|a|l|p|h|a|n|u|m|e|r|i|c| |(|o|r| |"|_|"|)| |c|h|a|r|a|c|t|e|r|s| |b|e|f|o|r|e| |"|=|"|.| +0#0000000&
| +0#0000e05#a8a8a8255@1|x+0#00e0e07#ffffff0|s|=+0#0000000&|(+0#e000e06&|)| +0#0000000&@67
| +0#0000e05#a8a8a8255@1|(+0#e000e06#ffffff0| +0#0000000&@71
| +0#0000e05#a8a8a8255@1| +0#e000e06#ffffff0@3|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|(@1| |1+0#e000002&| +0#e000e06&|+| |$|{|#|x|s|[|*+0#0000000&|]+0#e000e06&|}| |)@1| +0#0000000&@43
| +0#0000e05#a8a8a8255@1| +0#e000e06#ffffff0@3|x+0#00e0e07&|s|=+0#0000000&|(+0#e000e06&|)| +0#0000000&@63
| +0#0000e05#a8a8a8255@1| +0#e000e06#ffffff0@3|{| +0#0000000&@67
| +0#0000e05#a8a8a8255@1| +0#e000e06#ffffff0@7|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|(@1| |2+0#e000002&| +0#e000e06&|+| |$|{|#|x|s|[|*+0#0000000&|]+0#e000e06&|}| |)@1| +0#0000000&@39
@57|5@1|,|1| @9|6|3|%|

View File

@@ -0,0 +1,20 @@
| +0#0000e05#a8a8a8255@1| +0#e000e06#ffffff0@7|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|(@1| |2+0#e000002&| +0#e000e06&|+| |$|{|#|x|s|[|*+0#0000000&|]+0#e000e06&|}| |)@1| +0#0000000&@39
| +0#0000e05#a8a8a8255@1| +0#e000e06#ffffff0@7|x+0#00e0e07&|s|=+0#0000000&|(+0#e000e06&|)| +0#0000000&@59
| +0#0000e05#a8a8a8255@1| +0#e000e06#ffffff0@7|i+0#af5f00255&|f| |:+0#e000e06&|;+0#af5f00255&| +0#e000e06&|t+0#af5f00255&|h|e|n| +0#e000e06&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|(@1| |3+0#e000002&| +0#e000e06&|+| |$|{|#|x|s|[|*+0#0000000&|]+0#e000e06&|}| |)@1|;+0#af5f00255&| +0#e000e06&|f+0#af5f00255&|i| +0#0000000&@24
| +0#0000e05#a8a8a8255@1| +0#e000e06#ffffff0@3|}| +0#0000000&@67
| +0#0000e05#a8a8a8255@1|)+0#e000e06#ffffff0| +0#0000000&@71
| +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |i+0#00e0e07#ffffff0|δ|=|(+0#e000e06&|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@65
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|=+0#00e0e07&|i|d|=|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|=+0#00e0e07&@2|(+0#e000e06&|)| +0#0000000&@59
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|i+0#af5f00255&|f| |:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|*|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;| +0#0000000&|=+0#af5f00255&@2| +0#0000000&|$+0#e000e06&|*| +0#0000000&@34
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|}+0#e000e06&|;+0#af5f00255&| +0#0000000&|=+0#af5f00255&|i|d|=| +0#0000000&|$+0#e000e06&|*| +0#0000000&@58
||+0#0000e05#a8a8a8255| |)+0#af5f00255#ffffff0|;+0#0000000&| |i+0#af5f00255&|d|=| +0#0000000&|i|δ|=+0#af5f00255&| +0#0000000&|i|δ|=+0#af5f00255&| +0#0000000&|i|δ|=+0#af5f00255&| +0#0000000&@54
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |f+0#af5f00255#ffffff0|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|=|(+0#e000e06&|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@57
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|=|f| +0#0000000&|{+0#e000e06&| +0#0000000&@54
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|=|f|=| +0#0000000&@51
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|i+0#af5f00255&|f| |:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|*|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;| +0#0000000&|f|\+0#e000e06&|=|f+0#0000000&|\+0#e000e06&|=| +0#0000000&|$+0#e000e06&|*| +0#0000000&@31
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|}+0#e000e06&|;+0#af5f00255&| +0#0000000&|f|\+0#e000e06&|=|f+0#0000000&| |$+0#e000e06&|*| +0#0000000&@58
||+0#0000e05#a8a8a8255| |)+0#af5f00255#ffffff0|;+0#0000000&| |f+0#00e0e07&|=+0#0000000&| |f|\|=+0#af5f00255&| +0#0000000&|f+0#00e0e07&|=+0#0000000&| |f+0#00e0e07&|=+0#0000000&| @57
@57|7|3|,|0|-|1| @7|8|7|%|

View File

@@ -0,0 +1,20 @@
||+0#0000e05#a8a8a8255| |)+0#af5f00255#ffffff0|;+0#0000000&| |f+0#00e0e07&|=+0#0000000&| |f|\|=+0#af5f00255&| +0#0000000&|f+0#00e0e07&|=+0#0000000&| |f+0#00e0e07&|=+0#0000000&| @57
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|#+0&#ffffff0| |P|a|r|e|n|s| |a|r|e| |n|o|t| |e|s|c|a|p|e|d|,| |h|e|n|c|e| |t|h|i|s| |i|s| |i|n|v|a|l|i|d| |v|a|r|i|a|b|l|e| |a|s@1|i|g|n|m|e|n|t|.| +0#0000000&@4
| +0#0000e05#a8a8a8255@1|f+0#ffffff16#ff404010|=|f|(|)| +0#0000000#ffffff0@67
| +0#0000e05#a8a8a8255@1|{+0#e000e06#ffffff0| +0#0000000&@71
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3>f+0#ffffff16#ff404010|=|f|=|(|)| +0#0000000#ffffff0@62
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@7|f+0#ffffff16#ff404010|=|f|=|f|(|)| +0#0000000#ffffff0@57
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@7|i+0#af5f00255&|f| |:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i| +0#0000000&@48
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|)+0#af5f00255&| +0#0000000&@67
| +0#0000e05#a8a8a8255@1|}+0#e000e06#ffffff0| +0#0000000&@71
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|9|1|,|5| @9|B|o|t|

View File

@@ -3,18 +3,18 @@
| +0#0000e05#a8a8a8255@1|#+0&#ffffff0| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|s|h|_|f|o|l|d|_|e|n|a|b|l|e|d| |=| |1| |+| |2| |+| |4| +0#0000000&@22
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|i|s|_|d|a|s|h|:| |1|,| |i|s|_|p|o|s|i|x|:| |1|,| |i|s|_|s|h|:| |1|,| @22|1|,|1| @10|T|o|p|

View File

@@ -1,10 +1,10 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
@@ -12,9 +12,9 @@
| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| |:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|2|(|)| +0#0000000&@63
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|2|(+0#e000e06&|)| +0#0000000&@63
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|i+0#00e0e07&|d|1|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|i+0#00e0e07&|d|1|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@51
|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#e000e06&| +0#0000000&@63
@57|1|9|,|0|-|1| @7|6|1|%|

View File

@@ -4,7 +4,7 @@
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i|d|2| |"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@60
||+0#0000e05#a8a8a8255| |f+0#af5f00255#ffffff0|i| +0#0000000&@70
| +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|u|n|c|t|i|o|n| |(|)| +0#0000000&@61
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|u|n|c|t|i|o|n| |(+0#e000e06&|)| +0#0000000&@61
|-+0#0000e05#a8a8a8255| |{+0#e000e06#ffffff0| +0#0000000&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|#|;+0#af5f00255&| +0#0000000&@62
||+0#0000e05#a8a8a8255| |}+0#e000e06#ffffff0|;+0#0000000&| |f|u|n|c|t|i|o|n| |$+0#e000e06&|@| +0#0000000&@58
|~+0#4040ff13&| @73

View File

@@ -4,17 +4,17 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#af5f00255#ffffff0|y|p|e|s|e|t| +0#0000000&|-+0#e000e06&|i| +0#0000000&|1+0#e000002&|0| +0#0000000&|n+0#00e0e07&|=+0#0000000&|0+0#e000002&| +0#0000000&@55
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(+0#e000e06&|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(+0#e000e06&|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|i|s|_|k|o|r|n|s|h|e|l@1|:| |1|,| |i|s|_|k|s|h|2|0|2|0|:| |1|,| @25|1|,|1| @10|T|o|p|

View File

@@ -1,19 +1,19 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(+0#e000e06&|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|l|e|c|t|o|r| |0+0#e000002&|<+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| |2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| ||@1| |:| @35
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67

View File

@@ -2,14 +2,14 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|i+0#00e0e07#ffffff0|f@1|y|(|)| +0#0000000&|f+0#af5f00255&|o|r| |(@1|;@1|)@1| +0#0000000&@55
| +0#0000e05#a8a8a8255@1|i+0#00e0e07#ffffff0|f@1|y|(+0#e000e06&|)| +0#0000000&|f+0#af5f00255&|o|r| |(@1|;@1|)@1| +0#0000000&@55
|-+0#0000e05#a8a8a8255| >d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|f@1|y| @68
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| |:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|_|(|)| +0#0000000&@63
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|_|(+0#e000e06&|)| +0#0000000&@63
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|n+0#00e0e07&|.|s|e|t| +0#0000000&|{+0#e000e06&| +0#0000000&@48
|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|n|"+0#af5f00255&| +0#0000000&@51

View File

@@ -4,17 +4,17 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#af5f00255#ffffff0|y|p|e|s|e|t| +0#0000000&|-+0#e000e06&|i| +0#0000000&|1+0#e000002&|0| +0#0000000&|n+0#00e0e07&|=+0#0000000&|0+0#e000002&| +0#0000000&@55
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(+0#e000e06&|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(+0#e000e06&|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|i|s|_|k|o|r|n|s|h|e|l@1|:| |1|,| |i|s|_|k|s|h|8@1|:| |1|,| @27|1|,|1| @10|T|o|p|

View File

@@ -1,19 +1,19 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(+0#e000e06&|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|l|e|c|t|o|r| |0+0#e000002&|<+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| |2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| ||@1| |:| @35
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67

View File

@@ -3,7 +3,7 @@
| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| |:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>i+0#00e0e07&|d|2|(|)| +0#0000000&@63
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>i+0#00e0e07&|d|2|(+0#e000e06&|)| +0#0000000&@63
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|i+0#00e0e07&|d|1| +0#0000000&|{+0#e000e06&| +0#0000000&@50
|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@51

View File

@@ -4,17 +4,17 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#af5f00255#ffffff0|y|p|e|s|e|t| +0#0000000&|-+0#e000e06&|i|1|0| +0#0000000&|n+0#00e0e07&|=+0#0000000&|0+0#e000002&| +0#0000000&@56
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(+0#e000e06&|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(+0#e000e06&|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|i|s|_|k|o|r|n|s|h|e|l@1|:| |1|,| |i|s|_|m|k|s|h|:| |1|,| @28|1|,|1| @10|T|o|p|

View File

@@ -1,19 +1,19 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(+0#e000e06&|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|l|e|c|t|o|r| |0+0#e000002&|<+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| |2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| ||@1| |:| @35
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67

View File

@@ -3,9 +3,9 @@
| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| |:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>%+0#00e0e07&@2|(|)| +0#0000000&@63
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>%+0#00e0e07&@2|(+0#e000e06&|)| +0#0000000&@63
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|@+0#00e0e07&|a|:|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@48
|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|@+0#00e0e07&|a|:|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@48
|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| +0#e000002&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@51
|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#e000e06&| +0#0000000&@63
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|@|a|:| |"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@56

View File

@@ -3,7 +3,7 @@
|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
@16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
@8|}+0#e000e06&| +0#0000000&@65
@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|e|n|}| +0#0000000&@43

View File

@@ -1,5 +1,5 @@
| +0&#ffffff0@74
|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
@8|t+0#af5f00255&|r|u|e| +0#0000000&@62
|}+0#e000e06&| +0#0000000&@73
@75
@@ -15,6 +15,6 @@
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| |f|u|n|c|t|i|o|n| +0#0000000&@37
|}+0#e000e06&| +0#0000000&@73
@75
|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| +0#0000000&@47
@57|1|5|4|,|1| @8|7|9|%|

View File

@@ -1,7 +1,7 @@
| +0&#ffffff0@7|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| +0#0000000&@47
|}+0#e000e06&| +0#0000000&@73
@75
|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
|f+0#00e0e07&|o@1|4|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| |k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@24
>}+0#e000e06&| +0#0000000&@73
@75
@@ -9,7 +9,7 @@
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| |k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@20
|}+0#e000e06&| +0#0000000&@73
@75
|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(+0#e000e06&|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| |s|u|b|s|h|e|l@1| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@21
|)+0#af5f00255&| +0#0000000&@73
@75

View File

@@ -3,7 +3,7 @@
|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
@16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
@8|}+0#e000e06&| +0#0000000&@65
@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43

View File

@@ -1,5 +1,5 @@
| +0&#ffffff0@74
|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
@8|t+0#af5f00255&|r|u|e| +0#0000000&@62
|}+0#e000e06&| +0#0000000&@73
@75
@@ -15,6 +15,6 @@
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| |f|u|n|c|t|i|o|n| +0#0000000&@37
|}+0#e000e06&| +0#0000000&@73
@75
|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| +0#0000000&@47
@57|1|5|4|,|1| @8|7|9|%|

View File

@@ -1,7 +1,7 @@
| +0&#ffffff0@7|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| +0#0000000&@47
|}+0#e000e06&| +0#0000000&@73
@75
|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
|f+0#00e0e07&|o@1|4|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| |k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@24
>}+0#e000e06&| +0#0000000&@73
@75
@@ -9,7 +9,7 @@
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| |k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@20
|}+0#e000e06&| +0#0000000&@73
@75
|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(+0#e000e06&|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| |s|u|b|s|h|e|l@1| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@21
|)+0#af5f00255&| +0#0000000&@73
@75

View File

@@ -3,7 +3,7 @@
|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
@16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
@8|}+0#e000e06&| +0#0000000&@65
@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43

View File

@@ -15,6 +15,6 @@
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| |f|u|n|c|t|i|o|n| +0#0000000&@37
|}+0#e000e06&| +0#0000000&@73
@75
|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
@8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| +0#0000000&@47
@57|1|5|4|,|1| @8|7|9|%|

View File

@@ -3,7 +3,7 @@
|#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| |$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
|#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| +0#0000000&@43
|i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|e+0#af5f00255&|v|a|l| +0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| |2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| +0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
@16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
@8|}+0#e000e06&| +0#0000000&@65
@8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| |t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43

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