[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 6083965: css-mode.el (css-smie-rules): Fix indentat
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] master 6083965: css-mode.el (css-smie-rules): Fix indentation after complex selectors |
Date: |
Thu, 09 Apr 2015 14:51:28 +0000 |
branch: master
commit 6083965958381b29aa55948670d2b85289b0be6d
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
css-mode.el (css-smie-rules): Fix indentation after complex selectors
Fixes: debbugs:20282
* lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
inner structure of selectors.
---
lisp/textmodes/css-mode.el | 4 ++++
test/indent/css-mode.css | 15 +++++++++++++++
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el
index 7280080..851618c 100644
--- a/lisp/textmodes/css-mode.el
+++ b/lisp/textmodes/css-mode.el
@@ -327,6 +327,10 @@
(`(:elem . basic) css-indent-offset)
(`(:elem . arg) 0)
(`(:list-intro . ,(or `";" `"")) t) ;"" stands for BOB (bug#15467).
+ (`(:before . "{")
+ (when (smie-rule-hanging-p)
+ (smie-backward-sexp ";")
+ (smie-indent-virtual)))
(`(:before . ,(or "{" "("))
(if (smie-rule-hanging-p) (smie-rule-parent 0)))))
diff --git a/test/indent/css-mode.css b/test/indent/css-mode.css
index 564ac16..faf9153 100644
--- a/test/indent/css-mode.css
+++ b/test/indent/css-mode.css
@@ -8,6 +8,21 @@ article[role="main"] {
width: 60%;
}
+a, b:hover, c {
+ color: black;
+}
+
+a, b:hover { /* bug:20282 */
+ c {
+ color: black;
+ }
+ color: black;
+}
+
+a.b:c,d.e:f,g[h]:i,j[k]:l,.m.n:o,.p.q:r,.s[t]:u,.v[w]:x { /* bug:20282 */
+ background-color: white;
+}
+
/* asdfasdf */
@foo x2 {
bla:toto;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 6083965: css-mode.el (css-smie-rules): Fix indentation after complex selectors,
Stefan Monnier <=