diff --git a/php-ts-mode.el b/php-ts-mode.el index 76dc6e1..36ed0d0 100644 --- a/php-ts-mode.el +++ b/php-ts-mode.el @@ -89,6 +89,7 @@ ((parent-is "switch_block") parent-bol ,offset) ((parent-is "case_statement") parent-bol ,offset) ((parent-is "default_statement") parent-bol ,offset) + ((parent-is "match_block") parent-bol ,offset) ((parent-is "assignment_expression") parent-bol ,offset) ((parent-is "return_statement") parent-bol ,offset)))) "Tree-sitter indent rules.") @@ -99,14 +100,14 @@ "elseif" "enddeclare" "endforeach" "endif" "endswitch" "endwhile" "enum" "extends" "final" "finally" "for" "foreach" "fn" "function" "global" "if" "implements" "include_once" - "include" "insteadof" "interface" "namespace" "new" + "include" "insteadof" "interface" "match" "namespace" "new" "private" "protected" "public" "readonly" "require_once" "require" "return" "static" "switch" "throw" "trait" "try" "use" "while" "yield") "PHP keywords for tree-sitter font-locking.") (defvar php-ts-mode--built-in-functions - '("die" "echo" "empty" "isset") + '("die" "empty" "isset") "PHP built-in functions for tree-sitter font-locking.") (defvar php-ts-mode--operators @@ -266,7 +267,8 @@ see https://www.php.net/manual/language.constants.predefined.php") (:match ,(rx-to-string `(seq bol (or ,@php-ts-mode--built-in-functions) - eol)) @php-keyword))) + eol)) @php-keyword)) + (unset_statement "unset" @php-keyword)) :language 'php :feature 'label diff --git a/tests/php-ts-mode-resources/face.erts b/tests/php-ts-mode-resources/face.erts index 4ea3db9..9dea923 100644 --- a/tests/php-ts-mode-resources/face.erts +++ b/tests/php-ts-mode-resources/face.erts @@ -2,8 +2,7 @@ Code: (lambda () (php-ts-mode) (customize-set-variable 'treesit-font-lock-level 4) - (setq mode-require-final-newline nil) - (let ((face (symbol-name (face-at-point t)))) + (let ((face (symbol-name (face-at-point)))) (erase-buffer) (insert face))) @@ -40,6 +39,16 @@ class Basic { php-keyword =-=-= +Name: Keyword `match` +No-After-Newline: t + +=-= + 1 +}; +=-= + 1 +}; +=-=-=