Skip to content

Commit 8932709

Browse files
author
fallchildren
committed
introduced php-do-not-use-semantic-imenu for disabling semantic-imenu
Setting php-do-not-use-semantic-imenu to t will force imenu-create-index-function to be imenu-default-create-index-function even if semantic-mode is enabled (would be semantic-create-imenu-index otherwise due to php-mode being a derived mode of c-mode - see lisp/cedet/semantic/bovine/c.el in emacs sources).
1 parent c3f3ac1 commit 8932709

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

php-mode.el

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,16 @@ can be used to match against definitions for that classlike."
259259
"^\\s-*function\\s-+\\(\\(?:\\sw\\|\\s_\\)+\\)\\s-*(" 1))
260260
"Imenu generic expression for PHP Mode. See `imenu-generic-expression'.")
261261

262+
(defcustom php-do-not-use-semantic-imenu nil
263+
"Customize `imenu-create-index-function' for `php-mode'.
264+
265+
If using `semantic-mode' `imenu-create-index-function' will be
266+
set to `semantic-create-imenu-index' due to `c-mode' being its
267+
parent. Set this variable to t if you want to use
268+
`imenu-default-create-index-function' even with `semantic-mode'
269+
enabled."
270+
:type 'boolean)
271+
262272
(defcustom php-site-url "http://php.net/"
263273
"Default PHP.net site URL.
264274
@@ -1212,6 +1222,12 @@ After setting the stylevars run hooks according to STYLENAME
12121222
(save-excursion
12131223
(php-syntax-propertize-function (point-min) (point-max))))))
12141224

1225+
(defvar-mode-local php-mode imenu-create-index-function
1226+
(if php-do-not-use-semantic-imenu
1227+
#'imenu-default-create-index-function
1228+
#'semantic-create-imenu-index)
1229+
"Imenu index function for PHP.")
1230+
12151231

12161232
;; Define function name completion function
12171233
(defvar php-completion-table nil

0 commit comments

Comments
 (0)