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

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

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

Post by Denis » Sat 10 Sep, 2016 03:08

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: 5527
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 85 times
Contact:

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

Post by zg » Sun 11 Sep, 2016 15:31

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: 1411
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 4 times
Been thanked: 2 times

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

Post by Denis » Sun 11 Sep, 2016 15:53

Code: Select all

Info.Message(&MainGuid,&MessageLoadingGuid,0,NULL,MsgItems,sizeof(MsgItems)/sizeof(MsgItems[0]),0);
Вызывает внутренний flush, после которого заголовок назад уже не восстанавливается.

Denis
Posts: 1411
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 4 times
Been thanked: 2 times

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

Post by Denis » Sun 18 Dec, 2016 12:09

Есть вопрос по сборке 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: 5527
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 85 times
Contact:

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

Post by zg » Sun 18 Dec, 2016 20:41

поправил.

Denis
Posts: 1411
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 4 times
Been thanked: 2 times

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

Post by Denis » Sun 18 Dec, 2016 21:28

Спасибо

User avatar
Alexander84
Posts: 123
Joined: Fri 01 May, 2009 06:38
Has thanked: 14 times
Been thanked: 2 times

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

Post by Alexander84 » Tue 31 Oct, 2017 13:23

На Плагринге — версия 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
John Doe
Бюрократ
Posts: 12106
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 29 times
Been thanked: 154 times

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

Post by John Doe » Tue 31 Oct, 2017 14:34


User avatar
Alexander84
Posts: 123
Joined: Fri 01 May, 2009 06:38
Has thanked: 14 times
Been thanked: 2 times

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

Post by Alexander84 » Tue 31 Oct, 2017 19:56

С первых страниц темы мелькает файл 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: 12106
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 29 times
Been thanked: 154 times

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

Post by John Doe » Tue 31 Oct, 2017 20:14

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: 123
Joined: Fri 01 May, 2009 06:38
Has thanked: 14 times
Been thanked: 2 times

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

Post by Alexander84 » Wed 01 Nov, 2017 00:18

John Doe
Понятно, выходит, возвращаюсь к Colorer.
Ладно там молодёжь с годами отходит от бум-бум дискотек, но как можно отойти из Фара, забросить плагины? Это же ЦУП в миниатюре.
Last edited by Alexander84 on Wed 01 Nov, 2017 08:17, edited 2 times in total.

User avatar
John Doe
Бюрократ
Posts: 12106
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 29 times
Been thanked: 154 times

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

Post by John Doe » Wed 08 Nov, 2017 11:55

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

Возвращаясь к теме.
Во-первых, zcustom по-прежнему присутствует в репозитории, и его возможно собрать, при желании.
Во-вторых, не спроста он исключён из сборки: автор вместо него разрабатывает LuaEditorSettingsCore (подсветки cmd там увы не предусмотрено, но вы можете создать схему самостоятельно).

User avatar
John Doe
Бюрократ
Posts: 12106
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 29 times
Been thanked: 154 times

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

Post by John Doe » Wed 08 Nov, 2017 12:07

zg, интересует api для макросов.
Какие функции поддерживаются?
Как использовать airbrush.shared (который создаётся в _G luamacro)?
Почему так, а не через Plugin.Call?

User avatar
zg
zero-gravity
Posts: 5527
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 85 times
Contact:

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

Post by zg » Wed 08 Nov, 2017 12:50

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: 12106
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 29 times
Been thanked: 154 times

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

Post by John Doe » Wed 08 Nov, 2017 13:01

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: 5527
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 85 times
Contact:

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

Post by zg » Wed 08 Nov, 2017 13:17

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 работает.
надо попробовать. возможно то, что надо.

Denis
Posts: 1411
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 4 times
Been thanked: 2 times

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

Post by Denis » Wed 14 Feb, 2018 18:05

А можно куда-нибудь выложить бинарник re2c который может собрать плагин для python, а то:
re2c: error: bad short option: -T
Спасибо

Post Reply

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