From: Simen Heggestøyl Date: Sun, 15 May 2022 14:22:14 +0000 (+0200) Subject: Recognize some more SCSS selectors X-Git-Tag: emacs-29.0.90~1910^2~665 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4aa811585597884398b5be13d92f4af0a06de3e1;p=emacs.git Recognize some more SCSS selectors * lisp/textmodes/css-mode.el (css--selector-regexp): Recognize some more SCSS selectors. * test/lisp/textmodes/css-mode-resources/scss-selectors.txt: Add tests for them. --- diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index 99b4482dc53..a2a7774aba7 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el @@ -936,8 +936,8 @@ cannot be completed sensibly: `custom-ident', ;; Same as for non-sassy except we do want to allow { and } ;; chars in selectors in the case of #{$foo} ;; variable interpolation! - (concat "\\(?:[-_%*#.>[:alnum:]]*" scss--hash-re - "\\|[-_%*#.>[:alnum:]]+\\)")) + (concat "\\(?:[-_%*#.>&+~[:alnum:]]*" scss--hash-re + "\\|[-_%*#.>&+~[:alnum:]]+\\)")) ;; Even though pseudo-elements should be prefixed by ::, a ;; single colon is accepted for backward compatibility. "\\(?:\\(:" (regexp-opt (append css-pseudo-class-ids diff --git a/test/lisp/textmodes/css-mode-resources/scss-selectors.txt b/test/lisp/textmodes/css-mode-resources/scss-selectors.txt index 86e58110b72..3e05191a910 100644 --- a/test/lisp/textmodes/css-mode-resources/scss-selectors.txt +++ b/test/lisp/textmodes/css-mode-resources/scss-selectors.txt @@ -4,3 +4,7 @@ p.#{$name}::after var f.#{$bar}::after p::after p.#{$name} f.#{$bar} k.var #{$bar} #{$bar} p.#{$name} +&:hover +> li ++ li +~ li