Air Brush (Airbrush) — подсветка синтаксиса в редакторе

Здесь можно обсудить ваш любимый плагин.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Air Brush — подсветка синтаксиса в редакторе

Post by Denis »

Latest post of the previous page:

Airbrush 1.1.0.22
Far 3.0 build 4785 x64
При каждом старте Far'a Airbrush показывает окно "Loading..." и почему-то заголовок консоли остаётся пустым.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Air Brush — подсветка синтаксиса в редакторе

Post by zg »

Denis wrote:При каждом старте Far'a Airbrush показывает окно "Loading..." и почему-то заголовок консоли остаётся пустым.
то что при каждом старте — похоже, что в фаре сломался кэш плагинов. пустой заголовок — там банально:

Code: Select all

HANDLE hSScr=Info.SaveScreen(0,0,-1,-1);
{
  const TCHAR* MsgItems[]={GetMsg(mName),GetMsg(mLoading)};
  Info.Message(&MainGuid,&MessageLoadingGuid,0,NULL,MsgItems,sizeof(MsgItems)/sizeof(MsgItems[0]),0);
}
…  
Info.RestoreScreen(hSScr);
вроде ничего криминального.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Air Brush — подсветка синтаксиса в редакторе

Post by Denis »

Code: Select all

Info.Message(&MainGuid,&MessageLoadingGuid,0,NULL,MsgItems,sizeof(MsgItems)/sizeof(MsgItems[0]),0);
Вызывает внутренний flush, после которого заголовок назад уже не восстанавливается.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Air Brush — подсветка синтаксиса в редакторе

Post by Denis »

Есть вопрос по сборке x32 версии.
Ставлю 'tdm-gcc-5.1.0-3.exe', добавляю в bin 're2c.exe' и при компиляции получаю:

Code: Select all

ab_plugs.cpp:220:68: error: 'RPC_WSTR' was not declared in this scope
               if(data) if(RPC_S_OK!=UuidToString((UUID*)&data->Id,(RPC_WSTR*)&name)) name=NULL;
Почему-то в 'includes' этого gcc отсутсвует 'RPC_WSTR'.

Если же собирать x64 используя 'tdm64-gcc-5.1.0-2.exe', то всё хорошо собирается.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Air Brush — подсветка синтаксиса в редакторе

Post by zg »

поправил.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Air Brush — подсветка синтаксиса в редакторе

Post by Denis »

Спасибо
User avatar
Alexander84
Posts: 150
Joined: Fri 01 May, 2009 06:38
Has thanked: 17 times
Been thanked: 2 times

Air Brush — подсветка синтаксиса в редакторе

Post by Alexander84 »

На Плагринге — версия 1.0.0.18, на страничках этой темы замечены уже 1.0.0.22 от 2016 и новые схемы подсветки, а на Гитхабе и вовсе последнее изменение исходников датируется маем 2017. Может быть, пора скомпилировать и выложить (на том же Плагринге) последний билд?
Last edited by Alexander84 on Tue 31 Oct, 2017 13:24, edited 3 times in total.
User avatar
Alexander84
Posts: 150
Joined: Fri 01 May, 2009 06:38
Has thanked: 17 times
Been thanked: 2 times

Air Brush — подсветка синтаксиса в редакторе

Post by Alexander84 »

С первых страниц темы мелькает файл cmd.syntax для раскраски batch файлов — это-то мне и нужно.
Но как его приладить к Airbrush? Внутри папки с плагином есть подпапка fmt, там файлы *.fmt, а не *.syntax.
Last edited by Alexander84 on Tue 31 Oct, 2017 19:56, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Air Brush — подсветка синтаксиса в редакторе

Post by John Doe »

Alexander84 wrote: Tue 31 Oct, 2017 19:56Но как его приладить к Airbrush?
К новым версиям никак.
Впрочем, наверно и сейчас его можно собрать.
Last edited by John Doe on Tue 31 Oct, 2017 20:25, edited 1 time in total.
User avatar
Alexander84
Posts: 150
Joined: Fri 01 May, 2009 06:38
Has thanked: 17 times
Been thanked: 2 times

Air Brush — подсветка синтаксиса в редакторе

Post by Alexander84 »

John Doe
Понятно, выходит, возвращаюсь к Colorer.
Ладно там молодёжь с годами отходит от бум-бум дискотек, но как можно отойти из Фара, забросить плагины? Это же ЦУП в миниатюре.
Last edited by Alexander84 on Wed 01 Nov, 2017 08:17, edited 2 times in total.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Air Brush — подсветка синтаксиса в редакторе

Post by John Doe »

Alexander84 wrote: Wed 01 Nov, 2017 00:18но как можно отойти из Фара, забросить плагины?
Жизнь такая.

Возвращаясь к теме.
Во-первых, zcustom по-прежнему присутствует в репозитории, и его возможно собрать, при желании.
Во-вторых, не спроста он исключён из сборки: автор вместо него разрабатывает LuaEditorSettingsCore (подсветки cmd там увы не предусмотрено, но вы можете создать схему самостоятельно).
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Air Brush — подсветка синтаксиса в редакторе

Post by John Doe »

zg, интересует api для макросов.
Какие функции поддерживаются?
Как использовать airbrush.shared (который создаётся в _G luamacro)?
Почему так, а не через Plugin.Call?
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Air Brush — подсветка синтаксиса в редакторе

Post by zg »

Plugin.Call("9860393A-918D-450F-A3EA-84186F21B0A2",0,EditorID,SyntaxGUID) — установка раскраски для EditorID. guid может быть как строковый, так и бинарный.
Plugin.Call("9860393A-918D-450F-A3EA-84186F21B0A2",1,EditorID) — если курсор стоит на парной скобке, то получить о ней информацию. пример использования:

Plugin.Call("9860393A-918D-450F-A3EA-84186F21B0A2",2,EditorID) — получить guid раскраски. первый результат true/false — есть ли раскраска. второй — guid.
John Doe wrote: Wed 08 Nov, 2017 12:07Как использовать airbrush.shared (который создаётся в _G luamacro)?
это такой хак, чтобы не обрабатывать в макросе EE_CHANGE. там лежит первая изменённая линия для последнего обработанного плагином редактора.
Почему так, а не через Plugin.Call?
он же в событиях не работает.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Air Brush — подсветка синтаксиса в редакторе

Post by John Doe »

zg wrote: Wed 08 Nov, 2017 12:50это такой хак, чтобы не обрабатывать в макросе EE_CHANGE. там лежит первая изменённая линия для последнего обработанного плагином редактора.
А как её получить из userdata? (Или это для использования через ffi?)
(и ещё любопытно как организовано взаимодействие между плагинами, можно к код ткнуть)
zg wrote: Wed 08 Nov, 2017 12:50он же в событиях не работает.
Зато Plugin.SyncCall работает.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Air Brush — подсветка синтаксиса в редакторе

Post by zg »

John Doe wrote: Wed 08 Nov, 2017 13:01А как её получить из userdata? (Или это для использования через ffi?)
да. в editorsettingscore.moon можно ж посмотреть.
John Doe wrote: Wed 08 Nov, 2017 13:01(и ещё любопытно как организовано взаимодействие между плагинами, можно к код ткнуть)
достаточно топорно. поищите Info.pCallParser, там аж три примера.
John Doe wrote: Wed 08 Nov, 2017 13:01Зато Plugin.SyncCall работает.
надо попробовать. возможно то, что надо.
Post Reply

Return to “Обсуждение плагинов”