/* * Callback to be used to put a section of configuration * into a dictionary */ int settings_into_dict(void *settings, void *data) { void *elem; int count, i; char name[80], value[80]; struct dict *dictionary = (struct dict *) data; count = get_array_length(LIBCFG_PARSER, settings); for(i = 0; i < count; ++i) { elem = get_elem_from_idx(LIBCFG_PARSER, settings, i); if (!elem) continue; if(!(exist_field_string(LIBCFG_PARSER, elem, "name"))) continue; if(!(exist_field_string(LIBCFG_PARSER, elem, "value"))) continue; GET_FIELD_STRING(LIBCFG_PARSER, elem, "name", name); GET_FIELD_STRING(LIBCFG_PARSER, elem, "value", value); dict_set_value(dictionary, name, value); TRACE("Identify for configData: %s --> %s\n", name, value); } return 0; }
/// Sets a tabpage variable. Passing 'nil' as value deletes the variable. /// /// @param tabpage handle /// @param name The variable name /// @param value The variable value /// @param[out] err Details of an error that may have occurred /// @return The tab page handle Object tabpage_set_var(Tabpage tabpage, String name, Object value, Error *err) { tabpage_T *tab = find_tab_by_handle(tabpage, err); if (!tab) { return (Object) OBJECT_INIT; } return dict_set_value(tab->tp_vars, name, value, err); }
/// Sets a global variable. Passing 'nil' as value deletes the variable. /// /// @param name The variable name /// @param value The variable value /// @param[out] err Details of an error that may have occurred /// @return the old value if any Object vim_set_var(String name, Object value, Error *err) { return dict_set_value(&globvardict, name, value, err); }
/// Removes a global variable /// /// @param name The variable name /// @param[out] err Details of an error that may have occurred /// @return The old value or nil if there was no previous value. /// /// @warning It may return nil if there was no previous value /// or if previous value was `v:null`. Object vim_del_var(String name, Error *err) { return dict_set_value(&globvardict, name, NIL, true, err); }
/// Removes a global variable /// /// @param name The variable name /// @param[out] err Details of an error that may have occurred void nvim_del_var(String name, Error *err) { dict_set_value(&globvardict, name, NIL, true, false, err); }
/// Sets a global variable /// /// @param name The variable name /// @param value The variable value /// @param[out] err Details of an error that may have occurred void nvim_set_var(String name, Object value, Error *err) { dict_set_value(&globvardict, name, value, false, false, err); }