1 (изменено: mozers, 2017-03-27 11:39:17)

Тема: SciTE4AutoHotkey: контекстная справка script-coding.com

Выбор относительно редактора сделал задолго до увлечения AutoHotkey. SciTE-Ru - однозначно!
Оригинальная справка по AutoHotkey, конечно, хороша, но она - только на буржуйском. Поэтому то и дело ищу браузером на script-coding.com. Неудобно, конечно. Вот тогда и родилось это решение.
Работает так: Ставим курсор на нужный оператор (или выделяем конструкцию типа *=), нажимаем Shift+F1 и, вуаля, перед нами открывается аккуратное окошко html справки с нужной страницей script-coding.com на которой подсвечены все вхождения искомого оператора.
Чтобы все это заработало необходимо добавить в файл ahk.properties следующие строки:

# Открытие страницы сайта script-coding.com со справкой по текущему слову или выделенному оператору (Shift + F1) 
command.name.5.$(file.patterns.ahk)=HELP (script-coding.com)
command.5.$(file.patterns.ahk)=dostring \
	local file = io.open(props['SciteDefaultHome']..'\\help\\ahk.txt') \
	if file then \
		local word = props['CurrentSelection'] \
		if (word == '') then word = props['CurrentWord'] end \
		for line in file:lines() do \
			local key, url = line:match('^(%S+)%s+(%S+)') \
			if key then \
				if string.upper(key) == string.upper(word) then \
					local cmd = '"' .. props['SciteDefaultHome']..'\\tools\\html_HELP.hta" ' .. url .. ' ' .. key \
					shell.exec(cmd) \
				end \
			end \
		end \
		file:close() \
	end
command.mode.5.$(file.patterns.ahk)=subsystem:lua,savebefore:no
command.shortcut.5.$(file.patterns.ahk)=Shift+F1

И положить в подкаталог scite\help (ну или в другое место, заданное в скрипте выше) файлик ahk.txt (см.вложение)

+ открыть спойлер

Для тех, кто пользуется другими редакторами на базе SciTE, действия - аналогичны. html_HELP.hta можно взять отсюда.
И еще придется поменять строчку

shell.exec(cmd) \

на

os.execute(cmd) \

Работать будет, но от "стрёмного" консольного окошка и невозможности открытия нескольких окон справки, пока не закрыто текущее, можно будет избавиться только подключив библиотеку Shell.

Post's attachments

ahk.txt 25.68 kb, 5 downloads since 2017-03-26 

You don't have the permssions to download the attachments of this post.

2

Re: SciTE4AutoHotkey: контекстная справка script-coding.com

Тема перенесена из раздела AutoHotkey. Заголовок в части префикса уточнён.

3 (изменено: svoboden, 2017-03-26 22:54:00)

Re: SciTE4AutoHotkey: контекстная справка script-coding.com

Не работает в пустых вкладках.

4

Re: SciTE4AutoHotkey: контекстная справка script-coding.com

svoboden, не понял. Что значит "в пустых вкладках" ?

5 (изменено: svoboden, 2017-03-27 02:29:50)

Re: SciTE4AutoHotkey: контекстная справка script-coding.com

Это, когда файл не сохранен.

6

Re: SciTE4AutoHotkey: контекстная справка script-coding.com

Распаковал ahk.txt в C:\Program Files\AutoHotkey\SciTE\help (папку help создал вручную).
В ahk.propeties добавил в конец упомянутый код. Перезапустил SciTE4AHK, но при выделении в коде, например, слова Clipboard и нажатии на Shift+F1, получаю лишь следующее сообщение:

[string "local file = io.open(props['SciteDefaultHom..."]:1: attempt to index global 'shell' (a nil value)
>Lua: error occurred while processing command

Что я делаю неправильно?

7

Re: SciTE4AutoHotkey: контекстная справка script-coding.com

svoboden
Странно это. Команда не работает (как и все остальные внешние, впрочем) только если ahk-скрипт запущен на выполнение из SciTE. В меню Tools пункт появился? А если не через Shift+F1 запускать, а через меню?

becauseim
Виноват, совсем забыл что в других редакторах (в отличии от SciTE-Ru) полно разных спец.наворотов, но нет самого необходимого.
В общем, тебе придется поменять строчку

shell.exec(cmd) \

на

os.execute(cmd) \

Работать будет, но от стрёмного консольного окошка можно будет избавиться только подключив библиотеку Shell.

8 (изменено: svoboden, 2017-06-13 01:24:00)

Re: SciTE4AutoHotkey: контекстная справка script-coding.com

У меня немного заработало путем замены строки: "default.file.ext=.txt" на "default.file.ext=.ahk", но это не выход, так работает только в SciTE-Ru.

9

Re: SciTE4AutoHotkey: контекстная справка script-coding.com

svoboden
Весьма странно что такая замена как то влияет на данный скрипт. А если вернуть параметр взад, то что конкретно не работает? Какие ошибки в консоли? В любую строчку скрипта можно вставить для отладки

print(интересующая_меня_переменная) \

и поглядеть что она выведет в консоль.