<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/syntax/python.vim, branch master</title>
<subtitle>Neovim fork with Rahm's personal hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/'/>
<entry>
<title>vim-patch:cbcb209: runtime(python): missing Python syntax keywords</title>
<updated>2026-09-11T00:56:58+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2026-09-11T00:56:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=619d3ee5cf14c4b5d39d72481a3362002bef82ab'/>
<id>619d3ee5cf14c4b5d39d72481a3362002bef82ab</id>
<content type='text'>
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 &lt;zeltronsrikar@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;zeltronsrikar@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:e9c5e56: runtime(python): improve performance of number and ellipsis matching (#41608)</title>
<updated>2026-09-02T05:51:57+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2026-09-02T05:51:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=8e34903b6ae9653821770a6182b8dc3caabbdf90'/>
<id>8e34903b6ae9653821770a6182b8dc3caabbdf90</id>
<content type='text'>
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 &lt;julien.voisin@dustri.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;julien.voisin@dustri.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:916809a: runtime(python): highlight the 'lazy' soft keyword</title>
<updated>2026-07-26T22:31:58+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2026-07-26T22:31:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=1c83e43f27394d8bcb32d72ee2a052d3867788cc'/>
<id>1c83e43f27394d8bcb32d72ee2a052d3867788cc</id>
<content type='text'>
Lazy imports (PEP 810, to be released in Python 3.15) introduces a
`lazy` soft keyword that's recognized when it precedes a `from` or
`import` keyword.

closes: vim/vim#20342

https://github.com/vim/vim/commit/916809ae1e3e562e0a6220a6e7e08f38b8a23b62

Co-authored-by: Jon Parise &lt;jon@indelible.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Lazy imports (PEP 810, to be released in Python 3.15) introduces a
`lazy` soft keyword that's recognized when it precedes a `from` or
`import` keyword.

closes: vim/vim#20342

https://github.com/vim/vim/commit/916809ae1e3e562e0a6220a6e7e08f38b8a23b62

Co-authored-by: Jon Parise &lt;jon@indelible.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:2cf18fc: runtime(python): Update syntax, improve pythonNumber pattern performance (#38263)</title>
<updated>2026-03-11T23:55:00+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2026-03-11T23:55:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=99a0b2f7b86d447af752ee7436dd5fd69fc6a101'/>
<id>99a0b2f7b86d447af752ee7436dd5fd69fc6a101</id>
<content type='text'>
- Improve the performance of all pythonNumber patterns by unrolling
  digit/underscore sequence loops.
- Split the float literal pattern into two simpler patterns.

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

https://github.com/vim/vim/commit/2cf18fcc240030880bbd138e5174e436a3f20823

Co-authored-by: Doug Kearns &lt;dougkearns@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Improve the performance of all pythonNumber patterns by unrolling
  digit/underscore sequence loops.
- Split the float literal pattern into two simpler patterns.

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

https://github.com/vim/vim/commit/2cf18fcc240030880bbd138e5174e436a3f20823

Co-authored-by: Doug Kearns &lt;dougkearns@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:632fd8b: runtime(python): Highlight built-in constants in Python</title>
<updated>2026-01-26T23:20:41+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2026-01-26T23:13:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6543217afc0203f5edafc6c696a70be1ac7f4923'/>
<id>6543217afc0203f5edafc6c696a70be1ac7f4923</id>
<content type='text'>
Also add syntax tests for those newly constants.

closes: vim/vim#17788
closes: vim/vim#18922

https://github.com/vim/vim/commit/632fd8bb968b029d0a7c40a00101008ea5200b91

Co-authored-by: Rob B &lt;github@0x7e.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also add syntax tests for those newly constants.

closes: vim/vim#17788
closes: vim/vim#18922

https://github.com/vim/vim/commit/632fd8bb968b029d0a7c40a00101008ea5200b91

Co-authored-by: Rob B &lt;github@0x7e.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:8d8c907: runtime(python): Highlight t-strings</title>
<updated>2025-12-04T00:52:06+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-12-04T00:51:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a278eebcfba84663257ff0d2e33a33917920e2b3'/>
<id>a278eebcfba84663257ff0d2e33a33917920e2b3</id>
<content type='text'>
- Highlight t-strings
- Update comments
- Add tests

closes: vim/vim#18679

https://github.com/vim/vim/commit/8d8c9074c3cbb33b2b8b97556bdb7267e2617b93

Co-authored-by: Rob B &lt;github@0x7e.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Highlight t-strings
- Update comments
- Add tests

closes: vim/vim#18679

https://github.com/vim/vim/commit/8d8c9074c3cbb33b2b8b97556bdb7267e2617b93

Co-authored-by: Rob B &lt;github@0x7e.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:900c747: runtime(python): fix 'type' syntax highlighting (#35918)</title>
<updated>2025-09-25T23:54:19+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-09-25T23:54:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a9486fe7e1291a997175d6ab74450a73ff3bc090'/>
<id>a9486fe7e1291a997175d6ab74450a73ff3bc090</id>
<content type='text'>
The previous patterns unintentionally highlighted words like 'typename'.

addresses: https://github.com/vim/vim/pull/18090#issuecomment-3333025523
closes: vim/vim#18394

https://github.com/vim/vim/commit/900c747da393b031f3347428fb640224ac2f5442

Co-authored-by: Jon Parise &lt;jon@indelible.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The previous patterns unintentionally highlighted words like 'typename'.

addresses: https://github.com/vim/vim/pull/18090#issuecomment-3333025523
closes: vim/vim#18394

https://github.com/vim/vim/commit/900c747da393b031f3347428fb640224ac2f5442

Co-authored-by: Jon Parise &lt;jon@indelible.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:15070ee: runtime(python): Update syntax, fix pythonEllipsis pattern (#35724)</title>
<updated>2025-09-12T00:17:04+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-09-12T00:17:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=0f3fef9bab31d8e61a8a1a72eef4afbbac60e17a'/>
<id>0f3fef9bab31d8e61a8a1a72eef4afbbac60e17a</id>
<content type='text'>
fixes: vim/vim#18263
closes: vim/vim#18264

https://github.com/vim/vim/commit/15070eee2f1e11a69a4c2d99bad03c8f6756e6e0

Co-authored-by: Doug Kearns &lt;dougkearns@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fixes: vim/vim#18263
closes: vim/vim#18264

https://github.com/vim/vim/commit/15070eee2f1e11a69a4c2d99bad03c8f6756e6e0

Co-authored-by: Doug Kearns &lt;dougkearns@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:77cfc49: runtime(python): highlight ellipsis literals</title>
<updated>2025-09-09T03:39:23+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-09-09T03:39:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=12868474db6fe7e4c3a1494bac26c8b0799393a3'/>
<id>12868474db6fe7e4c3a1494bac26c8b0799393a3</id>
<content type='text'>
The ellipsis literal (`...`) can be used in multiple contexts:

- Placeholders:     `class Foo: ...`
- Containers:       `Tuple[int, ...]`
- Assignments:      `x = ...`

This is a trickier pattern to match because we can't rely on keyword
boundaries, so we instead look for exactly three dots (`...`).

This does mean that we will match the `...` portion of `x...x`, which
isn't valid Python syntax, but I think that's an acceptable trade-off
that avoids making this pattern much more complex.

Reference:
- https://docs.python.org/3/library/constants.html#Ellipsis

closes: vim/vim#18107

https://github.com/vim/vim/commit/77cfc49060a50daefd1675b8a1dece0e6e943384

Co-authored-by: Jon Parise &lt;jon@indelible.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ellipsis literal (`...`) can be used in multiple contexts:

- Placeholders:     `class Foo: ...`
- Containers:       `Tuple[int, ...]`
- Assignments:      `x = ...`

This is a trickier pattern to match because we can't rely on keyword
boundaries, so we instead look for exactly three dots (`...`).

This does mean that we will match the `...` portion of `x...x`, which
isn't valid Python syntax, but I think that's an acceptable trade-off
that avoids making this pattern much more complex.

Reference:
- https://docs.python.org/3/library/constants.html#Ellipsis

closes: vim/vim#18107

https://github.com/vim/vim/commit/77cfc49060a50daefd1675b8a1dece0e6e943384

Co-authored-by: Jon Parise &lt;jon@indelible.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:6bb16d2: runtime(python): Update syntax file, fix f-string float highlighting</title>
<updated>2025-09-09T03:37:12+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-09-09T03:36:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=53e78bec7c60fea67ef4ef05ada11ab3c058b0eb'/>
<id>53e78bec7c60fea67ef4ef05ada11ab3c058b0eb</id>
<content type='text'>
Fix matching of floats at the beginning of an f-string replacement
field, immediately after the opening brace.

The existing pattern, using `\zs`, cannot consume the already matched
`{` so use a lookbehind instead.

See comment: https://github.com/vim/vim/pull/17962#issuecomment-3201550443

closes: vim/vim#18220

https://github.com/vim/vim/commit/6bb16d2cee87f834f003bf368ce70c5688242ac1

Co-authored-by: Doug Kearns &lt;dougkearns@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix matching of floats at the beginning of an f-string replacement
field, immediately after the opening brace.

The existing pattern, using `\zs`, cannot consume the already matched
`{` so use a lookbehind instead.

See comment: https://github.com/vim/vim/pull/17962#issuecomment-3201550443

closes: vim/vim#18220

https://github.com/vim/vim/commit/6bb16d2cee87f834f003bf368ce70c5688242ac1

Co-authored-by: Doug Kearns &lt;dougkearns@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
