Loading...
Searching...
No Matches
Dynamic list node
Grammar nodes

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

Collaboration diagram for Dynamic list node:

## Typedefs

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.

## Enumerations

enum | ec_node_dynlist_flags { DYNLIST_MATCH_LIST = 1 << 0 , DYNLIST_MATCH_REGEXP = 1 << 1 , DYNLIST_EXCLUDE_LIST = 1 << 2 }
| Flags passed at ec_node_dynlist creation. More...

## Functions

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.

## 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

  pstate | The current parsing state.
  opaque | The 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

enum 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

  id | The node identifier.
  get | The function that returns the list of object names as a string vector.
  opaque | A user pointer passed to the get function.
  re_str | The regular expression defining the valid pattern for object names.
  flags | Customize parsing and completion behavior.

Returns
  The dynlist grammar node, or NULL on error.

Examples
  pool-editline/main.c.