Skip to content

Commit

Permalink
runtime(help): Update help syntax
Browse files Browse the repository at this point in the history
This commit makaes the following changes to the vim help syntax:

- fix excessive URL detection in help, because `file:{filename}` in
  doc/options.txt is determined to be a URL.
- update highlighting N for :resize in help
- split Italian-specific syntax into separate help script
- highlight `Note` in parentheses in help
- update 'titlestring' behaviour in documentation for invalid '%' format

closes: #15883

Signed-off-by: Milly <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
  • Loading branch information
Milly authored and chrisbra committed Oct 16, 2024
1 parent 4bfb899 commit 6c2fc37
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 16 deletions.
4 changes: 2 additions & 2 deletions runtime/doc/builtin.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.1. Last change: 2024 Oct 14
*builtin.txt* For Vim version 9.1. Last change: 2024 Oct 16


VIM REFERENCE MANUAL by Bram Moolenaar
Expand Down Expand Up @@ -11954,7 +11954,7 @@ wildmenumode() *wildmenumode()*
For example to make <c-j> work like <down> in wildmode, use: >
:cnoremap <expr> <C-j> wildmenumode() ? "\<Down>\<Tab>" : "\<c-j>"
<
(Note, this needs the 'wildcharm' option set appropriately).
(Note: this needs the 'wildcharm' option set appropriately).

Return type: |Number|

Expand Down
6 changes: 4 additions & 2 deletions runtime/doc/options.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*options.txt* For Vim version 9.1. Last change: 2024 Oct 14
*options.txt* For Vim version 9.1. Last change: 2024 Oct 16


VIM REFERENCE MANUAL by Bram Moolenaar
Expand Down Expand Up @@ -8705,7 +8705,9 @@ A jump table for the options with a short description can be found at |Q_op|.
be restored if possible, see |X11|.

When this option contains printf-style '%' items, they will be
expanded according to the rules used for 'statusline'.
expanded according to the rules used for 'statusline'. If it contains
an invalid '%' format, the value is used as-is and no error or warning
will be given when the value is set.
This option cannot be set in a modeline when 'modelineexpr' is off.

Example: >
Expand Down
18 changes: 6 additions & 12 deletions runtime/syntax/help.vim
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ else
syn match helpIgnore "." contained
endif
syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
syn match helpNote "\c(note\(:\|\>\)"ms=s+1
syn keyword helpWarning WARNING WARNING: Warning:
syn keyword helpDeprecated DEPRECATED DEPRECATED: Deprecated:
syn match helpSpecial "\<N\>"
Expand All @@ -69,6 +70,10 @@ syn match helpSpecial "\[N]"
syn match helpSpecial "N N"he=s+1
syn match helpSpecial "Nth"me=e-2
syn match helpSpecial "N-1"me=e-2
" highlighting N for :resize in windows.txt
syn match helpSpecial "] -N\>"ms=s+3
syn match helpSpecial "+N\>"ms=s+1
syn match helpSpecial "\[+-]N\>"ms=s+4
" highlighting N of cinoptions-values in indent.txt
syn match helpSpecial "^\t-\?\zsNs\?\s"me=s+1
" highlighting N of cinoptions-values in indent.txt
Expand Down Expand Up @@ -145,7 +150,7 @@ syn match helpUnderlined "\t[* ]Underlined\t\+[a-z].*"
syn match helpError "\t[* ]Error\t\+[a-z].*"
syn match helpTodo "\t[* ]Todo\t\+[a-z].*"

syn match helpURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-zA-Z0-9/]`
syn match helpURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^'" \t<>{}]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^'" \t<>{}]+)[a-zA-Z0-9/]`

syn match helpDiffAdded "\t[* ]Added\t\+[a-z].*"
syn match helpDiffChanged "\t[* ]Changed\t\+[a-z].*"
Expand All @@ -157,17 +162,6 @@ if s:i > 0
exe "runtime syntax/help_" . strpart(expand("%"), s:i + 1, 2) . ".vim"
endif

" Italian
if v:lang =~ '\<IT\>' || v:lang =~ '_IT\>' || v:lang =~? "italian"
syn keyword helpNote nota Nota NOTA nota: Nota: NOTA: notare Notare NOTARE notare: Notare: NOTARE:
syn match helpSpecial "Nma"me=e-2
syn match helpSpecial "Nme"me=e-2
syn match helpSpecial "Nmi"me=e-2
syn match helpSpecial "Nmo"me=e-2
syn match helpSpecial "\[interv.]"
syn region helpNotVi start="{non" start="{solo" start="{disponibile" end="}" contains=helpLeadBlank,helpHyperTextJump
endif

syn sync minlines=40


Expand Down
17 changes: 17 additions & 0 deletions runtime/syntax/help_it.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
" Vim syntax file
" Language: Italian Vim program help files *.itx
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2024 Oct 16
"
" This script is sourced from syntax/help.vim.

syn keyword helpNote nota Nota NOTA nota: Nota: NOTA: notare Notare NOTARE notare: Notare: NOTARE:
syn match helpNote "\c(nota\(:\|\>\)"ms=s+1
syn match helpSpecial "Nma"me=e-2
syn match helpSpecial "Nme"me=e-2
syn match helpSpecial "Nmi"me=e-2
syn match helpSpecial "Nmo"me=e-2
syn match helpSpecial "\[interv.]"
syn region helpNotVi start="{non" start="{solo" start="{disponibile" end="}" contains=helpLeadBlank,helpHyperTextJump

" vim: ts=8 sw=2

0 comments on commit 6c2fc37

Please sign in to comment.