geany
1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
![]() ![]() |
#include "symbols.h"
#include "app.h"
#include "callbacks.h"
#include "documentprivate.h"
#include "editor.h"
#include "encodings.h"
#include "filetypesprivate.h"
#include "geanyobject.h"
#include "highlighting.h"
#include "main.h"
#include "navqueue.h"
#include "sciwrappers.h"
#include "sidebar.h"
#include "support.h"
#include "tm_parser.h"
#include "tm_tag.h"
#include "ui_utils.h"
#include "utils.h"
#include "SciLexer.h"
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <gtk/gtk.h>
Go to the source code of this file.
Classes | |
struct | TreeSearchData |
struct | TreeviewSymbols |
Macros | |
#define | MAX_SYMBOL_TYPES (sizeof(tv_iters) / sizeof(GtkTreeIter)) |
Enumerations | |
enum | { ICON_CLASS , ICON_MACRO , ICON_MEMBER , ICON_METHOD , ICON_NAMESPACE , ICON_OTHER , ICON_STRUCT , ICON_VAR , ICON_NONE , N_ICONS = ICON_NONE } |
Functions | |
static void | load_user_tags (GeanyFiletypeID ft_id) |
static void | load_c_ignore_tags (void) |
void | symbols_reload_config_files (void) |
static gsize | get_tag_count (void) |
static gboolean | symbols_load_global_tags (const gchar *tags_file, GeanyFiletype *ft) |
void | symbols_global_tags_loaded (guint file_type_idx) |
GString * | symbols_find_typenames_as_string (TMParserType lang, gboolean global) |
const gchar * | symbols_get_context_separator (gint ft_id) |
Gets the context separator used by the tag manager for a particular file type. More... | |
static gint | compare_symbol (const TMTag *tag_a, const TMTag *tag_b) |
static gint | compare_symbol_lines (gconstpointer a, gconstpointer b) |
static GList * | get_tag_list (GeanyDocument *doc, TMTagType tag_types) |
static void | init_tag_iters (void) |
static GdkPixbuf * | get_tag_icon (const gchar *icon_name) |
static gboolean | find_toplevel_iter (GtkTreeStore *store, GtkTreeIter *iter, const gchar *title) |
static void G_GNUC_NULL_TERMINATED | tag_list_add_groups (GtkTreeStore *tree_store,...) |
static void | add_top_level_items (GeanyDocument *doc) |
static void | hide_empty_rows (GtkTreeStore *store) |
static const gchar * | get_symbol_name (GeanyDocument *doc, const TMTag *tag, gboolean found_parent) |
static gchar * | get_symbol_tooltip (GeanyDocument *doc, const TMTag *tag) |
static const gchar * | get_parent_name (const TMTag *tag) |
static GtkTreeIter * | get_tag_type_iter (TMTagType tag_type) |
static GdkPixbuf * | get_child_icon (GtkTreeStore *tree_store, GtkTreeIter *parent) |
static gboolean | tag_equal (gconstpointer v1, gconstpointer v2) |
static guint | tag_hash (gconstpointer v) |
static void | tree_view_expand_to_iter (GtkTreeView *view, GtkTreeIter *iter) |
static gboolean | tree_store_remove_row (GtkTreeStore *store, GtkTreeIter *iter) |
static gint | tree_search_func (gconstpointer key, gpointer user_data) |
static gint | tree_cmp (gconstpointer a, gconstpointer b, gpointer user_data) |
static void | parents_table_tree_value_free (gpointer data) |
static void | update_parents_table (GHashTable *table, const TMTag *tag, const GtkTreeIter *iter) |
static GtkTreeIter * | parents_table_lookup (GHashTable *table, const gchar *name, guint line) |
static void | parents_table_value_free (gpointer data) |
static void | tags_table_insert (GHashTable *table, TMTag *tag, GList *data) |
static GList * | tags_table_lookup (GHashTable *table, TMTag *tag) |
static void | tags_table_remove (GHashTable *table, TMTag *tag) |
static gboolean | tags_table_tree_value_free (gpointer key, gpointer value, gpointer data) |
static void | tags_table_value_free (gpointer data) |
static void | update_tree_tags (GeanyDocument *doc, GList **tags) |
static gint | compare_top_level_names (const gchar *a, const gchar *b) |
static gboolean | tag_has_missing_parent (const TMTag *tag, GtkTreeStore *store, GtkTreeIter *iter) |
static gint | tree_sort_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data) |
static void | sort_tree (GtkTreeStore *store, gboolean sort_by_name) |
gboolean | symbols_recreate_tag_list (GeanyDocument *doc, gint sort_mode) |
static GeanyFiletype * | detect_global_tags_filetype (const gchar *utf8_filename) |
int | symbols_generate_global_tags (int argc, char **argv, gboolean want_preprocess) |
void | symbols_show_load_tags_dialog (void) |
static void | init_user_tags (void) |
static void | on_goto_popup_item_activate (GtkMenuItem *item, TMTag *tag) |
static guint | get_tag_class (const TMTag *tag) |
static void | goto_popup_position_func (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data) |
static void | show_goto_popup (GeanyDocument *doc, GPtrArray *tags, gboolean have_best) |
static gint | compare_tags_by_name_line (gconstpointer ptr1, gconstpointer ptr2) |
static TMTag * | find_best_goto_tag (GeanyDocument *doc, GPtrArray *tags) |
static GPtrArray * | filter_tags (GPtrArray *tags, TMTag *current_tag, gboolean definition) |
static gboolean | goto_tag (const gchar *name, gboolean definition) |
gboolean | symbols_goto_tag (const gchar *name, gboolean definition) |
static gint | get_function_fold_number (GeanyDocument *doc) |
static gboolean | current_tag_changed (GeanyDocument *doc, gint cur_line, gint fold_level, guint tag_types) |
static gchar * | parse_function_at_line (ScintillaObject *sci, gint tag_line) |
static gchar * | parse_cpp_function_at_line (ScintillaObject *sci, gint tag_line) |
static gint | get_fold_header_after (ScintillaObject *sci, gint line) |
static gint | get_current_tag_name (GeanyDocument *doc, gchar **tagname, TMTagType tag_types) |
static gint | get_current_tag_name_cached (GeanyDocument *doc, const gchar **tagname, TMTagType tag_types) |
gint | symbols_get_current_function (GeanyDocument *doc, const gchar **tagname) |
gint | symbols_get_current_scope (GeanyDocument *doc, const gchar **tagname) |
static void | on_symbol_tree_sort_clicked (GtkMenuItem *menuitem, gpointer user_data) |
static void | on_symbol_tree_menu_show (GtkWidget *widget, gpointer user_data) |
static void | on_expand_collapse (GtkWidget *widget, gpointer user_data) |
static void | on_find_usage (GtkWidget *widget, G_GNUC_UNUSED gpointer unused) |
static void | create_taglist_popup_menu (void) |
static void | on_document_save (G_GNUC_UNUSED GObject *object, GeanyDocument *doc) |
void | symbols_init (void) |
void | symbols_finalize (void) |
Variables | |
static GPtrArray * | top_level_iter_names = NULL |
struct { | |
const gchar * icon_name | |
GdkPixbuf * pixbuf | |
} | symbols_icons [N_ICONS] |
struct { | |
GtkWidget * expand_all | |
GtkWidget * collapse_all | |
GtkWidget * sort_by_name | |
GtkWidget * sort_by_appearance | |
GtkWidget * find_usage | |
GtkWidget * find_doc_usage | |
GtkWidget * find_in_files | |
} | symbol_menu |
gchar ** | c_tags_ignore |
struct TreeviewSymbols | tv_iters |
#define MAX_SYMBOL_TYPES (sizeof(tv_iters) / sizeof(GtkTreeIter)) |
anonymous enum |
|
static |
Definition at line 447 of file symbols.c.
References _, GeanyDocument::file_type, GEANY_FILETYPES_ABAQUS, GEANY_FILETYPES_ABC, GEANY_FILETYPES_AS, GEANY_FILETYPES_ASCIIDOC, GEANY_FILETYPES_ASM, GEANY_FILETYPES_BASIC, GEANY_FILETYPES_BIBTEX, GEANY_FILETYPES_COBOL, GEANY_FILETYPES_CONF, GEANY_FILETYPES_CSS, GEANY_FILETYPES_D, GEANY_FILETYPES_DIFF, GEANY_FILETYPES_DOCBOOK, GEANY_FILETYPES_F77, GEANY_FILETYPES_FORTRAN, GEANY_FILETYPES_GO, GEANY_FILETYPES_HASKELL, GEANY_FILETYPES_HAXE, GEANY_FILETYPES_HTML, GEANY_FILETYPES_JAVA, GEANY_FILETYPES_JULIA, GEANY_FILETYPES_LATEX, GEANY_FILETYPES_MAKE, GEANY_FILETYPES_MATLAB, GEANY_FILETYPES_NSIS, GEANY_FILETYPES_PERL, GEANY_FILETYPES_PHP, GEANY_FILETYPES_PYTHON, GEANY_FILETYPES_R, GEANY_FILETYPES_REST, GEANY_FILETYPES_RUBY, GEANY_FILETYPES_RUST, GEANY_FILETYPES_SQL, GEANY_FILETYPES_TCL, GEANY_FILETYPES_TXT2TAGS, GEANY_FILETYPES_VERILOG, GEANY_FILETYPES_VHDL, GEANY_FILETYPES_ZEPHIR, ICON_CLASS, ICON_MACRO, ICON_MEMBER, ICON_METHOD, ICON_NAMESPACE, ICON_NONE, ICON_OTHER, ICON_STRUCT, ICON_VAR, GeanyFiletype::id, init_tag_iters(), NULL, GeanyDocument::priv, TreeviewSymbols::tag_class, TreeviewSymbols::tag_externvar, TreeviewSymbols::tag_function, TreeviewSymbols::tag_interface, tag_list_add_groups(), TreeviewSymbols::tag_macro, TreeviewSymbols::tag_member, TreeviewSymbols::tag_namespace, TreeviewSymbols::tag_other, GeanyDocumentPrivate::tag_store, TreeviewSymbols::tag_struct, TreeviewSymbols::tag_type, TreeviewSymbols::tag_variable, top_level_iter_names, and tv_iters.
Referenced by symbols_recreate_tag_list().
Definition at line 261 of file symbols.c.
References TMTag::line, TMTag::name, and NULL.
Referenced by tree_sort_func().
|
static |
Definition at line 284 of file symbols.c.
References TMTag::line, NULL, TMTag::scope, and TM_TAG.
Referenced by get_tag_list(), and tree_sort_func().
|
static |
Definition at line 2031 of file symbols.c.
References TMTag::file, TMTag::line, and TMSourceFile::short_name.
Referenced by goto_tag().
|
static |
Definition at line 1498 of file symbols.c.
References foreach_ptr_array, name, top_level_iter_names, and utils_str_equal().
Referenced by tree_sort_func().
|
static |
Definition at line 2603 of file symbols.c.
References _, gtk_container_add(), NULL, on_expand_collapse(), on_find_usage(), on_symbol_tree_menu_show(), on_symbol_tree_sort_clicked(), SidebarTreeviews::popup_taglist, sidebar_add_common_menu_items(), symbol_menu, tv, and ui_image_menu_item_new().
Referenced by symbols_init().
|
static |
Definition at line 2227 of file symbols.c.
References NULL, and SC_FOLDLEVELNUMBERMASK.
Referenced by get_current_tag_name_cached().
|
static |
Definition at line 1633 of file symbols.c.
References filetypes_detect_from_extension(), GEANY_FILETYPES_NONE, GeanyFiletype::id, NULL, and utils_strdupa.
Referenced by init_user_tags(), symbols_generate_global_tags(), and symbols_show_load_tags_dialog().
|
static |
Definition at line 2085 of file symbols.c.
References TMTag::file, foreach_ptr_array, NULL, tm_tag_externvar_t, tm_tag_prototype_t, tm_tag_typedef_t, and TMTag::type.
Referenced by goto_tag().
|
static |
Definition at line 2044 of file symbols.c.
References documents, TMTag::file, TMSourceFile::file_name, foreach_document, foreach_ptr_array, NULL, and GeanyDocument::real_path.
Referenced by goto_tag().
|
static |
Definition at line 386 of file symbols.c.
References SYMBOLS_COLUMN_NAME, and utils_str_equal().
Referenced by tag_list_add_groups().
|
static |
Definition at line 1044 of file symbols.c.
References ICON_VAR, NULL, pixbuf, SYMBOLS_COLUMN_ICON, symbols_icons, TreeviewSymbols::tag_other, and tv_iters.
Referenced by update_tree_tags().
|
static |
Definition at line 2381 of file symbols.c.
References _, GeanyEditorPrefs::autocompletion_update_freq, GeanyDocument::changed, GeanyDocument::editor, editor_prefs, GeanyDocument::file_type, GEANY_FILETYPES_NONE, get_fold_header_after(), get_function_fold_number(), GeanyFiletype::id, line, TMTag::line, TMTag::name, NULL, parse_cpp_function_at_line(), parse_function_at_line(), SC_FOLDLEVELNUMBERMASK, GeanyEditor::sci, sci_get_current_line(), sci_get_fold_level(), sci_get_fold_parent(), sci_get_lexer(), SCI_GETLASTCHILD, SCLEX_CPP, TMTag::scope, symbols_get_context_separator(), TMSourceFile::tags_array, GeanyDocument::tm_file, and tm_get_current_tag().
Referenced by get_current_tag_name_cached().
|
static |
Definition at line 2460 of file symbols.c.
References _, current_tag_changed(), GeanyDocument::editor, get_current_tag_name(), GeanyDocument::is_valid, line, NULL, GeanyEditor::sci, sci_get_current_line(), and sci_get_fold_level().
Referenced by symbols_get_current_function(), and symbols_get_current_scope().
|
static |
Definition at line 2331 of file symbols.c.
References highlighting_is_code_style(), line, pos, SC_FOLDLEVELHEADERFLAG, sci, sci_find_matching_brace(), sci_get_char_at(), sci_get_fold_level(), sci_get_lexer(), sci_get_line_count(), sci_get_line_end_position(), sci_get_line_from_position(), sci_get_position_from_line(), sci_get_style_at(), and SCI_GETLASTCHILD.
Referenced by get_current_tag_name().
|
static |
Definition at line 2214 of file symbols.c.
References GeanyDocument::file_type, GEANY_FILETYPES_JAVA, GeanyFiletype::id, and SC_FOLDLEVELBASE.
Referenced by get_current_tag_name().
|
static |
Definition at line 965 of file symbols.c.
References EMPTY, NULL, and TMTag::scope.
Referenced by update_tree_tags().
|
static |
Definition at line 885 of file symbols.c.
References GeanyDocument::encoding, encodings_convert_to_utf8_from_charset(), GeanyDocument::file_type, GEANY_WORDCHARS, GeanyFiletype::id, TMTag::line, TMTag::name, NULL, scope, TMTag::scope, symbols_get_context_separator(), and utils_str_equal().
Referenced by update_tree_tags().
|
static |
Definition at line 935 of file symbols.c.
References GeanyDocument::editor, editor_get_calltip_text(), GeanyDocument::encoding, encodings_convert_to_utf8_from_charset(), TMTag::lang, TMTag::name, NULL, SETPTR, tm_tag_externvar_t, tm_tag_field_t, tm_tag_member_t, tm_tag_variable_t, TMTag::type, utils_str_equal(), and TMTag::var_type.
Referenced by update_tree_tags().
|
static |
Definition at line 1852 of file symbols.c.
References ICON_CLASS, ICON_MACRO, ICON_MEMBER, ICON_METHOD, ICON_NAMESPACE, ICON_STRUCT, ICON_VAR, tm_tag_class_t, tm_tag_enum_t, tm_tag_externvar_t, tm_tag_field_t, tm_tag_function_t, tm_tag_macro_t, tm_tag_macro_with_arg_t, tm_tag_member_t, tm_tag_method_t, tm_tag_namespace_t, tm_tag_package_t, tm_tag_prototype_t, tm_tag_struct_t, tm_tag_typedef_t, tm_tag_union_t, tm_tag_variable_t, and TMTag::type.
Referenced by show_goto_popup().
|
static |
Definition at line 148 of file symbols.c.
References count, TMWorkspace::global_tags, and tm_get_workspace().
Referenced by symbols_load_global_tags().
|
static |
|
static |
Definition at line 307 of file symbols.c.
References compare_symbol_lines(), NULL, TMSourceFile::tags_array, GeanyDocument::tm_file, TM_TAG, and TMTag::type.
Referenced by symbols_recreate_tag_list().
|
static |
Definition at line 971 of file symbols.c.
References NULL, TreeviewSymbols::tag_class, TreeviewSymbols::tag_externvar, TreeviewSymbols::tag_function, TreeviewSymbols::tag_interface, TreeviewSymbols::tag_macro, TreeviewSymbols::tag_member, TreeviewSymbols::tag_namespace, TreeviewSymbols::tag_other, TreeviewSymbols::tag_struct, TreeviewSymbols::tag_type, TreeviewSymbols::tag_variable, tm_tag_class_t, tm_tag_enum_t, tm_tag_externvar_t, tm_tag_field_t, tm_tag_function_t, tm_tag_interface_t, tm_tag_macro_t, tm_tag_macro_with_arg_t, tm_tag_member_t, tm_tag_method_t, tm_tag_namespace_t, tm_tag_package_t, tm_tag_prototype_t, tm_tag_struct_t, tm_tag_typedef_t, tm_tag_union_t, tm_tag_variable_t, and tv_iters.
Referenced by update_tree_tags().
|
static |
Definition at line 1887 of file symbols.c.
References line, MAX, NULL, pos, sci, sci_get_current_position(), sci_get_line_from_position(), SCI_POINTXFROMPOSITION, SCI_POINTYFROMPOSITION, and SCI_TEXTHEIGHT.
Referenced by show_goto_popup().
|
static |
Definition at line 2117 of file symbols.c.
References compare_tags_by_name_line(), document_find_by_real_path(), document_get_current(), document_open_file(), GeanyDocument::editor, TMTag::file, TMSourceFile::file_name, GeanyDocument::file_type, filter_tags(), find_best_goto_tag(), foreach_ptr_array, GeanyFiletype::lang, TMTag::line, name, navqueue_goto_line(), NULL, GeanyEditor::sci, sci_get_current_line(), show_goto_popup(), GeanyDocument::tm_file, tm_tag_externvar_t, tm_tag_max_t, tm_tag_prototype_t, tm_workspace_find(), and TMTag::type.
Referenced by symbols_goto_tag().
|
static |
Definition at line 867 of file symbols.c.
Referenced by symbols_recreate_tag_list().
|
static |
Definition at line 353 of file symbols.c.
References TreeviewSymbols::tag_class, TreeviewSymbols::tag_externvar, TreeviewSymbols::tag_function, TreeviewSymbols::tag_interface, TreeviewSymbols::tag_macro, TreeviewSymbols::tag_member, TreeviewSymbols::tag_namespace, TreeviewSymbols::tag_other, TreeviewSymbols::tag_struct, TreeviewSymbols::tag_type, TreeviewSymbols::tag_variable, and tv_iters.
Referenced by add_top_level_items().
|
static |
Definition at line 1765 of file symbols.c.
References app, GeanyApp::configdir, GeanyApp::datadir, detect_global_tags_filetype(), FILETYPE_ID, geany_debug(), GEANY_FILETYPES_NONE, GEANY_TAGS_SUBDIR, list, NULL, GeanyFiletype::priv, SETPTR, GeanyFiletypePrivate::tag_files, utils_get_file_list_full(), utils_get_utf8_from_locale(), and utils_mkdir().
Referenced by load_user_tags().
|
static |
Definition at line 124 of file symbols.c.
References app, c_tags_ignore, GeanyApp::configdir, NULL, and SETPTR.
Referenced by on_document_save(), symbols_generate_global_tags(), symbols_global_tags_loaded(), and symbols_reload_config_files().
|
static |
Definition at line 1807 of file symbols.c.
References filetypes, filetypes_array, init_user_tags(), NULL, GeanyFiletype::priv, symbols_load_global_tags(), and GeanyFiletypePrivate::tag_files.
Referenced by symbols_global_tags_loaded().
|
static |
Definition at line 2662 of file symbols.c.
References app, GeanyApp::configdir, EMPTY, load_c_ignore_tags(), NULL, GeanyDocument::real_path, and utils_str_equal().
Referenced by symbols_init().
|
static |
Definition at line 2558 of file symbols.c.
References document_get_current(), expand(), GeanyDocument::priv, and GeanyDocumentPrivate::tag_tree.
Referenced by create_taglist_popup_menu().
|
static |
Definition at line 2575 of file symbols.c.
References document_get_current(), GEANY_FIND_MATCHCASE, GEANY_FIND_WHOLEWORD, TMTag::name, NULL, GeanyDocument::priv, search_find_usage(), search_show_find_in_files_dialog_full(), symbol_menu, SYMBOLS_COLUMN_TAG, GeanyDocumentPrivate::tag_tree, and tm_tag_unref().
Referenced by create_taglist_popup_menu().
|
static |
Definition at line 1837 of file symbols.c.
References document_get_current(), document_open_file(), TMTag::file, TMSourceFile::file_name, TMTag::line, navqueue_goto_line(), and NULL.
Referenced by show_goto_popup().
|
static |
Definition at line 2530 of file symbols.c.
References document_get_current(), GeanyDocument::has_tags, ignore_callback, GeanyDocument::priv, GeanyDocumentPrivate::symbol_list_sort_mode, and symbol_menu.
Referenced by create_taglist_popup_menu().
|
static |
Definition at line 2517 of file symbols.c.
References document_get_current(), GeanyDocument::has_tags, ignore_callback, NULL, and symbols_recreate_tag_list().
Referenced by create_taglist_popup_menu().
|
static |
Definition at line 1212 of file symbols.c.
References TreeSearchData::found_line, line, name, NULL, and tree_search_func().
Referenced by update_tree_tags().
|
static |
Definition at line 1162 of file symbols.c.
Referenced by update_parents_table().
|
static |
Definition at line 1232 of file symbols.c.
Referenced by update_tree_tags().
|
static |
Definition at line 2291 of file symbols.c.
References NULL, SCE_C_GLOBALCLASS, SCE_C_IDENTIFIER, sci, sci_get_char_at(), sci_get_contents_range(), sci_get_position_from_line(), and sci_get_style_at().
Referenced by get_current_tag_name().
|
static |
Definition at line 2264 of file symbols.c.
References NULL, SCE_C_IDENTIFIER, SCE_P_DEFNAME, SCE_RB_DEFNAME, sci, sci_get_contents_range(), sci_get_lexer(), sci_get_position_from_line(), sci_get_style_at(), SCLEX_PYTHON, and SCLEX_RUBY.
Referenced by get_current_tag_name().
|
static |
Definition at line 1964 of file symbols.c.
References _, GeanyDocument::editor, TMTag::file, TMSourceFile::file_name, foreach_ptr_array, get_tag_class(), goto_popup_position_func(), gtk_widget_show_all(), label, TMTag::line, NULL, on_goto_popup_item_activate(), pixbuf, GeanyEditor::sci, symbols_icons, text, tm_tag_ref(), tm_tag_unref(), and utils_strv_shorten_file_list().
Referenced by goto_tag().
|
static |
Definition at line 1588 of file symbols.c.
References NULL, sort_by_name, SYMBOLS_COLUMN_NAME, and tree_sort_func().
Referenced by symbols_recreate_tag_list().
void symbols_finalize | ( | void | ) |
Definition at line 2694 of file symbols.c.
References c_tags_ignore, pixbuf, and symbols_icons.
Referenced by do_main_quit(), and symbols_generate_global_tags().
GString * symbols_find_typenames_as_string | ( | TMParserType | lang, |
gboolean | global | ||
) |
Definition at line 206 of file symbols.c.
References app, TMWorkspace::global_typename_array, TMTag::lang, TMTag::name, NULL, tm_parser_langs_compatible(), TM_TAG, GeanyApp::tm_workspace, and TMWorkspace::typename_array.
Referenced by document_highlight_tags(), and merge_type_keywords().
int symbols_generate_global_tags | ( | int | argc, |
char ** | argv, | ||
gboolean | want_preprocess | ||
) |
Definition at line 1656 of file symbols.c.
References _, command, detect_global_tags_filetype(), FALLBACK, filetypes_load_config(), geany_debug(), GEANY_FILETYPES_C, GEANY_FILETYPES_CPP, GeanyFiletype::id, GeanyFiletype::lang, load_c_ignore_tags(), GeanyFiletype::name, NULL, symbols_finalize(), tm_get_workspace(), tm_workspace_create_global_tags(), and utils_get_utf8_from_locale().
Referenced by parse_command_line_options().
const gchar * symbols_get_context_separator | ( | gint | ft_id | ) |
Gets the context separator used by the tag manager for a particular file type.
ft_id | File type identifier. |
Returns non-printing sequence "\x03" ie ETX (end of text) for filetypes without a context separator.
Definition at line 254 of file symbols.c.
References filetypes, and tm_parser_context_separator().
Referenced by append_calltip(), get_current_tag_name(), and get_symbol_name().
gint symbols_get_current_function | ( | GeanyDocument * | doc, |
const gchar ** | tagname | ||
) |
Definition at line 2497 of file symbols.c.
References get_current_tag_name_cached(), tm_tag_function_t, and tm_tag_method_t.
Referenced by editor_check_colourise(), and on_comments_function_activate().
gint symbols_get_current_scope | ( | GeanyDocument * | doc, |
const gchar ** | tagname | ||
) |
Definition at line 2504 of file symbols.c.
References GeanyDocument::file_type, filetypes, GEANY_FILETYPES_PYTHON, get_current_tag_name_cached(), GeanyFiletype::lang, tm_tag_class_t, tm_tag_enum_t, tm_tag_function_t, tm_tag_method_t, tm_tag_namespace_t, tm_tag_struct_t, and tm_tag_union_t.
Referenced by autocomplete_scope(), and create_statusbar_statistics().
void symbols_global_tags_loaded | ( | guint | file_type_idx | ) |
Definition at line 177 of file symbols.c.
References app, c_tags_ignore, cl_options, filetypes_load_config(), GEANY_FILETYPES_C, GEANY_FILETYPES_CPP, GEANY_FILETYPES_HTML, GEANY_FILETYPES_PHP, load_c_ignore_tags(), load_user_tags(), NULL, symbols_global_tags_loaded(), and GeanyApp::tm_workspace.
Referenced by document_load_config(), and symbols_global_tags_loaded().
gboolean symbols_goto_tag | ( | const gchar * | name, |
gboolean | definition | ||
) |
Definition at line 2197 of file symbols.c.
References _, goto_tag(), name, ui_set_statusbar(), and utils_beep().
Referenced by goto_tag(), and on_editor_button_press_event().
void symbols_init | ( | void | ) |
Definition at line 2676 of file symbols.c.
References app, GeanyApp::configdir, create_taglist_popup_menu(), geany_object, get_tag_icon(), icon_name, NULL, on_document_save(), pixbuf, symbols_icons, and ui_add_config_file_menu_item().
Referenced by main_lib().
|
static |
Definition at line 160 of file symbols.c.
References geany_debug(), get_tag_count(), GeanyFiletype::lang, GeanyFiletype::name, and tm_workspace_load_global_tags().
Referenced by load_user_tags(), and symbols_show_load_tags_dialog().
gboolean symbols_recreate_tag_list | ( | GeanyDocument * | doc, |
gint | sort_mode | ||
) |
Definition at line 1597 of file symbols.c.
References add_top_level_items(), DOC_VALID, get_tag_list(), hide_empty_rows(), NULL, GeanyDocument::priv, sort_tree(), GeanyDocumentPrivate::symbol_list_sort_mode, GeanyDocumentPrivate::tag_store, tm_tag_max_t, and update_tree_tags().
Referenced by on_symbol_tree_sort_clicked(), and sidebar_update_tag_list().
void symbols_reload_config_files | ( | void | ) |
Definition at line 142 of file symbols.c.
References load_c_ignore_tags().
Referenced by main_reload_configuration().
void symbols_show_load_tags_dialog | ( | void | ) |
Definition at line 1719 of file symbols.c.
References _, detect_global_tags_filetype(), dialog, filetypes_get_display_name(), filter, main_widgets, NULL, symbols_load_global_tags(), ui_set_statusbar(), utils_get_utf8_from_locale(), and GeanyMainWidgets::window.
Referenced by on_load_tags1_activate().
|
static |
Definition at line 1059 of file symbols.c.
References TMTag::arglist, TMTag::name, TMTag::scope, TMTag::type, and utils_str_equal().
Referenced by update_tree_tags().
|
static |
Definition at line 1520 of file symbols.c.
References EMPTY, and TMTag::scope.
Referenced by tree_sort_func().
|
static |
Definition at line 1072 of file symbols.c.
References TMTag::arglist, TMTag::name, TMTag::scope, and TMTag::type.
Referenced by update_tree_tags().
|
static |
Definition at line 416 of file symbols.c.
References find_toplevel_iter(), N_ICONS, NULL, SYMBOLS_COLUMN_ICON, SYMBOLS_COLUMN_NAME, symbols_icons, and top_level_iter_names.
Referenced by add_top_level_items().
|
static |
Definition at line 1245 of file symbols.c.
References TMTag::line, list, NULL, and tree_cmp().
Referenced by update_tree_tags().
|
static |
Definition at line 1261 of file symbols.c.
References TreeSearchData::found_line, TMTag::line, list, NULL, and tree_search_func().
Referenced by update_tree_tags().
|
static |
Definition at line 1283 of file symbols.c.
References foreach_list, TMTag::line, and list.
Referenced by update_tree_tags().
|
static |
|
static |
Definition at line 1317 of file symbols.c.
References NULL, and tags_table_tree_value_free().
Referenced by update_tree_tags().
|
static |
Definition at line 1156 of file symbols.c.
Referenced by tags_table_insert(), and update_parents_table().
|
static |
Definition at line 1128 of file symbols.c.
References TreeSearchData::found_line, line, TreeSearchData::line, and TreeSearchData::lower.
Referenced by parents_table_lookup(), and tags_table_lookup().
|
static |
Definition at line 1529 of file symbols.c.
References compare_symbol(), compare_symbol_lines(), compare_top_level_names(), TMTag::name, TMTag::scope, sort_by_name, SYMBOLS_COLUMN_NAME, SYMBOLS_COLUMN_TAG, tag_has_missing_parent(), tm_tag_unref(), and utils_str_equal().
Referenced by sort_tree().
|
static |
Definition at line 1109 of file symbols.c.
References ui_tree_model_iter_any_next().
Referenced by update_tree_tags().
|
static |
Definition at line 1098 of file symbols.c.
Referenced by update_tree_tags().
|
static |
Definition at line 1169 of file symbols.c.
References EMPTY, TMTag::lang, TMTag::line, name, TMTag::name, NULL, parents_table_tree_value_free(), TMTag::scope, tm_parser_context_separator(), tm_parser_has_full_context(), tree_cmp(), and utils_str_equal().
Referenced by update_tree_tags().
|
static |
Definition at line 1349 of file symbols.c.
References expand(), foreach_list, geany_debug(), get_child_icon(), get_parent_name(), get_symbol_name(), get_symbol_tooltip(), get_tag_type_iter(), TMTag::line, name, NULL, parents_table_lookup(), parents_table_value_free(), GeanyDocument::priv, SYMBOLS_COLUMN_ICON, SYMBOLS_COLUMN_NAME, SYMBOLS_COLUMN_TAG, SYMBOLS_COLUMN_TOOLTIP, tag_equal(), tag_hash(), GeanyDocumentPrivate::tag_store, GeanyDocumentPrivate::tag_tree, tags_table_insert(), tags_table_lookup(), tags_table_remove(), tags_table_value_free(), tm_tag_unref(), tm_tags_equal(), tree_store_remove_row(), tree_view_expand_to_iter(), TMTag::type, ui_tree_model_iter_any_next(), and update_parents_table().
Referenced by symbols_recreate_tag_list().
|
extern |
Definition at line 1024 of file geany_lcpp.c.
Referenced by cppIsIgnoreToken(), load_c_ignore_tags(), symbols_finalize(), and symbols_global_tags_loaded().
const gchar* icon_name |
Definition at line 91 of file symbols.c.
Referenced by get_tag_icon(), symbols_init(), and ui_get_mime_icon().
GdkPixbuf* pixbuf |
Definition at line 92 of file symbols.c.
Referenced by get_child_icon(), register_named_icon(), show_goto_popup(), symbols_finalize(), and symbols_init().
GtkWidget* sort_by_name |
Definition at line 109 of file symbols.c.
Referenced by sort_tree(), and tree_sort_func().
struct { ... } symbol_menu |
Referenced by create_taglist_popup_menu(), on_find_usage(), and on_symbol_tree_menu_show().
struct { ... } symbols_icons[N_ICONS] |
Referenced by get_child_icon(), show_goto_popup(), symbols_finalize(), symbols_init(), and tag_list_add_groups().
|
static |
Definition at line 73 of file symbols.c.
Referenced by add_top_level_items(), compare_top_level_names(), and tag_list_add_groups().
struct TreeviewSymbols tv_iters |
Referenced by add_top_level_items(), get_child_icon(), get_tag_type_iter(), and init_tag_iters().