[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 7160da6: Improved re-scan feature and road-ma
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode 7160da6: Improved re-scan feature and road-map document |
Date: |
Tue, 10 Dec 2019 01:24:47 -0500 (EST) |
branch: externals/phps-mode
commit 7160da611d599a509569326f36f4387553902668
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
Improved re-scan feature and road-map document
---
README.md | 5 ++++-
phps-mode.el | 37 +++++++++++++++++++++++--------------
2 files changed, 27 insertions(+), 15 deletions(-)
diff --git a/README.md b/README.md
index cbcbc91..0838614 100644
--- a/README.md
+++ b/README.md
@@ -29,7 +29,10 @@ This mode does not require PHP installed on your computer
because it has a built
## Roadmap
-* Wisent Parser support
+* 1. Refactor lexer to separate buffer, error handling and error presentation
+* 2. Wisent Parser support
+* 3. Improved token-blind indentation
+* 4. Other enhancements
## Keymap
diff --git a/phps-mode.el b/phps-mode.el
index 83bd3b7..957f7da 100644
--- a/phps-mode.el
+++ b/phps-mode.el
@@ -6,7 +6,7 @@
;; Maintainer: Christian Johansson <address@hidden>
;; Created: 3 Mar 2018
;; Modified: 10 Dec 2019
-;; Version: 0.3.22
+;; Version: 0.3.23
;; Keywords: tools, convenience
;; URL: https://github.com/cjohansson/emacs-phps-mode
@@ -61,12 +61,19 @@
(defvar phps-mode-map
(let ((map (make-sparse-keymap)))
- (define-key map (kbd "C-c C-r") #'phps-mode-lexer-run)
+ (define-key map (kbd "C-c C-r") #'phps-mode-rescan-buffer)
(define-key map (kbd "C-c C-f") #'phps-mode-format-buffer)
map)
"Keymap for `phps-mode'.")
;;;###autoload
+(defun phps-mode-rescan-buffer ()
+ "Re-scan buffer."
+ (interactive)
+ (phps-mode-reset-local-variables)
+ (phps-mode-lexer-run))
+
+;;;###autoload
(defun phps-mode-flycheck-setup ()
"Setup `flycheck' for `phps-mode'."
;; Add support for flycheck PHP checkers: PHP, PHPMD and PHPCS here
@@ -142,6 +149,19 @@
(delete-region (point-min) (point-max))
(insert new-buffer-contents)))))
+(defun phps-mode-reset-local-variables ()
+ "Reset local variables."
+ (setq-local phps-mode-functions-allow-after-change t)
+ (setq-local phps-mode-analyzer-change-min nil)
+ (setq-local phps-mode-functions-idle-timer nil)
+ (setq-local phps-mode-functions-lines-indent nil)
+ (setq-local phps-mode-functions-imenu nil)
+ (setq-local phps-mode-functions-processed-buffer nil)
+ (setq-local phps-mode-lexer-buffer-length nil)
+ (setq-local phps-mode-lexer-buffer-contents nil)
+ (setq-local phps-mode-lexer-tokens nil)
+ (setq-local phps-mode-lexer-states nil))
+
(define-derived-mode phps-mode prog-mode "PHPs"
"Major mode for PHP with Semantic integration."
@@ -182,18 +202,7 @@
;; All PHP files MUST end with a non-blank line, terminated with a single
LF.
(setq require-final-newline t))
- ;; Reset buffer-local variables
- (setq-local phps-mode-functions-allow-after-change t)
- (setq-local phps-mode-analyzer-change-min nil)
- (setq-local phps-mode-functions-idle-timer nil)
- (setq-local phps-mode-functions-lines-indent nil)
- (setq-local phps-mode-functions-imenu nil)
- (setq-local phps-mode-functions-processed-buffer nil)
- (setq-local phps-mode-lexer-buffer-length nil)
- (setq-local phps-mode-lexer-buffer-contents nil)
- (setq-local phps-mode-lexer-tokens nil)
- (setq-local phps-mode-lexer-states nil)
- (setq-local phps-mode-functions-allow-after-change t)
+ (phps-mode-reset-local-variables)
;; Make (comment-region) and (uncomment-region) work
(setq-local comment-region-function #'phps-mode-functions-comment-region)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/phps-mode 7160da6: Improved re-scan feature and road-map document,
Christian Johansson <=