+ * Add an item in competion list.
+ *
+ * This function can be called by a node during the completion process,
+ * for each completion item that should be added to the list. This is
+ * typically done in terminal nodes, like ec_node_str or ec_node_file.
+ *
+ * Create a new completion item, and add it into the completion
+ * list. A completion item has a type, which can be:
+ * - EC_COMP_FULL: the item is fully completed (common case, used
+ * for instance in the str node)
+ * - EC_COMP_PARTIAL: the item is only partially completed (this
+ * happens rarely, for instance in the file node, when a completion
+ * goes up to the next slash).
+ * - EC_COMP_UNKNOWN: the node detects a valid token, but does not
+ * how to complete it (ex: the int node).
+ *
+ * @param comp
+ * The current completion list.
+ * @param node
+ * The node issuing the completion item.
+ * @param type
+ * The type of the item.
+ * @param start
+ * The incomplete string being completed.
+ * @param full
+ * The string fully completed.
+ * @return
+ * The item that was added in the list on success, or NULL
+ * on error. Note: don't free the returned value, as it is referenced
+ * by the completion list. It is returned in case it needs to be
+ * modified, for instance with ec_comp_item_set_display().