### Struct

# GLib Completion

deprecated: 2.26

#### Description

    struct GCompletion {
      GList* items;
      GCompletionFunc func;
      gchar* prefix;
      GList* cache;
      GCompletionStrncmpFunc strncmp_func;
    }

`GCompletion` provides support for automatic completion of a string using any group of target strings. It is typically used for file name completion as is common in many UNIX shells.

A `GCompletion` is created using `g_completion_new()`. Target items are added and removed with `g_completion_add_items()`, `g_completion_remove_items()` and `g_completion_clear_items()`. A completion attempt is requested with `g_completion_complete()` or `g_completion_complete_utf8()`. When no longer needed, the `GCompletion` is freed with `g_completion_free()`.

Items in the completion can be simple strings (e.g. filenames), or pointers to arbitrary data structures. If data structures are used you must provide a `GCompletionFunc` in `g_completion_new()`, which retrieves the item’s string from the data structure. You can change the way in which strings are compared by setting a different `GCompletionStrncmpFunc` in `g_completion_set_compare()`.

`GCompletion` has been marked as deprecated, since this API is rarely used and not very actively maintained.

###### Structure members

`items`

  List of target items (strings or data structures).

`func`

  Function which is called to get the string associated with a target item. It is `NULL` if the target items are strings.

`prefix`

  The last prefix passed to `g_completion_complete()` or g_completion_complete_utf8().

`cache`

  The list of items which begin with `prefix`.

`strncmp_func`

  The function to use when comparing strings. Use `g_completion_set_compare()` to modify this function.

Deprecated since: 2.26.

Rarely used API.

#### Functions

###### g_completion_new

Creates a new `GCompletion`.

deprecated: 2.26

#### Instance methods

###### g_completion_add_items

Adds items to the `GCompletion`.

deprecated: 2.26

###### g_completion_clear_items

Removes all items from the `GCompletion`. The items are not freed, so if the memory was dynamically allocated, it should be freed after calling this function.

deprecated: 2.26

###### g_completion_complete

Attempts to complete the string `prefix` using the `GCompletion` target items.

deprecated: 2.26

###### g_completion_complete_utf8

Attempts to complete the string `prefix` using the `GCompletion` target items. In contrast to g_completion_complete(), this function returns the largest common prefix that is a valid UTF-8 string, omitting a possible common partial character.

deprecated: 2.26 since: 2.4

###### g_completion_free

Frees all memory used by the `GCompletion`. The items are not freed, so if the memory was dynamically allocated, it should be freed after calling this function.

deprecated: 2.26

###### g_completion_remove_items

Removes items from a `GCompletion`. The items are not freed, so if the memory was dynamically allocated, free `items` with `g_list_free_full()` after calling this function.

deprecated: 2.26

###### g_completion_set_compare

Sets the function to use for string comparisons. The default string comparison function is strncmp().

deprecated: 2.26