AcceleratorList
Script function

world.AcceleratorList

DOC_scripting Read about scripting

Type

Method

Summary

List defined accelerators

Prototype

VARIANT AcceleratorList();

DOC_data_types View list of data type meanings


Description

Returns an array of all the accelerator keys currently defined, in the format:

keystroke = text<tab>[sendto]

eg.

Ctrl+E = eat meat<tab>[0]
Ctrl+F = follow
Ctrl+K = 4s 3e<tab>[11]
Ctrl+B = DoAfter(5, "sigh")<tab>[12]

If the "send to" field is "send to execute" (which is 10) then it is omitted (as in the "follow" example above), for backwards compatibility with versions of MUSHclient prior to 4.27.

Version 4.27 implemented the AcceleratorTo function, which lets you specify where the accelerator text is sent to.

If "send to" field is not 10 then the "send to" field number is specified as a number in square brackets at the end of the text, preceded by the tab character (hex 0x09).

The "SendTo" argument specifies where the text is to be sent to when you press the accelerator key. It can be one of:

0: World
1: Command window
2: Output window
3: Status line
4: Notepad (new)
5: Notepad (append)
6: Log File
7: Notepad (replace)
8: Command queue
9: Send To Variable
10: Execute (re-parse as command)
11: Speedwalk (send text is speedwalk, queue it)
12: Script (send to script engine)
13: Immediate (send to world in front of speedwalk queue)
14: Script - after omit (send to script engine, after lines have been omitted)



VBscript example

dim accList

arrList = world.AcceleratorList

If Not IsEmpty (accList) Then
  
  For Each a In arrList 
    world.note a
  Next

End If



Lua example

-- simple example

for _, v in pairs (AcceleratorList ()) do 
  Note (v) 
end

-- complex example - filters on a supplied string

function FindCommand (what)
  -- search all accelerators for wanted string
  for _, v in pairs (AcceleratorList ()) do
    if string.find (string.upper (v), string.upper (what), 1, true) then
      print (v)
    end	-- if
  end  -- for
end   -- function

FindCommand "eat"



Lua notes

The example above shows how you might search for accelerators matching a particular string.



Return value

If there are no accelerators defined then the return value is empty. Use "IsEmpty" to test for this possibility.

Otherwise, it returns a variant array containing the keystrokes and contents of each accelerator. 

Use "lbound" and "ubound" to find the bounds of the array of list (ie. the number of accelerators in the list).




See Also ...

Topics

DOC_aliases Aliases
DOC_keypad Keypad navigation
DOC_macros Macro keys

Functions

FNC_Accelerator Accelerator (Add or modify an accelerator key (keystroke to command mapping))
FNC_AcceleratorTo AcceleratorTo (Add or modify an accelerator key - with "Send To" parameter)

(Help topic: function=AcceleratorList)

DOC_contents Documentation contents page