branch: externals/phps-mode commit defa128601eea7386aa8069abcf509059c8b5dd1 Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Passes unit test for imenu new structure --- phps-mode-functions.el | 14 +++++++++++--- phps-mode-test-functions.el | 12 ++++++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/phps-mode-functions.el b/phps-mode-functions.el index 92f9dd0..0f9ff48 100644 --- a/phps-mode-functions.el +++ b/phps-mode-functions.el @@ -241,7 +241,8 @@ (= imenu-open-namespace-level imenu-nesting-level) imenu-in-namespace-name) (let ((imenu-add-list (nreverse imenu-namespace-index))) - (push `(,imenu-in-namespace-name . ,imenu-add-list) imenu-index)) + ;; (message "Pushing %s to imenu-index" imenu-add-list) + (push `(,imenu-in-namespace-name . ,(list imenu-add-list)) imenu-index)) (setq imenu-in-namespace-name nil)) (when (and imenu-open-class-level @@ -249,8 +250,14 @@ imenu-in-class-name) (let ((imenu-add-list (nreverse imenu-class-index))) (if imenu-in-namespace-name - (push `(,imenu-in-class-name . ,imenu-add-list) imenu-namespace-index) - (push `(,imenu-in-class-name . ,imenu-add-list) imenu-index))) + (progn + ;; (message "Pushing %s to imenu-namespace-index" imenu-add-list) + (push `(,imenu-in-class-name . ,(list imenu-add-list)) imenu-namespace-index) + ;; (message "Namespace-index is now %s" imenu-namespace-index) + ) + (push `(,imenu-in-class-name . ,imenu-add-list) imenu-index) + ;; (message "Pushing %s to imenu-index" imenu-add-list) + )) (setq imenu-in-class-name nil)) (setq imenu-nesting-level (1- imenu-nesting-level)))) @@ -259,6 +266,7 @@ imenu-in-namespace-name (not imenu-in-namespace-with-brackets)) (let ((imenu-add-list (nreverse imenu-namespace-index))) + ;; (message "Pushing %s to imenu-index" imenu-add-list) (push `(,imenu-in-namespace-name . ,imenu-add-list) imenu-index)) (setq imenu-in-namespace-name nil)) diff --git a/phps-mode-test-functions.el b/phps-mode-test-functions.el index 9beb0ec..74f2cf1 100644 --- a/phps-mode-test-functions.el +++ b/phps-mode-test-functions.el @@ -835,32 +835,32 @@ (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 with namespace, class and function" - (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" (("class myClass" . 41) ("myClass" . (("myFunctionA" . 75) ("myFunctionB" . 119))))))))) + (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" (("myClass" (("class myClass" . 41) ("myFunctionA" . 75) ("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-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" ("myClass" . (("class myClass" . 41) ("myFunctionA" . 75) ("myFunctionB" . 119)))))))) + (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" ("myClass" (("class myClass" . 36) ("myFunctionA" . 66) ("myFunctionB" . 106)))))))) (phps-mode-test-with-buffer "<?php\nnamespace myNamespace {\n class myClass extends myAbstract {\n public function myFunctionA() {}\n protected function myFunctionB() {}\n }\n}\n" "Imenu object-oriented file with namespace, class that extends and functions" - (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" . (("class myClass" . 41) ("myClass" . (("myFunctionA" . 94) ("myFunctionB" . 138))))))))) + (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" (("myClass" (("class myClass" . 41) ("myFunctionA" . 94) ("myFunctionB" . 138))))))))) (phps-mode-test-with-buffer "<?php\nnamespace myNamespace;\nclass myClass extends myAbstract implements myInterface {\n public function myFunctionA() {}\n protected function myFunctionB() {}\n}\n" "Imenu object-oriented file with bracket-less namespace, class that extends and implements and functions" - (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" . (("class myClass" . 36) ("myClass" . (("myFunctionA" . 108) ("myFunctionB" . 148))))))))) + (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" ("myClass" (("class myClass" . 36) ("myFunctionA" . 108) ("myFunctionB" . 148)))))))) (phps-mode-test-with-buffer "<?php\nnamespace myNamespace;\nclass myClass extends myAbstract implements myInterface {\n public function myFunctionA($myArg = null) {}\n protected function myFunctionB($myArg = 'abc') {}\n}\n" "Imenu object-oriented file with bracket-less namespace, class that extends and implements and functions with optional arguments" - (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" . (("class myClass" . 36) ("myClass" . (("myFunctionA" . 108) ("myFunctionB" . 161))))))))) + (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace" . 17) ("myNamespace" ("myClass" (("class myClass" . 36) ("myFunctionA" . 108) ("myFunctionB" . 161)))))))) (phps-mode-test-with-buffer "<?php\nnamespace myNamespace\\myNamespace2;\nclass myClass extends myAbstract implements myInterface {\n public function myFunctionA($myArg = null) {}\n protected function myFunctionB($myArg = 'abc') {}\n}\n" "Imenu object-oriented file with bracket-less namespace with multiple levels, class that extends and implements and functions with optional arguments" - (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace\\myNamespace2" . 29) ("myNamespace\\myNamespace2" . (("class myClass" 49) ("myClass" . (("myFunctionA" . 121) ("myFunctionB" . 174))))))))) + (should (equal (phps-mode-functions-get-imenu) '(("namespace myNamespace\\myNamespace2" . 29) ("myNamespace\\myNamespace2" ("myClass" (("class myClass" . 49) ("myFunctionA" . 121) ("myFunctionB" . 174)))))))) )