Доброго времени суток, интересуют идеи и мысли по поводу того, как делать подсветку синтаксиса в GtkTextView, я вижу его так: 1) Создаём тег 2) идём по буферу и ищем слова которые нужно подсветить, при это получается что идём(парсим по одной букве). Например так: берём два итератора, начинаем проверять слово, первый итератор ставим вначале слова, второй продвигаем вперёд, при этом проверяем слово, если совпало с нужным(if, else, while... etc) переходим к п.3 если нет, идём дальше. Таким образом эта пара итераторов будет постоянно передвигаться по тексту. 3) Применяем тег к куску буфера «выделенного» итераторами
Соответственно всё это дело оформляем в одну функцию, которая работает со всем текстом в буфере, её можно вызвать при загрузке из файла, а как быть при вводе данных, когда я сам взял и вбил служебное слово(тот же if) на каждое нажатие вызывать эту функцию, чтобы она снова весь буфер шелестила? Или лучше ловить позицию курсора и от неё плясать влево и вправо, смотря что за слово вбиваем(получается способом по п.2).
У кого какие мысли на этот счёт?