Context Sensitive Help in Any Editor -- by Rajat
This script makes Ctrl+2 (or another hotkey of your choice) show the help file page for the selected AutoHotkey command or keyword. If nothing is selected, the command name will be extracted from the beginning of the current line.
Download This Script | Other Sample Scripts | Home
; The hotkey below uses the clipboard to provide compatibility with the maximum ; number of editors (since ControlGet doesn't work with most advanced editors). ; It restores the original clipboard contents afterward, but as plain text, ; which seems better than nothing. $^2:: ; The following values are in effect only for the duration of this hotkey thread. ; Therefore, there is no need to change them back to their original values ; because that is done automatically when the thread ends: SetWinDelay 10 SetKeyDelay 0 C_ClipboardPrev := clipboard clipboard := "" ; Use the highlighted word if there is one (since sometimes the user might ; intentionally highlight something that isn't a command): Send, ^c ClipWait, 0.1 if ErrorLevel <> 0 { ; Get the entire line because editors treat cursor navigation keys differently: Send, {home}+{end}^c ClipWait, 0.2 if ErrorLevel <> 0 ; Rare, so no error is reported. { clipboard := C_ClipboardPrev return } } C_Cmd := Trim(clipboard) ; This will trim leading and trailing tabs & spaces. clipboard := C_ClipboardPrev ; Restore the original clipboard for the user. Loop, parse, %C_Cmd%, %A_Space%`, ; The first space or comma is the end of the command. { C_Cmd := A_LoopField break ; i.e. we only need one interation. } if !WinExist("AutoHotkey Help") { ; Determine AutoHotkey's location: RegRead, ahk_dir, HKEY_LOCAL_MACHINE\SOFTWARE\AutoHotkey, InstallDir if ErrorLevel ; Not found, so look for it in some other common locations. { if A_AhkPath SplitPath, %A_AhkPath%,, ahk_dir else if FileExist("..\..\AutoHotkey.chm") ahk_dir := "..\.." else if FileExist("%A_ProgramFiles%\AutoHotkey\AutoHotkey.chm") ahk_dir := "%A_ProgramFiles%\AutoHotkey" else { MsgBox Could not find the AutoHotkey folder. return } } Run %ahk_dir%\AutoHotkey.chm WinWait AutoHotkey Help } ; The above has set the "last found" window which we use below: WinActivate WinWaitActive StrReplace, C_Cmd, %C_Cmd%, #, {#} send, !n{home}+{end}%C_Cmd%{enter} return