1
0
Fork 0
mirror of https://github.com/pnx/dotfiles synced 2026-06-16 03:14:55 +02:00

nvim/queries/php_only/highlights.scm: improve php semantic token overrides

This commit is contained in:
Henrik Hautakoski 2026-05-06 15:55:49 +02:00
parent 7d6db842e7
commit 3665355d0f

View file

@ -1,16 +1,35 @@
; extends
; NOTE: Some LSPs sets semantic tokens, so override those with high priority (150)
; php tags should be tagged as preprocessor tokens
(php_tag) @preproc
; Tag names in class definition
(class_declaration [
name: (name) @class.name
(base_clause (name) @class.inherit.name)
(class_interface_clause (name) @class.implements.name)
])
(class_declaration
(name) @class.declaration.name.php
(#set! priority 150))
(interface_declaration (name) @interface.name)
(class_declaration
(base_clause (name) @class.declaration.inherit.name.php)
(#set! priority 150))
(class_declaration
(class_interface_clause (name) @class.declaration.implement.name.php)
(#set! priority 150))
(interface_declaration (name)
@interface.declaration.name
(#set! priority 150))
; semantic tokens sometimes targets the entire namespace. So tag it here to override.
(qualified_name [ (namespace_name) "\\"] @class.use.base.php (#set! priority 150))
; last name node in namespace definition
(namespace_definition
name: (namespace_name
(name) @namespace.name (#set! priority 150) .)
)
; tag trait name in use declaration
(use_declaration (name) @use.trait.name)
@ -18,7 +37,11 @@
; tag name token in "use" use namespace declaration
(namespace_use_declaration (namespace_use_clause [
(qualified_name [
(name) @namespace.name
(name) @namespace.name (#set! priority 150)
])
alias: (name) @namespace.alias.name
alias: (name) @namespace.alias.name (#set! priority 150)
]))