| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: [security]: code injection via rmd syntax pattern for fenced
languages (ylerni7-ant)
Solution: Keep only the leading word characters of the language name
in the syntax script.
Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-x2w5-pj55-7hpc
https://github.com/vim/vim/commit/7670338d8b695c476de868dabd34d68d6de2443b
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Remove duplicate STRUCT definition.
- Add Genie NEW, alias for HEAP.
closes: vim/vim#21435
https://github.com/vim/vim/commit/b114ec4791f41f97a4306e1efe5c319852c51ec7
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Co-authored-by: Janis Papanagnou <janis_papanagnou@hotmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
usage with re=1
- Fix typescriptArrowFuncDef pattern memory errors when regexpegine=1.
- Add a test.
fixes: vim/vim#17247
related: vim/vim#21400
closes: vim/vim#21423
https://github.com/vim/vim/commit/cff1d9e4e73a390ce3da333a8536d0490ce15d20
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
| |
group
closes: vim/vim#21167
https://github.com/vim/vim/commit/ccb39ad965fb432e1cc7ce9a7d1d2aca21c39300
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Most syntax files currently use String or Normal for highlighting
regular expression literals; these should have a dedicated group.
closes: vim/vim#21141
https://github.com/vim/vim/commit/5cbadec2e63b0e38c7c1fe4ae9c07b07123299b8
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: need a few more default highlight groups
Solution: Add Bold, Italic and BoldItalic default highlight groups
(Maxim Kim).
related: https://github.com/vim/vim/pull/17598#issuecomment-3007320523
closes: vim/vim#17804
https://github.com/vim/vim/commit/16f7098e68951ce421512c34d03810bdd1efbaed
Co-authored-by: Maxim Kim <habamax@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functions (#42192)
Problem: Other than `state()` these are widely supported CSS features
Solution: Add :host, :host-context(), slotted(), and state() CSS
pseudo-classes and functions (S0AndS0).
Reference:
- https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:host
- https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:host_function
- https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/::slotted
- https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:state
TLDR: `host` and `host-context()` are useful for shadowDom stuff,
`::slotted()` enables targeting elements passed/injected into a
`<template>` and `state()` enables targeting custom identifiers.
For example, currently I'm (ab)using `:host` as a drop-in replacement
for `:root` when defining variables that are intended to be shared
across custom/template elements;
- `./assets/css/host.css`
```css
:host {
--default__margin-block: 0.25rem;
}
```
- `./custom-elements/example.html`
```html
<template>
<link rel="stylesheet" href="/assets/css/host.css">
<style>
header {
margin-block-start: calc(var(--default__margin-block) * 2);
}
</style>
<header></header>
</template>
```
closes: vim/vim#21404
https://github.com/vim/vim/commit/43725acce680d1b999e22fad68cea99c2b593325
Co-authored-by: S0AndS0 <strangerthanbland@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
add test
Test file taken from
https://github.com/rstudio/rmarkdown/blob/main/inst/rmarkdown/templates/github_document/skeleton/skeleton.Rmd
fixes: vim/vim#21328
https://github.com/vim/vim/commit/4505de43911a0220e58ee3cb7208dcd7bfeaadef
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ivan Krasilnikov <ivank@ivank.me>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
typescriptArrowFuncDef
Problem: The paren-based typescriptArrowFuncDef patterns contain a nested
quantifier, \%(\_[^()]\+\|...\)*, which backtracks exponentially
with the old regexp engine when the match fails.
Solution: Drop the inner \+; the matched language is unchanged.
closes: vim/vim#21400
related: HerringtonDarkholme/yats.vim#306
https://github.com/vim/vim/commit/bb1d7bc6379b75ccf9ac203636a6dc6ae0d77dd5
Co-authored-by: Miura Yasuyuki <kokosabu@gmail.com>
|
| |
|
|
|
|
|
|
|
|
| |
syntax test
closes: vim/vim#21387
https://github.com/vim/vim/commit/10d1ef03fe2931999af5fd571f0cd0e4dc32027b
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
| |
syntax test
related: vim/vim#21387
https://github.com/vim/vim/commit/ca0610c14f11e75d720fbe0cc17d645b30d768a4
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
related: vim/vim#21387
https://github.com/vim/vim/commit/ce07f0187a96061092da12b2e31100a54ae22aba
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
related: vim/vim#21387
https://github.com/vim/vim/commit/607da3321233e46269e98f0d9d1a766056054e54
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
related: vim/vim#21387
https://github.com/vim/vim/commit/a3f2359af7cda5498ca7b28176c73a5e42df96de
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
related: vim/vim#21387
https://github.com/vim/vim/commit/f4eeed11a578497cdb830bc4013a1931005b06d2
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
closes: vim/vim#21390
https://github.com/vim/vim/commit/10b37abb11578db7efe1abeb0d864e264a316342
Co-authored-by: Rochish Manda <28740792+Rochish-Manda@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
related: vim/vim#21390
https://github.com/vim/vim/commit/800e01d94b23d3729f588b6755db59abc86b1eef
Co-authored-by: Rochish Manda <28740792+Rochish-Manda@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
closes: vim/vim#21376
https://github.com/vim/vim/commit/da4fa0907383b681203b7283d10cd79682277668
Co-authored-by: Rochish Manda <28740792+Rochish-Manda@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Added deprecated keywords and matches for ciphers, MACs, host key
algorithms, and KEX algorithms. Updated syntax highlighting to reflect
these changes.
related: vim/vim#21376
https://github.com/vim/vim/commit/e33ce20379660603d9aa2ed380ac3e4e519dec20
Co-authored-by: Rochish Manda <28740792+Rochish-Manda@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Added deprecated keywords for ciphers, MACs, and host key algorithms in
sshconfig syntax highlighting.
related: vim/vim#21376
https://github.com/vim/vim/commit/699a620722a7039323bde996782567518fcdbc7e
Co-authored-by: Rochish Manda <28740792+Rochish-Manda@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: icalendar files are not recognized
Solution: Detect *.ics files as icalendar filetype, include
syntax and filetype plugins (Anakin Childerhose).
Reference:
https://datatracker.ietf.org/doc/html/rfc5545
closes: vim/vim#21356
https://github.com/vim/vim/commit/7c049d5ce1d6bc119abf9749ca5cad74225ca83e
Co-authored-by: Anakin Childerhose <anakin@childerhose.ca>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reintroduce supported syntax-preview-feature numbers 455,
488, 507, and 530 as _a new number_ 532.
Reference:
https://openjdk.org/jeps/532 (Primitive Types in Patterns etc.)
closes: vim/vim#21341
https://github.com/vim/vim/commit/4d0ad5cb9b0d4d0da03237e4bda4dd162542820d
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: hlsl files are not recognized
Solution: Detect *.hlsl files hlsl filetype, include
ftplugin, indent and syntax plugins, update
gvim menu (Maxim Kim)
closes: vim/vim#20993
https://github.com/vim/vim/commit/11fca33162ad2e6a6365dbf6202fb1af0f21b7cb
Co-authored-by: Maxim Kim <habamax@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Prefer non-capturing groups in patterns - idiomatic.
- Remove changelog entries - there is no maintainer to inform.
- Normalise whitespace use.
closes: vim/vim#21348
https://github.com/vim/vim/commit/6fd4f6cda1602fc0fedcdf4af64f528a3cad9273
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
| |
closes: vim/vim#21327
https://github.com/vim/vim/commit/f1a677c4fb21874874afd57f3c1b31bcb3ed587b
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
syntax (#42006)
This keyword is macOS specific.
closes: vim/vim#21339
https://github.com/vim/vim/commit/cfab29448f08fdc0ea836b21061608aa13cadb69
Co-authored-by: Rochish Manda <28740792+Rochish-Manda@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
| |
performance) (#41965)
closes: vim/vim#21332
https://github.com/vim/vim/commit/2ff376e742b2c5e43218d35e6b6e6fc94ec4e66b
Co-authored-by: Chris Aumann <me@chr4.org>
|
| |
|
|
|
|
|
|
| |
closes: vim/vim#21319
https://github.com/vim/vim/commit/0620b4ac8dbe0086c9b22a8cfe248b6f33cda408
Co-authored-by: Amelia Clarke <selene@perilune.dev>
|
| |
|
|
|
|
|
|
|
|
|
| |
Fix potentially catastrophic backtracking in number patterns when using
regexpengine=1.
closes: vim/vim#21324
https://github.com/vim/vim/commit/2daae1553b1e7b959afe0602fd243771266a5401
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
matching (#41945)
- Tighten autoload prefix matching,
e.g., foo#bar#baz
- Disallow erroneously concatenated map special arguments, e.g., :map <bufferexpr> lhs rhs
closes: vim/vim#21285
https://github.com/vim/vim/commit/af6f220da5c8dfc8368c654d9e67330ea4b7b68e
Skip the hunks to runtime/syntax/generator/vim.vim.base and the testdir
dumps: the generator layout and syntax testdir only exist in Vim; Nvim
keeps the handwritten part in runtime/syntax/vim.vim.
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
| |
fixes: vim/vim#21266
closes: vim/vim#21314
https://github.com/vim/vim/commit/c20b9f7f1269ec147c8d5305dde276de46a538ad
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Highlighting nginx.conf is slow; the ngxSSLCipherInsecure group
alone accounts for ~39% of the total syntax parse time because it
is spread over ~34 separate non-contained :syn match rules that are
each scanned at every position of every line.
Solution: Merge the ~28 rules sharing the identical '[^!]\zs' prefix into a
single alternation match, keeping only the six rules that need a
different preceding-character constraint separate. Highlighting is
unchanged; total syntax parse time drops by ~42% on a large config.
Update the Date header to Vims preferred format.
closes: vim/vim#21195
https://github.com/vim/vim/commit/5acb55229090adb834e186a452b57ee66a26303f
Co-authored-by: Julien Voisin <julien.voisin@dustri.org>
|
| |
|
|
|
|
|
|
| |
closes: vim/vim#21281
https://github.com/vim/vim/commit/8e2e8e749021d0ac406cae67712bbcc0c0fd5152
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
patterns (#41889)
Fix matching of the pattern arg in a :syn-sync-match skip command.
closes: vim/vim#21289
https://github.com/vim/vim/commit/2dd65358e1873860bfb83c914b3aac059c708bfb
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
| |
fixes: vim/vim#10452
closes: vim/vim#21287
https://github.com/vim/vim/commit/cb5ebfb39ae25805a1e5a8b81bec62da7239ca2c
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#41872)
Problem: recursion error when setting ft=syntax
Solution: Skip the special syntax filetype
(Christoffer Aasted)
This:
vim -Nu NONE \
+'set filetype=syntax' \
+'syntax on'
yields
E127: Cannot redefine function <SNR>2_SynSet: It is in use
Setting filetype=syntax will try to reload synload.vim while SynSet() is
still executing which causes this error.
closes: vim/vim#21271
https://github.com/vim/vim/commit/ad289eece7b9e7aab1ef005b2c21c454010280ea
Co-authored-by: Christoffer Aasted <dezzadk@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to markdown syntax, by default do not highlight raw and code blocks.
Syntax highlighting groups are still in place so it is possible for
users to add their own if needed.
- typstMarkupRawInline
- typstMarkupRawBlock
closes: vim/vim#21260
https://github.com/vim/vim/commit/36d01cff54addfe5352221bd39bff1d91af88623
Co-authored-by: Maxim Kim <habamax@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Missing newer Python keywords and builtins in syntax highlighting.
Solution: Add aiter, anext, BaseExceptionGroup, ExceptionGroup,
PythonFinalizationError, and EncodingWarning to the Python
syntax file (231tr0n).
closes: vim/vim#21254
https://github.com/vim/vim/commit/cbcb209221a2e19f674c7b2ed789132606761b7c
Co-authored-by: 231tr0n <zeltronsrikar@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
tests (#41796)
closes: vim/vim#21200
https://github.com/vim/vim/commit/5867d1f8eec240b104388f87545e3ee530c28b42
Co-authored-by: 231tr0n <zeltronsrikar@gmail.com>
|
| |
|
|
|
|
|
|
| |
closes: vim/vim#21219
https://github.com/vim/vim/commit/d53f436eaa69fae430064a1317751b0686126524
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Spup syntax fails for an out-of-range comment mode.
Solution: Add the missing let to the fallback assignment (Qiming zhao).
Setting oneline_comments above 3 raises E492 while loading the syntax
script. Use a valid legacy Vim script assignment to restore the default
value of 2.
Validated with oneline_comments set to 1, 2, 3, 4 and 99, and with the
variable unset. The original script fails with E492 for a value of 4.
The corrected script loads and applies the expected comment mode.
closes: vim/vim#21227
Supported by AI.
https://github.com/vim/vim/commit/22b72dca7e6240d3b54ed85084904dc61503da7c
Co-authored-by: Qiming zhao <chemzqm@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ellipsis matching (#41608)
Problem: The floating-point `.d` number match and the two ellipsis
matches are slow: each begins with a look-behind, which cannot
be reduced to a fixed first character, so the automatic regexp
engine selects the slower NFA backend for them.
Solution: Force the backtracking engine with \%#=1 on those three
patterns; it evaluates the look-behind far more efficiently.
Highlighting is unchanged.
Measured with :syntime over a 40000 line corpus: the three affected
rules drop from ~0.13s to ~0.008s (about -93%), which cuts the total
syntax parse cost by ~10% (1.85s to 1.65s).
closes: vim/vim#21194
https://github.com/vim/vim/commit/e9c5e56081d1923caab5efce1f6fca4e235cf350
Co-authored-by: Julien Voisin <julien.voisin@dustri.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: C keywords are matched using the characters from 'iskeyword',
so changing that option highlights part of an identifier as a
keyword and leaves keywords containing an underscore
unhighlighted.
Solution: Set the keyword characters with ":syn iskeyword".
fixes: vim/vim#21173
closes: vim/vim#21176
https://github.com/vim/vim/commit/5c9c5a43c183e8d1e4156b468343d0aa0f3b081c
Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Co-Authored-By: Maxim Kim <habamax@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: YAML syntax highlighting is slow; the yamlInteger and yamlFloat
rules alone account for over half of the parsing time.
Solution: The number, null and timestamp scalar patterns begin with a
lookbehind, which stops the regexp engine from using a
first-character search, so the automatic engine selects the
much slower NFA engine. Force the backtracking engine with
\%#=1 on these patterns for a large speedup with identical
matches (Jordan).
On a 40000-line YAML file the total :syntime drops by about 30%: the
yamlFloat rule goes from 0.61s to 0.17s and yamlInteger from 0.42s to 0.31s.
The engine override is applied only to the lookbehind-anchored number rules;
forcing it on the structural plain-scalar and mapping-key patterns regresses
them badly, so those are left on the automatic engine.
closes: vim/vim#21182
https://github.com/vim/vim/commit/560dfadac8813ff040cf7d51cc44d4a73c92c701
Co-authored-by: Julien Voisin <julien.voisin@dustri.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: radvd config files are not recognized
Solution: Detect radvd.conf as radvd filetype, include syntax and
filetype plugins, add syntax tests, update the menus (mdspan).
Reference:
https://linux.die.net/man/5/radvd.conf
closes: vim/vim#21159
https://github.com/vim/vim/commit/d4c8c66bed0615058073985627a15e9c1c01af06
Co-authored-by: mdspan <mdspan.github@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
keywords (#41522)
Problem: Several tag and attribute names are highlighted with regular
expression alternations even though they are plain words. A
:syn-match with an alternation is retried at nearly every
position of every tag.
Solution: Move the plain-word tag names (b, i, u, em, strong, head,
body, title, h1-h6) and the "label", "href" and "title"
attribute names into syn-keyword lists, leaving only the
genuinely hyphenated names "accept-charset" and "http-equiv"
as matches.
Profiling a 6000-line HTML file with :syntime, the converted rules drop
from a combined 0.044s to 0.004s, lowering total per-rule syntax time
by about 15%. Highlighting is unchanged except that a bare valueless
"href" attribute is now highlighted as an attribute, consistent with a
bare "title", which already behaved that way.
closes: vim/vim#21155
https://github.com/vim/vim/commit/964a495bef698368f4e200b1d22d63da27f47948
Co-authored-by: Julien Voisin <julien.voisin@dustri.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: bazelrc files are not recognized
Solution: Detect *.bazelrc and tools/bazel.rc files as bazelrc filetype,
include syntax und filetype plugins, update the menus
(Barrett Ruth).
closes: vim/vim#21146
https://github.com/vim/vim/commit/1afe7ad1bb72f36a80f8e625b91d0e7506ce8985
Co-authored-by: Barrett Ruth <br@barrettruth.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
A line comment nested in a block comment (the comment plugin uses a
block comment on every line) break syntax highlighting and shade the
rest of the file as a comment.
closes: vim/vim#21109
https://github.com/vim/vim/commit/ee1517df53bc34f22f501c56ec6773df1fc0c484
Co-authored-by: Shay Hill <shay_public@hotmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#41302)
As a refinement upon "g:sh_no_error", support not matching
particular classes of syntax errors. Look up syntax rule
names and list them with:
‐-----------------------------------------------------------
let g:sh_no_error_rules = ["shCurlyError", "shParenError"]
‐-----------------------------------------------------------
closes: vim/vim#20935
https://github.com/vim/vim/commit/5d41506eb4895fbf0b6ccf4067c7f6e3c8ac568b
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
|
|