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 130 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 113 times
vbs.syntax.zip
27.12.15 18:20
(2.5 KiB) Downloaded 115 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 130 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. '** Syntax Converter
  3. '**
  4. Option Explicit
  5.  
  6. '*****************************************************************************
  7. '** Globl Varibles
  8. '**
  9. Dim WSHargv, WSHargc, strLine
  10. Dim inFile, outFile
  11. WSHargc = WScript.Arguments.Count
  12.  
  13. WSHmain()
  14. Function WSHmain()
  15.     ForceConsole()
  16.     Hello()
  17.     WSHargs()
  18. End Function 'WSHmain
  19.  
  20. Function ForceConsole()
  21. Dim wshShell, vbsInterpreter, i
  22. Set wshShell = CreateObject("WScript.Shell")
  23. vbsInterpreter = "cscript.exe"
  24.  
  25.     If InStr(LCase(WScript.FullName), vbsInterpreter) = 0 Then
  26.         For i=0 To WSHargc-1
  27.             WSHargv = WSHargv & chr(32) & chr(34) & WScript.Arguments.Item(i) & chr(34)
  28.         Next
  29.         wshShell.Run vbsInterpreter & " //Nologo " & chr(34) & WScript.ScriptFullName & chr(34) & WSHargv
  30.         WScript.Quit
  31.     End If
  32. End Function 'ForceConsole
  33.  
  34. Function WSHargs()
  35. Dim i, strLen
  36.     For i=0 To WSHargc-1
  37.         WSHargv = LCase(WScript.Arguments.Item(i))
  38.         strLen = Len(WSHargv)
  39.         If Left(WSHargv, 1) = "-" Then
  40.             If Right(WSHargv, 1) = "i" Then
  41.                 i=i+1
  42.                 inFile = WScript.Arguments.Item(i)
  43.                 If LCase(Right(inFile,3)) = "hrc" Then
  44.                     outFile= Left(inFile,Len(inFile)-3) + "syntax"
  45.                     convert inFile, outFile
  46.                 Else
  47.                     Usage()
  48.                 End If
  49.             End If
  50.         End If
  51.     Next
  52.     If IsEmpty(inFile) = True Then
  53.         Usage()
  54.     End If
  55. End Function 'WSHargs
  56.  
  57. Function printf(txt)
  58.     WScript.StdOut.WriteLine txt
  59. End Function 'printf
  60.  
  61. Function printl(txt)
  62.     WScript.StdOut.Write txt
  63. End Function 'printl
  64.  
  65. Function scanf()
  66.     scanf = LCase(WScript.StdIn.ReadLine)
  67. End Function
  68.  
  69. Function wait(n)
  70.     WScript.Sleep Int(n * 1000)
  71. End Function 'wait
  72.  
  73. Function convert(inFile, outFile)
  74.     Dim objFSO, objWFile, objRFile
  75.     Set objFSO=CreateObject("Scripting.FileSystemObject")
  76.  
  77.     Set objRFile = objFSO.OpenTextFile(inFile)
  78.     Set objWFile = objFSO.CreateTextFile(outFile,True)
  79.  
  80.     objWFile.WriteLine("file vbs\script \*.vbs")
  81.     objWFile.WriteLine("context default")
  82.     objWFile.WriteLine("    keyword " & chr(34) & " yellow")
  83.  
  84.     Do Until objRFile.AtEndOfStream
  85.         strLine = objRFile.ReadLine
  86.         StrFind objWFile, "<scheme name="& chr(34), chr(34) &  ">", 2
  87.         StrFind objWFile,   "<word name="& chr(34), chr(34) & "/>", 1
  88.         StrFind objWFile,   "<symb name="& chr(34), chr(34) & "/>", 3
  89.     Loop
  90.  
  91.     objRFile.Close
  92.     objWFile.Close
  93. End Function 'convert
  94.  
  95. Function StrFind(objWFile, CaseStart, CaseEnd, strUpds)
  96. Dim strLineM, strLineL, strLineR
  97.     strLineL = InStr(1,strLine,CaseStart,vbTextCompare)
  98.     strLineR = InStr(1,strLine,CaseEnd,vbTextCompare)
  99.     If ( strLineR <> 0 ) And ( strLineL <> 0 ) And ( strLineL+strLineR <> Empty ) Then
  100.         strLineM = Mid(strLine, strLineL, strLineR)
  101.         strLine = Mid(strLineM,Len(CaseStart)+1,Len(strLineM)-Len(CaseStart)-Len(CaseEnd))
  102.         If strUpds = 1 Then
  103.             strUpd strLine, Len(strLine)
  104.             objWFile.WriteLine ("    keyword whole " & strLine & " white")
  105.         ElseIf strUpds = 2 Then
  106.             objWFile.WriteLine ("#" & strLine)
  107.         Else
  108.             charUpd strLine, Len(strLine)
  109.             objWFile.WriteLine ("    keyword " & strLine & " green")
  110.         End If
  111.     End If
  112. End Function 'FindParse
  113.  
  114. Function strUpd(txt,StrLen)
  115. Dim txtout, i, inChar, newChar, objRegExp
  116. txt = LCase(txt)
  117. Set objRegExp = New RegExp
  118. objRegExp.Pattern = "[^a-z^0-9]"
  119.     For i=1 To StrLen
  120.         inChar = Mid(txt,i,1)
  121.         If objRegExp.Test(inChar) = True Then
  122.             txtout = txtout & inChar
  123.         ElseIf newChar = inChar Then
  124.             txtout = Left(txtout,Len(txtout)-1)
  125.             txtout = txtout & "{2,2}/"
  126.         Else
  127.             txtout = txtout & "/[" & UCase(inChar) & inChar & "]/"
  128.         End If
  129.     newChar = inChar
  130.     Next
  131.     strLine = txtout
  132. End Function 'strUpd
  133.  
  134. Function charUpd(txt,StrLen)
  135. Dim txtout, i, inChar
  136.     For i=1 To StrLen
  137.         inChar = Mid(txt,i,1)
  138.         If ( Mid(txt,i,1) = "&" ) Then
  139.             If ( Mid(txt,i,5) = "&" ) Then
  140.                 txtout = txtout & "&"
  141.                 i=i+4
  142.             End If
  143.             If ( Mid(txt,i,4) = "<" ) Then
  144.                 txtout = txtout & "<"
  145.                 i=i+3
  146.             End If
  147.             If ( Mid(txt,i,4) = ">" ) Then
  148.                 txtout = txtout & ">"
  149.                 i=i+3
  150.             End If
  151.         Else
  152.             txtout = txtout & inChar
  153.         End If
  154.     Next
  155.     strLine = txtout
  156.  
  157. End Function 'charUpd
  158.  
  159. Function Hello()
  160.     printf "==============================================================================="
  161.     printf ",---.          |                 ,---.                          |              "
  162.     printf "`---.,   .,---.|--- ,---..  ,    |    ,---.,---..    ,,---.,---.|--- ,---.,---."
  163.     printf "    ||   ||   ||    ,---| ><     |    |   ||   | \  / |---'|    |    |---'|    "
  164.     printf "`---'`---|`   '`---'`---^'  `    `---'`---'`   '  `'  `---'`    `---'`---'`    "
  165.     printf "     `---'                                                                v.1.1"
  166.     printf "==============================================================================="
  167. '   wait(1)
  168. End Function 'Hello
  169.  
  170. Function Usage()
  171.     printf "Correct Usage:"
  172.     printf WScript.ScriptName + " -i file.hrc"
  173.     wait(3)
  174. WScript.Quit
  175. 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: 13558
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 67 times
Been thanked: 391 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: 13558
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 67 times
Been thanked: 391 times
Contact:

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

Post by John Doe »

При моих настройках (и с указанной версией Crest) всё в порядке.
Фар ночной, Air Brush тоже не старый (может и последний).
Denis
Posts: 1443
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: 5973
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 175 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: 1443
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: 1443
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: 5973
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 175 times
Contact:

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

Post by zg »

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

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

Post by Denis »

Спасибо
User avatar
Alexander84
Posts: 136
Joined: Fri 01 May, 2009 06:38
Has thanked: 15 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 “Обсуждение плагинов”