[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode fcc920f 258/405: More preparations for mergin
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode fcc920f 258/405: More preparations for merging indent and Imenu into one function |
Date: |
Sat, 13 Jul 2019 10:00:27 -0400 (EDT) |
branch: externals/phps-mode
commit fcc920f4c054d8daeca38029af0fcfd6c565ec98
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
More preparations for merging indent and Imenu into one function
---
phps-mode-functions.el | 28 +++++++++++++++-------------
phps-mode-lexer.el | 10 ----------
2 files changed, 15 insertions(+), 23 deletions(-)
diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index a9a4900..595b365 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -51,10 +51,10 @@
(defun phps-mode-functions-process-current-buffer ()
"Process current buffer, generate indentations and Imenu."
(unless phps-mode-functions-processed-buffer
- (unless phps-mode-functions-lines-indent
- (setq phps-mode-functions-lines-indent
(phps-mode-functions-get-lines-indent)))
- (unless phps-mode-functions-imenu
- (setq phps-mode-functions-imenu
(phps-mode-functions--imenu-create-index-function)))
+
+ ;; TODO Merge these two functions into one
+ (setq phps-mode-functions-lines-indent
(phps-mode-functions-get-lines-indent))
+ (setq phps-mode-functions-imenu (phps-mode-functions-get-imenu))
(setq phps-mode-functions-processed-buffer t)))
;; Set indent for white-space lines as well
@@ -587,7 +587,7 @@
;; (message "phps-mode-functions-after-change %s %s %s" start stop length)
))
-(defun phps-mode-functions--imenu-create-index-function ()
+(defun phps-mode-functions-get-imenu ()
"Create index for imenu."
(let ((index '()))
@@ -696,7 +696,7 @@
(nreverse index)))
-(defun phps-mode-functions-get-imenu ()
+(defun phps-mode-functions-imenu-create-index ()
"Get Imenu for current buffer."
(phps-mode-functions-process-current-buffer)
phps-mode-functions-imenu)
@@ -704,28 +704,30 @@
(defun phps-mode-functions-init ()
"PHP specific init-cleanup routines."
+ ;; Custom indentation
;; NOTE Indent-region will call this on each line of region
(set (make-local-variable 'indent-line-function)
#'phps-mode-functions-indent-line)
- ;; Support Imenu
- (set (make-local-variable 'imenu-create-index-function)
#'phps-mode-functions-get-imenu)
+ ;; Custom Imenu
+ (set (make-local-variable 'imenu-create-index-function)
#'phps-mode-functions-imenu-create-index)
+ ;; Should we follow PSR-2?
(when (and (boundp 'phps-mode-use-psr-2)
phps-mode-use-psr-2)
- ;; PSR-2 : Code MUST use an indent of 4 spaces
+ ;; Code MUST use an indent of 4 spaces
(set (make-local-variable 'tab-width) 4)
- ;; PSR-2 : MUST NOT use tabs for indenting
- (set (make-local-variable 'indent-tabs-mode) nil)
-
- )
+ ;; MUST NOT use tabs for indenting
+ (set (make-local-variable 'indent-tabs-mode) nil))
+ ;; Reset flags
(set (make-local-variable 'phps-mode-functions-buffer-changes-start) nil)
(set (make-local-variable 'phps-mode-functions-lines-indent) nil)
(set (make-local-variable 'phps-mode-functions-imenu) nil)
(set (make-local-variable 'phps-mode-functions-processed-buffer) nil)
+ ;; Support for change detection
(add-hook 'after-change-functions #'phps-mode-functions-after-change))
diff --git a/phps-mode-lexer.el b/phps-mode-lexer.el
index a4dcc44..a354aa4 100644
--- a/phps-mode-lexer.el
+++ b/phps-mode-lexer.el
@@ -1275,16 +1275,6 @@ ANY_CHAR'
phps-mode-functions-processed-buffer)
(setq phps-mode-functions-processed-buffer nil))
- ;; Reset line indents
- (when (and (boundp 'phps-mode-functions-lines-indent)
- phps-mode-functions-lines-indent)
- (setq phps-mode-functions-lines-indent nil))
-
- ;; Reset imenu index
- (when (and (boundp 'phps-mode-functions-imenu)
- phps-mode-functions-imenu)
- (setq phps-mode-functions-imenu nil))
-
;; TODO Delete all overlays after point of change if it's incremental
;; Does lexer start from the beginning of buffer?
- [elpa] externals/phps-mode b56a15c 233/405: Removed debugging output, updated todo items, (continued)
- [elpa] externals/phps-mode b56a15c 233/405: Removed debugging output, updated todo items, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 73784d0 225/405: Cleaned up tests for indentation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode f7e7c74 219/405: Work on indentation for switch-case, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode c2af31e 240/405: Imenu support now shows hierarchical information, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 55953de 232/405: Lexer now doesn't find keywords in function names, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode b8e9449 247/405: Refactored Imenu to use a persistent variable per buffer, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 67b8701 244/405: Decreased length of imenu items to prevent truncation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode e78d8ed 248/405: Clean-up of indentation code, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode c2db7d3 250/405: Preparations for integration test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 11309b8 256/405: Updated readme, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode fcc920f 258/405: More preparations for merging indent and Imenu into one function,
Stefan Monnier <=
- [elpa] externals/phps-mode 41c12c1 251/405: Updated paths for byte-compilation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 0e927e8 252/405: Fixed compilation command in makefile, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 6593242 257/405: Preparations for doing indentation and imenu in one pass, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 318001e 259/405: Merged Imenu and indentation generation into one iteration of tokens, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 5bb45ce 253/405: Added lexer test for properties inside heredoc, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode caafeba 260/405: Changed idle interval for incremental lexer, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode c7ad55c 255/405: Passed first integration-test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 310521b 254/405: Started with first integration-test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode d39152b 279/405: Added unit test for NUM_STRING token inside double-quoted string, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 44a997e 270/405: Added syntax coloring for "." tokens, Stefan Monnier, 2019/07/13