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
![]() ![]() |
Syntax highlighting for the different filetypes, using the Scintilla lexers. More...
#include "filetypes.h"
#include "gtkcompat.h"
#include "Scintilla.h"
#include "ScintillaWidget.h"
#include <glib.h>
Go to the source code of this file.
Classes | |
struct | GeanyLexerStyle |
Fields representing the different attributes of a Scintilla lexer style. More... | |
Typedefs | |
typedef struct GeanyLexerStyle | GeanyLexerStyle |
Fields representing the different attributes of a Scintilla lexer style. More... | |
Functions | |
const GeanyLexerStyle * | highlighting_get_style (gint ft_id, gint style_id) |
Retrieves a style style_id for the filetype ft_id. More... | |
void | highlighting_set_styles (ScintillaObject *sci, GeanyFiletype *ft) |
Sets up highlighting and other visual settings. More... | |
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... | |
Syntax highlighting for the different filetypes, using the Scintilla lexers.
Definition in file highlighting.h.
typedef struct GeanyLexerStyle GeanyLexerStyle |
Fields representing the different attributes of a Scintilla lexer style.
SCI_STYLEGETFORE
, etc, for use with scintilla_send_message(). 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.
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().