Skip to content

Commit 81d1062

Browse files
committed
Introduce php-base-mode as common base major mode with php-mode
refs emacs-php/php-mode#772
1 parent adca232 commit 81d1062

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

php-ts-mode.el

+12-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434
(require 'cl-lib))
3535
(require 'treesit)
3636
(require 'c-ts-common)
37+
(require 'php nil t)
3738

39+
(declare-function php-base-mode "ext:php")
3840
(declare-function treesit-parser-create "treesit.c")
3941
(declare-function treesit-induce-sparse-tree "treesit.c")
4042
(declare-function treesit-node-child "treesit.c")
@@ -242,8 +244,17 @@ Return nil if there is no name or if NODE is not a defun node."
242244
(treesit-node-child-by-field-name node "name")
243245
t))))
244246

247+
(unless (eval-when-compile (fboundp 'php-base-mode))
248+
(define-derived-mode php-base-mode prog-mode "PHP base"
249+
"Generic major mode for editing PHP script.
250+
251+
This mode is intended to be inherited by concrete major modes.
252+
Currently there are `php-mode' and `php-ts-mode'."
253+
:group 'php
254+
nil))
255+
245256
;;;###autoload
246-
(define-derived-mode php-ts-mode prog-mode "PHP"
257+
(define-derived-mode php-ts-mode php-base-mode "PHP"
247258
"Major mode for editing PHP files, powered by tree-sitter."
248259
:group 'php
249260
:syntax-table php-ts-mode--syntax-table

0 commit comments

Comments
 (0)