Libecoli 0.11.1
Extensible COmmand LIne library
Loading...
Searching...
No Matches
Dynamic list node

A node that matches names from a dynamic list. More...

Typedefs

typedef struct ec_strvec *(* ec_node_dynlist_get_t) (struct ec_pnode *pstate, void *opaque)

Enumerations

enum  ec_node_dynlist_flags { DYNLIST_MATCH_LIST = 1 << 0 , DYNLIST_MATCH_REGEXP = 1 << 1 , DYNLIST_EXCLUDE_LIST = 1 << 2 }

Functions

struct ec_nodeec_node_dynlist (const char *id, ec_node_dynlist_get_t get, void *opaque, const char *re_str, enum ec_node_dynlist_flags flags)

Detailed Description

A node that matches names from a dynamic list.

This node is able to parse a list of object names, returned by a user-defined function as a string vector.

Some flags can alter the behavior of parsing and completion:

  • Match names returned by the user callback.
  • Match names from a regular expression pattern.
  • Don't match names returned by the user callback, even if it matches the regexp.

Configuration Schema

No configuration schema.

Typedef Documentation

◆ ec_node_dynlist_get_t

typedef struct ec_strvec *(* ec_node_dynlist_get_t) (struct ec_pnode *pstate, void *opaque)

Callback invoked by parse() or complete() to build the strvec containing the list of object names.

Parameters
pstateThe current parsing state.
opaqueThe user pointer passed at node creation.
Returns
A string vector containing the list of object names.

Definition at line 1 of file node_dynlist.h.

Enumeration Type Documentation

◆ ec_node_dynlist_flags

Flags passed at ec_node_dynlist creation.

Enumerator
DYNLIST_MATCH_LIST 

Match names returned by the user callback.

DYNLIST_MATCH_REGEXP 

Match names from regexp pattern.

DYNLIST_EXCLUDE_LIST 

Don't match names returned by the user callback, even if it matches the regexp.

Definition at line 42 of file node_dynlist.h.

Function Documentation

◆ ec_node_dynlist()

struct ec_node * ec_node_dynlist ( const char * id,
ec_node_dynlist_get_t get,
void * opaque,
const char * re_str,
enum ec_node_dynlist_flags flags )

Create a dynlist node.

The parsing and completion depend on a list returned by a user-provided callback, a regular expression, and flags.

Parameters
idThe node identifier.
getThe function that returns the list of object names as a string vector.
opaqueA user pointer passed to the get function.
re_strThe regular expression defining the valid pattern for object names.
flagsCustomize parsing and completion behavior.
Returns
The dynlist grammar node, or NULL on error.
Examples
pool-editline/main.c.