diff options
author | Dave Mayo <pobocks@gmail.com> | 2014-08-10 18:18:51 -0400 |
---|---|---|
committer | Dave Mayo <pobocks@gmail.com> | 2014-08-10 18:18:51 -0400 |
commit | e47b30a56de5fee21a029c5e9d168be744949d92 (patch) | |
tree | df0d458fb0c47f3549d5c6bcb60d1d65e6a75e66 | |
parent | bee781f7e31c2f6591239fbb0271c4a96b48ecd6 (diff) | |
download | emmet-mode-e47b30a56de5fee21a029c5e9d168be744949d92.tar.lz emmet-mode-e47b30a56de5fee21a029c5e9d168be744949d92.tar.xz emmet-mode-e47b30a56de5fee21a029c5e9d168be744949d92.zip |
Uses backward-char and less selective stop-words. Seems to basically work in all cases I have managed to test.
-rw-r--r-- | emmet-mode.el | 21 | ||||
-rw-r--r-- | src/mode-def.el | 21 |
2 files changed, 24 insertions, 18 deletions
diff --git a/emmet-mode.el b/emmet-mode.el index c1f5d80..46c6c0d 100644 --- a/emmet-mode.el +++ b/emmet-mode.el @@ -3491,11 +3491,14 @@ tbl)) (save-excursion (save-match-data (let ((char (char-before))) (while char - (cond ((member char '(?\} ?\] ?\))) (backward-sexp) (setq char (char-before))) - ((member char '(?\/ ?\<)) (search-forward ">") (setq char nil)) - ((not (string-match-p "[[:space:]\"';\n]" (string char))) - (backward-word) (setq char (char-before))) - (t (setq char nil)))) + (cond ((member char '(?\} ?\] ?\))) + (backward-sexp) (setq char (char-before))) + ((member char '(?\<)) + (search-forward ">") (setq char nil)) + ((not (string-match-p "[[:space:]\n]" (string char))) + (backward-char) (setq char (char-before))) + (t + (setq char nil)))) (point))))) (defcustom emmet-indentation 4 @@ -3560,7 +3563,7 @@ For more information see `emmet-mode'." (+ (- p (length output-markup)) (emmet-html-next-insert-point output-markup))))))))))))) -(defvar emmet-mode-keymap +(defvar emmet-mode-keymap (let ((map (make-sparse-keymap))) (define-key map (kbd "C-j") 'emmet-expand-line) @@ -3847,7 +3850,7 @@ accept it or skip it." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun emmet-go-to-edit-point (count) - (let + (let ((buf (buffer-string)) (point (point)) (edit-point "\\(\\(><\\)\\|\\(^[[:blank:]]+$\\)\\|\\(=\\(\"\\|'\\)\\{2\\}\\)\\)")) @@ -3865,8 +3868,8 @@ accept it or skip it." (backward-char)))) (progn (backward-char) - (let - ((search-result (re-search-backward edit-point nil t (- count)))) + (let + ((search-result (re-search-backward edit-point nil t (- count)))) (if search-result (progn (cond diff --git a/src/mode-def.el b/src/mode-def.el index cef6151..6d7aebc 100644 --- a/src/mode-def.el +++ b/src/mode-def.el @@ -20,11 +20,14 @@ (save-excursion (save-match-data (let ((char (char-before))) (while char - (cond ((member char '(?\} ?\] ?\))) (backward-sexp) (setq char (char-before))) - ((member char '(?\/ ?\<)) (search-forward ">") (setq char nil)) - ((not (string-match-p "[[:space:]\"';\n]" (string char))) - (backward-word) (setq char (char-before))) - (t (setq char nil)))) + (cond ((member char '(?\} ?\] ?\))) + (backward-sexp) (setq char (char-before))) + ((member char '(?\<)) + (search-forward ">") (setq char nil)) + ((not (string-match-p "[[:space:]\n]" (string char))) + (backward-char) (setq char (char-before))) + (t + (setq char nil)))) (point))))) (defcustom emmet-indentation 4 @@ -89,7 +92,7 @@ For more information see `emmet-mode'." (+ (- p (length output-markup)) (emmet-html-next-insert-point output-markup))))))))))))) -(defvar emmet-mode-keymap +(defvar emmet-mode-keymap (let ((map (make-sparse-keymap))) (define-key map (kbd "C-j") 'emmet-expand-line) @@ -376,7 +379,7 @@ accept it or skip it." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun emmet-go-to-edit-point (count) - (let + (let ((buf (buffer-string)) (point (point)) (edit-point "\\(\\(><\\)\\|\\(^[[:blank:]]+$\\)\\|\\(=\\(\"\\|'\\)\\{2\\}\\)\\)")) @@ -394,8 +397,8 @@ accept it or skip it." (backward-char)))) (progn (backward-char) - (let - ((search-result (re-search-backward edit-point nil t (- count)))) + (let + ((search-result (re-search-backward edit-point nil t (- count)))) (if search-result (progn (cond |