0719f3eecd
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 <william.duclot@ensimag.grenoble-inp.fr> Signed-off-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr> Reviewed-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> |
||
---|---|---|
.. | ||
cpp-c++-function | ||
cpp-class-constructor | ||
cpp-class-constructor-mem-init | ||
cpp-class-definition | ||
cpp-class-definition-derived | ||
cpp-class-destructor | ||
cpp-function-returning-global-type | ||
cpp-function-returning-nested | ||
cpp-function-returning-pointer | ||
cpp-function-returning-reference | ||
cpp-gnu-style-function | ||
cpp-namespace-definition | ||
cpp-operator-definition | ||
cpp-skip-access-specifiers | ||
cpp-skip-comment-block | ||
cpp-skip-labels | ||
cpp-struct-definition | ||
cpp-struct-single-line | ||
cpp-template-function-definition | ||
cpp-union-definition | ||
cpp-void-c-function | ||
css-brace-in-col-1 | ||
css-colon-eol | ||
css-colon-selector | ||
css-common | ||
css-long-selector-list | ||
css-prop-sans-indent | ||
css-short-selector-list | ||
css-trailing-space | ||
custom1-pattern | ||
custom2-match-to-end-of-line | ||
custom3-alternation-in-pattern | ||
fountain-scene | ||
java-class-member-function | ||
perl-skip-end-of-heredoc | ||
perl-skip-forward-decl | ||
perl-skip-sub-in-pod | ||
perl-sub-definition | ||
perl-sub-definition-kr-brace | ||
README |
How to write RIGHT test cases ============================= Insert the word "ChangeMe" (exactly this form) at a distance of at least two lines from the line that must appear in the hunk header. The text that must appear in the hunk header must contain the word "right", but in all upper-case, like in the title above. To mark a test case that highlights a malfunction, insert the word BROKEN in all lower-case somewhere in the file. This text is a bit twisted and out of order, but it is itself a test case for the default hunk header pattern. Know what you are doing if you change it. BTW, this tests that the head line goes to the hunk header, not the line of equal signs.