Junio C Hamano <gitster@xxxxxxxxx> writes: > William Duclot <william.duclot@xxxxxxxxxxxxxxxxxxxxxxx> writes: > >> As the CSS pattern >> does not deal with letters at all it seemed sensible to me to follow >> the example of the HTML pattern, which use PATTERNS(). > > Did you notice that HTML pattern has to do an [Hh] that would be > unnecessary if it chose to use IPATTTERN()? > > You do not have to ask a person, but instead ask the history. > IPATTERN() was added at 909a5494 (userdiff.c: add builtin fortran > regex patterns, 2010-09-10) when adding fortran support. Anything > that existed before, including HTML, did [A-Za-z] when they could > have done [a-z] if IPATTERN() existed back then. I hadn't noticed that the HTML pattern was older, indeed >>> - In our codebase, we format multi-line comments in a particular >>> way, namely >>> >>> /* >>> * A multi-line comment begins with slash asterisk >>> * on its own line, and its closing asterisk slash >>> * also is on its own line. >>> */ >> >> I take good note of that. I took example on the fortran pattern >> comment, should I fix it too while I'm at it? > > Not "while you are at it". > > Making existing things better is welcome but such a change shouldn't > be mixed with addition of new things. You can do it as a separate > patch, probably as a preliminary clean-up before your change, if you > want to. OK ! Johannes Sixt <j6t@xxxxxxxx> writes: > Am 24.05.2016 um 16:25 schrieb William Duclot: >> +PATTERNS("css", >> + "^([^,{}]+)((,[^}]*\\{)|([ \t]*\\{))$", > > This hunk header pattern is a bit too restrictive for my taste. Find > below a few more test cases that you should squash in. One case fails > because only the first CSS selector is picked up, for which I do not > see a reason. > > Another case fails because the opening brace is not on the line with > the CSS selectors. Yes, it seems you're right ! > I think what the hunk header pattern should do is: > > 1. reject lines containing a colon (because that are properties) > 2. if a line begins with a name in column 1, pick the whole line > > See the cpp patterns: a pattern beginning with ! is a "reject" pattern. That may be a good idea, I will look into that > diff --git a/t/t4018/css-brace-in-col-1 b/t/t4018/css-brace-in-col-1 > new file mode 100644 > index 0000000..7831577 > --- /dev/null > +++ b/t/t4018/css-brace-in-col-1 > @@ -0,0 +1,5 @@ > +RIGHT label.control-label > +{ > + margin-top: 10px!important; > + border : 10px ChangeMe #C6C6C6; > +} > diff --git a/t/t4018/css-rule b/t/t4018/css-common > similarity index 100% > rename from t/t4018/css-rule > rename to t/t4018/css-common > diff --git a/t/t4018/css-long-selector-list b/t/t4018/css-long-selector-list > new file mode 100644 > index 0000000..7ccd25d > --- /dev/null > +++ b/t/t4018/css-long-selector-list > @@ -0,0 +1,6 @@ > +p.header, > +label.control-label, > +div ul#RIGHT { > + margin-top: 10px!important; > + border : 10px ChangeMe #C6C6C6; > +} > diff --git a/t/t4018/css-prop-sans-indent b/t/t4018/css-prop-sans-indent > new file mode 100644 > index 0000000..a9e3c86 > --- /dev/null > +++ b/t/t4018/css-prop-sans-indent > @@ -0,0 +1,5 @@ > +RIGHT, label.control-label { > +margin-top: 10px!important; > +padding: 0; > +border : 10px ChangeMe #C6C6C6; > +} > diff --git a/t/t4018/css-short-selector-list > b/t/t4018/css-short-selector-list > new file mode 100644 > index 0000000..6a0bdee > --- /dev/null > +++ b/t/t4018/css-short-selector-list > @@ -0,0 +1,4 @@ > +label.control, div ul#RIGHT { > + margin-top: 10px!important; > + border : 10px ChangeMe #C6C6C6; > +} > -- > 2.9.0.rc0.40.gb3c1388 Thanks for the test cases, I'll look into that as soon as I have time -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html