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

Здесь можно обсудить ваш любимый плагин.
User avatar
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

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

Post by cmd.exe »

Latest post of the previous page:

обновил vbs.syntax теперь стандартные объекты/свойства/методы/cобытия то-же раскрашиваются.
На данный мемент это релиз, думаю что лучше написать модуль под vbs.
Java Script на подлёте :wink:
Attachments
vbs.syntax.zip
26.12.15 22:16
(2.52 KiB) Downloaded 154 times
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
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

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

Post by cmd.exe »

Как оказалось что не все объекты/свойства/методы/cобытия я помню. Есть те, которыми никогда не пользовался.
Если кому-то надо могу ещё русский синтаксис прикрутить.
Attachments
vbs.syntax.zip
29.12.15 22:24
(3.02 KiB) Downloaded 136 times
vbs.syntax.zip
27.12.15 18:20
(2.5 KiB) Downloaded 138 times
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
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

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

Post by cmd.exe »

Минорные правки для vbs.syntax
Нашёл на гитхабе, буду постить дифом туда.
Attachments
vbs.syntax.zip
5.01.16
(3.42 KiB) Downloaded 152 times
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
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

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

Post by cmd.exe »

Полуавтоматический конвертер из hrc в syntax
не реализован ковертер Регэкспов, как добавлю регэкспы будет 2-ой конвертер в проект для fmt.
  1. '*****************************************************************************
  2.  
  3. '** Syntax Converter
  4.  
  5. '**
  6.  
  7. Option Explicit
  8.  
  9.  
  10.  
  11. '*****************************************************************************
  12.  
  13. '** Globl Varibles
  14.  
  15. '**
  16.  
  17. Dim WSHargv, WSHargc, strLine
  18.  
  19. Dim inFile, outFile
  20.  
  21. WSHargc = WScript.Arguments.Count
  22.  
  23.  
  24.  
  25. WSHmain()
  26.  
  27. Function WSHmain()
  28.  
  29.     ForceConsole()
  30.  
  31.     Hello()
  32.  
  33.     WSHargs()
  34.  
  35. End Function 'WSHmain
  36.  
  37.  
  38.  
  39. Function ForceConsole()
  40.  
  41. Dim wshShell, vbsInterpreter, i
  42.  
  43. Set wshShell = CreateObject("WScript.Shell")
  44.  
  45. vbsInterpreter = "cscript.exe"
  46.  
  47.  
  48.  
  49.     If InStr(LCase(WScript.FullName), vbsInterpreter) = 0 Then
  50.  
  51.         For i=0 To WSHargc-1
  52.  
  53.             WSHargv = WSHargv & chr(32) & chr(34) & WScript.Arguments.Item(i) & chr(34)
  54.  
  55.         Next
  56.  
  57.         wshShell.Run vbsInterpreter & " //Nologo " & chr(34) & WScript.ScriptFullName & chr(34) & WSHargv
  58.  
  59.         WScript.Quit
  60.  
  61.     End If
  62.  
  63. End Function 'ForceConsole
  64.  
  65.  
  66.  
  67. Function WSHargs()
  68.  
  69. Dim i, strLen
  70.  
  71.     For i=0 To WSHargc-1
  72.  
  73.         WSHargv = LCase(WScript.Arguments.Item(i))
  74.  
  75.         strLen = Len(WSHargv)
  76.  
  77.         If Left(WSHargv, 1) = "-" Then
  78.  
  79.             If Right(WSHargv, 1) = "i" Then
  80.  
  81.                 i=i+1
  82.  
  83.                 inFile = WScript.Arguments.Item(i)
  84.  
  85.                 If LCase(Right(inFile,3)) = "hrc" Then
  86.  
  87.                     outFile= Left(inFile,Len(inFile)-3) + "syntax"
  88.  
  89.                     convert inFile, outFile
  90.  
  91.                 Else
  92.  
  93.                     Usage()
  94.  
  95.                 End If
  96.  
  97.             End If
  98.  
  99.         End If
  100.  
  101.     Next
  102.  
  103.     If IsEmpty(inFile) = True Then
  104.  
  105.         Usage()
  106.  
  107.     End If
  108.  
  109. End Function 'WSHargs
  110.  
  111.  
  112.  
  113. Function printf(txt)
  114.  
  115.     WScript.StdOut.WriteLine txt
  116.  
  117. End Function 'printf
  118.  
  119.  
  120.  
  121. Function printl(txt)
  122.  
  123.     WScript.StdOut.Write txt
  124.  
  125. End Function 'printl
  126.  
  127.  
  128.  
  129. Function scanf()
  130.  
  131.     scanf = LCase(WScript.StdIn.ReadLine)
  132.  
  133. End Function
  134.  
  135.  
  136.  
  137. Function wait(n)
  138.  
  139.     WScript.Sleep Int(n * 1000)
  140.  
  141. End Function 'wait
  142.  
  143.  
  144.  
  145. Function convert(inFile, outFile)
  146.  
  147.     Dim objFSO, objWFile, objRFile
  148.  
  149.     Set objFSO=CreateObject("Scripting.FileSystemObject")
  150.  
  151.  
  152.  
  153.     Set objRFile = objFSO.OpenTextFile(inFile)
  154.  
  155.     Set objWFile = objFSO.CreateTextFile(outFile,True)
  156.  
  157.  
  158.  
  159.     objWFile.WriteLine("file vbs\script \*.vbs")
  160.  
  161.     objWFile.WriteLine("context default")
  162.  
  163.     objWFile.WriteLine("    keyword " & chr(34) & " yellow")
  164.  
  165.  
  166.  
  167.     Do Until objRFile.AtEndOfStream
  168.  
  169.         strLine = objRFile.ReadLine
  170.  
  171.         StrFind objWFile, "<scheme name="& chr(34), chr(34) &  ">", 2
  172.  
  173.         StrFind objWFile,   "<word name="& chr(34), chr(34) & "/>", 1
  174.  
  175.         StrFind objWFile,   "<symb name="& chr(34), chr(34) & "/>", 3
  176.  
  177.     Loop
  178.  
  179.  
  180.  
  181.     objRFile.Close
  182.  
  183.     objWFile.Close
  184.  
  185. End Function 'convert
  186.  
  187.  
  188.  
  189. Function StrFind(objWFile, CaseStart, CaseEnd, strUpds)
  190.  
  191. Dim strLineM, strLineL, strLineR
  192.  
  193.     strLineL = InStr(1,strLine,CaseStart,vbTextCompare)
  194.  
  195.     strLineR = InStr(1,strLine,CaseEnd,vbTextCompare)
  196.  
  197.     If ( strLineR <> 0 ) And ( strLineL <> 0 ) And ( strLineL+strLineR <> Empty ) Then
  198.  
  199.         strLineM = Mid(strLine, strLineL, strLineR)
  200.  
  201.         strLine = Mid(strLineM,Len(CaseStart)+1,Len(strLineM)-Len(CaseStart)-Len(CaseEnd))
  202.  
  203.         If strUpds = 1 Then
  204.  
  205.             strUpd strLine, Len(strLine)
  206.  
  207.             objWFile.WriteLine ("    keyword whole " & strLine & " white")
  208.  
  209.         ElseIf strUpds = 2 Then
  210.  
  211.             objWFile.WriteLine ("#" & strLine)
  212.  
  213.         Else
  214.  
  215.             charUpd strLine, Len(strLine)
  216.  
  217.             objWFile.WriteLine ("    keyword " & strLine & " green")
  218.  
  219.         End If
  220.  
  221.     End If
  222.  
  223. End Function 'FindParse
  224.  
  225.  
  226.  
  227. Function strUpd(txt,StrLen)
  228.  
  229. Dim txtout, i, inChar, newChar, objRegExp
  230.  
  231. txt = LCase(txt)
  232.  
  233. Set objRegExp = New RegExp
  234.  
  235. objRegExp.Pattern = "[^a-z^0-9]"
  236.  
  237.     For i=1 To StrLen
  238.  
  239.         inChar = Mid(txt,i,1)
  240.  
  241.         If objRegExp.Test(inChar) = True Then
  242.  
  243.             txtout = txtout & inChar
  244.  
  245.         ElseIf newChar = inChar Then
  246.  
  247.             txtout = Left(txtout,Len(txtout)-1)
  248.  
  249.             txtout = txtout & "{2,2}/"
  250.  
  251.         Else
  252.  
  253.             txtout = txtout & "/[" & UCase(inChar) & inChar & "]/"
  254.  
  255.         End If
  256.  
  257.     newChar = inChar
  258.  
  259.     Next
  260.  
  261.     strLine = txtout
  262.  
  263. End Function 'strUpd
  264.  
  265.  
  266.  
  267. Function charUpd(txt,StrLen)
  268.  
  269. Dim txtout, i, inChar
  270.  
  271.     For i=1 To StrLen
  272.  
  273.         inChar = Mid(txt,i,1)
  274.  
  275.         If ( Mid(txt,i,1) = "&" ) Then
  276.  
  277.             If ( Mid(txt,i,5) = "&" ) Then
  278.  
  279.                 txtout = txtout & "&"
  280.  
  281.                 i=i+4
  282.  
  283.             End If
  284.  
  285.             If ( Mid(txt,i,4) = "<" ) Then
  286.  
  287.                 txtout = txtout & "<"
  288.  
  289.                 i=i+3
  290.  
  291.             End If
  292.  
  293.             If ( Mid(txt,i,4) = ">" ) Then
  294.  
  295.                 txtout = txtout & ">"
  296.  
  297.                 i=i+3
  298.  
  299.             End If
  300.  
  301.         Else
  302.  
  303.             txtout = txtout & inChar
  304.  
  305.         End If
  306.  
  307.     Next
  308.  
  309.     strLine = txtout
  310.  
  311.  
  312.  
  313. End Function 'charUpd
  314.  
  315.  
  316.  
  317. Function Hello()
  318.  
  319.     printf "==============================================================================="
  320.  
  321.     printf ",---.          |                 ,---.                          |              "
  322.  
  323.     printf "`---.,   .,---.|--- ,---..  ,    |    ,---.,---..    ,,---.,---.|--- ,---.,---."
  324.  
  325.     printf "    ||   ||   ||    ,---| ><     |    |   ||   | \  / |---'|    |    |---'|    "
  326.  
  327.     printf "`---'`---|`   '`---'`---^'  `    `---'`---'`   '  `'  `---'`    `---'`---'`    "
  328.  
  329.     printf "     `---'                                                                v.1.1"
  330.  
  331.     printf "==============================================================================="
  332.  
  333. '   wait(1)
  334.  
  335. End Function 'Hello
  336.  
  337.  
  338.  
  339. Function Usage()
  340.  
  341.     printf "Correct Usage:"
  342.  
  343.     printf WScript.ScriptName + " -i file.hrc"
  344.  
  345.     wait(3)
  346.  
  347. WScript.Quit
  348.  
  349. End Function 'Usage
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
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

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

Post by cmd.exe »

Тут стал пришлось запускать FAR на x86 встретил красоту конфликта AirBrush с ANSI плагионом Crest Рекомендую не использовать их вместе.
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
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

cmd.exe wrote: встретил красоту конфликта AirBrush с ANSI плагионом Crest
Да вроде нет
User avatar
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

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

Post by cmd.exe »

John Doe wrote:Да вроде нет
/LCtrlShift/ И цветомузыка.
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
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

При моих настройках (и с указанной версией Crest) всё в порядке.
Фар ночной, Air Brush тоже не старый (может и последний).
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

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

Post by Denis »

Airbrush 1.1.0.22
Far 3.0 build 4785 x64
При каждом старте Far'a Airbrush показывает окно "Loading..." и почему-то заголовок консоли остаётся пустым.
User avatar
zg
zero-gravity
Posts: 6016
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: 6016
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: 147
Joined: Fri 01 May, 2009 06:38
Has thanked: 16 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.
Post Reply

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