diff options
| author | Simen Heggestøyl | 2017-06-17 09:28:43 +0200 |
|---|---|---|
| committer | Simen Heggestøyl | 2017-06-17 10:38:29 +0200 |
| commit | 8960f6aa36000a8d6014e0c7371ee96ba148965a (patch) | |
| tree | 5c59504139d772abd49885af93f38c745bfbf025 | |
| parent | 27c194995b460b79e8e62e0d21e85d87df664649 (diff) | |
| download | emacs-8960f6aa36000a8d6014e0c7371ee96ba148965a.tar.gz emacs-8960f6aa36000a8d6014e0c7371ee96ba148965a.zip | |
Complete CSS property values less eagerly (Bug#27392)
* lisp/textmodes/css-mode.el (css--complete-property-value): Be less
eager by looking for a colon after the property which values are being
completed for.
* test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
Add a test case ensuring that properties that are prefixes of other
properties don't hinder further completion.
| -rw-r--r-- | lisp/textmodes/css-mode.el | 9 | ||||
| -rw-r--r-- | test/lisp/textmodes/css-mode-tests.el | 7 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index 0beaaaa32f1..4952533e834 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el | |||
| @@ -1289,10 +1289,11 @@ the string PROPERTY." | |||
| 1289 | (let ((property | 1289 | (let ((property |
| 1290 | (save-excursion | 1290 | (save-excursion |
| 1291 | (re-search-backward ":[^/]" (line-beginning-position) t) | 1291 | (re-search-backward ":[^/]" (line-beginning-position) t) |
| 1292 | (let ((property-end (point))) | 1292 | (when (eq (char-after) ?:) |
| 1293 | (skip-chars-backward "-[:alnum:]") | 1293 | (let ((property-end (point))) |
| 1294 | (let ((property (buffer-substring (point) property-end))) | 1294 | (skip-chars-backward "-[:alnum:]") |
| 1295 | (car (member property css-property-ids))))))) | 1295 | (let ((prop (buffer-substring (point) property-end))) |
| 1296 | (car (member prop css-property-ids)))))))) | ||
| 1296 | (when property | 1297 | (when property |
| 1297 | (let ((end (point))) | 1298 | (let ((end (point))) |
| 1298 | (save-excursion | 1299 | (save-excursion |
diff --git a/test/lisp/textmodes/css-mode-tests.el b/test/lisp/textmodes/css-mode-tests.el index b4666ae72d7..68946a01c06 100644 --- a/test/lisp/textmodes/css-mode-tests.el +++ b/test/lisp/textmodes/css-mode-tests.el | |||
| @@ -159,7 +159,12 @@ | |||
| 159 | (insert "body { f") | 159 | (insert "body { f") |
| 160 | (let ((completions (css-mode-tests--completions))) | 160 | (let ((completions (css-mode-tests--completions))) |
| 161 | (should (member "filter" completions)) | 161 | (should (member "filter" completions)) |
| 162 | (should-not (member "position" completions))))) | 162 | (should-not (member "position" completions)))) |
| 163 | ;; Bug#27392 | ||
| 164 | (with-temp-buffer | ||
| 165 | (css-mode) | ||
| 166 | (insert "html { grid") | ||
| 167 | (should (> (length (css-mode-tests--completions)) 0)))) | ||
| 163 | 168 | ||
| 164 | (ert-deftest css-test-foreign-completions () | 169 | (ert-deftest css-test-foreign-completions () |
| 165 | (let ((other-buffer-1 (generate-new-buffer "1")) | 170 | (let ((other-buffer-1 (generate-new-buffer "1")) |