Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.128.171.246] |
|
Страницы: (14) [1] 2 3 ... 13 14 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
На форуме анонсирована подсветка синтаксиса.
Чтобы всё не рассказывать, прошу посетить вот этот топик: На нашем форуме начато тестирование... Эта тема предназначена для обсуждения проблем работы подсветки синтаксиса, предложений по улучшению работы скрипта и вообще любых идей развития этого проекта. Надеюсь на вашу заинтересованность и плодотворное сотрудничество. Две первых проблемы описаны в анонсированном топике. |
Сообщ.
#2
,
|
|
|
Комментарий номер раз. Символы комментариев (фигурные скобки для паскаля, /* */ для Си и т.д) всегда подствечиваются, поэтому их тоже надо сделать серым цветом и италиком.
Комментарий номер два. Цвета и стили (болд и т.д) ИМХО должны быть одинаковыми для всех разделов. Предлагаю так: * управляющие многозначительные директивы, ключи компилятора (например, в Паскале: program, unit, interface, implementation, end., в Асме: .model, .code, include, end (цвет именно 0000B0, т.е. A - слишком тёмный, C - слишком светлый )) * зарезервированные слова (Pas: procedure, begin, end, ; Asm: proc, .if, struc, dw) * операторы (Pas: mod, shl, shr; Asm: offset, high, byte) * комментарии (не Gray, а чуть посветлее: A0A0A0) * "хорошо бы ещё выделять строки" (цвет 009090) * и можно числа (цвет 009090) Комментарий номер три. Предлагаю заменить [ code=null ] на [ code=no ], чтобы было проще. И сделать ещё один (альтернативный) вариант: [ code= ] Комментарий номер 4. В паскале/делфи, Си и т.д. можно делать ассемблерные вставки, где подсветка своя Конечно, делать асмовскую подсветку отдельного блока, думаю, весьма сложно, но и Сишную подсветку в асмовом коде делать ни к чему. Посему нужно сделать ещё один тип подсветки (типа как комменты), например, в паскале, выделять слова между asm и end зелёным цветом (009000). Вопрос номер раз. В каком виде нужно выдавать "правил подсветки"? Можешь тебе привести темплейт (образец) на php, а мы сами сделаем? Или, если хочешь, просто дадим перечень слов и цвета/стили. Вопрос номер два. Как я понял, подсвечиваются отдельные слова, т.е. если я напишу "This", то "is" подсвечиваться не будет. А если напишу "is", то подсветка будет. Т.е. здесь глюков нет. Но! В асме кроме букв, цифр и знака подчёркивания частью идентификатора могут быть символы @ $ & ? и . И есть зарезервированные слова вида .model , %if и т.п. Соответственно, слово "this.model" не имеет ничего общего со словом ".model",поэтому его подсвечивать не нужно. Эта проблема решаема? Вопрос номер три. Комментарии Я тебе по аське немного нагнал про COMMENT. На самом деле всё немного попроще: COMMENT * строка комментария строка комментария строка комментария * остаток строки тоже комментарий Testing... procedure xyz; begin WriteLn('Hello // boys } and girlz'); WriteLn('How are you?'); This is 'not closed quote but a string But this is not a string' Testing "double quotes" in pascal { Trying this // } This is not a comment // Normal comment { This in not a comment too // } WriteLn('Hi!'); А попробую-ка я [b]вот это[/b]. { This is a bug, but a comment end; |
Сообщ.
#3
,
|
|
|
Пробуем мою подсветку
unit MyUnit; interface var One, Two, Three: Integer; IsIt: Boolean; A: set of Byte; function Example: Boolean; implementation uses Crt; (********************) (* Ну что? Попёрли! *) (********************) function Example; var X, i: Integer; begin Example := True; X := One shr 4 + Two; if Lo(X) in A then Three := 1 else begin for i := 1 to Three do WriteLn('Обломитесь, товарищи!') asm xor ah,ah int 16h { Ждём кнопенцию } mov ax,600h xor bh,bh xor cx,cx xor dx,WindMax int 10h { Очищаем экран, делать нам нечего } end; if Mem[$40:$6C] or 1 = 1 then Example := False end end; begin WriteLn('Hola, boyz & gelz!'); One := 3; Two := 2; Three := 1 end. Добавлено в : *$%^&*^&*^$*&%$&%$&%$&^#%$&#@$!!!!!!!!!!!!!! Вот вам очередной прикол с пробелами!!! Пробелы в сообщениях Добавлено в : Что-то Паскалю такая раскраска (синий цвет и италик) не очень идёт |
Сообщ.
#4
,
|
|
|
Jin X, хорошо бы обсуждать материал на момент готовности.
Поясняю: на данный момент правила Си не сделаны поэтому пока про Си говорить нет смысла. Я хочу сказать, что я не могу комментировать что-либо не имея готовности этого на момент обсуждения. Цитата Jin X, 13.03.04, 20:19 Символы комментариев (фигурные скобки для паскаля, /* */ для Си и т.д) всегда подствечиваются, поэтому их тоже надо сделать серым цветом и италиком. Можно. Насчёт своих цветов отличных от стандартных: стандартные возможности не позволяют это сделать, поэтому это можно сделать, но нужно изменять парсер (где-то, я не знаю пока где ). Насчёт no можно, а что такое CODE= ? Цитата Jin X, 13.03.04, 20:19 Комментарий номер 4. В паскале/делфи, Си и т.д. можно делать ассемблерные вставки, где подсветка своя Конечно, делать асмовскую подсветку отдельного блока, думаю, весьма сложно, но и Сишную подсветку в асмовом коде делать ни к чему. Посему нужно сделать ещё один тип подсветки (типа как комменты), например, в паскале, выделять слова между asm и end зелёным цветом (009000). Думаю можно, но только описав отдельно, а не в шаблоне цветов. А это, как ты понимаешь, совсем не универсально и приведёт к тому, что нужно будет в парсере писать блок if'ов для каждого форума. Я думаю, что нафик это. ** Конечно, можно перестроить весь алгорим по-другому, you're welcome. Цитата Jin X, 13.03.04, 20:19 Вопрос номер раз. В каком виде нужно выдавать "правил подсветки"? Можешь тебе привести темплейт (образец) на php, а мы сами сделаем? Или, если хочешь, просто дадим перечень слов и цвета/стили. В виде SQL запросов "INSERT". Цитата Jin X, 13.03.04, 20:19 Вопрос номер два. Как я понял, подсвечиваются отдельные слова, т.е. если я напишу "This", то "is" подсвечиваться не будет. А если напишу "is", то подсветка будет. Т.е. здесь глюков нет. Но! В асме кроме букв, цифр и знака подчёркивания частью идентификатора могут быть символы @ $ & ? и . И есть зарезервированные слова вида .model , %if и т.п. Соответственно, слово "this.model" не имеет ничего общего со словом ".model",поэтому его подсвечивать не нужно. Эта проблема решаема? См. ** Цитата Jin X, 13.03.04, 20:19 Вопрос номер три. Комментарии Я тебе по аське немного нагнал про COMMENT. На самом деле всё немного попроще: COMMENT * строка комментария строка комментария строка комментария * остаток строки тоже комментарий здесь * - это любой символ (всего один). Так можно? Только от * до * Цитата Jin X, 13.03.04, 21:14 Пробуем мою подсветку Может ты тогда всё переделаешь? Добавлено в : Цитата Jin X, 13.03.04, 20:19 Глюки есть, их не может не быть Подсветка нужна для текстов программ. А это что у тебя такое? Она даже не откомпилится. |
Сообщ.
#5
,
|
|
|
Вот мой вариант подсветки.
Оформление - совсем не главное. Предлагаю подсветку для любых форматов хранить в файлах. Идея оформления файла подсветки - из конфигурационного файла подсветки редактора EditPlus (в архиве есть один из таких файлов с рисширением "stx"). В варианте в архиве происходит анализ строки. Но, если будет нужно, очень не сложно переправить на анализ файла. В архиве есть и пример работы программы. Прикреплённый файлhlight.zip (5.47 Кбайт, скачиваний: 116) |
Сообщ.
#6
,
|
|
|
Цитата А это как? Цитата Вопрос номер раз. В каком виде нужно выдавать "правил подсветки"? Можешь тебе привести темплейт (образец) на php, а мы сами сделаем? Или, если хочешь, просто дадим перечень слов и цвета/стили. В виде SQL запросов "INSERT". И ещё... Может я туплю, но где взять исходники подсветки? Я, конечно, интуитивно понимаю, что в исходниках для нашего форума, но хотелось бы видеть здесь соответствующие ссылки + описание, в каких файлах это было сделано. Это нужно по крайней мере для новых пользователей, для которых наше обсуждение - полная абра-кадабра... |
Сообщ.
#7
,
|
|
|
Более новая версия подсветчика.
Прикреплённый файлhlight1.zip (5.96 Кбайт, скачиваний: 125) |
Сообщ.
#8
,
|
|
|
2Tishaishii: хм.. нам-то на пхп нужно... Хотя можно и портонуть...
|
Сообщ.
#9
,
|
|
|
Цитата Вот вам очередной прикол с пробелами!!! |
Сообщ.
#10
,
|
|
|
На PHP... говоришь... Надо думать..
А если подойдёт вариант, в крайнем случае exec |
Сообщ.
#11
,
|
|
|
Это уже с vot'ом обговаривать нужно...
Но я думаю, что портануть на ПХП особых проблем не будет. Могу этим занятся и я... Только законченная версия нужна... |
Сообщ.
#12
,
|
|
|
Я вообще понял, конкурс здесь...
Вот ещё одна более новая версия: Добавлено в : Цитата Shaman @ 13.03.04, 21:18 Цитата Вот вам очередной прикол с пробелами!!! Прикола нет. Есть спрайт... Прикреплённый файлhlight2.zip (7.07 Кбайт, скачиваний: 111) |
Сообщ.
#13
,
|
|
|
Ещё одна версия подкрасчика. На сегодня (как считать) окончательная.
Прикреплённый файлhlight3.zip (3.89 Кбайт, скачиваний: 124) |
Сообщ.
#14
,
|
|
|
Кста! Вариант Tishaishего очень даже без проблем спортить на ПХП
2Song: ИМХО - нужно для каждого языка свой стиль в css |
Сообщ.
#15
,
|
|
|
Shaman, ок. Если можешь, переведи подсветчик Тишайшего в форму, в которой его можно воткнуть в форум.
Добавлено в : Цитата Shaman, 14.03.04, 00:03 А это как? А вот так INSERT table VALUES (....); |