Адаптеры (или плагины на любых языках и с любым интерфейсом)

Разработка Far.
User avatar
cmd.exe
Posts: 333
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 170 times
Been thanked: 5 times
Contact:

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by cmd.exe » Thu 31 Dec, 2015 16:30

Latest post of the previous page:

Враппер для множества языков отлично сздан в Vim. Для сравнения можно исходники понюхать...
Всех с наступающим новым годом!
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

User avatar
DrKnS
Posts: 4619
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 122 times
Contact:

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by DrKnS » Sun 03 Jan, 2016 18:16

DrKnS wrote: В аттаче пример для Python. Умеет добавлять пункт в меню плагинов и показывать сакральную фразу под панелями.
Обсуждение адаптера питона переехало сюда.

gotar
Posts: 293
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 8 times

Python adapter

Post by gotar » Mon 04 Jan, 2016 10:38

А что плохого в том, чтобы Фар отдавал адаптерам и каталоги тоже? Если это делать, то надо делать сейчас, чтобы не потерять обратную совместимость.

User avatar
DrKnS
Posts: 4619
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 122 times
Contact:

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by DrKnS » Mon 04 Jan, 2016 11:03

Я как-то не вижу смысла.
Каталог сам по себе информации не содержит. В нем всё равно должны быть какие-то файлы, с какими-то специфичными именами или расширениями, по которым его однозначно можно опознать как плагин.
Непонятно, как обрабатывать вложенные каталоги.
Учитывая, что для пользователя разница только в синтаксисе load: и unload: - овчинка не стоит выделки.

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by techie » Mon 15 Aug, 2016 05:37

// Уж не плагин ли filename? Вызывается для всего подряд, в общем случае тут достаточно проверки расширения.
BOOL WINAPI IsPlugin(const wchar_t* filename)
{
return ExstensionIsSame(filename, L".plg");
}
Так только файлы скармливает? Судя по последнему посту, видимо да.

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by techie » Mon 15 Aug, 2016 05:43

DrKnS wrote: Непонятно, как обрабатывать вложенные каталоги.
Я бы в них не лез. но вообще чем плохо?
DrKnS wrote: Учитывая, что для пользователя разница только в синтаксисе load: и unload: - овчинка не стоит выделки.
Ну вообще удобненько было бы питоновские плагины мутузить по их имени без суффикса __init__.py. Я бы ещё list: какой-нибудь добавил, чтобы понимать какие плагины вообще есть и активны.

User avatar
DrKnS
Posts: 4619
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 122 times
Contact:

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by DrKnS » Mon 15 Aug, 2016 07:27

techie wrote: Ну вообще удобненько было бы питоновские плагины мутузить по их имени без суффикса __init__.py
Как предложено в другой теме, это вполне решается на уровне farcmds.

Post Reply

Return to “Development”