e-free-form-exp: Evolution-Data-Server Reference Manual

## e-free-form-exp e-free-form-exp |

## Functions

gchar * | (*EFreeFormExpBuildSexpFunc) ()
gchar * | e_free_form_exp_to_sexp ()

## Types and Values

| EFreeFormExpSymbol

## Description

## Functions

### EFreeFormExpBuildSexpFunc ()

    gchar *
    (*EFreeFormExpBuildSexpFunc) (const gchar *word,
                                  const gchar *options,
                                  const gchar *hint);

### e_free_form_exp_to_sexp ()

    gchar *
    e_free_form_exp_to_sexp (const gchar *free_form_exp,
                             const EFreeFormExpSymbol *symbols);

Converts the `free_form_exp` to an S-Expression using the S-Expression builders defined in the `symbols` . The `symbols` should have one symbol with an empty string as its name, which is used for words which do not have a symbol name prefix.

The `symbols` is a NULL-terminated array of known symbols. The NULL should be set for the symbol's name.

#### Parameters

free_form_exp | a Free Form Expression |
symbols | known symbols, which can be used in the Free From Expression |

#### Returns

converted `free_form_exp` into S-Expression, `NULL` on error. Free the returned string with a `g_free()`, when done with it.

Since: 3.16

## Types and Values

### EFreeFormExpSymbol

    typedef struct {
    	const gchar *names; /* names (alternative separated by a colon (':')); use an empty string for a default sexp builder */
    	const gchar *hint; /* passed into build_sexp */
    	EFreeFormExpBuildSexpFunc build_sexp;
    } EFreeFormExpSymbol;