Как стать автором
Обновить

Комментарии 22

термин «подсветка кода» заиграл новыми красками
Жаль нет раздела «я хвастаюсь». Что бы пропускать такое…

Синтаксический разбор как то раньше проходили в курсе прикладная математика (у других может быть по другому назывался курс)
Где то пара лекций и одна лабораторная работа по ним.

Как то хвастаться «я тут накидал простейшую смотрелку кода» + 2 огромных скриншота…
Без исходников…
Может зря?

Было бы любопытно взглянуть на исходники. Изобрели вы велосипед или все же использовали много лет назад известные классические алгоритмы?
не думаю что я использовал какой то известный классический алгоритм, какой имеете ввиду вы. Там делиться слова символами ( не буквами, такими как =,*{/ ). А ключевые слова просто в array записаны. группа с зеленым цветом записана в один массив, группа с другим цветом в другой массив. потом проверяется в какой группе находится это слово, если оно есть в какой то группе, то ему назначается цвет текущей темы. и всё. код пока выкладывать не хочу. надо в лучший вид некоторые детали привести. да и для устройства на работу такое приложение наверное не подойдет.
он не только будет неверно подсвечен, но и код не скомпилируется. вы что, докопаться решили?

данный код абсолютно компилируемый.
Я решил напомнить про такую вещь как контекстнозависимые ключевые слова.

а, да? но у меня не анализатор кода, а только подсветка. даже в этом примере, где вы написали
var var = 1;
подсветило как есть. так все работают парсеры. потому что var это ключевое слово. или в vim посмотрите, там тоже самое будет, тоже подсветиться. а где не подсвечивается — покажите.
хотя в принципе я могу это добавить. у меня для каждого языка есть класс, который от одного интерфейса наследуется, который они реализуют. и в них учтены особенности для каждого языка. но как мне узнать все эти приколюшки языка, чтобы их добавить?

А у меня в планах соорудить менеджер сниппетов кода с подсветкой синтаксиса. Чего-то я их уже много перепробовал, ни один не устраивает до конца, хотя самый более менее — это massCode. Исходники к нему есть, можно форкнуть.

да, это так же компилируется и работает.


Я всего лишь хотел обратить внимание на проблему "просто ключевых слов".
Для простоты сойдет, но если идти вглубь, то уже не все так просто.

А среди этих ключевых слов может только быть var в начале?
я делал так, как видит vim. где в vim подсвечивает, там и в этой программе подсвечивает.
Норм, зря минусов накидали. С чего-то надо начинать же! Кстати, вот ещё большой список идей приложений для тренировки.
Начинать с чего-то надо, да. Только непонятно, нахрена это начало тут публиковать, причем без единого слова о том, как это реально было написано (и без кода)?

Судя по заголовку, мне померещилось приложение для чтения исходников вслух и с выражением ;). А тут целый viewer с подсветкой синтаксиса. 2001 год возвращается ;)

скажите пожалуйста, а как называется шрифт на скриншотах?
terminus
огромное при огромное спасибо, красотища!

Бросилось в глаза несколько моментов:


  • Как могут быть на одном экране кнопки "сохранить" и "продолжить"? Сохранить, но не продолжать? Продолжить, но не сохранять?


  • Подсветки URL в комментарии нет. Строка в кавычках подсвечивается вместе с кавычками, а не значение внутри кавычек


  • если вкладок много, где-то будет их список?


я делаю подсветку как в vim. Насчет вкладок, попробуйте и увидите, что есть список.

При чтении статьи подумал "статью похоже писал молодой, но сильный, ИИ" :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации