html/rainbow/rainbow.js
function(language, patterns, bypass) {

            // if there is only one argument then we assume that we want to
            // extend the default language rules
            if (arguments.length == 1) {
                patterns = language;
                language = DEFAULT_LANGUAGE;
            }

            bypass_defaults[language] = bypass;
            language_patterns[language] = patterns.concat(language_patterns[language] || []);
        }
function(language, patterns, bypass) {

            // if there is only one argument then we assume that we want to
            // extend the default language rules
            if (arguments.length == 1) {
                patterns = language;
                language = DEFAULT_LANGUAGE;
            }

            bypass_defaults[language] = bypass;
            language_patterns[language] = patterns.concat(language_patterns[language] || []);
        }
function ( language , patterns , bypass ) { // if there is only one argument then we assume that we want to // extend the default language rules if ( arguments . length == 1 ) { patterns = language ; language = DEFAULT_LANGUAGE ; } bypass_defaults [ language ] = bypass ; language_patterns [ language ] = patterns . concat ( language_patterns [ language ] || [ ] ) ; }
extends the language pattern matches

@param {*} language     name of language
@param {*} patterns      array of patterns to add on
@param {boolean|null} bypass      if true this will bypass the default language patterns
extends the language pattern matches