0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

runtime(python): fix 'type' syntax highlighting

The previous patterns unintentionally highlighted words like 'typename'.

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

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Jon Parise
2025-09-25 19:08:14 +00:00
committed by Christian Brabandt
parent ef818ae444
commit 900c747da3
3 changed files with 30 additions and 1 deletions

View File

@@ -2,6 +2,7 @@
" Language: Python
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
" Last Change: 2025 Sep 08
" 2025 Sep 25 by Vim Project: fix wrong type highlighting #18394
" Credits: Neil Schemenauer <nas@python.ca>
" Dmitry Vasiliev
" Rob B
@@ -308,7 +309,7 @@ if !exists("python_no_builtin_highlight")
syn keyword pythonBuiltin setattr slice sorted staticmethod str sum super
syn keyword pythonBuiltin tuple vars zip __import__
" only match `type` as a builtin when it's not followed by an identifier
syn match pythonBuiltin "\<type\ze\(\s\+\h\w*\)\@!"
syn match pythonBuiltin "\<type\>\ze\(\s\+\h\w*\)\@!"
" avoid highlighting attributes as builtins
syn match pythonAttribute /\.\h\w*/hs=s+1
\ contains=ALLBUT,pythonBuiltin,pythonClass,pythonFunction,pythonType,pythonAsync

View File

@@ -0,0 +1,20 @@
>#+0#0000e05#ffffff0| |B|u|i|l|t|i|n| +0#0000000&@65
|t+0#00e0e07&|y|p|e|(+0#0000000&|)| @68
@75
|#+0#0000e05&| |S|t|a|t|e|m|e|n|t| +0#0000000&@63
|t+0#af5f00255&|y|p|e| +0#0000000&|P+0#00e0003&|o|i|n|t| +0#0000000&|=| |t+0#00e0e07&|u|p|l|e|[+0#0000000&|f+0#00e0e07&|l|o|a|t|,+0#0000000&| |f+0#00e0e07&|l|o|a|t|]+0#0000000&| @42
@75
|#+0#0000e05&| |S|h|o|u|l|d| |n|o|t| |m|a|t|c|h| +0#0000000&@56
|t|y|p|e|n|a|m|e| |=| |'+0#e000002&@1| +0#0000000&@61
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|1|,|1| @10|A|l@1|

View File

@@ -0,0 +1,8 @@
# Builtin
type()
# Statement
type Point = tuple[float, float]
# Should not match
typename = ''