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 "highlighting.h"
#include "highlightingmappings.h"
#include "app.h"
#include "dialogs.h"
#include "document.h"
#include "editor.h"
#include "filetypesprivate.h"
#include "sciwrappers.h"
#include "support.h"
#include "symbols.h"
#include "ui_utils.h"
#include "utils.h"
#include "SciLexer.h"
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <glib.h>
#include <glib/gprintf.h>
Go to the source code of this file.
Classes | |
struct | StyleSet |
Macros | |
#define | GEANY_COLORSCHEMES_SUBDIR "colorschemes" |
#define | GEANY_WHITESPACE_CHARS " \t" "!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~" |
#define | init_styleset_case(LANG_NAME) |
#define | styleset_case(LANG_NAME) |
Enumerations | |
enum | { GCS_DEFAULT , GCS_SELECTION , GCS_BRACE_GOOD , GCS_BRACE_BAD , GCS_MARGIN_LINENUMBER , GCS_MARGIN_FOLDING , GCS_FOLD_SYMBOL_HIGHLIGHT , GCS_CURRENT_LINE , GCS_CARET , GCS_INDENT_GUIDE , GCS_WHITE_SPACE , GCS_LINE_WRAP_VISUALS , GCS_LINE_WRAP_INDENT , GCS_TRANSLUCENCY , GCS_MARKER_LINE , GCS_MARKER_SEARCH , GCS_MARKER_MARK , GCS_MARKER_TRANSLUCENCY , GCS_LINE_HEIGHT , GCS_CALLTIPS , GCS_INDICATOR_ERROR , GCS_MAX } |
enum | { SCHEME_MARKUP , SCHEME_FILE , SCHEME_COLUMNS } |
Functions | |
static void | sci_set_property (ScintillaObject *sci, const gchar *name, const gchar *value) |
static void | new_styleset (guint file_type_id, gsize styling_count) |
static void | free_styleset (guint file_type_id) |
static void | get_keyfile_keywords (GKeyFile *config, GKeyFile *configh, const gchar *key, guint ft_id, guint pos) |
static void | get_keyfile_wordchars (GKeyFile *config, GKeyFile *configh, gchar **wordchars, const gchar *default_wordchars) |
static gboolean | read_named_style (const gchar *named_style, GeanyLexerStyle *style) |
static void | parse_color (GKeyFile *kf, const gchar *str, gint *clr) |
static void | parse_keyfile_style (GKeyFile *kf, gchar **list, const GeanyLexerStyle *default_style, GeanyLexerStyle *style) |
static void | get_keyfile_style (GKeyFile *config, GKeyFile *configh, const gchar *key_name, GeanyLexerStyle *style) |
static void | convert_int (const gchar *int_str, gint *val) |
static void | get_keyfile_int (GKeyFile *config, GKeyFile *configh, const gchar *section, const gchar *key, gint fdefault_val, gint sdefault_val, GeanyLexerStyle *style) |
static void | get_keyfile_ints (GKeyFile *config, GKeyFile *configh, const gchar *section, const gchar *key, gint fdefault_val, gint sdefault_val, gint *first, gint *second) |
static guint | invert (guint icolour) |
static GeanyLexerStyle * | get_style (guint ft_id, guint styling_index) |
static void | set_sci_style (ScintillaObject *sci, guint style, guint ft_id, guint styling_index) |
void | highlighting_free_styles (void) |
static gchar * | get_keyfile_whitespace_chars (GKeyFile *config, GKeyFile *configh) |
static void | add_named_style (GKeyFile *config, const gchar *key) |
static void | get_named_styles (GKeyFile *config) |
static GKeyFile * | utils_key_file_new (const gchar *filename) |
static void | load_named_styles (GKeyFile *config, GKeyFile *config_home) |
static void | styleset_common_init (GKeyFile *config, GKeyFile *config_home) |
static void | set_character_classes (ScintillaObject *sci, guint ft_id) |
static void | styleset_common (ScintillaObject *sci, guint ft_id) |
static void | merge_type_keywords (ScintillaObject *sci, guint ft_id, guint keyword_idx) |
static void | styleset_init_from_mapping (guint ft_id, GKeyFile *config, GKeyFile *config_home, const HLStyle *styles, gsize n_styles, const HLKeyword *keywords, gsize n_keywords) |
static void | styleset_from_mapping (ScintillaObject *sci, guint ft_id, guint lexer, const HLStyle *styles, gsize n_styles, const HLKeyword *keywords, gsize n_keywords, const HLProperty *properties, gsize n_properties) |
static void | styleset_default (ScintillaObject *sci, guint ft_id) |
static void | get_key_values (GKeyFile *config, const gchar *group, gchar **keys, gchar **values) |
static void | read_properties (GeanyFiletype *ft, GKeyFile *config, GKeyFile *configh) |
static guint | get_lexer_filetype (GeanyFiletype *ft) |
void | highlighting_init_styles (guint filetype_idx, GKeyFile *config, GKeyFile *configh) |
void | highlighting_set_styles (ScintillaObject *sci, GeanyFiletype *ft) |
Sets up highlighting and other visual settings. More... | |
const GeanyLexerStyle * | highlighting_get_style (gint ft_id, gint style_id) |
Retrieves a style style_id for the filetype ft_id. More... | |
static void | on_color_scheme_changed (GtkTreeSelection *treesel, gpointer dummy) |
static gchar * | utils_get_setting_locale_string (GKeyFile *keyfile, const gchar *group, const gchar *key, const gchar *default_value) |
static void | add_color_scheme_item (GtkListStore *store, gchar *name, gchar *desc, const gchar *fn, GtkTreeIter *current_iter) |
static void | add_color_scheme_file (GtkListStore *store, const gchar *fname, GtkTreeIter *current_iter) |
static gboolean | add_color_scheme_items (GtkListStore *store, GtkTreeIter *current_iter) |
static void | on_color_scheme_dialog_response (GtkWidget *dialog, gint response, gpointer *dialog_ptr) |
void | highlighting_show_color_scheme_dialog (void) |
gboolean | highlighting_is_string_style (gint lexer, gint style) |
Checks whether the given style is a string for the given lexer. More... | |
gboolean | highlighting_is_comment_style (gint lexer, gint style) |
Checks whether the given style is a comment for the given lexer. More... | |
gboolean | highlighting_is_code_style (gint lexer, gint style) |
Checks whether the given style is normal code (not string, comment, preprocessor, etc). More... | |
Variables | |
static gchar * | whitespace_chars = NULL |
static StyleSet * | style_sets = NULL |
struct { | |
GeanyLexerStyle styling [GCS_MAX] | |
gint fold_marker | |
gint fold_lines | |
gint fold_draw_line | |
gchar * wordchars | |
} | common_style_set = { { { 0 } }, 0, 0, 0, NULL } |
static GHashTable * | named_style_hash = NULL |
static GeanyLexerStyle | gsd_default = {0x000000, 0xffffff, FALSE, FALSE} |
#define GEANY_COLORSCHEMES_SUBDIR "colorschemes" |
Definition at line 53 of file highlighting.c.
#define GEANY_WHITESPACE_CHARS " \t" "!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~" |
Definition at line 56 of file highlighting.c.
#define init_styleset_case | ( | LANG_NAME | ) |
Definition at line 960 of file highlighting.c.
#define styleset_case | ( | LANG_NAME | ) |
Definition at line 1068 of file highlighting.c.
anonymous enum |
Definition at line 76 of file highlighting.c.
anonymous enum |
Enumerator | |
---|---|
SCHEME_MARKUP | |
SCHEME_FILE | |
SCHEME_COLUMNS |
Definition at line 1189 of file highlighting.c.
|
static |
Definition at line 1275 of file highlighting.c.
References add_color_scheme_item(), app, GeanyApp::configdir, GeanyApp::datadir, GEANY_COLORSCHEMES_SUBDIR, NULL, SETPTR, utils_get_setting, utils_get_utf8_from_locale(), and utils_key_file_new().
Referenced by add_color_scheme_items().
|
static |
Definition at line 1249 of file highlighting.c.
References GeanyEditorPrefs::color_scheme, editor_prefs, name, SCHEME_FILE, SCHEME_MARKUP, and utils_str_equal().
Referenced by add_color_scheme_file(), and add_color_scheme_items().
|
static |
Definition at line 1299 of file highlighting.c.
References _, add_color_scheme_file(), add_color_scheme_item(), foreach_slist, GEANY_COLORSCHEMES_SUBDIR, list, NULL, and utils_get_config_files().
Referenced by highlighting_show_color_scheme_dialog().
|
static |
Definition at line 443 of file highlighting.c.
References group, gsd_default, list, named_style_hash, NULL, and parse_keyfile_style().
Referenced by get_named_styles(), and load_named_styles().
|
static |
Definition at line 322 of file highlighting.c.
Referenced by get_keyfile_int().
|
static |
Definition at line 142 of file highlighting.c.
References StyleSet::count, StyleSet::keywords, NULL, StyleSet::property_keys, StyleSet::property_values, style_sets, StyleSet::styling, and StyleSet::wordchars.
Referenced by highlighting_free_styles(), and highlighting_init_styles().
|
static |
Definition at line 910 of file highlighting.c.
References group, NULL, and SETPTR.
Referenced by read_properties().
|
static |
Definition at line 333 of file highlighting.c.
References GeanyLexerStyle::background, convert_int(), GeanyLexerStyle::foreground, list, and NULL.
Referenced by get_keyfile_ints(), and styleset_common_init().
|
static |
Definition at line 367 of file highlighting.c.
References GeanyLexerStyle::background, GeanyLexerStyle::foreground, and get_keyfile_int().
Referenced by styleset_common_init().
|
static |
Definition at line 161 of file highlighting.c.
References StyleSet::keywords, pos, style_sets, and utils_get_setting.
Referenced by styleset_init_from_mapping().
|
static |
Definition at line 298 of file highlighting.c.
References gsd_default, list, NULL, and parse_keyfile_style().
Referenced by styleset_common_init(), and styleset_init_from_mapping().
|
static |
Definition at line 436 of file highlighting.c.
References GEANY_WHITESPACE_CHARS, and utils_get_setting.
Referenced by styleset_common_init().
|
static |
Definition at line 169 of file highlighting.c.
References utils_get_setting, and wordchars.
Referenced by highlighting_init_styles(), and styleset_common_init().
|
static |
Definition at line 953 of file highlighting.c.
References FALLBACK, GeanyFiletype::id, and GeanyFiletype::lexer_filetype.
Referenced by highlighting_init_styles(), and highlighting_set_styles().
|
static |
Definition at line 462 of file highlighting.c.
References add_named_style(), group, NULL, and ptr.
Referenced by load_named_styles().
|
static |
Definition at line 391 of file highlighting.c.
References common_style_set, count, GCS_MAX, GEANY_FILETYPES_NONE, set, and style_sets.
Referenced by highlighting_get_style(), and set_sci_style().
void highlighting_free_styles | ( | void | ) |
Definition at line 421 of file highlighting.c.
References filetypes_array, free_styleset(), named_style_hash, and style_sets.
Referenced by do_main_quit().
const GeanyLexerStyle * highlighting_get_style | ( | gint | ft_id, |
gint | style_id | ||
) |
Retrieves a style style_id for the filetype ft_id.
If the style was not already initialised (e.g. by by opening a file of this type), it will be initialised. The returned pointer is owned by Geany and must not be freed.
ft_id | Filetype ID, e.g. GEANY_FILETYPES_DIFF . |
style_id | A Scintilla lexer style, e.g. SCE_DIFF_ADDED . See scintilla/include/SciLexer.h. |
SCI_STYLEGETFORE
, etc, for use with scintilla_send_message(). Definition at line 1175 of file highlighting.c.
References filetypes_load_config(), get_style(), and NULL.
void highlighting_init_styles | ( | guint | filetype_idx, |
GKeyFile * | config, | ||
GKeyFile * | configh | ||
) |
Definition at line 970 of file highlighting.c.
References common_style_set, filetypes, filetypes_array, filetypes_load_config(), free_styleset(), geany_debug(), GEANY_FILETYPES_NONE, get_keyfile_wordchars(), get_lexer_filetype(), init_styleset_case, GeanyFiletype::lexer_filetype, GeanyFiletype::name, GeanyFiletype::priv, read_properties(), style_sets, styleset_common_init(), utils_get_setting, GeanyFiletypePrivate::warn_color_scheme, and wordchars.
Referenced by filetypes_load_config().
gboolean highlighting_is_code_style | ( | gint | lexer, |
gint | style | ||
) |
Checks whether the given style is normal code (not string, comment, preprocessor, etc).
TRUE
if the style is code, FALSE
otherwise. Definition at line 1871 of file highlighting.c.
References highlighting_is_comment_style(), highlighting_is_string_style(), SCE_C_PREPROCESSOR, SCE_HA_PREPROCESSOR, SCE_V_PREPROCESSOR, SCLEX_CPP, SCLEX_HASKELL, SCLEX_LITERATEHASKELL, and SCLEX_VERILOG.
Referenced by editor_show_calltip(), editor_start_auto_complete(), get_brace_indent(), get_fold_header_after(), and get_sci_line_code_end_position().
gboolean highlighting_is_comment_style | ( | gint | lexer, |
gint | style | ||
) |
Checks whether the given style is a comment for the given lexer.
TRUE
if the style is a comment, FALSE
otherwise. Definition at line 1649 of file highlighting.c.
References SCE_ABAQUS_COMMENT, SCE_ABAQUS_COMMENTBLOCK, SCE_ADA_COMMENTLINE, SCE_ASM_COMMENT, SCE_ASM_COMMENTBLOCK, SCE_ASM_COMMENTDIRECTIVE, SCE_B_COMMENT, SCE_B_COMMENTBLOCK, SCE_B_DOCBLOCK, SCE_B_DOCKEYWORD, SCE_B_DOCLINE, SCE_BAT_COMMENT, SCE_C_COMMENT, SCE_C_COMMENTDOC, SCE_C_COMMENTDOCKEYWORD, SCE_C_COMMENTDOCKEYWORDERROR, SCE_C_COMMENTLINE, SCE_C_COMMENTLINEDOC, SCE_C_PREPROCESSORCOMMENT, SCE_C_PREPROCESSORCOMMENTDOC, SCE_C_TASKMARKER, SCE_CAML_COMMENT, SCE_CAML_COMMENT1, SCE_CAML_COMMENT2, SCE_CAML_COMMENT3, SCE_CMAKE_COMMENT, SCE_COFFEESCRIPT_COMMENTBLOCK, SCE_COFFEESCRIPT_COMMENTLINE, SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT, SCE_CSS_COMMENT, SCE_D_COMMENT, SCE_D_COMMENTDOC, SCE_D_COMMENTDOCKEYWORD, SCE_D_COMMENTDOCKEYWORDERROR, SCE_D_COMMENTLINE, SCE_D_COMMENTLINEDOC, SCE_D_COMMENTNESTED, SCE_DIFF_COMMENT, SCE_ERLANG_COMMENT, SCE_ERLANG_COMMENT_DOC, SCE_ERLANG_COMMENT_DOC_MACRO, SCE_ERLANG_COMMENT_FUNCTION, SCE_ERLANG_COMMENT_MODULE, SCE_F_COMMENT, SCE_FORTH_COMMENT, SCE_FORTH_COMMENT_ML, SCE_H_COMMENT, SCE_H_SGML_COMMENT, SCE_HA_COMMENTBLOCK, SCE_HA_COMMENTBLOCK2, SCE_HA_COMMENTBLOCK3, SCE_HA_COMMENTLINE, SCE_HA_LITERATE_CODEDELIM, SCE_HA_LITERATE_COMMENT, SCE_HB_COMMENTLINE, SCE_HBA_COMMENTLINE, SCE_HJ_COMMENT, SCE_HJ_COMMENTDOC, SCE_HJ_COMMENTLINE, SCE_HJA_COMMENT, SCE_HJA_COMMENTDOC, SCE_HJA_COMMENTLINE, SCE_HP_COMMENTLINE, SCE_HPA_COMMENTLINE, SCE_HPHP_COMMENT, SCE_HPHP_COMMENTLINE, SCE_JULIA_COMMENT, SCE_L_COMMENT, SCE_L_COMMENT2, SCE_LISP_COMMENT, SCE_LISP_MULTI_COMMENT, SCE_LUA_COMMENT, SCE_LUA_COMMENTDOC, SCE_LUA_COMMENTLINE, SCE_MAKE_COMMENT, SCE_MATLAB_COMMENT, SCE_NSIS_COMMENT, SCE_NSIS_COMMENTBOX, SCE_P_COMMENTBLOCK, SCE_P_COMMENTLINE, SCE_PAS_COMMENT, SCE_PAS_COMMENT2, SCE_PAS_COMMENTLINE, SCE_PL_COMMENTLINE, SCE_PO_COMMENT, SCE_PO_PROGRAMMER_COMMENT, SCE_POWERSHELL_COMMENT, SCE_POWERSHELL_COMMENTDOCKEYWORD, SCE_POWERSHELL_COMMENTSTREAM, SCE_PROPS_COMMENT, SCE_R_COMMENT, SCE_RB_COMMENTLINE, SCE_RUST_COMMENTBLOCK, SCE_RUST_COMMENTBLOCKDOC, SCE_RUST_COMMENTLINE, SCE_RUST_COMMENTLINEDOC, SCE_SH_COMMENTLINE, SCE_SQL_COMMENT, SCE_SQL_COMMENTDOC, SCE_SQL_COMMENTDOCKEYWORD, SCE_SQL_COMMENTDOCKEYWORDERROR, SCE_SQL_COMMENTLINE, SCE_SQL_COMMENTLINEDOC, SCE_TCL_BLOCK_COMMENT, SCE_TCL_COMMENT, SCE_TCL_COMMENT_BOX, SCE_TCL_COMMENTLINE, SCE_TXT2TAGS_COMMENT, SCE_V_COMMENT, SCE_V_COMMENT_WORD, SCE_V_COMMENTLINE, SCE_V_COMMENTLINEBANG, SCE_VHDL_BLOCK_COMMENT, SCE_VHDL_COMMENT, SCE_VHDL_COMMENTLINEBANG, SCE_YAML_COMMENT, SCLEX_ABAQUS, SCLEX_ADA, SCLEX_ASM, SCLEX_BASH, SCLEX_BATCH, SCLEX_CAML, SCLEX_CMAKE, SCLEX_COBOL, SCLEX_COFFEESCRIPT, SCLEX_CPP, SCLEX_CSS, SCLEX_D, SCLEX_DIFF, SCLEX_ERLANG, SCLEX_F77, SCLEX_FORTH, SCLEX_FORTRAN, SCLEX_FREEBASIC, SCLEX_HASKELL, SCLEX_HTML, SCLEX_JULIA, SCLEX_LATEX, SCLEX_LISP, SCLEX_LITERATEHASKELL, SCLEX_LUA, SCLEX_MAKEFILE, SCLEX_MARKDOWN, SCLEX_NSIS, SCLEX_OCTAVE, SCLEX_PASCAL, SCLEX_PERL, SCLEX_PHPSCRIPT, SCLEX_PO, SCLEX_POWERSHELL, SCLEX_PROPERTIES, SCLEX_PYTHON, SCLEX_R, SCLEX_RUBY, SCLEX_RUST, SCLEX_SQL, SCLEX_TCL, SCLEX_TXT2TAGS, SCLEX_VERILOG, SCLEX_VHDL, SCLEX_XML, and SCLEX_YAML.
Referenced by highlighting_is_code_style().
gboolean highlighting_is_string_style | ( | gint | lexer, |
gint | style | ||
) |
Checks whether the given style is a string for the given lexer.
TRUE
if the style is a string, FALSE
otherwise. Definition at line 1398 of file highlighting.c.
References SCE_ABAQUS_STRING, SCE_ADA_CHARACTER, SCE_ADA_CHARACTEREOL, SCE_ADA_STRING, SCE_ADA_STRINGEOL, SCE_B_STRING, SCE_B_STRINGEOL, SCE_C_CHARACTER, SCE_C_ESCAPESEQUENCE, SCE_C_HASHQUOTEDSTRING, SCE_C_REGEX, SCE_C_STRING, SCE_C_STRINGEOL, SCE_C_STRINGRAW, SCE_C_TRIPLEVERBATIM, SCE_C_USERLITERAL, SCE_C_VERBATIM, SCE_CAML_CHAR, SCE_CAML_STRING, SCE_CMAKE_STRINGDQ, SCE_CMAKE_STRINGLQ, SCE_CMAKE_STRINGRQ, SCE_CMAKE_STRINGVAR, SCE_COFFEESCRIPT_CHARACTER, SCE_COFFEESCRIPT_REGEX, SCE_COFFEESCRIPT_STRING, SCE_COFFEESCRIPT_STRINGEOL, SCE_COFFEESCRIPT_VERBOSE_REGEX, SCE_CSS_DOUBLESTRING, SCE_CSS_SINGLESTRING, SCE_D_CHARACTER, SCE_D_STRING, SCE_D_STRINGB, SCE_D_STRINGEOL, SCE_D_STRINGR, SCE_ERLANG_CHARACTER, SCE_ERLANG_STRING, SCE_F_STRING1, SCE_F_STRING2, SCE_F_STRINGEOL, SCE_FORTH_STRING, SCE_H_CDATA, SCE_H_DOUBLESTRING, SCE_H_SGML_DOUBLESTRING, SCE_H_SGML_SIMPLESTRING, SCE_H_SINGLESTRING, SCE_HA_CHARACTER, SCE_HA_STRING, SCE_HA_STRINGEOL, SCE_HB_STRING, SCE_HB_STRINGEOL, SCE_HBA_STRING, SCE_HBA_STRINGEOL, SCE_HJ_DOUBLESTRING, SCE_HJ_REGEX, SCE_HJ_SINGLESTRING, SCE_HJ_STRINGEOL, SCE_HJA_DOUBLESTRING, SCE_HJA_REGEX, SCE_HJA_SINGLESTRING, SCE_HJA_STRINGEOL, SCE_HP_CHARACTER, SCE_HP_STRING, SCE_HP_TRIPLE, SCE_HP_TRIPLEDOUBLE, SCE_HPA_CHARACTER, SCE_HPA_STRING, SCE_HPA_TRIPLE, SCE_HPA_TRIPLEDOUBLE, SCE_HPHP_HSTRING, SCE_HPHP_HSTRING_VARIABLE, SCE_HPHP_SIMPLESTRING, SCE_JULIA_CHAR, SCE_JULIA_COMMAND, SCE_JULIA_DOCSTRING, SCE_JULIA_STRING, SCE_JULIA_STRINGINTERP, SCE_LISP_STRING, SCE_LISP_STRINGEOL, SCE_LUA_CHARACTER, SCE_LUA_LITERALSTRING, SCE_LUA_STRING, SCE_LUA_STRINGEOL, SCE_MATLAB_DOUBLEQUOTESTRING, SCE_MATLAB_STRING, SCE_NSIS_STRINGDQ, SCE_NSIS_STRINGLQ, SCE_NSIS_STRINGRQ, SCE_NSIS_STRINGVAR, SCE_P_CHARACTER, SCE_P_FCHARACTER, SCE_P_FSTRING, SCE_P_FTRIPLE, SCE_P_FTRIPLEDOUBLE, SCE_P_STRING, SCE_P_STRINGEOL, SCE_P_TRIPLE, SCE_P_TRIPLEDOUBLE, SCE_PAS_CHARACTER, SCE_PAS_STRING, SCE_PAS_STRINGEOL, SCE_PL_CHARACTER, SCE_PL_HERE_DELIM, SCE_PL_HERE_Q, SCE_PL_HERE_QQ, SCE_PL_HERE_QX, SCE_PL_POD, SCE_PL_POD_VERB, SCE_PL_REGEX, SCE_PL_REGEX_VAR, SCE_PL_STRING, SCE_PL_STRING_Q, SCE_PL_STRING_QQ, SCE_PL_STRING_QR, SCE_PL_STRING_QW, SCE_PL_STRING_QX, SCE_PL_XLAT, SCE_PO_MSGCTXT_TEXT, SCE_PO_MSGCTXT_TEXT_EOL, SCE_PO_MSGID_TEXT, SCE_PO_MSGID_TEXT_EOL, SCE_PO_MSGSTR_TEXT, SCE_PO_MSGSTR_TEXT_EOL, SCE_POWERSHELL_CHARACTER, SCE_POWERSHELL_STRING, SCE_R_STRING, SCE_RB_CHARACTER, SCE_RB_HERE_DELIM, SCE_RB_HERE_Q, SCE_RB_HERE_QQ, SCE_RB_HERE_QX, SCE_RB_POD, SCE_RB_REGEX, SCE_RB_STRING, SCE_RB_STRING_Q, SCE_RB_STRING_QQ, SCE_RB_STRING_QR, SCE_RB_STRING_QW, SCE_RB_STRING_QX, SCE_RUST_BYTECHARACTER, SCE_RUST_BYTESTRING, SCE_RUST_BYTESTRINGR, SCE_RUST_CHARACTER, SCE_RUST_LEXERROR, SCE_RUST_STRING, SCE_RUST_STRINGR, SCE_SH_STRING, SCE_SQL_STRING, SCE_TCL_IN_QUOTE, SCE_V_STRING, SCE_VHDL_STRING, SCE_VHDL_STRINGEOL, SCLEX_ABAQUS, SCLEX_ADA, SCLEX_BASH, SCLEX_BATCH, SCLEX_CAML, SCLEX_CMAKE, SCLEX_COFFEESCRIPT, SCLEX_CPP, SCLEX_CSS, SCLEX_D, SCLEX_DIFF, SCLEX_ERLANG, SCLEX_F77, SCLEX_FORTH, SCLEX_FORTRAN, SCLEX_FREEBASIC, SCLEX_HASKELL, SCLEX_HTML, SCLEX_JULIA, SCLEX_LATEX, SCLEX_LISP, SCLEX_LITERATEHASKELL, SCLEX_LUA, SCLEX_MAKEFILE, SCLEX_MARKDOWN, SCLEX_NSIS, SCLEX_OCTAVE, SCLEX_PASCAL, SCLEX_PERL, SCLEX_PHPSCRIPT, SCLEX_PO, SCLEX_POWERSHELL, SCLEX_PROPERTIES, SCLEX_PYTHON, SCLEX_R, SCLEX_RUBY, SCLEX_RUST, SCLEX_SQL, SCLEX_TCL, SCLEX_TXT2TAGS, SCLEX_VERILOG, SCLEX_VHDL, SCLEX_XML, and SCLEX_YAML.
Referenced by handle_xml(), and highlighting_is_code_style().
void highlighting_set_styles | ( | ScintillaObject * | sci, |
GeanyFiletype * | ft | ||
) |
Sets up highlighting and other visual settings.
sci | Scintilla widget. |
ft | Filetype settings to use. |
Definition at line 1083 of file highlighting.c.
References filetypes_load_config(), GEANY_FILETYPES_NONE, get_lexer_filetype(), GeanyFiletype::id, StyleSet::property_keys, StyleSet::property_values, sci, sci_set_property(), style_sets, styleset_case, and styleset_default().
Referenced by begin_print(), document_load_config(), and sync_to_current().
void highlighting_show_color_scheme_dialog | ( | void | ) |
Definition at line 1328 of file highlighting.c.
References _, add_color_scheme_items(), dialog, dialogs_show_msgbox_with_secondary(), document_get_current(), GeanyDocument::file_type, GEANY_DEFAULT_DIALOG_HEIGHT, gtk_container_add(), gtk_widget_show_all(), main_widgets, NULL, on_color_scheme_changed(), on_color_scheme_dialog_response(), GeanyFiletype::priv, SCHEME_COLUMNS, SCHEME_MARKUP, ui_dialog_vbox_new(), GeanyFiletypePrivate::warn_color_scheme, and GeanyMainWidgets::window.
Referenced by on_menu_color_schemes_activate().
|
static |
Definition at line 382 of file highlighting.c.
References GeanyInterfacePrefs::highlighting_invert_all, and interface_prefs.
Referenced by set_sci_style(), and styleset_common().
|
static |
Definition at line 497 of file highlighting.c.
References add_named_style(), app, GeanyEditorPrefs::color_scheme, GeanyApp::configdir, GeanyApp::datadir, editor_prefs, EMPTY, GEANY_COLORSCHEMES_SUBDIR, get_named_styles(), gsd_default, named_style_hash, NULL, read_named_style(), and utils_key_file_new().
Referenced by styleset_common_init().
|
static |
Definition at line 810 of file highlighting.c.
References filetypes, StyleSet::keywords, NULL, sci, sci_set_keywords(), style_sets, and symbols_find_typenames_as_string().
Referenced by styleset_from_mapping().
|
static |
Definition at line 133 of file highlighting.c.
References set, and style_sets.
Referenced by styleset_init_from_mapping().
|
static |
Definition at line 1196 of file highlighting.c.
References _, app, GeanyEditorPrefs::color_scheme, GeanyApp::configdir, GeanyApp::datadir, editor_prefs, filetypes_reload(), GEANY_COLORSCHEMES_SUBDIR, NULL, SCHEME_FILE, SETPTR, ui_set_statusbar(), utils_get_locale_from_utf8(), and utils_get_utf8_from_locale().
Referenced by highlighting_show_color_scheme_dialog().
|
static |
Definition at line 1320 of file highlighting.c.
Referenced by highlighting_show_color_scheme_dialog().
|
static |
Definition at line 216 of file highlighting.c.
References EMPTY, geany_debug(), NULL, and utils_parse_color_to_bgr().
Referenced by parse_keyfile_style().
|
static |
Definition at line 240 of file highlighting.c.
References GeanyLexerStyle::background, GeanyLexerStyle::bold, GeanyLexerStyle::foreground, geany_debug(), GeanyLexerStyle::italic, list, named_style_hash, NULL, parse_color(), read_named_style(), and utils_atob().
Referenced by add_named_style(), and get_keyfile_style().
|
static |
Definition at line 177 of file highlighting.c.
References GeanyLexerStyle::bold, gsd_default, GeanyLexerStyle::italic, name, named_style_hash, NULL, strstr(), and utils_strdupa.
Referenced by load_named_styles(), and parse_keyfile_style().
|
static |
Definition at line 925 of file highlighting.c.
References foreach_strv, get_key_values(), group, GeanyFiletype::id, NULL, StyleSet::property_keys, StyleSet::property_values, ptr, style_sets, and utils_strv_join().
Referenced by highlighting_init_styles().
|
static |
Definition at line 127 of file highlighting.c.
References name, sci, and SCI_SETPROPERTY.
Referenced by highlighting_set_styles(), styleset_common(), and styleset_from_mapping().
|
static |
Definition at line 587 of file highlighting.c.
References common_style_set, GEANY_FILETYPES_NONE, sci, SCI_SETWHITESPACECHARS, SCI_SETWORDCHARS, style_sets, whitespace_chars, and StyleSet::wordchars.
Referenced by styleset_common().
|
static |
Definition at line 410 of file highlighting.c.
References GeanyLexerStyle::background, GeanyLexerStyle::bold, GeanyLexerStyle::foreground, get_style(), invert(), GeanyLexerStyle::italic, sci, SCI_STYLESETBACK, SCI_STYLESETBOLD, SCI_STYLESETFORE, and SCI_STYLESETITALIC.
Referenced by styleset_common(), styleset_default(), and styleset_from_mapping().
|
static |
Definition at line 612 of file highlighting.c.
References GeanyLexerStyle::background, GeanyLexerStyle::bold, CARETSTYLE_BLOCK, CARETSTYLE_LINE, common_style_set, foreach_range, GeanyLexerStyle::foreground, GCS_BRACE_BAD, GCS_BRACE_GOOD, GCS_CALLTIPS, GCS_CARET, GCS_CURRENT_LINE, GCS_FOLD_SYMBOL_HIGHLIGHT, GCS_INDENT_GUIDE, GCS_INDICATOR_ERROR, GCS_LINE_HEIGHT, GCS_LINE_WRAP_INDENT, GCS_LINE_WRAP_VISUALS, GCS_MARGIN_FOLDING, GCS_MARGIN_LINENUMBER, GCS_MARKER_LINE, GCS_MARKER_MARK, GCS_MARKER_SEARCH, GCS_MARKER_TRANSLUCENCY, GCS_SELECTION, GCS_TRANSLUCENCY, GCS_WHITE_SPACE, geany_debug(), GEANY_FILETYPES_NONE, GEANY_INDICATOR_ERROR, GEANY_INDICATOR_SEARCH, GEANY_INDICATOR_SNIPPET, INDIC_DOTBOX, INDIC_ROUNDBOX, INDIC_SQUIGGLEPIXMAP, invert(), GeanyLexerStyle::italic, SC_MARGIN_SYMBOL, SC_MARK_ARROW, SC_MARK_ARROWDOWN, SC_MARK_BOXMINUS, SC_MARK_BOXMINUSCONNECTED, SC_MARK_BOXPLUS, SC_MARK_BOXPLUSCONNECTED, SC_MARK_CIRCLEMINUS, SC_MARK_CIRCLEMINUSCONNECTED, SC_MARK_CIRCLEPLUS, SC_MARK_CIRCLEPLUSCONNECTED, SC_MARK_EMPTY, SC_MARK_LCORNER, SC_MARK_LCORNERCURVE, SC_MARK_MINUS, SC_MARK_PLUS, SC_MARK_SHORTARROW, SC_MARK_TCORNER, SC_MARK_TCORNERCURVE, SC_MARK_VLINE, SC_MARKNUM_FOLDER, SC_MARKNUM_FOLDEREND, SC_MARKNUM_FOLDERMIDTAIL, SC_MARKNUM_FOLDEROPEN, SC_MARKNUM_FOLDEROPENMID, SC_MARKNUM_FOLDERSUB, SC_MARKNUM_FOLDERTAIL, SC_MASK_FOLDERS, sci, SCI_CALLTIPSETBACK, SCI_CALLTIPSETFORE, SCI_INDICSETALPHA, SCI_INDICSETFORE, SCI_INDICSETSTYLE, SCI_MARKERDEFINE, SCI_MARKERSETALPHA, SCI_MARKERSETBACK, SCI_MARKERSETFORE, sci_set_property(), SCI_SETCARETFORE, SCI_SETCARETLINEBACK, SCI_SETCARETLINEBACKALPHA, SCI_SETCARETLINEVISIBLE, SCI_SETCARETSTYLE, SCI_SETCARETWIDTH, SCI_SETEXTRAASCENT, SCI_SETEXTRADESCENT, SCI_SETFOLDFLAGS, SCI_SETFOLDMARGINCOLOUR, SCI_SETFOLDMARGINHICOLOUR, SCI_SETMARGINMASKN, SCI_SETMARGINTYPEN, SCI_SETSELALPHA, SCI_SETSELBACK, SCI_SETSELFORE, SCI_SETWHITESPACEBACK, SCI_SETWHITESPACEFORE, SCI_SETWRAPINDENTMODE, SCI_SETWRAPSTARTINDENT, SCI_SETWRAPVISUALFLAGS, SCI_SETWRAPVISUALFLAGSLOCATION, SCI_STYLECLEARALL, set_character_classes(), set_sci_style(), STYLE_BRACEBAD, STYLE_BRACELIGHT, STYLE_INDENTGUIDE, and STYLE_LINENUMBER.
Referenced by styleset_default(), and styleset_from_mapping().
|
static |
Definition at line 542 of file highlighting.c.
References common_style_set, GCS_BRACE_BAD, GCS_BRACE_GOOD, GCS_CALLTIPS, GCS_CARET, GCS_CURRENT_LINE, GCS_DEFAULT, GCS_FOLD_SYMBOL_HIGHLIGHT, GCS_INDENT_GUIDE, GCS_INDICATOR_ERROR, GCS_LINE_HEIGHT, GCS_LINE_WRAP_INDENT, GCS_LINE_WRAP_VISUALS, GCS_MARGIN_FOLDING, GCS_MARGIN_LINENUMBER, GCS_MARKER_LINE, GCS_MARKER_MARK, GCS_MARKER_SEARCH, GCS_MARKER_TRANSLUCENCY, GCS_SELECTION, GCS_TRANSLUCENCY, GCS_WHITE_SPACE, GEANY_WORDCHARS, get_keyfile_int(), get_keyfile_ints(), get_keyfile_style(), get_keyfile_whitespace_chars(), get_keyfile_wordchars(), load_named_styles(), NULL, and whitespace_chars.
Referenced by highlighting_init_styles().
|
static |
Definition at line 899 of file highlighting.c.
References GCS_DEFAULT, GEANY_FILETYPES_NONE, sci, sci_set_lexer(), SCLEX_NULL, set_sci_style(), STYLE_DEFAULT, and styleset_common().
Referenced by highlighting_set_styles().
|
static |
Definition at line 857 of file highlighting.c.
References foreach_range, GEANY_FILETYPES_NONE, merge(), merge_type_keywords(), sci, sci_set_keywords(), sci_set_lexer(), sci_set_property(), SCI_STYLESETEOLFILLED, set_sci_style(), STYLE_DEFAULT, style_sets, and styleset_common().
|
static |
Definition at line 828 of file highlighting.c.
References foreach_range, get_keyfile_keywords(), get_keyfile_style(), StyleSet::keywords, name, new_styleset(), NULL, style_sets, and StyleSet::styling.
|
static |
Definition at line 1240 of file highlighting.c.
|
static |
Definition at line 488 of file highlighting.c.
References filename, and NULL.
Referenced by add_color_scheme_file(), and load_named_styles().
struct { ... } common_style_set |
Referenced by get_style(), highlighting_init_styles(), set_character_classes(), styleset_common(), and styleset_common_init().
gint fold_draw_line |
Definition at line 111 of file highlighting.c.
gint fold_lines |
Definition at line 109 of file highlighting.c.
gint fold_marker |
Definition at line 107 of file highlighting.c.
|
static |
Definition at line 123 of file highlighting.c.
Referenced by add_named_style(), get_keyfile_style(), load_named_styles(), and read_named_style().
|
static |
Definition at line 120 of file highlighting.c.
Referenced by add_named_style(), highlighting_free_styles(), load_named_styles(), parse_keyfile_style(), and read_named_style().
Definition at line 73 of file highlighting.c.
Referenced by free_styleset(), get_keyfile_keywords(), get_style(), highlighting_free_styles(), highlighting_init_styles(), highlighting_set_styles(), merge_type_keywords(), new_styleset(), read_properties(), set_character_classes(), styleset_from_mapping(), and styleset_init_from_mapping().
GeanyLexerStyle styling[GCS_MAX] |
Definition at line 104 of file highlighting.c.
|
static |
Definition at line 59 of file highlighting.c.
Referenced by set_character_classes(), and styleset_common_init().
gchar* wordchars |
Definition at line 113 of file highlighting.c.
Referenced by editor_get_default_selection(), editor_get_word_at_pos(), editor_read_word_stem(), editor_start_auto_complete(), get_keyfile_wordchars(), and highlighting_init_styles().