On 26 Apr 2014, at 20:49, Johannes Sixt <j...@kdbg.org> wrote:
> Am 26.04.2014 11:55, schrieb Marius Ungureanu:
>> On 26 Apr 2014, at 10:10, Johannes Sixt <j...@kdbg.org> wrote:
>>> Am 26.04.2014 01:25, schrieb Marius Ungureanu:
>>>> diff --git a/userdiff.c b/userdiff.c
>>>> index fad52d6..7612c5d 100644
>>>> --- a/userdiff.c
>>>> +++ b/userdiff.c
>>>> @@ -133,14 +133,14 @@ PATTERNS("cpp",
>>>>     "|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lLuU]*"
>>>>     "|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->\\*?|\\.\\*"),
>>>> PATTERNS("csharp",
>>>> -   /* Keywords */
>>>> -   "!^[ 
>>>> \t]*(do|while|for|if|else|instanceof|new|return|switch|case|throw|catch|using)\n"
>>>>     /* Methods and constructors */
>>>> -   "^[ 
>>>> \t]*(((static|public|internal|private|protected|new|virtual|sealed|override|unsafe)[
>>>>  \t]+)*[][<>@.~_[:alnum:]]+[ \t]+[<>@._[:alnum:]]+[ \t]*\\(.*\\))[ \t]*$\n"
>>>> -   /* Properties */
>>>> -   "^[ 
>>>> \t]*(((static|public|internal|private|protected|new|virtual|sealed|override|unsafe)[
>>>>  \t]+)*[][<>@.~_[:alnum:]]+[ \t]+[@._[:alnum:]]+)[ \t]*$\n"
>>>> +   "^[ 
>>>> \t]*(((abstract|extern|internal|new|override|private|protected|public|sealed|static|unsafe|virtual)[
>>>>  \t]+)*[][<>@.~_[:alnum:]]+[ \t]+[<>@._[:alnum:]]+[ \t]*\\(.*\\))[ \t]*$\n"
>>>> +   /* Properties, events, delegates */
>>>> +   "^[ 
>>>> \t]*(((abstract|internal|new|override|private|protected|public|sealed|static|unsafe|virtual)[
>>>>  \t]+)*((delegate|event)[ \t]+)*[][<>@.~_[:alnum:]]+[ 
>>>> \t]+[@._[:alnum:]]+)[ \t]*$\n"
>>>>     /* Type definitions */
>>>> -   "^[ 
>>>> \t]*(((static|public|internal|private|protected|new|unsafe|sealed|abstract|partial)[
>>>>  \t]+)*(class|enum|interface|struct)[ \t]+.*)$\n"
>>>> +   "^[ 
>>>> \t]*(((abstract|internal|new|override|partial|private|protected|public|sealed|static|unsafe)[
>>>>  \t]+)*(class|enum|interface|struct)[ \t]+.*)$\n"
>>>> +   /* Keywords */
>>>> +   "!^[ 
>>>> \t]*(as|base|break|case|catch|checked|continue|default|delegate|do|else|finally|fixed|for|foreach|if|in|is|lock|new|null|out|readonly|ref|return|switch|this|throw|try|typeof|unchecked|unsafe|using|var|while)\n"
>>>>     /* Namespace */
>>>>     "^[ \t]*(namespace[ \t]+.*)$",
>>>>     /* -- */
>> 
>> ...
>> Modifier parsing can contain keywords, so just to be sure, I moved the
>> keywords after modifier parsing, so it uses the keywords as a fallback.
>> If this is not what should happen, please tell.
> 
> For each line, patterns are are scanned in order, and the first match
> determines the outcome: If it is a negative pattern (i.e., it begins
> with an exclamation mark), the line is not a hunk header; if it is a
> positive pattern, the line is a hunk header. If no pattern matches, the
> line is not a hunk header, either; it is as if the list were terminated
> by a negative catch-all pattern.
> 
> Due to these rules, negative patterns in the list are only necessary
> when you want to make an exception to a positive pattern in the list,
> and then the negative pattern must be listed before the positive pattern.
> 
> In the csharp case, I do not see a pattern of which the keyword pattern
> would make an exception (neither the old version nor your new version).
> Therefore, you could drop the keyword pattern entirely.
> 
> -- Hannes
> 

Hey!

I’ll remove them and add as many unit tests I can. I’ve been side tracked
today and I couldn’t get to look at it. I’ll start a new thread with the new
patch as soon as I’m done with it.

Thanks for all the tips until now. You’ve been of great help.

Marius--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to