Раскраска в полях ввода подобно раскраске в редакторе

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by LAT »

Latest post of the previous page:

citRiks wrote: Mon 21 Sep, 2020 13:05LAT,
Колорер нужен для лексически-семантического анализа, типа пары, скобки, кавычки.
Это есть и в однострочных вводах, тот же lua:<lua-code-here>, батчи всякие.
Ну и естесственно для самой визуализации этого анализа.
Далее, в диалогах нет разных цветов для одного элемента, кроме амперсанда &А,
а надо бы, например для выделения разных слов одной строки в меню,
например когда меню представяют собой результаты поиска слов/слова
Я знаю, зачем используется колорер. Просто не совсем понятно, что это за диалоги, в которых нужен сложный анализ. Теоретически, да, возможны всякие батчи, поиски каких-то выражений, вставки луа-кода... Но так как в одну строку много не впихнёшь, действительно ли там так часто так сложно, что нужен колорер в полях ввода... Ну а откуда появились в разговоре о полях ввода меню - вообще не понял.
ЗЫ. Я не против, если колорер будет прикручен к диалогам, меню, командной строке. Просто не будет ли это из пушки по воробьям?
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Раскраска в полях ввода подобно раскраске в редакторе

Post by buniak_a_h »

Весь разговор стал бы неактуален, если бы в диалог можно было бы "встраивать" кусок редактора (только поле редактирования, без всяких обрамлений типа рамок, заголовков, подсказок и пр.). При этом (а) клавиши передавались бы процессору диалога, а если он вернёт nil/false, то обрабатывал бы сам редактор; (б) область была бы Dialog и (в) при клике вне inline-редактора (но внутри диалога) клик обрабатывался бы диалогом. Писали про DI_MEMO - эх! решило бы все вопросы!
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by LAT »

buniak_a_h wrote: Mon 21 Sep, 2020 14:49Весь разговор стал бы неактуален, если бы в диалог можно было бы "встраивать" кусок редактора...
А скрипт Dialog_ToEditor от SimSU (viewtopic.php?f=60&t=7075&p=161835) не подойдёт?
UPD. Ага, искарпки не сработает: там временный файл, и колорер не знает, какую схему задействовать. Хотя тот же вопрос для раскраски в полях ввода - откуда колореру знать, что вводит пользователь: код на JS, lua, плюсах, xml, что-то ещё...
UPD2. Нужный тип можно включить для временного файла вручную.
Last edited by LAT on Mon 21 Sep, 2020 16:02, edited 3 times in total.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Раскраска в полях ввода подобно раскраске в редакторе

Post by zg »

LAT wrote: Mon 21 Sep, 2020 15:53UPD. Ага, искарпки не сработает: там временный файл, и колорер не знает, какую схему задействовать.
разве колорер не позволяет задать схему программно?
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by LAT »

zg wrote: Mon 21 Sep, 2020 16:01
LAT wrote: Mon 21 Sep, 2020 15:53UPD. Ага, искарпки не сработает: там временный файл, и колорер не знает, какую схему задействовать.
разве колорер не позволяет задать схему программно?
Так не известно заранее, какая схема нужна для содержимого временного файла.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

LAT wrote: Mon 21 Sep, 2020 14:08 Но так как в одну строку много не впихнёшь, действительно ли там так часто так сложно, что нужен колорер в полях ввода...
команд-лайн синтаксисы бывают весьма и весьма заковыристые однако.
нужны проверки синтаксиса и autocompletions.
создавать на каждые многочисленные команды отдельный бат-(или шелл-) файл для редактора,
лишаясь при этом ФАРовского command-autocompletion - наверное будет неправильным.
autocompletions которые есть в фаре, хорошо что есть, но недостаточны.
думал как пересадить extensible programmed autocompletions из clink,
(clink их в свою очередь берет из команд-лайн мира юнихо-линухов)
но слишком большой обьем работы и переизобретания велосипеда,
в то время когда достаточно подправить средства ФАРа.
"Средствa ФАРа" - в Колорере уже есть хороший синтакс-анализ однако.
И есть поля ввода, которые (возможно по-дилетантски) выглядят строками редактора.
поэтому, теоретически, эффективнее было бы воспользоваться Колорером и некoторым расширением АПИ,
чем глядя на cLink, воздыхать и думать каким боком его портировать в ФАР,
или какой еще велосипед переизобрести.
LAT wrote: Mon 21 Sep, 2020 14:08 Ну а откуда появились в разговоре о полях ввода меню - вообще не понял.
ну какое-то планирование должно быть, взгляд на перспективу в какой-то мере, архитектура там.
не будет правильным воткнуть какой-то feature хоть 1000 замечательный, который будет вещью в себе и костылем,
который будет тормозить все остальное, пока его не выкинешь и не переделаешь.
Я при всей своей нелюбви к недостатку features не считаю что будет много пользы от самого замечательного feature,
если его архитектура - хоть святых выноси. будет глючить и будет мешать. мешать и юзерам и разрабам

если удасться начать с полей ввода, то должен наметится и путь к решению для других элементов диалога,
принципиальных отличий я не вижу.
между диалогами и меню тоже не вижу принципиальных отличий,
меню - это частный случай диалога с одним элементом DI_LIST, плюс autosizing (еще одно дилетантское предположение)
я например придумал бы такой АПИ для диалогов/меню:
result = editor.AddColor(DialogId, ItemNumber, MenuItemNumber, StartPos, EndPos, Flags, Color, Priority, Owner)
что является калькой с редакторного:
result = editor.AddColor (EditorId, StringNumber, StartPos, EndPos, Flags, Priority, Owner)

ну явно ведь меньше работы чем портировать cLink/readline/переизобретать скрипт для проверки корректных значений ютилиты ффмпег (например)
Last edited by citRiks on Mon 21 Sep, 2020 16:40, edited 2 times in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

zg wrote: Mon 21 Sep, 2020 16:01 разве колорер не позволяет задать схему программно?
Должен уметь задать, но в редакторе все равно нет command history/command completion.
Можно делать кустарные скрипты и дополнения, но переизобретать весь command history/command completion для editor - не будет правильным.
эдак все можно переизобрести, но никто пользоватся не будет, потому что костыльно, глючно, ограниченно там и сям будет,
и, что самое главное, не совместимо с поделками других участников форума.
так каждый себе переизобретет какие-то части, наверное, все будет несовместимо друг с другом, проект ползет на кладбище
я не про ФАР что он ползет на кладбище, а про абтрактный проект который уползет на кладбище в силу разных таких причин.
но в любом случае мне бы хотелось чтобы у ФАРа было бы меньше причин ползти на кладбище, этого я не скрою
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by LAT »

citRiks wrote: Mon 21 Sep, 2020 16:34команд-лайн синтаксисы бывают весьма и весьма заковыристые однако.
Имхо, допилить упомянутый скрипт SimSU всяко проще, чем включать колорер в диалоги-меню-командную строку. Но это чисто моё имхо.
Post Reply

Return to “Предложения и идеи”