2017年1月14日土曜日 5時53分05秒 UTC+9 Bram Moolenaar:
> Ryuichi Hayashida wrote:
>
> > Hi Jules, Bram, and team
> >
> > I found that highlight of CSS's class names is broken in below cases:
> >
> > - class name is one character
> > - class name starts with under score
> >
> > I fixed them. Please find attached css.vim.patch.
> >
> > Repro: Execute below shell commands
> >
> > -------------------------------------
> >
> > $ cat <<-EOS > test.css
> > ._foo {
> > margin: 0;
> > }
> >
> > .a {
> > margin: 0;
> > }
> > EOS
> >
> > $ vim test.css
> >
> > -------------------------------------
>
> I believe a class name can also start with a dash:
>
> .-foo {
> margin: 0;
> }
>
> The suggested pattern is:
>
> -\=[_a-zA-Z][_a-zA-Z0-9-]*
>
> --
> hundred-and-one symptoms of being an internet addict:
> 266. You hear most of your jokes via e-mail instead of in person.
>
> /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
> /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
> \\\ an exciting new programming language -- http://www.Zimbu.org ///
> \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Thank you for your review.
I confirmed that you're correct with CSS spec.
https://www.w3.org/TR/CSS21/grammar.html#scanner
> ident -?{nmstart}{nmchar}*
I fixed my patch and attached it to this mail.
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim
index 3dc3f5c..a66cbdc 100644
--- a/runtime/syntax/css.vim
+++ b/runtime/syntax/css.vim
@@ -56,7 +56,7 @@ syn match cssSelectorOp2 "[~|^$*]\?=" contained
syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
" .class and #id
-syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" contains=cssClassNameDot
+syn match cssClassName "\.-\=[A-Za-z_][A-Za-z0-9_-]*" contains=cssClassNameDot
syn match cssClassNameDot contained '\.'
try