| 
    
	
		
		
			| 
			
						
							
								avalat
								
						
							
				Стаж: 10 летСообщений: 520Репутация:127[+]   [-] |  |  
	
		
		
			| 
			
						
							
								nikzzzz
								
						
							
				Стаж: 10 летСообщений: 3114Репутация:127[+]   [-] | 
			
				
				avalat,    Огромное спасибо за проделанную работу
  , особенно за хелп. Немного о недостатках.
 Не сворачиваются блоки {....}
 F1 (хэлп) показывает общий хэлп, а не на указанное курсором слово, по идее надо было-бы повесить F1 на красную иконку.
 Я пользуюсь редактором SynWrite, Notepad++ хороший редактор, но многого не хватает, хотя возможно, я с ним плохо  знаком.
 Сделал простенький IDE (использовал ваши наработки)
 Вот, что получилось.
 
 
 Очень полезна панель дерева, не знаю, можно ли ее реализовать на Notepad++
 Ну и отлаживать можно, не выходя из редактора.
 Если интересно, могу выложить.
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 29-Янв-2020 15:17
					(спустя 1 час 31 минута) 
	
		
		
			| 
			
						
							
								AZJIO
								
						
							
				Стаж: 7 лет 8 месяцевСообщений: 1341Репутация:127[+]   [-] | 
			
				
				Да можно,вот к примеру я делал для PureBasic. Ранее это был плаг FunctionList, сейчас встроили в по умолчанию (немного с другим функционалом). И там много языков уже встроено, а каких нет предлагают на форуме и потихоньку появляются.73522Очень полезна панель дерева, не знаю, можно ли ее реализовать на Notepad++На счёт хелпа есть плаг LanguageHelp, он связывает расширение со справкой, но я пользуюсь своим вариантом, отличие в том что имя функции не всегда является именем файла справки, поэтому доступ через имя файла справки не работает, а мой вариант доступа - автоматизация вставки имени в "Указатель", где имя всегда соответствует, исключение если указатель не сформирован автором справки, но это легко решается пересборкой методом экспорта TOC (содержания) в указатель.
 Есть плаг NppExec - вывод строк отладки в консоль (я его русифицировал).73522Ну и отлаживать можно, не выходя из редактора.В AkelPad тоже всё это есть, список функций, прыжок в справку к функции, вывод отладки в консоль, свёртки, автозавершение подсветка в том числе рег.выр-ами.
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 29-Янв-2020 18:40
					(спустя 1 час 55 минут)
	
		
		
			| 
			
						
							
								AZJIO
								
						
							
				Стаж: 7 лет 8 месяцевСообщений: 1341Репутация:127[+]   [-] | 
			
				
				avalat, я тут поковырялся, открой файл Notepad++\functionList.xml. в начале файла увидишь список добавь в него связь, только учти userDefinedLangName="PeCMD" имя должно быть как в файле, то есть учитывать регистр.далее в конце файла после последнего < / parser> вставь этот участок кода.<!-- ======================================================================== --><association id=   "pecmd_function"   userDefinedLangName="PeCMD"      />
 <association id=    "pecmd_function"      ext=".wcs"                           />
 <association id=    "pecmd_function"      ext=".wsc"                           />
Теперь запускай Notepad++ и включи кнопку "Список функций" и открой "wcs, wsc", увидишь все имена напротив _SUB появятся в списке и двойной клик произведёт прыжок к кликнутой функции.<!-- =================================================== [ PECMD ] --><!-- PECMD                             -->
 <parser
 displayName="PECMD"
 id         ="pecmd_function"
 commentExpr="(?m-s://.*?$)"
 >
 <function
 mainExpr="(?m)^\h*_SUB\h+\K\w+"
 />
 </parser>
поправил рег.выр. комментария
 avalat, что у тебя с "Ключевые слова 5"? Там список с запятыми, которые указаны в операторах. Слова с префиксом & уже указаны в поле "Ключевые слова 6". Или -1=INIT где "-" и "=" находятся в операторах. А то что будет найдено в операторах уже не подсвечивается как ключевое слово. У тебя получается практически мой старый вариант подсветки
 Лишнюю тему создавать не хочется, но вот и на AkelPad - pecmd.coder
 Ещё бы кто описал правило префиксов % $ @ и их комбинации, я мог бы более правильно подсветить например типа системные переменные, указатели и т.д., а не всё одним цветом. У кого есть моя сборка, просто копируете файл в папку "AkelPad\AkelFiles\Plugs\Coder" и в меню кликнуть "Мои->Перерисовать подсветку Coder" и всё будет работать.
 
   |  
	
		
		
			| 
			
						
							
								avalat
								
						
							
				Стаж: 10 летСообщений: 520Репутация:127[+]   [-] | 
			
				
				AZJIO, спасибо, список функций получился. Поправил. Я и использовал твои наработки, наверное старые.
								
							 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 29-Янв-2020 20:27
					(спустя 1 час 35 минут)
	
		
		
			| 
			
						
							
								AZJIO
								
						
							
				Стаж: 7 лет 8 месяцевСообщений: 1341Репутация:127[+]   [-] | 
			
				
				Я перезалил Help.7z для поиска выделенного слова в справке. Из-за разности форматов (AkelPad возвращает "wcs", Notepad++ возвращает ".wcs") я добавил удаление точки и теперь нормально работает в Notepad++.В shortcuts.xml нужно добавить строку:
 <Command name="Help" Ctrl="no" Alt="no" Shift="no" Key="112">"Instrument_azjio\Help\Help.exe" "$(CURRENT_WORD)" $(EXT_PART)</Command> |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 29-Янв-2020 21:59
					(спустя 1 час 32 минуты)
	
		
		
			| 
			
						
							
								avalat
								
						
							
				Стаж: 10 летСообщений: 520Репутация:127[+]   [-] | 
			
				
				AZJIO, Заработало,но только такСпасибо !<Command name="Help" Ctrl="no" Alt="no" Shift="no" Key="112">"$(NPP_DIRECTORY)\Instrument_azjio\Help\Help.exe" "$(CURRENT_WORD)" $(EXT_PART)</Command>Исправил в шапке.
 
 Последний раз редактировалось: avalat (2020-01-29 22:49), всего редактировалось 1 раз
 |  
	
		
		
			| 
			
						
							
								nikzzzz
								
						
							
				Стаж: 10 летСообщений: 3114Репутация:127[+]   [-] | 
			
				
				AZJIO,    Посмотрел твой Help.au3, что-то ты там перемудрил с tab'ами, да и Send не слишком хорошо, лучше ControlClick.
 Вот мой вариант, может пригодится.
 HtmlHelp.au3#include <GuiTab.au3>#NoTrayIcon
 ;Файл справки в формате CHM
 If $CmdLine[0] = 0 Then Exit
 $sChm = $CmdLine[1]
 ;Название окна файла-справки, нужно для того, что-бы справка не открывалась в новом окне
 $sTitle = ''
 If $CmdLine[0] > 1 Then $sTitle = $CmdLine[2]
 If $sTitle = '' Then $sTitle = '[CLASS:HH Parent]'
 ;Строка поиска
 $sString = ''
 If $CmdLine[0] > 2 Then $sString = $CmdLine[3]
 ;Ищем окно спраки, не найдено открываем новое
 $hWnd = WinActivate($sTitle)
 If $hWnd = 0 Then $hHH = Run('hh.exe "' & $sChm & '"')
 $hWnd = WinWait($sTitle, '', 5)
 $hSysTab = ControlGetHandle($hWnd, "", "[CLASS:SysTabControl32; INSTANCE:1]")
 _GUICtrlTab_ClickTab($hSysTab, 1)
 WinWait($sTitle, '', '[CLASS:Edit; INSTANCE:1]')
 ;Посылаем искомый текст и кликаем по нему
 ControlSetText($sTitle, '', '[CLASS:Edit; INSTANCE:1]', $sString)
 WinWait($sTitle, '', '[CLASS:Button; INSTANCE:1]')
 ControlClick($sTitle, '', '[CLASS:Button; INSTANCE:1]', 'left')
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 29-Янв-2020 23:53
					(спустя 1 час 18 минут)
	
		
		
			| 
			
						
							
								AZJIO
								
						
							
				Стаж: 7 лет 8 месяцевСообщений: 1341Репутация:127[+]   [-] | 
			
				
				nikzzzz, посмотрю, но я свой скрипт 10 лет использую на куче справках и он ни разу не давал сбой. Единственное я его сначала улучшал в сторону поиска дистрибутива AutoIt3, а потом понял что лучше адаптировать под универсальность любой справки, а пути любой чел настроит под себя, главное что способ через вкладку "Указатель" я кажется не видел ни в одном варианте прыжка к функции. Хотел на PureBasic переписать, чтобы компактная утилита была, но не нашёл способа манипуляций вкладок, аналогично как и с реестром, не нашёл способа управления деревом как это умеет AutoIt3.ControlSend в отличии от просто Send работает стабильно, так как высылает конкретному элементу, да ещё при условии проверки фокуса, а до этого активности окна.
 avalat, сторонние утилитки можно в папку Tools совать, а то как то путаница с встроенной функцией обновления Notepad++. У меня кроме Tools ещё и папка "Instrument_azjio", потому что там куча скриптов больше десятка для AutoIt3. Поэтому отдельно, они ещё и компактные большинство скрипты, поэтому не стал смешивать с Tools, но правильно в Tools.
 nikzzzz, можно добавить справочную информацию в скрипт, я попадался на то что обновляю справку, прописывается новая дата в заголовок и скрипт начинает запускать справку заново, пока не доходит, что уже несколько копий запущено (добавить флаг проверки начала или полного совпадения заголовка). А также ключ тестовый для вывода в мессагу, полученного через ком-строку и прочитанного в ini, типа /test третьим параметром, а то я начинаю дебаги вставлять, чтобы посмотреть что ему не нравится, а так и пользователю удобно, добавить параметр и увидит где с путями обманулся.
 |  
	
		
		
			| 
			
						
							
								nikzzzz
								
						
							
				Стаж: 10 летСообщений: 3114Репутация:127[+]   [-] | 
			
				
				AZJIOВерю, и соглашаюсь.73543 ни разу не давал сбой.Но когда вижу TabRight или TabLeft , сразу ассоциация возникает с шаманскими плясками с бубнами, почему бы не обойтись без них?
 Тоже пробовал, можно, но настолько муторно.73543Хотел на PureBasic переписать К стати, под пурик есть библиотека поддержки Autoit, но сильно ограниченная, да и скомпилированный exe'шник где-то под 300 Kb весит (типа "Привет"), но за счет макросов синтаксис Autoit поддержан достаточно не плохо, с натяжкой даже можно назвать компилятором Autoit.
 |  
	
		
		
			| 
			
						
							
								AZJIO
								
						
							
				Стаж: 7 лет 8 месяцевСообщений: 1341Репутация:127[+]   [-] | 
			
				
				nikzzzz, ради одной команды тащить в скрипт UDF, а там если даже сделать обфускацию он вытянет код наверно больше чем сам скрипт, а то что выполнится внутренними функциями AutoIt3 выполнится скомпилированными функциями на скорости скомпилированного файла. Хоть скорость не особо важна, моргнуть не успеешь, но практически не вижу не одной причины, кроме как красоты исходника.А вот кликнуть на кнопку "Вывести" это да, я как то её даже не замечал, я всегда Enter клацал.
 
 Последний раз редактировалось: AZJIO (2020-01-30 00:20), всего редактировалось 1 раз
 |  
	
		
		
			| 
			
						
							
								nikzzzz
								
						
							
				Стаж: 10 летСообщений: 3114Репутация:127[+]   [-] | 
			
				
				AZJIO,А с реестром то у пурика какие проблемы?73543аналогично как и с реестром |  
	
		
		
			| 
			
						
							
								AZJIO
								
						
							
				Стаж: 7 лет 8 месяцевСообщений: 1341Репутация:127[+]   [-] | 
			
				
				nikzzzz, в AutoIt3 есть функции обработки дерева, грубо говоря я имея путь могу перейти по дереву. На основе этого я много где использовал эти возможности. Вот тема
								
							 |  Страница 1 из 4 
	
	
		Текущее время: 30-Окт 16:00 Часовой пояс: UTC + 3  
	| 
		
		Вы не можете начинать темыВы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 Вы не можете прикреплять файлы к сообщениям
 Вы можете скачивать файлы
 
 |  |