Re: [PATCH] userdiff: add built-in pattern for CSS
From: Johannes Sixt <hidden>
Date: 2016-06-16 02:19:44
Am 03.06.2016 um 14:32 schrieb William Duclot:
CSS is widely used, motivating it being included as a built-in pattern.
It must be noted that the word_regex for CSS (i.e. the regex defining
what is a word in the language) does not consider '.' and '#' characters
(in CSS selectors) to be part of the word. This behavior is documented
by the test t/t4018/css-rule.
The logic behind this behavior is the following: identifiers in CSS
selectors are identifiers in a HTML/XML document. Therefore, the '.'/'#'
character are not part of the identifier, but an indicator of the nature
of the identifier in HTML/XML (class or id). Diffing ".class1" and
".class2" must show that the class name is changed, but we still are
selecting a class.
Logic behind the "pattern" regex is:
1. reject lines ending with a colon/semicolon (properties)
2. if a line begins with a name in column 1, pick the whole line
Credits to Johannes Sixt (j6t@kdbg.org) for the pattern regex and most
of the tests.
Signed-off-by: William Duclot <redacted>
Signed-off-by: Matthieu Moy <redacted>
---
Changes since V3:
- Add a few tests
- Remove a redondant test
- Handle trailing spaces
- Reword in doc
- Improvement of the pattern regexThanks, I think we can take this version. -- Hannes