Подсветка ФЯ
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.01.06 19:25
Оценка: 21 (3)
Тестируйте http://rsdn.ru/forum/Message.aspx?mid=1607879&only=1
Автор: AndrewVK
Дата: 23.01.06
... << RSDN@Home 1.2.0 alpha rev. 631>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Подсветка ФЯ
От: CrazyPit  
Дата: 24.01.06 01:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Тестируйте http://rsdn.ru/forum/Message.aspx?mid=1607879&amp;only=1
Автор: AndrewVK
Дата: 23.01.06


В эрланге всё синее — это так задумано?

И лисп неплохо бы отделить от схемы. В схеме всёже другие ключевые слова.

У пролога почему-то подсвечиваеться часть слова atomic
Re: Подсветка ФЯ
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 24.01.06 04:42
Оценка: 21 (1)
VladD2,

Хорошо...


Эрланг. Предполагается что функции описаны так:
'#text#'(Text) ->
    export_text(Text).

а не
'#text#'(Text) -&gt;
    export_text(Text).

('#text#' — это имя функции). Всё должно быть чёрным кроме стрелок и точек. Они должны быть синими. Хотя можно не мудровствовать лукаво, делать всё чёрным.
-export(['#xml-inheritance#'/0]).

Синим должно быть только слово -export. Мой косяк


Хаскель — гут (вроде бы).


Лисп — лучше послушать рекомендации лисперов (CrazyPit).
В оригинальном примере (который я посылал) точки с запятой в первой строке не было:
(defmacro define-generic-binary-class (name (&;rest superclasses) slots read-method)

А здесь я не знаю, должен ли начинаеться комментарий с точки запятой, или нет.


Окамл. Вложенные комментарии работают, ура!


Питон — гут.


Руби. Блок
=begin
This is documentation comment for the class, (like javadoc).
=end

— это комментарий. Далее, блок
    doc %q!I said, "You said, 'She said it.'"!
    doc %!I said, "You said, 'She said it.'"!

Символы, начинающиеся с процента и заканчивающиеся последним восклицательным знаком — это строковые константы.


Пролог. Про atomic — мой косяк. Нужно в схеме пролога
    <pattern name="kw">

заменить на
    <pattern name="kw" prefix="\b" postfix="\b">

Ещё мысль: может символы ":-" и "." подсветить синим (аналогичная мысль и для эрланга, там подсветить "->", "," и ".")?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re: Подсветка ФЯ
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 24.01.06 06:43
Оценка:
VladD2,

Про стрелки: очевидно виной всему этот блок в схеме Эрланга:
    <!-- define clause -->
    <pattern name="kw">
        <entry>-&gt;</entry>
        <entry>;</entry>
        <entry>.</entry>
    </pattern>

Я, наивный, хотел таким образом раскрасить "->", ";" и "." цветом ключевых слов. Но не тут-то было В-общем, если не удастся со второго раза завести, можно просто удалить этот кусок.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[2]: Подсветка ФЯ
От: Arioch2  
Дата: 24.01.06 08:50
Оценка:
Посмотрел Эрланговский раскрас, пару мыслей обнаружил.

у меня по Delphi привычка — комментарии делать курсивом, возможно (в зависимости от читабельности шрифта) — полужирным курсивом. Там же привычка делать полужирным точки/стрелочки и прочие символы типа арифметики, присваиваний — несколько виднее становятся.

Кстати, может стоить переменные выделять ? Или матрёшка получится ?

Вообще я бы, по крайней мере для новичков, хотел бы разделения зарезервированных слов, конструкция языка от термов определенных программистом.

Возможно, зарезервированные слова и символы — черным полужирным ?
Re[2]: Подсветка ФЯ
От: CrazyPit  
Дата: 24.01.06 10:42
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>VladD2,


LCR>В оригинальном примере (который я посылал) точки с запятой в первой строке не было:

LCR>
LCR>(defmacro define-generic-binary-class (name (&;rest superclasses) slots read-method) 
LCR>

LCR>А здесь я не знаю, должен ли начинаеться комментарий с точки запятой, или нет.

Если б в тех местах на самом деле были бы точки с запятой, так и должно бы было быть. ПРосто там ошибка ; не должно быть вообще.
Re[2]: Подсветка ФЯ
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.01.06 18:26
Оценка:
Здравствуйте, CrazyPit, Вы писали:

VD>>Тестируйте http://rsdn.ru/forum/Message.aspx?mid=1607879&amp;only=1
Автор: AndrewVK
Дата: 23.01.06


CP>В эрланге всё синее — это так задумано?


Думаю, это баг. Вот его описание в регексах... Ищите баг:
<?xml version="1.0" encoding="utf-8" ?>
<language xmlns="http://rsdn.ru/coloring" name="Erlang" options="(?n)">
    <!-- comments -->
    <pattern name="com">
        <entry>(?m:%.*?$)</entry>
    </pattern>
    <!-- literals -->
    <pattern name="str">
        <entry><![CDATA["((?<!\\)\\"|[^"])*"]]></entry>
        <entry>\$(\W|\w(?!\w)|\\['"\\bdefnrstv]|\\\^[A-Z@\[\\\]\^_]|\\[0-7]{1,3})</entry>
    </pattern>
    <!-- preprocessor definitions -->
    <pattern name="kw" postfix="\b">
        <entry>-author</entry>
        <entry>-compile</entry>
        <entry>-copyright</entry>
        <entry>-date</entry>
        <entry>-define</entry>
        <entry>-doc</entry>
        <entry>-else</entry>
        <entry>-endif</entry>
        <entry>-export</entry>
        <entry>-file</entry>
        <entry>-ifdef</entry>
        <entry>-ifndef</entry>
        <entry>-import</entry>
        <entry>-include</entry>
        <entry>-include_lib</entry>
        <entry>-module</entry>
        <entry>-record</entry>
        <entry>-undef</entry>
        <entry>-vsn</entry>
    </pattern>
    <!-- keywords -->
    <pattern name="kw" prefix="\b" postfix="\b">
        <entry>after</entry>
        <entry>and</entry>
        <entry>andalso</entry>
        <entry>band</entry>
        <entry>begin</entry>
        <entry>bnot</entry>
        <entry>bor</entry>
        <entry>bsl</entry>
        <entry>bsr</entry>
        <entry>bxor</entry>
        <entry>case</entry>
        <entry>catch</entry>
        <entry>cond</entry>
        <entry>div</entry>
        <entry>end</entry>
        <entry>fun</entry>
        <entry>if</entry>
        <entry>let</entry>
        <entry>not</entry>
        <entry>of</entry>
        <entry>or</entry>
        <entry>orelse</entry>
        <entry>query</entry>
        <entry>receive</entry>
        <entry>rem</entry>
        <entry>try</entry>
        <entry>when</entry>
        <entry>xor</entry>
    </pattern>
    <!-- define clause -->
    <pattern name="kw">
        <entry>-&gt;</entry>
        <entry>;</entry>
        <entry>.</entry>
    </pattern>
</language>


CP>И лисп неплохо бы отделить от схемы. В схеме всёже другие ключевые слова.


Оформляйте список ключевых слов в подобном приведенному выше виде и попробуем сдублировать.

CP>У пролога почему-то подсвечиваеться часть слова atomic


Я в прологах не силен.

В общем, передам ссылку сайт-девелоперам...
... << RSDN@Home 1.2.0 alpha rev. 631>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Подсветка ФЯ
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.01.06 18:26
Оценка:
Здравствуйте, Arioch2, Вы писали:

A>у меня по Delphi привычка — комментарии делать курсивом, возможно (в зависимости от читабельности шрифта) — полужирным курсивом. Там же привычка делать полужирным точки/стрелочки и прочие символы типа арифметики, присваиваний — несколько виднее становятся.


Плохая привычка. Отвыкай.

A>Кстати, может стоить переменные выделять ? Или матрёшка получится ?


Ты знашь чем отличается лексер от парсера? Это по сложности приблизительно как умение разогреть суп в микроволновке и приготовить празндничный ужин. Так вот на сайте поддрживается только лексический анализ.

A>Вообще я бы, по крайней мере для новичков, хотел бы разделения зарезервированных слов, конструкция языка от термов определенных программистом.


Ключевые слова подсвечиваются. Остальное нет.

A>Возможно, зарезервированные слова и символы — черным полужирным ?


Нет. Формат на всем сайте единый.
... << RSDN@Home 1.2.0 alpha rev. 631>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Подсветка ФЯ
От: Arioch2  
Дата: 25.01.06 06:31
Оценка:
A>>у меня по Delphi привычка — комментарии делать курсивом, возможно (в зависимости от читабельности шрифта) — полужирным курсивом. Там же привычка делать полужирным точки/стрелочки и прочие символы типа арифметики, присваиваний — несколько виднее становятся.

VD>Плохая привычка. Отвыкай.


Это касательно комментариев или символов ? Аргументы ?

A>>Кстати, может стоить переменные выделять ? Или матрёшка получится ?


VD>Ты знашь чем отличается лексер от парсера? Это по сложности приблизительно как умение разогреть суп в микроволновке и приготовить празндничный ужин. Так вот на сайте поддрживается только лексический анализ.


Ты знаешь чем в Эрланге отличаются переменные от прочих термов ?
Они с большой буквы пишутся, а остальные термы с маленькой
Именно по этому отличить просто, и именно по этому, вероятно, не нужно.

PS: впрочем остается непонятным вопрос с подчеркиванием.
Считается ли это большой буквой, или джокером, который и там и там.
Не помню навскидку.
Re[2]: Подсветка ФЯ
От: der Igel Россия  
Дата: 25.01.06 07:14
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Про стрелки: очевидно виной всему этот блок в схеме Эрланга:

LCR>
LCR>    <!-- define clause -->
LCR>    <pattern name="kw">
LCR>        <entry>-&gt;</entry>
LCR>        <entry>;</entry>
LCR>        <entry>.</entry>
LCR>    </pattern>
LCR>

LCR>Я, наивный, хотел таким образом раскрасить "->", ";" и "." цветом ключевых слов. Но не тут-то было В-общем, если не удастся со второго раза завести, можно просто удалить этот кусок.

Там используется синтаксис дотнетовских рэгэкспов. Заэскейпте и должно работать, т.е.

LCR>
LCR>    <!-- define clause -->
LCR>    <pattern name="kw">
LCR>        <entry>-&gt;</entry>
LCR>        <entry>;</entry>
LCR>        <entry>\.</entry>
LCR>    </pattern>
LCR>
Re[5]: Подсветка ФЯ
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.01.06 15:06
Оценка:
Здравствуйте, Arioch2, Вы писали:

A>Это касательно комментариев или символов ? Аргументы ?


Италик на устройствах низкого разрешения, и темболее в моноширных шрифтах вроде используемого нами Курьера — это издевательство над глазами.

Обсуждать этот вопрос смысла не имеет, так как менять что-то под тебя лично или немногочисленную группу людей привыкшую к дельфи сейчас никто не будет. Возмоно кгда-нибудь мы сделаем поддержку настроек пользователя на сайте. Но пока что об этом даже не идет речи.

A>Ты знаешь чем в Эрланге отличаются переменные от прочих термов ?


A>Они с большой буквы пишутся, а остальные термы с маленькой


И какой смысл их еще как-то выделять? Да и чем? Набор стилей ограничен: строки, коментарии, ключевые слова...

A>Именно по этому отличить просто, и именно по этому, вероятно, не нужно.


А сымсл, если они уже выделяются?

A>PS: впрочем остается непонятным вопрос с подчеркиванием.

A>Считается ли это большой буквой, или джокером, который и там и там.
A>Не помню навскидку.

Темболее.
... << RSDN@Home 1.2.0 alpha rev. 631>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Подсветка ФЯ
От: Arioch2  
Дата: 26.01.06 06:55
Оценка:
A>>Это касательно комментариев или символов ? Аргументы ?
VD>Италик на устройствах низкого разрешения,

Это какого ?

VD>Возмоно кгда-нибудь мы сделаем поддержку настроек пользователя на сайте.

Ладно, не надо, это сделано в отдельном CSS или встроено в страничку ?
Отдельные CSS можно довольно легко менять, даже в Internet Explorer

A>>Ты знаешь чем в Эрланге отличаются переменные от прочих термов ?

A>>Они с большой буквы пишутся, а остальные термы с маленькой
VD>И какой смысл их еще как-то выделять? Да и чем?
А это было под вопросом. Я сразу сказал, что м.б. никакого.
Лично мне слегка различаюшиеся шрифты помогают. В одноцветных однообразных словах не всегда легко прицепиться к чему-либо.

VD>Набор стилей ограничен: строки, коментарии, ключевые слова...

Только три ? мда, и правда не много.
Re[7]: Подсветка ФЯ
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.01.06 17:44
Оценка:
Здравствуйте, Arioch2, Вы писали:

A>Это какого ?


Монитора.

VD>>Набор стилей ограничен: строки, коментарии, ключевые слова...

A>Только три ? мда, и правда не много.

Цифры еще, но это в общем-то литерал.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.