Changeset 12126

Show
Ignore:
Timestamp:
01/22/08 10:29:22 (6 months ago)
Author:
elazutkin
Message:

dojox.highlight: minor clean up (!strict)

Location:
dojox/trunk/highlight
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • dojox/trunk/highlight/tests/test_highlight.html

    r12045 r12126  
    3232        </style> 
    3333 
    34         <script type="text/javascript" djConfig="parseOnLoad:true, isDebug:true" src="../../../dojo/dojo.js"></script> 
     34        <script type="text/javascript" djConfig="parseOnLoad: true, isDebug: true" src="../../../dojo/dojo.js"></script> 
    3535        <script type="text/javascript" src="../_base.js"></script> 
    3636        <script type="text/javascript" src="../languages/cpp.js"></script> 
  • dojox/trunk/highlight/_base.js

    r12078 r12126  
    9292                                        mode.keywordGroups = mode.keywords; 
    9393                                }else{  
    94                                         mode.keywordGroups = { keyword: mode.keywords }; 
     94                                        mode.keywordGroups = {keyword: mode.keywords}; 
    9595                                } 
    9696                                break; 
     
    102102                if(lang.defaultMode && lang.modes){ 
    103103                        buildKeywordGroups(lang.defaultMode); 
    104                         for(var key in lang.modes){ 
    105                                 buildKeywordGroups(lang.modes[key]); 
    106                         } 
     104                        dojo.forEach(lang.modes, buildKeywordGroups); 
    107105                } 
    108106        } 
     
    142140        dojo.extend(Highlighter, { 
    143141                buildRes: function(){ 
    144                         for(var key in this.lang.modes){ 
    145                                 var mode = this.lang.modes[key]; 
     142                        dojo.forEach(this.lang.modes, function(mode){ 
    146143                                if(mode.begin){ 
    147144                                        mode.beginRe = this.langRe('^' + mode.begin); 
     
    153150                                        mode.illegalRe = this.langRe('^(?:' + mode.illegal + ')'); 
    154151                                } 
    155                         } 
     152                        }, this); 
    156153                        this.lang.defaultMode.illegalRe = this.langRe('^(?:' + this.lang.defaultMode.illegal + ')'); 
    157154                }, 
     
    160157                        var classes = this.modes[this.modes.length - 1].contains; 
    161158                        if(classes){ 
    162                                 for(var i in classes){ 
     159                                var modes = this.lang.modes; 
     160                                for(var i = 0; i < classes.length; ++i){ 
    163161                                        var className = classes[i]; 
    164                                         for(var key in this.lang.modes){ 
    165                                                 var mode = this.lang.modes[key]; 
    166                                                 if(mode.className == className && mode.beginRe.test(lexeme)){ 
    167                                                         return mode; 
    168                                                 } 
     162                                        for(var j = 0; j < modes.length; ++j){ 
     163                                                var mode = modes[j]; 
     164                                                if(mode.className == className && mode.beginRe.test(lexeme)){ return mode; } 
    169165                                        } 
    170166                                } 
     
    197193                                terminators = {}; 
    198194                        if(mode.contains){ 
    199                                 for(var key in this.lang.modes){ 
    200                                         var lmode = this.lang.modes[key]; 
    201                                         if(dojo.indexOf(mode.contains, lmode.className) >= 0 && !(lmode.begin in terminators)){ 
     195                                dojo.forEach(this.lang.modes, function(lmode){ 
     196                                        if(dojo.indexOf(mode.contains, lmode.className) >= 0){ 
    202197                                                terminators[lmode.begin] = 1; 
    203198                                        } 
    204                                 } 
     199                                }); 
    205200                        } 
    206201                        for(var i = this.modes.length - 1; i >= 0; --i){ 
     
    367362                        textBlock = blockText(block); 
    368363                for(var key in dh.languages){ 
    369                         if(key.charAt(0) == "_"){ continue; }   // skip internal members 
     364                        if(!dh.languages[key].defaultMode){ continue; } // skip internal members 
    370365                        var highlight = new Highlighter(key, textBlock), 
    371366                                relevance = highlight.keywordCount + highlight.relevance;