Compared files  

Left
C:\SDK\wxWidgets-2.6.2\contrib\src\stc\scintilla\src\LexBash.cxx
Last modified2004-09-27 22:29:20.000 +0200
Size17.8 Kb (646 Lines)
EncodingLatin 1 - ANSI (CP1252) default
Right
C:\SDK\wxWidgets-2.6.3\contrib\src\stc\scintilla\src\LexBash.cxx
Last modified2006-03-16 13:07:06.001 +0100
Size18.5 Kb (663 Lines)
EncodingLatin 1 - ANSI (CP1252) default


   Comparison Statistics  

Detailed Statistics

All Changes
 BlocksLines
Unchanged9632
Inserted317
Deleted00
Ignored00
Changed528



   Comparison Details  

1 skipped line
2U2U/** @file LexBash.cxx
3U3U ** Lexer for Bash.
4U4U **/
5C// Copyright 2004 by Neil Hodgson <neilh@scintilla.org> 5C// Copyright 2004-2005 by Neil Hodgson <neilh@scintilla.org>
6U6U// Adapted from LexPerl by Kein-Hong Man <mkh@pl.jaring.my> 2004
7U7U// The License.txt file describes the conditions under which this software may be distributed.
8U8U 
135 skipped lines
144U144U        char *Delimiter;// the Delimiter, 256: sizeof PL_tokenbuf
145U145U        HereDocCls() {
146U146U        State = 0;
  147A            Quote = 0;
  148A            Quoted = false;
  149A            Indent = 0;
147U150U        DelimiterLength = 0;
148U151U        Delimiter = new char[HERE_DELIM_MAX];
149U152U        Delimiter[0] = '\0';
292 skipped lines
442U445U        HereDoc.Quoted = false;
443U446U        HereDoc.DelimiterLength = 0;
444U447U        HereDoc.Delimiter[HereDoc.DelimiterLength] = '\0';
445C        if (chNext == '\'') { // a quoted here-doc delimiter (' only) 448C        if (chNext == '\'' || chNext == '\"') {   // a quoted here-doc delimiter (' or ")
446U449U        i++;
447U450U        ch = chNext;
448U451U        chNext = chNext2;
2 skipped lines
451U454U        HereDoc.Indent = true;
452U455U        HereDoc.State = 0;
453U456U        } else if (isalpha(chNext) || chNext == '_' || chNext == '\\'
454C        || chNext == '-' || chNext == '+') { 457C        || chNext == '-' || chNext == '+' || chNext == '!'{
455U458U        // an unquoted here-doc delimiter, no special handling
  459A                        // TODO check what exactly bash considers part of the delim
456U460U        } else if (chNext == '<') {   // HERE string <<<
457U461U        i++;
458U462U        ch = chNext;
27 skipped lines
486U490U        HereDoc.Delimiter[HereDoc.DelimiterLength] = '\0';
487U491U        }
488U492U        } else { // an unquoted here-doc delimiter
489C        if (isalnum(ch) || ch == '_' || ch == '-' || ch == '+') { 493C        if (isalnum(ch) || ch == '_' || ch == '-' || ch == '+' || ch == '!') {
490U494U        HereDoc.Delimiter[HereDoc.DelimiterLength++] = ch;
491U495U        HereDoc.Delimiter[HereDoc.DelimiterLength] = '\0';
492U496U        } else if (ch == '\\') {
89 skipped lines
582U586U    styler.ColourTo(lengthDoc - 1, state);
583U587U}
584U588U 
  589Astatic bool IsCommentLine(int line, Accessor &styler) {
  590A    int pos = styler.LineStart(line);
  591A    int eol_pos = styler.LineStart(line + 1) - 1;
  592A    for (int i = pos; i < eol_pos; i++) {
  593A        char ch = styler[i];
3 skipped lines
  597A        return false;
  598A    }
  599A    return false;
  600A}
  601A 
585U602Ustatic void FoldBashDoc(unsigned int startPos, int length, int, WordList *[],
586U603U                            Accessor &styler) {
587U604U    bool foldComment = styler.GetPropertyInt("fold.comment") != 0;
11 skipped lines
599U616U        int style = styleNext;
600U617U        styleNext = styler.StyleAt(i + 1);
601U618U        bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n');
  619C        // Comment folding
602C        if (foldComment && (style == SCE_SH_COMMENTLINE)) { 620C        if (foldComment && atEOL && IsCommentLine(lineCurrent, styler))
  621C        {
603C        if ((ch == '/') && (chNext == '/')) { 622C            if (!IsCommentLine(lineCurrent - 1, styler)
604C        char chNext2 = styler.SafeGetCharAt(i + 2); 623C                && IsCommentLine(lineCurrent + 1, styler))
605C        if (chNext2 == '{') {  
606C        levelCurrent++; 624C                levelCurrent++;
607C        } else if (chNext2 == '}') { 625C            else if (IsCommentLine(lineCurrent - 1, styler)
  626C                     && !IsCommentLine(lineCurrent+1, styler))
608C        levelCurrent--; 627C                levelCurrent--;
609C        }  
610C        }  
611C        } 628C        }
612U629U        if (style == SCE_C_OPERATOR) {
613U630U        if (ch == '{') {
614U631U        levelCurrent++;
32 skipped lines

   Text comparison Options  

Match character case: yes.
Match line endings: no.
Match spaces

At start of lines: yes,
In middle of lines: yes,
At end of lines: yes.
Blank lines as empty lines: no.
Activate comparison algorithm
At word level: yes,
At character level: no.


   Legend  

UExample of unchanged line
CExample of modified line
AExample of added line
RExample of removed line
IExample of ignored line
Modified text
Added text
Removed text

This report has been generated by Ellié Computing Merge on 2006-09-07 16:23:35.001 +0200.
© 2005-2006 Ellié Computing http://www.elliecomputing.com. All rights reserved.