function nextLine() {
            var at,
                tw; // trailing whitespace check

            if (line >= lines.length)
                return false;

            character = 1;
            s = lines[line];
            line += 1;

            // If smarttabs option is used check for spaces followed by tabs only.
            // Otherwise check for any occurence of mixed tabs and spaces.
            if (option.smarttabs)
                at = s.search(/ \t/);
            else
                at = s.search(/ \t|\t /);

            if (at >= 0)
                warningAt("Mixed spaces and tabs.", line, at + 1);

            s = s.replace(/\t/g, tab);
            at = s.search(cx);

            if (at >= 0)
                warningAt("Unsafe character.", line, at);

            if (option.maxlen && option.maxlen < s.length)
                warningAt("Line too long.", line, s.length);

            // Check for trailing whitespaces
            tw = option.trailing && s.match(/^(.*?)\s+$/);
            if (tw && !/^\s+$/.test(s)) {
                warningAt("Trailing whitespace.", line, tw[1].length + 1);
            }
            return true;
        }
function nextLine() {
            var at,
                tw; 

            if (line >= lines.length)
                return false;

            character = 1;
            s = lines[line];
            line += 1;

            
            
            if (option.smarttabs)
                at = s.search(/ \t/);
            else
                at = s.search(/ \t|\t /);

            if (at >= 0)
                warningAt("Mixed spaces and tabs.", line, at + 1);

            s = s.replace(/\t/g, tab);
            at = s.search(cx);

            if (at >= 0)
                warningAt("Unsafe character.", line, at);

            if (option.maxlen && option.maxlen < s.length)
                warningAt("Line too long.", line, s.length);

            
            tw = option.trailing && s.match(/^(.*?)\s+$/);
            if (tw && !/^\s+$/.test(s)) {
                warningAt("Trailing whitespace.", line, tw[1].length + 1);
            }
            return true;
        }
function nextLine ( ) { var at , tw ; // trailing whitespace check if ( line >= lines . length ) return false ; character = 1 ; s = lines [ line ] ; line += 1 ; // If smarttabs option is used check for spaces followed by tabs only. // Otherwise check for any occurence of mixed tabs and spaces. if ( option . smarttabs ) at = s . search ( /  \t / ) ; else at = s . search ( /  \t|\t  / ) ; if ( at >= 0 ) warningAt ( "Mixed spaces and tabs." , line , at + 1 ) ; s = s . replace ( / \t / g , tab ) ; at = s . search ( cx ) ; if ( at >= 0 ) warningAt ( "Unsafe character." , line , at ) ; if ( option . maxlen && option . maxlen < s . length ) warningAt ( "Line too long." , line , s . length ) ; // Check for trailing whitespaces tw = option . trailing && s . match ( / ^(.*?)\s+$ / ) ; if ( tw && ! / ^\s+$ / . test ( s ) ) { warningAt ( "Trailing whitespace." , line , tw [ 1 ] . length + 1 ) ; } return true ; }
Private lex methods
Private lex methods