[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode d839f8a 029/405: More work on indentation sup
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode d839f8a 029/405: More work on indentation support |
Date: |
Sat, 13 Jul 2019 09:59:33 -0400 (EDT) |
branch: externals/phps-mode
commit d839f8aa113d523d50cd8fcc57b1519c283b5293
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
More work on indentation support
---
phps-functions.el | 18 +++++++++++-------
phps-test-lexer.el | 9 +++++----
2 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/phps-functions.el b/phps-functions.el
index 9b8382a..e6bf6d3 100644
--- a/phps-functions.el
+++ b/phps-functions.el
@@ -38,14 +38,17 @@
(defun phps-mode/indent-line ()
"Indent line."
- (let ((data (phps-mode/lexer-get-point-data)))
- (if (nth 0 data)
+ (save-excursion
+ (beginning-of-line)
+ (let ((data (phps-mode/lexer-get-point-data)))
+ ;; Are we in scripting?
+ (if (nth 0 data)
+ (let ((indent-level (* (+ (nth 1 data) (nth 2 data)) 4)))
+ (message "inside scripting %s, indenting to column %s " data
indent-level)
+ (indent-line-to indent-level))
(progn
- (message "inside scripting %s" data)
- (indent-line-to (nth 1 data)))
- (progn
- (message "Outside scripting %s" data)
- (indent-relative)))))
+ (message "Outside scripting %s" data)
+ (indent-relative))))))
(defun phps-mode/indent-region ()
"Indent region."
@@ -55,6 +58,7 @@
"PHP specific init-cleanup routines."
(set (make-local-variable 'indent-line-function) #'phps-mode/indent-line)
+ (set (make-local-variable 'tab-width) 8)
;; (set (make-local-variable 'indent-line-function)
#'phps-mode/indent-region)
)
diff --git a/phps-test-lexer.el b/phps-test-lexer.el
index d78df2b..5db8f02 100644
--- a/phps-test-lexer.el
+++ b/phps-test-lexer.el
@@ -141,7 +141,7 @@
(phps-mode/with-test-buffer
"<?php //echo $contact_position;?><!--</div>-->"
(should (equal phps-mode/lexer-tokens
- '((T_OPEN_TAG 1 . 7) (T_COMMENT 7 . 32) (";" 32 . 34)
(T_CLOSE_TAG 32 . 34))
+ '((T_OPEN_TAG 1 . 7) (T_COMMENT 7 . 32) (";" 32 . 34)
(T_CLOSE_TAG 32 . 34)))))
(phps-mode/with-test-buffer
@@ -284,9 +284,10 @@
(should (equal (list nil 0 0 0) (phps-mode/lexer-get-point-data))))
(phps-mode/with-test-buffer
- "<html><head><title><?php if ($myCondition) { if ($mySeconCondition) { echo
$title; } } ?></title><body>Bla bla</body></html>"
- (goto-char 60)
- (should (equal (list t 1 1 0) (phps-mode/lexer-get-point-data))))
+ "<html><head><title><?php if ($myCondition) { if ($mySeconCondition) {
echo $title; } } ?></title><body>Bla bla</body></html>"
+ ;; (message "Tokens: %s" phps-mode/lexer-tokens)
+ (goto-char 48)
+ (should (equal (list t 1 0 0) (phps-mode/lexer-get-point-data))))
(phps-mode/with-test-buffer
"<html><head><title><?php if ($myCondition) { if ($mySeconCondition) { echo
$title; } } ?></title><body>Bla bla</body></html>"
- [elpa] externals/phps-mode e3a060a 026/405: Handles script breaking single-line comments, (continued)
- [elpa] externals/phps-mode e3a060a 026/405: Handles script breaking single-line comments, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 7fa9fdb 024/405: More unit tests for lexing comments and doc comments, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 64a3ca8 014/405: Modified start and end for single and double quoted strings, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 3ea8c64 003/405: Added license, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode f6e3ce4 027/405: Added another test for comments, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 4fa9341 030/405: Started with unit tests for indentation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 184dfa5 034/405: Indentation outside PHP now does nothing, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 5c0568b 033/405: Added some basic unit tests for indentation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 47440dd 036/405: Added test for decreasing indentation with letters, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 9d3f644 032/405: Separated indentation tests for lexer tests, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode d839f8a 029/405: More work on indentation support,
Stefan Monnier <=
- [elpa] externals/phps-mode efcefde 035/405: Added support for closing parenthesis and braces, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 1b891ea 031/405: More work on indentation and related tests, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode c6e5255 038/405: Merge branch 'master' of https://github.com/cjohansson/emacs-phps-mode, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 3837d9c 001/405: My initial commit, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 6776468 037/405: Started worked with adding references to tokens from point meta information, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode feb5724 039/405: Various debug work, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode e36d477 045/405: token-number from point now is the same format as (nth), Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode b437374 040/405: Fixed bug in parsing of object parameters inside double quoted string, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 7161184 041/405: Handles stacked states better, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode c625217 042/405: Added flag for PSR-2 white-space settings, Stefan Monnier, 2019/07/13