[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-apl] Getting list of quad-commands and system commands
From: |
Juergen Sauermann |
Subject: |
Re: [Bug-apl] Getting list of quad-commands and system commands |
Date: |
Sat, 01 Mar 2014 16:50:55 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130330 Thunderbird/17.0.5 |
Hi Elias,
for commands, you can #define macro cmd_def() and then #include Command.def.
For Quad-vars you can #define macros ro_sv_def() and rw_sv_def and then
#include SystemVariable.def.
For example, to get the strings for all commands:
#define cmd_def(cmd_str, code, _arg) #cmd_str
#include "Command.def"
To get the strings for all quad variables:
#define ro_sv_def(var) #var
#define rw_sv_def(var) #var
#include "Command.def"
In the latter case you need to replace "Quad_" by "⎕". Or #define
the macro as ID_ ## x (which gives an enum Id) and call id_name() on it
to get an UCS_string.
/// Jürgen
On 03/01/2014 02:42 PM, Elias Mårtenson wrote:
I've recently added smart expansion of symbols in the Emacs mode
(press TAB and get a list of suggested variable and function names).
I'd like it to be able to expand system commands and quad commands as
well. Of course, I could simply hard-code the list of available
commands, but it would be neater if there was a way of accessing this
from GNU APL itself.
Also, since the expansion list has room for a description, it would be
even more awesome if I could access a one-line description of these
commands and variables. Of course, I could include it on my side, but
this is something that's useful for not only the Emacs mode, but for
any user of GNU APL, so would it make sense to include this
information in the interpreter itself (I'd access it through an API,
while it can also be made available from some kind of help command
from the commandline).
Regards,
Elias