From 32b20027cab29c375ebd00e3f5d4855a5b0a29e3 Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Sun, 3 May 2020 23:23:15 +0900 Subject: [PATCH 1/2] Add sample code to indentation --- tests/indent/issue-623.php | 17 +++++++++++++++++ tests/php-mode-test.el | 4 ++++ 2 files changed, 21 insertions(+) create mode 100644 tests/indent/issue-623.php diff --git a/tests/indent/issue-623.php b/tests/indent/issue-623.php new file mode 100644 index 00000000..d1059fef --- /dev/null +++ b/tests/indent/issue-623.php @@ -0,0 +1,17 @@ +something() + ->something(); // ###php-mode-test### ((indent 4)) + +var_dump( + $object->something() // ###php-mode-test### ((indent 4)) + ->something(), // ###php-mode-test### ((indent 8)) +); // ###php-mode-test### ((indent 0)) + +$arr = [ + $object->something() // ###php-mode-test### ((indent 4)) + /* comment */ ->something() // ###php-mode-test### ((indent 4)) + ->something(), // ###php-mode-test### ((indent 8)) +]; // ###php-mode-test### ((indent 0)) diff --git a/tests/php-mode-test.el b/tests/php-mode-test.el index 4b3598e9..670304a9 100644 --- a/tests/php-mode-test.el +++ b/tests/php-mode-test.el @@ -645,6 +645,10 @@ Meant for `php-mode-test-issue-503'." (goto-char (point-min)) (should (eq (php-mode-test-in-function-p nil) nil)))) +(ert-deftest php-mode-test-issue-623 () + "Proper alignment object -> accessor." + (with-php-mode-test ("indent/issue-623.php" :indent t :magic t))) + (ert-deftest php-mode-test-php74 () "Test highlighting language constructs added in PHP 7.4." (with-php-mode-test ("7.4/arrow-function.php" :faces t)) From 25e0a9ef4d7ec6ed8ae5eccdfd35ce98e0c76441 Mon Sep 17 00:00:00 2001 From: USAMI Kenta Date: Mon, 4 May 2020 00:08:31 +0900 Subject: [PATCH 2/2] Fix indentation of object operator at the beginning of line https://github.com/emacs-php/php-mode/issues/623 --- php-mode.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/php-mode.el b/php-mode.el index 8d220d25..ceaef2e0 100644 --- a/php-mode.el +++ b/php-mode.el @@ -636,8 +636,11 @@ might be to handle switch and goto labels differently." (defun php-lineup-cascaded-calls (langelem) "Line up chained methods using `c-lineup-cascaded-calls', but only if the setting is enabled" - (when php-mode-lineup-cascaded-calls - (c-lineup-cascaded-calls langelem))) + (if php-mode-lineup-cascaded-calls + (c-lineup-cascaded-calls langelem) + (save-excursion + (beginning-of-line) + (if (looking-at-p "\\s-*->") '+ nil)))) (c-add-style "php"