- Explicitly match the dot accessor
- Exclude the qualifier when matching qualified function calls
The dot accessor lookbehind on builtin function calls was slow, matching
across expression based dictionary accessors was visually inconsistent,
and it's arguably more semantically correct.
closes: vim/vim#2048178094ff1d7
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Anchor the return type separator ':' with a lookbehind as the relevant
nextgroup options use skipwhite.
closes: vim/vim#20319dfdeba16d7
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Also:
- drop a few trailing whitespaces
- mark the oneline keyword for :syn keyword as error in the
Vim syntax script, add tests for it.
closes: vim/vim#200181c88aee1fa
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Attempt to match all variations of group name and comma separator across
continuation lines.
Fixes issues:
- vim/vim#18491 (Two ")"s are incorrectly colored 'vimOperError' in
syntax/mail.vim), reported by @lkintact
- vim/vim#19366 (highlight error for contains elements in a new line), reported
by Maxim Kim
fixes: vim/vim#18491fixes: vim/vim#19366b901fa9a6a
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Problem: The :help command lacks command termination tests.
Solution: Add tests for command termination at "|", "^M" and "^J".
- Check special handling of "|" in arguments.
- Update the Vim syntax file.
closes: vim/vim#18932c4dc4d8f1e
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Match "object" and "<" ... ">" separately with dedicated syntax groups
to allow for highlighting distinct from that generally used for types.
closes: vim/vim#18721fe24972139
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
- Highlight :@ as a normal Ex command rather than something special.
- Fix erroneous matching of the Ex command as a register variable.
closes: vim/vim#18624842c7788a5
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
- Use the optional tail command-name spec at :help :syntime.
- Match full :syntime command and highlight args.
7dba04f15c
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Problem: MS-Windows: not possible to highlight the title bar
Solution: Make the title/caption bar configurable by introducing the
'go-C' option value which allows to highlight it using the
TitleBar and TitleBarNC highlighting groups (Mao-Yining).
Introduce titlebar color customization for Windows 11 GUI through
highlight groups and new 'guioptions' flag:
- Add 'C' flag to enable titlebar color customization (opt-in)
- New highlight groups: TitleBar (active) and TitleBarNC (inactive)
- Uses DWMWA_CAPTION_COLOR and DWMWA_TEXT_COLOR DWM attributes
- Dynamically loads dwmapi.dll for Windows 11 compatibility
- Defaults to system colors when set to NONE or feature disabled
closes: vim/vim#184492c09368273
Co-authored-by: Mao-Yining <mao.yining@outlook.com>
- Match comments after Vim9 :echo and :execute.
- Match comments after Vim9 and legacy :eval.
closes: vim/vim#18420f4a6acd86e
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Include post operator whitespace in the Vim9 variable assignment
lookahead so that "redir =>" doesn't match as an assignment.
fixes: vim/vim#18319closes: vim/vim#1832357d243e27d
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Match the full :wincmd command syntax.
Allow for oneline assignment to Vim9 variables named winc[md].
Fixesvim/vim#18368.
b1446dfd23
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Problem: complete: preinsert does not work well with preinsert
Solution: Make "preinsert" completeopt value work with autocompletion
(Girish Palya)
This change extends Insert mode autocompletion so that 'preinsert' also
works when 'autocomplete' is enabled.
Try: `:set ac cot=preinsert`
See `:help 'cot'` for more details.
closes: vim/vim#18213fa6fd41a94
Co-authored-by: Girish Palya <girishji@gmail.com>
Ensure :map (and :abbreviate) terminate at | when included in :command
replacement strings containing commands separated by line continuations.
b88f9e4a04
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Problem: cannot easily trigger wildcard expansion
Solution: Introduce wildtrigger() function
(Girish Palya)
This PR introduces a new `wildtrigger()` function.
See `:h wildtrigger()`
`wildtrigger()` behaves like pressing the `wildchar,` but provides a
more refined and controlled completion experience:
- Suppresses beeps when no matches are found.
- Avoids displaying irrelevant completions (like full command lists)
when the prefix is insufficient or doesn't match.
- Skips completion if the typeahead buffer has pending input or if a
wildmenu is already active.
- Does not print "..." before completion.
This is an improvement on the `feedkeys()` based autocompletion script
given in vim/vim#16759.
closes: vim/vim#17806b486ed8266
While at it, also make Ctrl-Z trigger search completion.
Co-authored-by: Girish Palya <girishji@gmail.com>
- Match Ex command modifiers and functions with the same name correctly.
E.g., :browse and browse().
- Match full :eval command.
closes: vim/vim#177892f7c957c8d
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Don't match lower-case function names as errors when the qualifier
includes a dict/list accessor.
This is a less than perfect fix until qualified function call matching
is reworked.
fixes: vim/vim#17766closes: vim/vim#17780175662f4f2
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
- Match the range prefix separately as a count.
- Match an explicit count of 1, rarely used but seen in the wild.
- Allow whitespace between the count and command.
closes: vim/vim#17717ce1d1969f3
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
- Match more function calls.
- Contain function call syntax groups.
- Improve differentiation between Ex commands and builtin functions with
the same name. Remove special cases. Command modifiers are not
currently well differentiated from functions.
closes: vim/vim#177126ac2e4aa0a
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
- Match escape sequences in :command replacement blocks.
- Match :substitute after escape sequences (a temporary fix until Ex
commands are contained).
fixes: vim/vim#17326closes: vim/vim#17663a8b86605f3
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
- Match Conceal, ComplMatchIns, MsgArea, Terminal, and User[1-9]
highlight groups.
- Generate the vimGroup syntax group from runtime/syncolor.vim.
- Match :SynColor and :SynLink as special user commands.
fixesvim/vim#17467closes: vim/vim#17556c233c2e6a5
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Set minlines and maxlines to 100 and 200 respectively. Set these after
the script interface syntax files have been loaded to ensure the values
set in those are overridden.
fixesvim/vim#17580closes: vim/vim#17614a5b744ef93
Co-authored-by: Doug Kearns <dougkearns@gmail.com>