summaryrefslogtreecommitdiff
path: root/lisp/textmodes/css-mode.el
diff options
context:
space:
mode:
authorSimen Heggestøyl <simenheg@gmail.com>2017-08-15 12:39:42 +0200
committerSimen Heggestøyl <simenheg@gmail.com>2017-08-15 14:38:15 +0200
commit141cc78aa4552e99bf14c13d9e64357ccafe171b (patch)
treea2fcad61285d000fbf5ab0e70c45ef42d20f3ded /lisp/textmodes/css-mode.el
parent85a9f42b6ca7711c64cbd3e4e261fae308eab9d3 (diff)
downloademacs-141cc78aa4552e99bf14c13d9e64357ccafe171b.tar.gz
Support indentation of detached Less CSS rulesets
* lisp/textmodes/css-mode.el (css-smie-rules): Provide better support for indentation of detached rulesets passed to Less mixins. * test/manual/indent/less-css-mode.less: New file.
Diffstat (limited to 'lisp/textmodes/css-mode.el')
-rw-r--r--lisp/textmodes/css-mode.el9
1 files changed, 6 insertions, 3 deletions
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el
index 19cb7b4fea8..1e49ca81fcc 100644
--- a/lisp/textmodes/css-mode.el
+++ b/lisp/textmodes/css-mode.el
@@ -1205,9 +1205,12 @@ for determining whether point is within a selector."
(`(:before . "{")
(when (or (smie-rule-hanging-p) (smie-rule-bolp))
(smie-backward-sexp ";")
- (smie-indent-virtual)))
- (`(:before . ,(or "{" "("))
- (if (smie-rule-hanging-p) (smie-rule-parent 0)))
+ (unless (eq (char-after) ?\{)
+ (smie-indent-virtual))))
+ (`(:before . "(")
+ (cond
+ ((smie-rule-hanging-p) (smie-rule-parent 0))
+ ((not (smie-rule-bolp)) 0)))
(`(:after . ":-property")
(when (smie-rule-hanging-p)
css-indent-offset))))