*****************************************************************
***                Hotkeys AkelPad plugin v2.5                ***
*****************************************************************

2010 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)


*** Description ***

Assign user hotkeys.


*** Functions ***

Hotkeys::Main
Main function plugin.


*** Syntax ***

Variables:
  %f active file
  %d directory of active file
  %a AkelPad's directory
  %% symbol %

Commands:
  [Command(..) | Exec(..) | Call(..) | +Call(..) | Font(..) | Recode(..) | Insert(..)]
    Command(number)
      Command(4162)
        method calls the internal command at number 4162. In this case this code
        is responsible for opening a dialog box "Go to line...".
        For the full list of commands: see AkelHelp-Eng.htm or AkelDLL.h in source code of a plugin.
    Exec("command line", ["working directory"])
      Exec("notepad.exe")
        method calls notepad.
      Exec(`notepad.exe`)
        method calls notepad.
      Exec('notepad.exe')
        method calls notepad.
      Exec('%windir%\notepad.exe')
        method calls notepad.
      Exec(`rundll32.exe shell32,ShellExec_RunDLL "%f"`, "%d")
        method pass an active file for opening on Windows association.
    Call("Plugin::Function", [additional parameters])
      Call("Scripts::Main")
        method calls Scripts plugin and Main function.
    +Call("Plugin::Function", [additional parameters])
      +Call("LineBoard::Main")
        method calls LineBoard plugin and Main function. Plug-in will work also after
        program restart.
    Font("FaceName", Style, Size)
      "FaceName"
        Font face, for example, "Courier". Unchanged, if "".
      Style (one of the following):
        0  ignored.
        1  normal.
        2  bold.
        3  italic.
        4  bold italic.
      Size
        Font size. Unchanged, if 0.
      Font("Courier", 4, 10)
        method sets Courier bold italic font with 10 pt.
    Recode(RecodeFrom, RecodeTo)
      Recode(1252, 437)
        method recodes the text from 1252 codepage to 437.
    Insert("text")
      Insert("Some string")
        method replaces selection with the specified text.

Examples:
  "Recode selection" Command(4182)
  "" Command(4182)
  "Sort lines" Call("Lines::SortStrAsc")
  -"Spell check" Call("Scripts::Main", 1, "SpellCheck.js", "")
  "Syntax highlighting" +Call("HighLight::Main")
  "Registry editor" Exec("regedit.exe")


*** External call ***

Call("Hotkeys::Main", 1, HOTKEY, *BOOL)
  Parameters:
    1
      Check hotkey existence in the plugin.
    HOTKEY
      Hotkey code.
    *BOOL
      Pointer to a BOOL variable.
