]> git.eshelyaron.com Git - emacs.git/commitdiff
Allow underscores in CSS variable names
authorSimen Heggestøyl <simenheg@gmail.com>
Sun, 10 May 2020 12:44:26 +0000 (14:44 +0200)
committerSimen Heggestøyl <simenheg@gmail.com>
Sun, 10 May 2020 12:57:22 +0000 (14:57 +0200)
* lisp/textmodes/css-mode.el (css-nmchar-re): Allow underscores in
variable names (and in identifiers in general).

* test/manual/indent/css-mode.css: Add some examples of variable names
with underscores in them.

* test/manual/indent/less-css-mode.less: Add some examples of variable
names with underscores in them.

* test/manual/indent/scss-mode.scss: Add some examples of variable
names with underscores in them.

lisp/textmodes/css-mode.el
test/manual/indent/css-mode.css
test/manual/indent/less-css-mode.less
test/manual/indent/scss-mode.scss

index ab9e2dc35ec9499372fb4e63477723e3847dc95e..0035c5e7b05a39bdd03efb96716afe3928ae601a 100644 (file)
@@ -886,7 +886,7 @@ cannot be completed sensibly: `custom-ident',
 
 (defconst css-escapes-re
   "\\\\\\(?:[^\000-\037\177]\\|[[:xdigit:]]+[ \n\t\r\f]?\\)")
-(defconst css-nmchar-re (concat "\\(?:[-[:alnum:]]\\|" css-escapes-re "\\)"))
+(defconst css-nmchar-re (concat "\\(?:[-_[:alnum:]]\\|" css-escapes-re "\\)"))
 (defconst css-nmstart-re (concat "\\(?:[[:alpha:]]\\|" css-escapes-re "\\)"))
 (defconst css-ident-re ;; (concat css-nmstart-re css-nmchar-re "*")
   ;; Apparently, "at rules" names can start with a dash, e.g. @-moz-keyframes.
index ecf6c3c0ca52f0e946499b721c0e3efb8ae31092..041aeec1b1570970f4785f0206a578e06a4642b5 100644 (file)
@@ -92,5 +92,9 @@ div::before {
 
 .foo-bar--baz {
     --foo-variable: 5px;
+    --_variable_with_underscores: #fff;
+    --_variable-starting-with-underscore: none;
     margin: var(--foo-variable);
+    color: var(--_variable_with_underscores);
+    display: var(--_variable-starting-with-underscore);
 }
index 36c037450ccf65d6edd0396a06a8aac8abc7dac2..b40a2362e281a79d6a1fd43647fe896d722f16ab 100644 (file)
@@ -1,3 +1,13 @@
+@var-with-dashes: #428bca;
+@var_with_underscores: 10px;
+@_var-starting-with-underscore: none;
+
+body {
+    background: @var-with-dashes;
+    padding: @var_with_underscores;
+    display: @_var-starting-with-underscore;
+}
+
 .desktop-and-old-ie(@rules) {
     @media screen and (min-width: 1200) { @rules(); }
     html.lt-ie9 &                       { @rules(); }
index a3dd41eeb474cd1e23818b0e22b79885fbb5ad0e..189ec4e22ac36fdb480c0320ea64a362d0503685 100644 (file)
@@ -41,9 +41,13 @@ p.#{$name} var
 article[role="main"] {
     $toto: 500 !global;
     $var-with-default: 300 !default;
+    $var_with_underscores: #fff;
+    $_var-starting-with-underscore: none;
     float: left !important;
     width: 600px / 888px * 100%;
     height: 100px / 888px * 100%;
+    color: $var_with_underscores;
+    display: $_var-starting-with-underscore;
 }
 
 %placeholder {