emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/phps-mode c2af31e 240/405: Imenu support now shows hier


From: Stefan Monnier
Subject: [elpa] externals/phps-mode c2af31e 240/405: Imenu support now shows hierarchical information
Date: Sat, 13 Jul 2019 10:00:23 -0400 (EDT)

branch: externals/phps-mode
commit c2af31eb235f13a5c83c93d2eb963353d15d92a9
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>

    Imenu support now shows hierarchical information
---
 phps-mode-functions.el      |  9 +++++----
 phps-mode-test-functions.el | 10 +++++++---
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index 08b8604..e7b54fd 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -662,7 +662,8 @@
               (cond
 
                ((string= token-symbol "{")
-                (setq open-namespace-level nesting-level))
+                (setq open-namespace-level nesting-level)
+                (setq in-namespace-declaration nil))
 
                ((string= token-symbol ";")
                 (setq in-namespace-declaration nil))
@@ -685,7 +686,7 @@
                       (index-pos token-start))
                   (setq in-class-name index-name)
                   (when in-namespace-name
-                    (setq index-name (concat in-namespace-name " | " 
index-name)))
+                    (setq index-name (concat in-namespace-name " \\ " 
index-name)))
                   (push `(,index-name . ,index-pos) index)))))
 
              (in-function-declaration
@@ -702,9 +703,9 @@
                 (let ((index-name (format "function %s" 
(buffer-substring-no-properties token-start token-end)))
                       (index-pos token-start))
                   (when in-class-name
-                    (setq index-name (concat in-class-name " | " index-name)))
+                    (setq index-name (concat in-class-name " -> " index-name)))
                   (when in-namespace-name
-                    (setq index-name (concat in-namespace-name " | " 
index-name)))
+                    (setq index-name (concat in-namespace-name " \\ " 
index-name)))
                   (push `(,index-name . ,index-pos) index)))))
 
              (t
diff --git a/phps-mode-test-functions.el b/phps-mode-test-functions.el
index aca76ad..a9550e9 100644
--- a/phps-mode-test-functions.el
+++ b/phps-mode-test-functions.el
@@ -594,13 +594,17 @@
   (phps-mode-test-with-buffer
    "<?php\nclass myClass {\n    public function myFunctionA() {}\n    
protected function myFunctionB() {}\n}\n"
    "Imenu object-oriented file"
-   (should (equal (phps-mode-functions-imenu-create-index-function) '(("class 
myClass" . 13) ("class myClass | function myFunctionA" . 43) ("class myClass | 
function myFunctionB" . 83)))))
+   (should (equal (phps-mode-functions-imenu-create-index-function) '(("class 
myClass" . 13) ("class myClass -> function myFunctionA" . 43) ("class myClass 
-> function myFunctionB" . 83)))))
 
   (phps-mode-test-with-buffer
    "<?php\nnamespace myNamespace {\n    class myClass {\n        public 
function myFunctionA() {}\n        protected function myFunctionB() {}\n    
}\n}\n"
-   "Imenu object-oriented file"
-   (should (equal (phps-mode-functions-imenu-create-index-function) '(("class 
myClass" . 13) ("class myClass | function myFunctionA" . 43) ("class myClass | 
function myFunctionB" . 83)))))
+   "Imenu object-oriented file with namespace, class and function"
+   (should (equal (phps-mode-functions-imenu-create-index-function) 
'(("namespace myNamespace" . 17) ("namespace myNamespace \\ class myClass" . 
41) ("namespace myNamespace \\ class myClass -> function myFunctionA" . 75) 
("namespace myNamespace \\ class myClass -> function myFunctionB" . 119)))))
 
+  (phps-mode-test-with-buffer
+   "<?php\nnamespace myNamespace;\nclass myClass {\n    public function 
myFunctionA() {}\n    protected function myFunctionB() {}\n}\n"
+   "Imenu object-oriented file with bracket-less namespace, class and function"
+   (should (equal (phps-mode-functions-imenu-create-index-function) 
'(("namespace myNamespace" . 17) ("namespace myNamespace \\ class myClass" . 
36) ("namespace myNamespace \\ class myClass -> function myFunctionA" . 66) 
("namespace myNamespace \\ class myClass -> function myFunctionB" . 106)))))
   
   )
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]