1. Valerii

    22.08.2008 00:35

    во всех редакторах всегда ставлю операторы отличным цветом от индификаторов
    как быть тут?

    {
    className: 'operator',
    begin: '[+-.*/&\|\^=<>;:\?]', end: ???
    },
  2. Иван Сагалаев

    22.08.2008 01:28

    Лексер в highlight.js разбивает входную строку как раз по регуляркам, и скушав очередную лексему, начинает смотреть дальше, считая следующую часть началом строки. Поэтому, чтобы сказать ему, что режим закончился сразу после начала, указывается регулярка начала строки:

    {
        className: 'operator',
        begin: '[+-.*/&\|\\^=<>;:\\?]', end: '^'
    }
    

    P.S. Еще обратные слеши в begin надо заэкранировать, удвоив. Иначе в регулярку попадут символы "^" и "?" без всяких слешей.

bbcode