mirror of
https://github.com/vim/vim.git
synced 2025-09-28 04:24: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:
committed by
Christian Brabandt
parent
ef818ae444
commit
900c747da3
@@ -2,6 +2,7 @@
|
|||||||
" Language: Python
|
" Language: Python
|
||||||
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
|
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||||
" Last Change: 2025 Sep 08
|
" Last Change: 2025 Sep 08
|
||||||
|
" 2025 Sep 25 by Vim Project: fix wrong type highlighting #18394
|
||||||
" Credits: Neil Schemenauer <nas@python.ca>
|
" Credits: Neil Schemenauer <nas@python.ca>
|
||||||
" Dmitry Vasiliev
|
" Dmitry Vasiliev
|
||||||
" Rob B
|
" 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 setattr slice sorted staticmethod str sum super
|
||||||
syn keyword pythonBuiltin tuple vars zip __import__
|
syn keyword pythonBuiltin tuple vars zip __import__
|
||||||
" only match `type` as a builtin when it's not followed by an identifier
|
" 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
|
" avoid highlighting attributes as builtins
|
||||||
syn match pythonAttribute /\.\h\w*/hs=s+1
|
syn match pythonAttribute /\.\h\w*/hs=s+1
|
||||||
\ contains=ALLBUT,pythonBuiltin,pythonClass,pythonFunction,pythonType,pythonAsync
|
\ contains=ALLBUT,pythonBuiltin,pythonClass,pythonFunction,pythonType,pythonAsync
|
||||||
|
20
runtime/syntax/testdir/dumps/python_type_00.dump
Normal file
20
runtime/syntax/testdir/dumps/python_type_00.dump
Normal 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|
|
8
runtime/syntax/testdir/input/python_type.py
Normal file
8
runtime/syntax/testdir/input/python_type.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Builtin
|
||||||
|
type()
|
||||||
|
|
||||||
|
# Statement
|
||||||
|
type Point = tuple[float, float]
|
||||||
|
|
||||||
|
# Should not match
|
||||||
|
typename = ''
|
Reference in New Issue
Block a user