V
VitAl2013
Гость
Слышал что можно как-то Notepad++ к этому делу приспособить, но нигде нет информации по этому вопросу.
хех. ну это сложно назвать сборкой. т.к. сам настраивал. если есть проблемы в настройке, пиши тут. вспомню что и как делалось. потому как все файлы np++ высылать смысла нет, а какие конкретно, я так сразу не скажу. но примерная последовательность действий такаяПоделитесь сборками.
#include<String.au3>
#include<Array.au3>
HotKeySet("{ESC}", "term")
AutoItSetOption("MustDeclareVars", 1)
Dim $find[8] = ["<i>", "</i>", "&", """", "<", ">", "'", ":"] ; find these in the string
Dim $replace[UBound($find)] = ["", "", "&", """, "<", ">", "'", ""] ; and replace them with these
Dim $descr, $paramStr, $comp, $nameStr, $param, $fileIN = 0, $fileOUT = 0, $line
$fileIN = FileOpen(@ProgramFilesDir & "\AutoIt3\SciTE\api\au3.api", 0)
$fileOUT = FileOpen(@ProgramFilesDir & "\NotePad++\plugins\APIs\autoit.xml", 2 + 8)
If $fileIN = -1 Or $fileOUT = -1 Then
MsgBox(0, "", "Error opening file. The program will now exit." & @CRLF)
Exit
EndIf
; Boilerplate
FWTab(0, "<?xml version=""1.0"" encoding=""Windows-1252"" ?>" & @CRLF)
FWTab(0, "<NotepadPlus>" & @CRLF)
FWTab(1, "<AutoComplete language=""AutoIt"">" & @CRLF)
FWTab(2, "<Environment ignoreCase=""yes"" startFunc=""("" stopFunc="")"" paramSeparator="","" terminal="""" />" & @CRLF)
While 1
$line = FileReadLine($fileIN)
; exit if EOF
If @error = -1 Then ExitLoop
; skip the line because it isn't a function -- I assume
If StringInStr($line, "(") = 0 Then ContinueLoop
; Replace reserved XML keywords with character entity references
; (source: http://en.wikipedia.org/wiki/Character_encodings_in_HTML)
For $i = 0 To UBound($find) - 1
$line = StringReplace($line, $find[$i], $replace[$i])
Next
; extract the name of the function
; <KeyWord name=$nameStr func="yes" />
$nameStr = StringTrimRight($line, ((StringLen($line) - 1) - StringInStr($line, " ") + 2))
; extract the function parameters
$param = _StringBetween($line, "(", ")")
$paramStr = StringSplit($param[0], ",")
; extract the function description
$descr = StringStripWS(StringTrimLeft($line, StringInStr($line, ")")), 1 + 2)
; output
FWTab(2, "<KeyWord name=""" & $nameStr & """ func=""yes"" >" & @CRLF)
FWTab(3, "<Overload retVal="""" descr=""" & $descr & """ >" & @CRLF)
For $i = 1 To $paramStr[0]
FWTab(4, "<Param name=""" & StringStripWS(StringReplace($paramStr[$i], ",", ""), 1 + 2 + 8) & """ />" & @CRLF)
Next
FWTab(3, "</Overload>" & @CRLF)
FWTab(2, "</KeyWord>" & @CRLF)
WEnd
FWTab(1, "</AutoComplete>" & @CRLF)
FWTab(0, "</NotepadPlus>")
term()
Func FWTab($tabs, $data) ; 'FileWrite' with tabs
For $i = 1 To $tabs
FileWrite(2, Chr('9'))
Next
FileWrite(2, $data)
EndFunc ;==>FWTab
Func term()
If $fileIN = 1 Then FileClose($fileIN)
If $fileOUT = 2 Then FileClose($fileOUT)
Exit
EndFunc ;==>term
Попоробовал. "Пуск!" не срабатывает. Вот тебе и портативная версия, понимашь... :( Где-то было мыло разраба НПП... :shifty:2. Не знаю. Попробуй