aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_docmd.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-05-11 07:50:00 +0200
committerJustin M. Keyes <justinkz@gmail.com>2018-05-11 13:50:00 +0200
commit738bffea2cbb810ad1d3a3aa5bfeb88392260a8a (patch)
tree1cf06c01744acf33df2c1db67398c897a5af962b /src/nvim/ex_docmd.c
parent9fa7727ce047e8e2e13f9fbf60d5defe9cf45060 (diff)
downloadrneovim-738bffea2cbb810ad1d3a3aa5bfeb88392260a8a.tar.gz
rneovim-738bffea2cbb810ad1d3a3aa5bfeb88392260a8a.tar.bz2
rneovim-738bffea2cbb810ad1d3a3aa5bfeb88392260a8a.zip
API: nvim_get_commands(): more attributes
Support more :command attributes: -bang -bar -register
Diffstat (limited to 'src/nvim/ex_docmd.c')
-rw-r--r--src/nvim/ex_docmd.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 121b913bb7..e92dbc4cc8 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -9990,14 +9990,16 @@ ArrayOf(Dictionary) commands_array(buf_T *buf)
PUT(d, "name", STRING_OBJ(cstr_to_string((char *)cmd->uc_name)));
PUT(d, "definition", STRING_OBJ(cstr_to_string((char *)cmd->uc_rep)));
PUT(d, "script_id", INTEGER_OBJ(cmd->uc_scriptID));
+ PUT(d, "bang", BOOLEAN_OBJ(!!(cmd->uc_argt & BANG)));
+ PUT(d, "bar", BOOLEAN_OBJ(!!(cmd->uc_argt & TRLBAR)));
+ PUT(d, "register", BOOLEAN_OBJ(!!(cmd->uc_argt & REGSTR)));
- // "nargs" key
switch (cmd->uc_argt & (EXTRA|NOSPC|NEEDARG)) {
- case 0: arg[0] = '0'; break;
- case(EXTRA): arg[0] = '*'; break;
- case(EXTRA|NOSPC): arg[0] = '?'; break;
- case(EXTRA|NEEDARG): arg[0] = '+'; break;
- case(EXTRA|NOSPC|NEEDARG): arg[0] = '1'; break;
+ case 0: arg[0] = '0'; break;
+ case(EXTRA): arg[0] = '*'; break;
+ case(EXTRA|NOSPC): arg[0] = '?'; break;
+ case(EXTRA|NEEDARG): arg[0] = '+'; break;
+ case(EXTRA|NOSPC|NEEDARG): arg[0] = '1'; break;
}
PUT(d, "nargs", STRING_OBJ(cstr_to_string(arg)));