python: Fix highlighting of built-in types for isinstance and issubclass (#30807)

When built-in types such as `list` is specified in calls like
`isinstance()`, the parameter is highlighted as a type.
    
The issue is caused by a change which removed `list` and others in
bf9e5b4f76.
    
This commit makes two special cases for `isinstance` and `issubclass`
ensuring tree sitter to highlight the parameters correctly.

Fixes #30331

Release Notes:

- python: Fixed syntax highlighting for `isinstance()` and
`issubclass()` calls

Co-authored-by: László Vaskó <1771332+vlaci@users.noreply.github.com>
This commit is contained in:
Zsolt Cserna 2025-05-17 12:37:59 +02:00 committed by GitHub
parent c80bd698f8
commit 21fd1c8b80
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -52,6 +52,20 @@
(function_definition
name: (identifier) @function.definition)
((call
function: (identifier) @_isinstance
arguments: (argument_list
(_)
(identifier) @type))
(#eq? @_isinstance "isinstance"))
((call
function: (identifier) @_issubclass
arguments: (argument_list
(identifier) @type
(identifier) @type))
(#eq? @_issubclass "issubclass"))
; Function arguments
(function_definition
parameters: (parameters