Forth
http://fforum.winglion.ru/

Пишется консольный редактор
http://fforum.winglion.ru/viewtopic.php?f=58&t=3223
Страница 1 из 1

Автор:  Victor__v [ Вс фев 10, 2019 12:56 ]
Заголовок сообщения:  Пишется консольный редактор

Рабочее название: Ласточка
Пишется just for fun
Портировать на другие форт-системы будет трудно (сильная завязка на итераторы и операции отсечения)
Хотелки:
простой файловый менеджер
подсветка исходников (частично сделано. Имеется возможность перекрытия. А-ля наследование)
поддержка плагинов (в планах реализовать через временные словари, ничего сложного)
нумерация строк (сделано. Отключить пока нельзя, устав запрещает :) )
операции вставки и удаления (пока их всего 3)

Так-с, редактор предполагается чисто консольный с минимумом вызовов АПИ. Поэтому, писать на нём надо будет через команды. Такая-вот фича.
Всё по заветам админа :lol:
Hishnik писал(а):
И тут куча людей набегает и зовет на "официальные серверы", на которых, правда, все псевдографикой, а для стрельбы надо постоянно набирать ONLY FIRE ALSO RELOAD :D


Исходники страшные и комментарии происходящего помножены на 0. К тому же там сумбур. Надо будет привести всё в порядок.

Ну, и скрин на затравку. Это файл NOVA.INI
Изображение

Автор:  Victor__v [ Вс фев 17, 2019 17:27 ]
Заголовок сообщения:  Re: Пишется консольный редактор

Привёл редактор к более-менее рабочему состоянию.
Для теста надо распаковать архив и запустить NOVA-VC
Пример использования команд в файле NOVA.INI
Ну и скиншотики на затравку
Изображение

Автор:  ath [ Вс фев 17, 2019 18:18 ]
Заголовок сообщения:  Re: Пишется консольный редактор

С цветовой разметкой выглядит, как colorForth. :)

Кстати, оттуда можно слямзить цвета:
http://www.greenarraychips.com/home/doc ... f-tags.htm

От Чака Мура, из colorForth Primer:
https://colorforth.github.io/primer.htm
Код:
Compiler
colorForth compiles source code into machine instructions, which can then be executed. It uses color to indicate the function of a word:
• Yellow - a word to be executed
• Red - a word being defined
• Green - a word to be compiled as part of a definition
• White (or black) - a comment to be ignored


Из cf2019.nasm:
Код:
actionColourTable:          ;    * = number
    dd colour_orange        ; 0     extension token, remove space from previous word, do not change the colour
    dd colour_yellow        ; 1     yellow "immediate" word
    dd colour_yellow        ; 2  *  yellow "immediate" 32 bit number in the following pre-parsed cell
    dd colour_red           ; 3     red forth wordlist "colon" word
    dd colour_green         ; 4     green compiled word
    dd colour_green         ; 5  *  green compiled 32 bit number in the following pre-parsed cell
    dd colour_green         ; 6  *  green compiled 27 bit number in the high bits of the token
    dd colour_cyan          ; 7     cyan macro wordlist "colon" word
    dd colour_yellow        ; 8  *  yellow "immediate" 27 bit number in the high bits of the token
    dd colour_white         ; 9     white lower-case comment
    dd colour_white         ; A     first letter capital comment
    dd colour_white         ; B     white upper-case comment
    dd colour_magenta       ; C     magenta variable
    dd colour_silver        ; D
    dd colour_blue          ; E     editor formatting commands
    dd colour_black         ; F

Автор:  Victor__v [ Вс фев 17, 2019 18:44 ]
Заголовок сообщения:  Re: Пишется консольный редактор

ath писал(а):
С цветовой разметкой выглядит, как colorForth. :)
Кстати, оттуда можно слямзить цвета:
http://www.greenarraychips.com/home/doc ... f-tags.htm

Цвета тут дело десятое.
Более того расцветка сделана плагином и можно при желании доопределить или переопределить как что раскрашивать.

Автор:  ath [ Пн фев 18, 2019 01:44 ]
Заголовок сообщения:  Re: Пишется консольный редактор

Дело десятое, конечно. Но для лёгкости перехода на colorForth и с него можно сделать основным цветом программного кода оттенки зеленого и синего, комментарии белым и серым, новые определения красным, а известные слова IMMEDIATE , вроде IF и [ — жёлтым или коричневым.

Вот здесь сохранился тот самый код colorForth:
http://www.merlintec.com/download/color.html

Автор:  Victor__v [ Пн фев 18, 2019 09:44 ]
Заголовок сообщения:  Re: Пишется консольный редактор

ath писал(а):
Дело десятое, конечно. Но для лёгкости перехода на colorForth и с него можно сделать основным цветом программного кода оттенки зеленого и синего, комментарии белым и серым, новые определения красным, а известные слова IMMEDIATE , вроде IF и [ — жёлтым или коричневым.

Вот здесь сохранился тот самый код colorForth:
http://www.merlintec.com/download/color.html

Так-с. Расцветка сделана отдельным дополнением!
Её в ядре приложения тупо нет!
Все использованные цвета можно тупо перекрыть или переопределить.
Синтаксис сделан для этого простейший
Код:
colors::YELLOW COLOR-WORD: IMMEDIATE IF ELSE THEN [ ] BEGIN WHILE REPEAT UNTIL AGAIN
colors::DRED     COLOR-2xWORD: CREATE HEADER : CONSTANT VALUE VARIABLE VECT USER USER-VECT USER-VALUE USER-CREATE 

Что сложного то?

Автор:  KPG [ Чт фев 28, 2019 14:09 ]
Заголовок сообщения:  Re: Пишется консольный редактор

Вот ещё проект.
Possibly a clone of Emacs, written in Forth.

Автор:  Victor__v [ Пн апр 29, 2019 17:32 ]
Заголовок сообщения:  Re: Пишется консольный редактор

Хочу попробовать как-то прикрутить проверку орфографии к этому редактору.
Метод: имеется какой-либо файл часто использующийся для проверки орфографии и использовать его из форта.
Так какие имеются расширения файлов с орфографией, где подобный файл скачать, ну и как с ним работать.
???

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/