На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (14) [1] 2 3 ...  13 14 все  ( Перейти к последнему сообщению )  
> Подсветка синтаксиса на форуме , Начата опытная эксплуатация :)
    На форуме анонсирована подсветка синтаксиса.
    Чтобы всё не рассказывать, прошу посетить вот этот топик: На нашем форуме начато тестирование...
    Эта тема предназначена для обсуждения проблем работы подсветки синтаксиса, предложений по улучшению работы скрипта и вообще любых идей развития этого проекта.
    Надеюсь на вашу заинтересованность и плодотворное сотрудничество.
    Две первых проблемы описаны в анонсированном топике.
    Сообщение отредактировано: vot -
      Комментарий номер раз. Символы комментариев (фигурные скобки для паскаля, /* */ для Си и т.д) всегда подствечиваются, поэтому их тоже надо сделать серым цветом и италиком.

      Комментарий номер два. Цвета и стили (болд и т.д) ИМХО должны быть одинаковыми для всех разделов. Предлагаю так:
      * управляющие многозначительные :) директивы, ключи компилятора (например, в Паскале: 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. На самом деле всё немного попроще:
      ExpandedWrap disabled
        COMMENT *
          строка комментария
          строка комментария
          строка комментария
                *  остаток строки тоже комментарий
      здесь * - это любой символ (всего один). Так можно? :)

      Testing...
      ExpandedWrap disabled
        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;
      Глюки есть, их не может не быть :)
        Пробуем мою подсветку :)

        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.


        Добавлено в :
        *$%^&*^&*^$*&%$&%$&%$&^#%$&#@$!!!!!!!!!!!!!!
        Вот вам очередной прикол с пробелами!!! >:(
        Пробелы в сообщениях

        Добавлено в :
        Что-то Паскалю такая раскраска (синий цвет и италик) не очень идёт <_<
          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
          Глюки есть, их не может не быть

          Подсветка нужна для текстов программ. А это что у тебя такое? Она даже не откомпилится. :P
            Вот мой вариант подсветки.
            Оформление - совсем не главное.

            Предлагаю подсветку для любых форматов хранить в файлах.
            Идея оформления файла подсветки - из конфигурационного файла подсветки редактора EditPlus (в архиве есть один из таких файлов с рисширением "stx").

            В варианте в архиве происходит анализ строки. Но, если будет нужно, очень не сложно переправить на анализ файла.

            В архиве есть и пример работы программы.
            Прикреплённый файлПрикреплённый файлhlight.zip (5.47 Кбайт, скачиваний: 116)
              Цитата
              Цитата
              Вопрос номер раз. В каком виде нужно выдавать "правил подсветки"? Можешь тебе привести темплейт (образец) на php, а мы сами сделаем? Или, если хочешь, просто дадим перечень слов и цвета/стили.

              В виде SQL запросов "INSERT".
              А это как? ;)

              И ещё... Может я туплю, но где взять исходники подсветки? Я, конечно, интуитивно понимаю, что в исходниках для нашего форума, но хотелось бы видеть здесь соответствующие ссылки + описание, в каких файлах это было сделано. :rolleyes:
              Это нужно по крайней мере для новых пользователей, для которых наше обсуждение - полная абра-кадабра...
                Более новая версия подсветчика.
                Прикреплённый файлПрикреплённый файлhlight1.zip (5.96 Кбайт, скачиваний: 125)
                  2Tishaishii: хм.. нам-то на пхп нужно... Хотя можно и портонуть...
                    Цитата
                    Вот вам очередной прикол с пробелами!!!
                    :P
                      На PHP... говоришь... Надо думать..
                      А если подойдёт вариант, в крайнем случае exec
                        Это уже с vot'ом обговаривать нужно...

                        Но я думаю, что портануть на ПХП особых проблем не будет. Могу этим занятся и я... Только законченная версия нужна...
                          Я вообще понял, конкурс здесь...
                          Вот ещё одна более новая версия:

                          Добавлено в :
                          Цитата Shaman @ 13.03.04, 21:18
                          Цитата
                          Вот вам очередной прикол с пробелами!!!
                          :P

                          Прикола нет. Есть спрайт...
                          Прикреплённый файлПрикреплённый файлhlight2.zip (7.07 Кбайт, скачиваний: 111)
                            Ещё одна версия подкрасчика. На сегодня (как считать) окончательная.
                            Прикреплённый файлПрикреплённый файлhlight3.zip (3.89 Кбайт, скачиваний: 124)
                              Кста! Вариант Tishaishего очень даже без проблем спортить на ПХП

                              2Song: ИМХО - нужно для каждого языка свой стиль в css :rolleyes:
                                Shaman, ок. Если можешь, переведи подсветчик Тишайшего в форму, в которой его можно воткнуть в форум.

                                Добавлено в :
                                Цитата
                                Shaman, 14.03.04, 00:03
                                А это как?

                                А вот так :)
                                INSERT table VALUES (....); :)
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (14) [1] 2 3 ...  13 14 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0443 ]   [ 14 queries used ]   [ Generated: 17.05.24, 07:15 GMT ]