Thread (9 messages) flat view 9 messages, 2 authors, 2016-06-16

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 regex
Thanks, I think we can take this version.

-- Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help