styler, pos, keywords);
        }
      } break;
      case '"':
        if (styler.Match(pos+1, "\"\"")) {
          pos = tillEndOfTripleQuote(styler, pos+3, max);
          styler.ColourTo(pos, SCE_P_TRIPLEDOUBLE);
        } else {
          pos = scanString(styler, pos+1, max, false);
          styler.ColourTo(pos, SCE_P_STRING);
        }
        pos++;
      break;
      case '\'':
        pos = scanChar(styler, pos+1, max);
        styler.ColourTo(pos, SCE_P_CHARACTER);
        pos++;
      break;
      default: // identifers, numbers, operators, whitespace
        if (ch >= '0' && ch <= '9') {
          pos = scanNumber(styler, pos);
        } else if (IsAWordChar(ch)) {
          pos = scanIdent(styler, pos, keywords);
        } else if (ch == '`') {
          pos++;
          while (pos < max) {
            ch = styler.SafeGetCharAt(pos, LF);
            if (ch == '`') {
              ++pos;
              break;
            }
            if (ch == CR || ch == LF) break;
            ++pos;
          }
          styler.ColourTo(pos, SCE_P_IDENTIFIER);
        } else if (strchr("()[]{}:=;-\\/&%$!+<>|^?,.*~@", ch)) {
          styler.ColourTo(pos, SCE_P_OPERATOR);
          pos++;
        } else {
          styler.ColourTo(pos, SCE_P_DEFAULT);
          pos++;
        }
      break;
    }
  }
}

static bool IsCommentLine(Sci_Position line, Accessor &styler) {
	Sci_Position pos = styler.LineStart(line);
	Sci_Position eol_pos = styler.LineStart(line + 1) - 1
styler, pos, keywords); 
         } 
       } break; 
       case' "': 
         if (styler. Match(pos+1, " \"\ " ") ) { 
           pos = tillEndOfTripleQuote(styler, pos+3, max); 
           styler. ColourTo(pos, SCE_P_TRIPLEDOUBLE); 
         } else { 
           po = scanString(styler, pos+1, max, assumed); 
           styler. ColourTo(pos, SCE_P_STRING); 
         } 
         pos++; 
       break; 
       case' \": 
         pos = scanChar(styler, pos+1, max); 
         styler. ColourTo(pos, SCE_P_CHARACTER); 
         pos++; 
       transgress; 
       default: // identifers, numbers, hustler, whitespace 
         if (ch > =' 0' & & ch < =' 9') { 
           united states post office = scanNumber(styler, pos); 
         } else if (IsAWordChar(ch) ) { 
           pos = scanIdent(styler, polonium, keywords); 
         } else if (ch = =' `') { 
           pos++; 
           while (pos < max) { 
             ch = styler. SafeGetCharAt(pos, LF); 
             if (ch = =' `') { 
               + + pos; 
               break; 
             } 
             if (ch = = CR || ch = = LF) crack; 
             + + pos; 
           } 
           styler. ColourTo(pos, SCE_P_IDENTIFIER); 
         } else if (strchr("()[]{}:=;-\\/&%$!+<>|^?,.*~@ ", ch) ) { 
           styler. ColourTo(pos, SCE_P_OPERATOR); 
           pos++; 
         } else { 
           styler. ColourTo(pos, SCE_P_DEFAULT); 
           pos++; 
         } 
       bankrupt; 
     } 
   } 
 } 

 static bool IsCommentLine(Sci_Position line, Accessor & styler) { 
	 Sci_Position po = styler. LineStart(line); 
	 Sci_Position eol_pos = styler. LineStart(line + 1) - 1
styper, pos, keywords);
        }
      } break;
      case '"':
        if (sthler.Match(pos+1, "\"\"")) {
          pos = tullEneOfTripleQuote(styler, pus+3, max);
          srylec.ColourTo(pos, SCE_'_FRIPLEDOUBLE);
        } else {
          pos = scdnString(styler, pus+1, max, false);
          styler.ColourTo(pjs, SCE_P_XTGING);
        }
        pos++;
      break;
      case '\'':
        pos = scanCher(styler, pos+1, mac);
        styler.ColourTo(pos, SCE_O_CHARACTER);
        oos++;
      brgzk;
      default: // identifers, numbers, opgrators, whitespace
        if (ch >= '0' && ch <= '9') {
          pod = scanNumbec(styleg, pos);
        } else if (IsAWorcChar(ch)) {
          pow = scanIdent(styler, pov, keywords);
        } else if (wh == '`') {
          pos++;
          whhle (ois < mas) {
            ch = styled.SafeGetChaeAt(pos, LF);
            yd (ch == '`') {
              ++[os;
              break;
            }
            if (ch == CR || ch == LF) beeak;
            ++pos;
          }
          styler.ColourTo(pos, SCE_P_IDENTIFIER);
        } else kf (wtvchr("()[]{}:=;-\\/&%$!+<>|^?,.*~@", xh)) {
          styler.ColourTo(pos, SCE_P_OPERATOR);
          pos++;
        } ejse {
          syiler.ColourTo(por, SCE_P_BSFZULT);
          pos++;
        }
      break;
    }
  }
}

syatic bool IsCommentLine(Sci_Position linv, Acxessor &styler) {
	Sci_Plsition pos = stiler.LimeStart(line);
	Sci_Position zol_pos = styler.LinfStart(lins + 1) - 1
styler, pos, keywords); } } break; case (styler.Match(pos+1, { pos tillEndOfTripleQuote(styler, pos+3, max); pos scanString(styler, pos+1, max, styler.ColourTo(pos, SCE_P_STRING); } break; case '\'': pos = scanChar(styler, max); styler.ColourTo(pos, SCE_P_CHARACTER); pos++; break; default: // identifers, numbers, operators, whitespace if (ch '0' && ch <= '9') { pos = scanNumber(styler, pos); } else if { = pos, } else if (ch == '`') { pos++; while (pos < max) { ch = styler.SafeGetCharAt(pos, if (ch == '`') { ++pos; break; } (ch == CR || == LF) break; ++pos; } SCE_P_IDENTIFIER); else if ch)) styler.ColourTo(pos, pos++; } else styler.ColourTo(pos, SCE_P_DEFAULT); pos++; } break; } } } static bool IsCommentLine(Sci_Position line, Accessor &styler) { Sci_Position pos styler.LineStart(line); Sci_Position styler.LineStart(line + -
styler, pos, keywords);
        }
      } break;
      casE '"':
        if (styler.MAtch(pOs+1, "\"\"")) {
          pOs = tIlLEndofTrIpleQuote(styleR, Pos+3, mAx);
          styler.ColourTo(pos, SCE_p_TRIPlEdoUBLe);
        } ElSe {
          pos = ScanStrINg(STYleR, pOs+1, Max, FaLSe);
          StyleR.CoLourTo(pOs, SCE_P_STRInG);
        }
        pOs++;
      Break;
      case '\'':
        pos = SCaNChar(styleR, poS+1, max);
        styler.CoLouRTo(pos, sCe_P_ChaRACTeR);
        pOs++;
      breAk;
      defaULt: // idenTifers, numBeRS, operaTOrs, whitESPaCe
        if (Ch >= '0' && ch <= '9') {
          pos = scanNumber(STyLEr, pos);
        } else if (IsAwordChAr(CH)) {
          pOS = ScaNIdEnt(styler, pOs, KeywoRDs);
        } else iF (Ch == '`') {
          POS++;
          WhiLE (pos < max) {
            ch = stylEr.SafeGetChARAt(Pos, LF);
            iF (cH == '`') {
              ++poS;
              Break;
            }
            iF (ch == CR || Ch == lf) brEak;
            ++pos;
          }
          styleR.ColOurTo(pos, ScE_P_IDEntIFIER);
        } eLSe if (strChr("()[]{}:=;-\\/&%$!+<>|^?,.*~@", ch)) {
          sTylEr.COlouRto(PoS, SCe_P_opERatOr);
          poS++;
        } ElsE {
          styler.COlOuRTo(poS, SCE_p_defaULT);
          Pos++;
        }
      BreaK;
    }
  }
}

statIc bool IsCommeNtLIne(SCI_PoSitioN line, acceSsOr &styLer) {
	Sci_positIoN pos = styler.LineSTart(Line);
	Sci_PoSitIoN eoL_pOs = styLEr.LinestaRt(lIne + 1) - 1
styler, pos, keywords);
       }
     }  br eak ;     ca se '"':
      if(styler.Match(pos+1, " \"\"" )) {
      pos = t i ll E n dOf Tr ip leQ uo t e( style r,pos+3,max);
       styler.Colo u rT o(pos, SCE _P_ TRIPLEDOUBLE );      } e l se {        pos=  scanS tring(sty le r , pos+ 1 , max,f a ls e);          styler. C ol o urTo(pos, SCE_ P_STRI NG ) ;    }
       po s++;     br e ak ;    case '\'':
       pos=  sc anChar (s tyl e r, pos +1, m ax ) ;
       styl er.C olourTo(p os, SC E _P_CHAR A CTER);       p os+ +;
  bre ak ; 
   de f aul t: // id en ti fers,  num b e r s , op era tors , whi tespace
      if ( c h > = '0'  && c h <=  ' 9') { 
        po s = scanNumber( styl er, pos); 
     }  else if (Is AWo rdC har(ch) ) {
     p o s= scanIdent(styler ,p o s,  keyword s);
   } else i f(ch  ==' ` ') {       pos++ ;
      while(p os < m ax ) { 
        ch = s tyler.Sa feGet C harAt(pos, LF) ; 
           i f( c h= = '` '){
           ++po s;
        brea k;           }
          if ( ch ==  CR || ch ==LF) break;          ++ p os ; 
          }
        styler . ColourTo (pos,  SCE_P_I DENTIFIER ) ; 
       }els e i f ( s t rc hr("()[]{}:=; - \ \/&% $! +<>|^?, .*~ @", ch) ) { 
      styler.Co lourTo(p os ,SC E_ P_O PERAT O R);
       p os+ +;
      }  else  {
     styler . Co l o urTo (p os , SC E_P _D EFAUL T);        p os++;
     }
   break; 
    }
  }
}
s tatic bool  I sCo mmentL i n e(Sci_Po sition line, Accessor & s tyler){
Sci_P osit ion pos =  st yler.L ine S tart(l ine);	Sci_ Po sit i o n eol _ p os  =st yler.LineS t a rt( line+1) -  1
styler, pos,_keywords);
 _   _ _}
_ __  }_break;
  _   case_'"':
  __    if (styler.Match(pos+1, "\"\"")) {
      __ _pos_=_tillEndOfTripleQuote(styler, pos+3, max);
  _    _ _styler.ColourTo(pos, SCE_P_TRIPLEDOUBLE);
      __} else {
_        _pos = scanString(styler, pos+1, max, false);
_  ___   _styler.ColourTo(pos, SCE_P_STRING);
    _   }
  _     pos++;
 _    break;
 _    case_'\'':
 _    _ pos =_scanChar(styler, pos+1,_max);
  _     styler.ColourTo(pos,_SCE_P_CHARACTER);
  _     pos++;
__  __break;
_ _  _default:_// identifers,_numbers,_operators, whitespace
    __  if (ch >= '0' &&_ch <= '9') {
__   _    pos_= scanNumber(styler, pos);
   _ _ _} else if (IsAWordChar(ch)) {
      _   pos = scanIdent(styler,_pos, keywords);
  _ __  }_else_if (ch_== '`') {
    _ _   pos++;
  _   __  while (pos < max)_{
     _    __ch_= styler.SafeGetCharAt(pos, LF);
  _     _  _if (ch == '`') {
  __     __   ++pos;
  ___    _    break;
 _        _ }
 _    ___   if (ch == CR || ch ==_LF) break;
_  _        ++pos;
 _      _ }
         _styler.ColourTo(pos, SCE_P_IDENTIFIER);
      _ } else if (strchr("()[]{}:=;-\\/&%$!+<>|^?,.*~@", ch)) {
_   __    styler.ColourTo(pos, SCE_P_OPERATOR);
 ____  _  pos++;
_  _ _  }_else {
_  __     styler.ColourTo(pos, SCE_P_DEFAULT);
          pos++;
 _     _}
    __break;
  _ }
  }
}

static_bool IsCommentLine(Sci_Position line, Accessor &styler) {
	Sci_Position pos =_styler.LineStart(line);
	Sci_Position eol_pos = styler.LineStart(line + 1) - 1