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/переизобретать скрипт для проверки корректных значений ютилиты ффмпег (например)