Файлы .coder : предложения по улучшению формата

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

согласен, мы все за одно :wink:

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

FeyFre
причем тут язык, это почти всё тот же конфиг, только с некоторыми добавлениями, которые имхо будут только облегчать процедуру загрузки

Offline
Posts: 84
Joined: Fri May 28, 2010 1:28 pm

Post by private_joker »

FeyFre wrote:se7h
Не буду предполагать в принципе, ибо в принципе не лазил в исходники Coder-а, рылся только в AutoComplete и HighLight и то точно не в частях чтения конфигурации.
А где можно "полазить"? Сорцов плагинов в доступе что-то не видно. CVS не установлен (пользуюсь SVN), через browse code нет.
FeyFre wrote:VladSh, se7h, Fr0sT, хватит придумывать новый язык. Если Вам так нужно расширить конфигурационность плагина, то просите Инструткора не доделывать синтаксис конфига, а использовать один из пригодных для этого интерпретируемых/скриптовых языков, которых Вам с головой хватит сразу, и на всегда. Гибкости уйма. И ни вы, ни Инструктор не будете больше гадать как бы лучше правило в конфиг внести, и сразу можно будет позаботится о функционале.
Самый логичный комментарий, подпишусь, пишу свой проект столкнулся с тем, что ini-конфигураций маловато, xml - непонятно, много мусора (ну если честно, то просто терпеть не могу html-xml, хотя в том же fb2 например он оправдан), есть libconfig ( http://www.hyperrealm.com/libconfig/ ) формат .cfg (не работал, на вскидку advanced-C-style-лисапед), тест-конфиг http://www.hyperrealm.com/libconfig/test.cfg.txt , и наконец есть Lua, который признан и много где используется (в геймдеве часто, игровые скрипты). Два последних - кандитаты (для меня).

Однако уверен на 99.9% что ничего из вышепредложенного Instructor не добавит, т.к. AkelPad УЖЕ сборник разнообразных велосипедов (из невелосипедов пожалуй только Unzip в апдейтере, сорсов плагинов в открытом доступе CVS нет, так что за них не скажу). Про Plugin Api (его виде, расположении) просто ничего не буду говорить. Удобно автору (или он привык так комментировать при наличии нормального и стандартного способа) - хорошо (там где ТОЛЬКО для своих глаз пишу doxigen-комментарии тоже не пользую), НО(!) imho в плане поддержки сторонним разработчиком все достаточно грустно. Я, например, начал писать плаг и сразу испытал проблемы (привет бородатый libc, ну сильно "новый" MSVC-E 2005 эт конечно мои проблемы, я еще и студией не пользуюсь, да), про документацию вроде написал уже. Это все как раз относится к стандартам и лисапедам.
Рыть дальше что к чему (именно рыть) сильного желания нет, привыкнуть наверное можно, но СХОДУ настроить AkelPad сможет только программист, а писать для него - Instructor. Я пока решил нервную систему поберечь, до лучших дней.
P.S. Это личное мнение.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

А где можно "полазить"?
http://akelpad.sourceforge.net/ru/plugins.php
Архивы содержат исходники.
...AkelPad УЖЕ сборник разнообразных велосипедов...
Приходится, раз подходящих велосипедов нет. От велосипедов требуется: скорость, малый вес и управляемость. В версии 3.х.х тоже использовался велосипед RichEdit, но и его колеса начали пробуксовывать, когда развитие программы требовало подъема.
(привет бородатый libc, ну сильно "новый" MSVC-E 2005 эт конечно мои проблемы, я еще и студией не пользуюсь, да)
Что автор плагина добавит при линковке в проект зависит только от него libc.lib или что-то другое.
...СХОДУ настроить AkelPad сможет только программист, а писать для него - Instructor.
На моей памяти были исключения :)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

private_joker wrote:
FeyFre wrote:VladSh, se7h, Fr0sT, хватит придумывать новый язык. Если Вам так нужно расширить конфигурационность плагина, то просите Инструткора не доделывать синтаксис конфига, а использовать один из пригодных для этого интерпретируемых/скриптовых языков, которых Вам с головой хватит сразу, и на всегда. Гибкости уйма. И ни вы, ни Инструктор не будете больше гадать как бы лучше правило в конфиг внести, и сразу можно будет позаботится о функционале.
Самый логичный комментарий, подпишусь
А я нет.
FeyFre, бесспорно крут, но рассуждает с точки зрения злобного программера.
private_joker wrote:и наконец есть Lua, который признан и много где используется (в геймдеве часто, игровые скрипты). Два последних - кандитаты (для меня).
...
Рыть дальше что к чему (именно рыть) сильного желания нет, привыкнуть наверное можно, но СХОДУ настроить AkelPad сможет только программист, а писать для него - Instructor. Я пока решил нервную систему поберечь, до лучших дней.
Вот в том-то и дело! Такое пишете, а предлагаете Lua и т.п. Кому и зачем эти "крестики-нолики", что приведены здесь? Все эти языки для настроек - не вопрос, но тогда пользователь не должен этого видеть (копаться в конфигах), тогда вся настройка должна быть визуальная (в UI) + сохранение произведённых настроек в файле стиля! А уж если мы не предлагаем пользователю такое UI (я сомневаюсь, что предложим), то надо лазить в конфигах, а значит это "лазинье" должно быть максимально простым. То, что Вы предлагаете - это усложнение, а переменные+стили - самое то.
Дело не в том, чтобы сделать максимально "на что-то похоже" или "меньше телодвижений для разработчика", а чтобы это было и производительно, и удобно, а значит востребовано. На то Instructor и проектировщик/конструктор/разработчик, чтобы принимать решения о выборе реализации. А мы будем давать свои предложения :D


Касательно "велосипедов".
Instructor wrote:
...AkelPad УЖЕ сборник разнообразных велосипедов...
Приходится, раз подходящих велосипедов нет. От велосипедов требуется: скорость, малый вес и управляемость. В версии 3.х.х тоже использовался велосипед RichEdit, но и его колеса начали пробуксовывать, когда развитие программы требовало подъема.
Полностью поддерживаю. Т.к. иногда собственная реализация работает быстрее, да и лучше в управлении, чем насовывание в свою разработку кучи гемороев со стороны.

И это здорово, Александр, что Вы отписались 8) , т.к. надоело уже слушать от других, догадки "почему Вы что-то не будете делать" или "о чём на самом деле нам надо просить" :twisted:

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

НО(!) imho в плане поддержки сторонним разработчиком все достаточно грустно.
а писать для него - Instructor.
Есть два разработчика которыми не являются Инструктор. Значит всё-таки не святые на небе горшки лепят.
привет бородатый libc, ну сильно "новый" MSVC-E 2005 эт конечно мои проблемы, я еще и студией не пользуюсь, да
libcmt не катит нет? msvcrt.lib? libc - не изобретение МС, а стандарт языка. Вы сможете построить также и на gcc, и на IntelC, и на PCC и на прочих.
И не везде он нужен.(К примеру Templates линкую без libc(mt) ибо он мне не нужен вообще.) И если постараться - то ещё несколько плагинов можно будет отвязать.
и наконец есть Lua, который признан и много где используется (в геймдеве часто, игровые скрипты).
Lua конечно "велосипед" хороший, но его желательно урезать если хочется использовать только как парсер конфигураций. Lua будет весить больше чем сам функционал плагина(этак раз в 7)

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

если что, для описания стилей существует CSS, а если учесть что он ещё полностью поддерживается Coder'ом, вобщем ничего такой велосипед и ничего лишнего... 8)

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Не, ну дебаты, это, конечно, хорошо, но меня интересует конкретный вопрос.
Будет ли (хотя бы на первых порах) поддержка задаваемых пользователем констант в строках описания подсветки ключевых слов?
Насколько я понимаю, это потребует минимальных изменений в уже существующем коде плагина.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

DV wrote:Будет ли (хотя бы на первых порах) поддержка задаваемых пользователем констант в строках описания подсветки ключевых слов?
Я бы даже немного переформулировал.
Хорошо бы все эти константы вынести в отдельный файл с возможностью быстрой смены этого файла на другой из интерфейса программы.
То есть сделать список в духе
type0=color0
type1=color1
...

На случай отсутствия констант – дублировать их в файле подсветки, но приоритет отдавать основному файлу настроек.

Тогда, думается, все будут довольны. :D

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Infocatcher, дык об этом же и толкуем! Об этом первое сообщение этой темы :D
А второе предложение: на основе констант сделать стили и уже ими описывать Words и т.п.


se7h, хоть и неудобно для пользователей, но поддерживаю по CSS, т.к. это реально уже стандарт де-факто по заданию стилей; глядишь, и возможно дальше можно будет дёргать css'ки прямо из других редакторов!.. Всё ведь понемногу идёт к стандартизации, и в этом смысле стандартизация - это хорошо! 8)

Offline
Posts: 84
Joined: Fri May 28, 2010 1:28 pm

Post by private_joker »

..... Ч.и.Т.Д.
Instructor wrote:http://akelpad.sourceforge.net/ru/plugins.php
Архивы содержат исходники.
Вот спасибо, посмотрю. Уж никак не думал что при пустом CVS они будут там, ошибочное срабатывание логики ;)

Instructor wrote: Приходится, раз подходящих велосипедов нет. От велосипедов требуется: скорость, малый вес и управляемость. В версии 3.х.х тоже использовался велосипед RichEdit, но и его колеса начали пробуксовывать, когда развитие программы требовало подъема.
С RichEdit при расширении функционала никак по другому и не могло быть, он для других целей предназначен. Тут либо лисапед, либо например Scintilla.
Instructor wrote: Что автор плагина добавит при линковке в проект зависит только от него libc.lib или что-то другое.
Я как бы в курсе, но в то время когда я собирал AKelPad он таки требовал его. Возьмем 20 плагинов слинкованных с мультитредовой (емнип Akel не поддерживает MT ни в каком виде) CMT, получаем оверхед порядка 800 kb. А можно через Redist CRT да написать об этом, и больше не трогаем его при обновлениях программы, плагинов и т.п.
Instructor wrote: На моей памяти были исключения :)
Вопрос не в том кто насколько крут, а в том какие чувства возникают при этом, я за вечер написал stub-плагин, от этого документация к плагин-апи не стала удобной и логичной. Каким образом например ты смог бы экспортировать подробный интерфес Апи и вывесить например в Wiki? Подсказка - никаким, если сразу не пользовать нормальные комментарии. Это и есть слабоподдерживаемость. Тормоза придумали трусы - doxigen/javadoc для слабаков, да.

-------------------
VladSh wrote:А я нет.
FeyFre, бесспорно крут, но рассуждает с точки зрения злобного программера.
Вот в том-то и дело! Такое пишете, а предлагаете Lua и т.п. Кому и зачем эти "крестики-нолики", что приведены здесь? Все эти языки для настроек - не вопрос, но тогда пользователь не должен этого видеть (копаться в конфигах), тогда вся настройка должна быть визуальная (в UI) + сохранение произведённых настроек в файле стиля! А уж если мы не предлагаем пользователю такое UI (я сомневаюсь, что предложим), то надо лазить в конфигах, а значит это "лазинье" должно быть максимально простым. То, что Вы предлагаете - это усложнение, а переменные+стили - самое то.
Дело не в том, чтобы сделать максимально "на что-то похоже" или "меньше телодвижений для разработчика", а чтобы это было и производительно, и удобно, а значит востребовано. На то Instructor и проектировщик/конструктор/разработчик, чтобы принимать решения о выборе реализации. А мы будем давать свои предложения :D
Bad news for you. Ну и каким образом пользователь "не копаясь в конфигах" нарисует кастомную подсветку или нарисует фолдинг, просвяти меня о мудрейший. Справится с "крестиками-ноликами" сможет любая кодо-обезьяна которая пишет на html+css+php.

Мне кажется что по сути разработки тебе нечего сказать, после фразы "меньше телодвижений для разработчика".

------------------
FeyFre wrote:Есть два разработчика которыми не являются Инструктор. Значит всё-таки не святые на небе горшки лепят.
Можешь считать что три, т.к. переступив через логику плагин я скорее всего, плюясь на доки, допишу, т.к. мне он нужен. Ответил Instructor'у выше.
FeyFre wrote: libcmt не катит нет? msvcrt.lib? libc - не изобретение МС, а стандарт языка. Вы сможете построить также и на gcc, и на IntelC, и на PCC и на прочих.
Спасибо за лекцию, я в курсе и пишу кстати не только для Win+PC. Тоже самое, ответил выше почему и как.
FeyFre wrote: Lua конечно "велосипед" хороший, но его желательно урезать если хочется использовать только как парсер конфигураций. Lua будет весить больше чем сам функционал плагина(этак раз в 7)
Да не вопрос, между нами Lua под MIT лицензией т.е. допускает статическую линковку. Как устроена библиотека экспорта я думаю тебе как разработчику известно. Что там надо "урезать"? И да, Lua не велосипед.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

private_joker wrote:Bad news for you. Ну и каким образом пользователь "не копаясь в конфигах" нарисует кастомную подсветку или нарисует фолдинг, просвяти меня о мудрейший.
Прежде чем брызгать слюнями на всеобщем обозрении, лучше почитать внимательно текст, который вы же цитируете:
VladSh wrote:Все эти языки для настроек - не вопрос, но тогда пользователь не должен этого видеть (копаться в конфигах), тогда вся настройка должна быть визуальная (в UI) + сохранение произведённых настроек в файле стиля! А уж если мы не предлагаем пользователю такое UI (я сомневаюсь, что предложим), то надо лазить в конфигах, а значит это "лазинье" должно быть максимально простым.
private_joker wrote:Справится с "крестиками-ноликами" сможет любая кодо-обезьяна которая пишет на html+css+php.
Мы вообще не про обезьян тут говорим, по этой части другие форумы...
Есть ещё масса пользователей, которые никогда никаких языков программирования не видели, но иногда открывают некоторые простые типы файлов, также требующие подсветки.

private_joker wrote:Мне кажется что по сути разработки тебе нечего сказать, после фразы "меньше телодвижений для разработчика".
А я где-то сказал, что буду что-то говорить "по сути разработки"?? В этой теме были даны предложения (в том числе и мной) по формату конфигов. Вы предложили lua, я сказал, что не поддерживаю, описал почему.

Всё хорошо, не надо так переживать, все спят спокойно.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

VladSh wrote:дык об этом же и толкуем! Об этом первое сообщение этой темы :D
Дык сформулировать, что требуется получить («темы» для быстрой смены раскраски), и упирать не на детали возможной реализации, а на желаемость реализации как таковой. А то больно букв много выходит. :D

Offline
Posts: 84
Joined: Fri May 28, 2010 1:28 pm

Post by private_joker »

VladSh wrote:Прежде чем брызгать слюнями на всеобщем обозрении, лучше почитать внимательно текст, который вы же цитируете:
Все эти языки для настроек - не вопрос, но тогда пользователь не должен этого видеть (копаться в конфигах), тогда вся настройка должна быть визуальная (в UI) + сохранение произведённых настроек в файле стиля! А уж если мы не предлагаем пользователю такое UI (я сомневаюсь, что предложим), то надо лазить в конфигах, а значит это "лазинье" должно быть максимально простым.
Я спокойно и с аргументами отстаиваю свою точку зрения, без истерики и кучи смайликов, где ты тут увидел брызгание слюнями мне непонятно. А вот глупый флюродрос:
VladSh wrote: "И это здорово, Александр, что Вы отписались , т.к. надоело уже слушать от других, догадки "почему Вы что-то не будете делать" или "о чём на самом деле нам надо просить"
без понимания причин и следствий я увидел.
VladSh wrote:Мы вообще не про обезьян тут говорим, по этой части другие форумы...
Есть ещё масса пользователей, которые никогда никаких языков программирования не видели, но иногда открывают некоторые простые типы файлов, также требующие подсветки.
Можно вопрос, ты школу окончил? Я не к тому что ты школьник или как-то задеть тебя, а к тому, что не знаю как сейчас, а по моей памяти 15 лет назад в школьной программе был Pascal в виде TP не помню какой версии, в непрофильных вузах также был или он или Барсик, CSS там не было впомине, думаю нет и сейчас (и слава Б_гу). Если кто-то вместо учебы ковырялся в носу и "никогда никаких языков программирования не видел", то какие вопросы?
VladSh wrote:А я где-то сказал, что буду что-то говорить "по сути разработки"?? В этой теме были даны предложения (в том числе и мной) по формату конфигов. Вы предложили lua, я сказал, что не поддерживаю, описал почему.
Я не предлагал конкретно что-то одно, я предложил не тратить время на изобретение изобретенного, а разумно воспользоваться наработанным, проверенным и хорошо документированным, а не ловить рандомные глюки. Я пользуюсь AkelPad c 2006 года и помню, что говорил Instructor года 2 назад относительно подсветки синтаксиса, фолдинга и прочего. А поди-ж ты, появилось. К чему это я думаю понятно без расшифровки, т.е. потребности имеют свойства расти и иногда, чтобы пойти вперед, надо оглянуться назад.
VladSh wrote: Всё хорошо, не надо так переживать, все спят спокойно.
Have a nice sleep, спи дальше. Не пиши мне больше, не надо, хорошо?
А Instructor'у я (не как пользователь) пожелания высказал, что мне с первого взгляда показалось не совсем правильным/логичным, что он будет с этим делать и будет ли вообще - его дело. Не будет, значит не будет, переживу как-нибудь, не девочка чай, не обижусь. Я думаю как взрослый человек он не осерчает на небольшую критику.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

private_joker wrote:если сразу не пользовать нормальные комментарии
Если для понимания кода требуется куча комментариев, то это плохой код, я считаю.
По идее, список функций вполне можно получить и так. И если они нормально названы, то этого может оказаться вполне достаточно.
Post Reply