|
@@ -22,7 +22,7 @@ int klish_ptype_COMMAND(kcontext_t *context)
|
|
const char *value = NULL;
|
|
const char *value = NULL;
|
|
const char *command_name = NULL;
|
|
const char *command_name = NULL;
|
|
|
|
|
|
- parg = kpargv_candidate_parg(kcontext_parent_pargv(context));
|
|
|
|
|
|
+ parg = kcontext_candidate_parg(context);
|
|
entry = kparg_entry(parg);
|
|
entry = kparg_entry(parg);
|
|
value = kparg_value(parg);
|
|
value = kparg_value(parg);
|
|
|
|
|
|
@@ -34,3 +34,24 @@ int klish_ptype_COMMAND(kcontext_t *context)
|
|
|
|
|
|
return faux_str_casecmp(value, command_name);
|
|
return faux_str_casecmp(value, command_name);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+int klish_ptype_COMMAND_CASE(kcontext_t *context)
|
|
|
|
+{
|
|
|
|
+ kparg_t *parg = NULL;
|
|
|
|
+ const kentry_t *entry = NULL;
|
|
|
|
+ const char *value = NULL;
|
|
|
|
+ const char *command_name = NULL;
|
|
|
|
+
|
|
|
|
+ parg = kcontext_candidate_parg(context);
|
|
|
|
+ entry = kparg_entry(parg);
|
|
|
|
+ value = kparg_value(parg);
|
|
|
|
+
|
|
|
|
+ command_name = kentry_value(entry);
|
|
|
|
+ if (!command_name)
|
|
|
|
+ command_name = kentry_name(entry);
|
|
|
|
+ if (!command_name)
|
|
|
|
+ return -1;
|
|
|
|
+
|
|
|
|
+ return strcmp(value, command_name);
|
|
|
|
+}
|