neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit a278eebcfba84663257ff0d2e33a33917920e2b3
parent 69758e29182a1e5a5184f61e167402b998c70c1b
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Thu,  4 Dec 2025 08:51:52 +0800

vim-patch:8d8c907: runtime(python): Highlight t-strings

- Highlight t-strings
- Update comments
- Add tests

closes: vim/vim#18679

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

Co-authored-by: Rob B <github@0x7e.net>

Diffstat:
Mruntime/syntax/python.vim | 11+++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/runtime/syntax/python.vim b/runtime/syntax/python.vim @@ -3,6 +3,7 @@ " Maintainer: Zvezdan Petkovic <zpetkovic@acm.org> " Last Change: 2025 Sep 08 " 2025 Sep 25 by Vim Project: fix wrong type highlighting #18394 +" 2025 Dec 03 by Vim Project: highlight t-strings #18679 " Credits: Neil Schemenauer <nas@python.ca> " Dmitry Vasiliev " Rob B @@ -168,27 +169,29 @@ syn region pythonRawString matchgroup=pythonTripleQuotes " Formatted string literals (f-strings) " https://docs.python.org/3/reference/lexical_analysis.html#f-strings +" Template string literals (t-strings) +" https://docs.python.org/3/reference/lexical_analysis.html#template-string-literals syn region pythonFString \ matchgroup=pythonQuotes - \ start=+\cF\z(['"]\)+ + \ start=+\c[FT]\z(['"]\)+ \ end="\z1" \ skip="\\\\\|\\\z1" \ contains=pythonFStringField,pythonFStringSkip,pythonEscape,pythonUnicodeEscape,@Spell syn region pythonFString \ matchgroup=pythonTripleQuotes - \ start=+\cF\z('''\|"""\)+ + \ start=+\c[FT]\z('''\|"""\)+ \ end="\z1" \ keepend \ contains=pythonFStringField,pythonFStringSkip,pythonEscape,pythonUnicodeEscape,pythonSpaceError,pythonDoctest,@Spell syn region pythonRawFString \ matchgroup=pythonQuotes - \ start=+\c\%(FR\|RF\)\z(['"]\)+ + \ start=+\c\%([FT]R\|R[FT]\)\z(['"]\)+ \ end="\z1" \ skip="\\\\\|\\\z1" \ contains=pythonFStringField,pythonFStringSkip,@Spell syn region pythonRawFString \ matchgroup=pythonTripleQuotes - \ start=+\c\%(FR\|RF\)\z('''\|"""\)+ + \ start=+\c\%([FT]R\|R[FT]\)\z('''\|"""\)+ \ end="\z1" \ keepend \ contains=pythonFStringField,pythonFStringSkip,pythonSpaceError,pythonDoctest,@Spell