]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(python): highlight "self" and "cls" in syntax script
authorJon Parise <jon@indelible.org>
Wed, 13 Aug 2025 20:34:51 +0000 (22:34 +0200)
committerChristian Brabandt <cb@256bit.org>
Wed, 13 Aug 2025 20:37:31 +0000 (22:37 +0200)
These are special names by convention, and giving them distinct
highlighting is a nice visual clue (using Identifier by default).

This group is named "pythonClassVar" to match the name used by
python-syntax. Some third-party color schemes are aware of this
name and customized their colors accordingly.

closes: #17968

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Zvezdan Petkovic <zpetkovic@acm.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/syntax/python.vim

index cc62babbfabb889f6dc439d296f15e97bafaa48e..5c437b511f230d88867829010676b566317e084f 100644 (file)
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:    Python
 " Maintainer:  Zvezdan Petkovic <zpetkovic@acm.org>
-" Last Change: 2025 Aug 11
+" Last Change: 2025 Aug 13
 " Credits:     Neil Schemenauer <nas@python.ca>
 "              Dmitry Vasiliev
 "              Rob B
@@ -113,6 +113,10 @@ syn keyword pythonAsync            async await
 syn match   pythonConditional   "^\s*\zscase\%(\s\+.*:.*$\)\@="
 syn match   pythonConditional   "^\s*\zsmatch\%(\s\+.*:\s*\%(#.*\)\=$\)\@="
 
+" These names are special by convention. While they aren't real keywords,
+" giving them distinct highlighting provides a nice visual cue.
+syn keyword pythonClassVar     self cls
+
 " Decorators
 " A dot must be allowed because of @MyClass.myfunc decorators.
 syn match   pythonDecorator    "@" display contained
@@ -378,6 +382,7 @@ hi def link pythonOperator          Operator
 hi def link pythonException            Exception
 hi def link pythonInclude              Include
 hi def link pythonAsync                        Statement
+hi def link pythonClassVar             Identifier
 hi def link pythonDecorator            Define
 hi def link pythonDecoratorName                Function
 hi def link pythonClass                        Structure