diff --git a/src/highlighting.c b/src/highlighting.c index 9cc5bf2b2c..90c3483894 100644 --- a/src/highlighting.c +++ b/src/highlighting.c @@ -854,7 +854,7 @@ static void styleset_init_from_mapping(guint ft_id, GKeyFile *config, GKeyFile * /* STYLE_DEFAULT will be set to match the first style. */ -static void styleset_from_mapping(ScintillaObject *sci, guint ft_id, guint lexer, +static void styleset_from_mapping(ScintillaObject *sci, guint ft_id, const gchar *lexer_name, const HLStyle *styles, gsize n_styles, const HLKeyword *keywords, gsize n_keywords, const HLProperty *properties, gsize n_properties) @@ -864,7 +864,7 @@ static void styleset_from_mapping(ScintillaObject *sci, guint ft_id, guint lexer g_assert(ft_id != GEANY_FILETYPES_NONE); /* lexer */ - sci_set_lexer(sci, lexer); + sci_set_lexer(sci, lexer_name); /* styles */ styleset_common(sci, ft_id); @@ -898,7 +898,7 @@ static void styleset_from_mapping(ScintillaObject *sci, guint ft_id, guint lexer static void styleset_default(ScintillaObject *sci, guint ft_id) { - sci_set_lexer(sci, SCLEX_NULL); + sci_set_lexer(sci, "null"); /* we need to set STYLE_DEFAULT before we call SCI_STYLECLEARALL in styleset_common() */ set_sci_style(sci, STYLE_DEFAULT, GEANY_FILETYPES_NONE, GCS_DEFAULT); diff --git a/src/highlightingmappings.h b/src/highlightingmappings.h index b65aa8390c..4619db4988 100644 --- a/src/highlightingmappings.h +++ b/src/highlightingmappings.h @@ -31,7 +31,7 @@ G_BEGIN_DECLS /* contains all filtypes informations in the form of: - * - highlighting_lexer_LANG: the SCI lexer + * - highlighting_lexer_LANG: the SCI lexer name * - highlighting_styles_LANG: SCI style/named style mappings. The first * item is also used for the default style. * - highlighting_keywords_LANG: keywords ID/name mappings @@ -81,7 +81,7 @@ typedef struct /* Abaqus */ -#define highlighting_lexer_ABAQUS SCLEX_ABAQUS +#define highlighting_lexer_ABAQUS "abaqus" static const HLStyle highlighting_styles_ABAQUS[] = { { SCE_ABAQUS_DEFAULT, "default", FALSE }, @@ -106,7 +106,7 @@ static const HLKeyword highlighting_keywords_ABAQUS[] = /* Ada */ -#define highlighting_lexer_ADA SCLEX_ADA +#define highlighting_lexer_ADA "ada" static const HLStyle highlighting_styles_ADA[] = { { SCE_ADA_DEFAULT, "default", FALSE }, @@ -130,7 +130,7 @@ static const HLKeyword highlighting_keywords_ADA[] = /* ActionScript */ -#define highlighting_lexer_AS SCLEX_CPP +#define highlighting_lexer_AS "cpp" #define highlighting_styles_AS highlighting_styles_C static const HLKeyword highlighting_keywords_AS[] = { @@ -142,7 +142,7 @@ static const HLKeyword highlighting_keywords_AS[] = /* Asccidoc */ -#define highlighting_lexer_ASCIIDOC SCLEX_ASCIIDOC +#define highlighting_lexer_ASCIIDOC "asciidoc" static const HLStyle highlighting_styles_ASCIIDOC[] = { { SCE_ASCIIDOC_DEFAULT, "default", FALSE }, @@ -175,7 +175,7 @@ static const HLStyle highlighting_styles_ASCIIDOC[] = /* ASM */ -#define highlighting_lexer_ASM SCLEX_ASM +#define highlighting_lexer_ASM "asm" static const HLStyle highlighting_styles_ASM[] = { { SCE_ASM_DEFAULT, "default", FALSE }, @@ -207,7 +207,7 @@ static const HLKeyword highlighting_keywords_ASM[] = /* BASIC */ -#define highlighting_lexer_BASIC SCLEX_FREEBASIC +#define highlighting_lexer_BASIC "freebasic" static const HLStyle highlighting_styles_BASIC[] = { { SCE_B_DEFAULT, "default", FALSE }, @@ -245,7 +245,7 @@ static const HLKeyword highlighting_keywords_BASIC[] = /* BATCH */ -#define highlighting_lexer_BATCH SCLEX_BATCH +#define highlighting_lexer_BATCH "batch" static const HLStyle highlighting_styles_BATCH[] = { { SCE_BAT_DEFAULT, "default", FALSE }, @@ -267,7 +267,7 @@ static const HLKeyword highlighting_keywords_BATCH[] = /* C */ /* Also used by some other SCLEX_CPP-based filetypes */ -#define highlighting_lexer_C SCLEX_CPP +#define highlighting_lexer_C "cpp" static const HLStyle highlighting_styles_C[] = { { SCE_C_DEFAULT, "default", FALSE }, @@ -316,7 +316,7 @@ static const HLProperty highlighting_properties_C[] = /* Caml */ -#define highlighting_lexer_CAML SCLEX_CAML +#define highlighting_lexer_CAML "caml" static const HLStyle highlighting_styles_CAML[] = { { SCE_CAML_DEFAULT, "default", FALSE }, @@ -345,7 +345,7 @@ static const HLKeyword highlighting_keywords_CAML[] = /* CMake */ -#define highlighting_lexer_CMAKE SCLEX_CMAKE +#define highlighting_lexer_CMAKE "cmake" static const HLStyle highlighting_styles_CMAKE[] = { { SCE_CMAKE_DEFAULT, "default", FALSE }, @@ -373,7 +373,7 @@ static const HLKeyword highlighting_keywords_CMAKE[] = #define highlighting_properties_CMAKE EMPTY_PROPERTIES /* CoffeeScript */ -#define highlighting_lexer_COFFEESCRIPT SCLEX_COFFEESCRIPT +#define highlighting_lexer_COFFEESCRIPT "coffeescript" static const HLStyle highlighting_styles_COFFEESCRIPT[] = { { SCE_COFFEESCRIPT_DEFAULT, "default", FALSE }, @@ -403,7 +403,7 @@ static const HLKeyword highlighting_keywords_COFFEESCRIPT[] = /* CSS */ -#define highlighting_lexer_CSS SCLEX_CSS +#define highlighting_lexer_CSS "css" static const HLStyle highlighting_styles_CSS[] = { { SCE_CSS_DEFAULT, "default", FALSE }, @@ -446,7 +446,7 @@ static const HLKeyword highlighting_keywords_CSS[] = /* Cobol */ -#define highlighting_lexer_COBOL SCLEX_COBOL +#define highlighting_lexer_COBOL "COBOL" #define highlighting_styles_COBOL highlighting_styles_C static const HLKeyword highlighting_keywords_COBOL[] = { @@ -458,7 +458,7 @@ static const HLKeyword highlighting_keywords_COBOL[] = /* Conf */ -#define highlighting_lexer_CONF SCLEX_PROPERTIES +#define highlighting_lexer_CONF "props" static const HLStyle highlighting_styles_CONF[] = { { SCE_PROPS_DEFAULT, "default", FALSE }, @@ -473,7 +473,7 @@ static const HLStyle highlighting_styles_CONF[] = /* D */ -#define highlighting_lexer_D SCLEX_D +#define highlighting_lexer_D "d" static const HLStyle highlighting_styles_D[] = { { SCE_D_DEFAULT, "default", FALSE }, @@ -514,7 +514,7 @@ static const HLKeyword highlighting_keywords_D[] = /* Diff */ -#define highlighting_lexer_DIFF SCLEX_DIFF +#define highlighting_lexer_DIFF "diff" static const HLStyle highlighting_styles_DIFF[] = { { SCE_DIFF_DEFAULT, "default", FALSE }, @@ -534,7 +534,7 @@ static const HLStyle highlighting_styles_DIFF[] = #define highlighting_properties_DIFF EMPTY_PROPERTIES -#define highlighting_lexer_DOCBOOK SCLEX_XML +#define highlighting_lexer_DOCBOOK "xml" static const HLStyle highlighting_styles_DOCBOOK[] = { { SCE_H_DEFAULT, "default", FALSE }, @@ -576,7 +576,7 @@ static const HLKeyword highlighting_keywords_DOCBOOK[] = /* Erlang */ -#define highlighting_lexer_ERLANG SCLEX_ERLANG +#define highlighting_lexer_ERLANG "erlang" static const HLStyle highlighting_styles_ERLANG[] = { { SCE_ERLANG_DEFAULT, "default", FALSE }, @@ -619,7 +619,7 @@ static const HLKeyword highlighting_keywords_ERLANG[] = /* F77 */ -#define highlighting_lexer_F77 SCLEX_F77 +#define highlighting_lexer_F77 "f77" static const HLStyle highlighting_styles_F77[] = { { SCE_F_DEFAULT, "default", FALSE }, @@ -648,7 +648,7 @@ static const HLKeyword highlighting_keywords_F77[] = /* Forth */ -#define highlighting_lexer_FORTH SCLEX_FORTH +#define highlighting_lexer_FORTH "forth" static const HLStyle highlighting_styles_FORTH[] = { { SCE_FORTH_DEFAULT, "default", FALSE }, @@ -678,14 +678,14 @@ static const HLKeyword highlighting_keywords_FORTH[] = /* Fortran */ /* F77 and Fortran (F9x) uses different lexers but shares styles and keywords */ -#define highlighting_lexer_FORTRAN SCLEX_FORTRAN +#define highlighting_lexer_FORTRAN "fortran" #define highlighting_styles_FORTRAN highlighting_styles_F77 #define highlighting_keywords_FORTRAN highlighting_keywords_F77 #define highlighting_properties_FORTRAN highlighting_properties_F77 /* GDScript */ -#define highlighting_lexer_GDSCRIPT SCLEX_GDSCRIPT +#define highlighting_lexer_GDSCRIPT "gdscript" static const HLStyle highlighting_styles_GDSCRIPT[] = { { SCE_GD_DEFAULT, "default", FALSE }, @@ -715,14 +715,14 @@ static const HLKeyword highlighting_keywords_GDSCRIPT[] = /* Go */ -#define highlighting_lexer_GO SCLEX_CPP +#define highlighting_lexer_GO highlighting_lexer_C #define highlighting_styles_GO highlighting_styles_C #define highlighting_keywords_GO highlighting_keywords_C #define highlighting_properties_GO highlighting_properties_C /* Haskell */ -#define highlighting_lexer_HASKELL SCLEX_HASKELL +#define highlighting_lexer_HASKELL "haskell" static const HLStyle highlighting_styles_HASKELL[] = { { SCE_HA_DEFAULT, "default", FALSE }, @@ -759,7 +759,7 @@ static const HLKeyword highlighting_keywords_HASKELL[] = /* HAXE */ -#define highlighting_lexer_HAXE SCLEX_CPP +#define highlighting_lexer_HAXE highlighting_lexer_C #define highlighting_styles_HAXE highlighting_styles_C static const HLKeyword highlighting_keywords_HAXE[] = { @@ -771,7 +771,7 @@ static const HLKeyword highlighting_keywords_HAXE[] = /* HTML */ -#define highlighting_lexer_HTML SCLEX_HTML +#define highlighting_lexer_HTML "hypertext" static const HLStyle highlighting_styles_HTML[] = { { SCE_H_DEFAULT, "html_default", FALSE }, @@ -918,7 +918,7 @@ static const HLProperty highlighting_properties_HTML[] = /* Java */ -#define highlighting_lexer_JAVA SCLEX_CPP +#define highlighting_lexer_JAVA highlighting_lexer_C #define highlighting_styles_JAVA highlighting_styles_C static const HLKeyword highlighting_keywords_JAVA[] = { @@ -933,7 +933,7 @@ static const HLKeyword highlighting_keywords_JAVA[] = /* JavaScript */ -#define highlighting_lexer_JS SCLEX_CPP +#define highlighting_lexer_JS highlighting_lexer_C #define highlighting_styles_JS highlighting_styles_C static const HLKeyword highlighting_keywords_JS[] = { @@ -943,7 +943,7 @@ static const HLKeyword highlighting_keywords_JS[] = #define highlighting_properties_JS highlighting_properties_C /* Julia */ -#define highlighting_lexer_JULIA SCLEX_JULIA +#define highlighting_lexer_JULIA "julia" static const HLStyle highlighting_styles_JULIA[] = { { SCE_JULIA_DEFAULT, "default", FALSE }, @@ -980,7 +980,7 @@ static const HLKeyword highlighting_keywords_JULIA[] = /* LaTeX */ -#define highlighting_lexer_LATEX SCLEX_LATEX +#define highlighting_lexer_LATEX "latex" static const HLStyle highlighting_styles_LATEX[] = { { SCE_L_DEFAULT, "default", FALSE }, @@ -1005,7 +1005,7 @@ static const HLKeyword highlighting_keywords_LATEX[] = /* Lisp */ -#define highlighting_lexer_LISP SCLEX_LISP +#define highlighting_lexer_LISP "lisp" static const HLStyle highlighting_styles_LISP[] = { { SCE_LISP_DEFAULT, "default", FALSE }, @@ -1030,7 +1030,7 @@ static const HLKeyword highlighting_keywords_LISP[] = /* Lua */ -#define highlighting_lexer_LUA SCLEX_LUA +#define highlighting_lexer_LUA "lua" static const HLStyle highlighting_styles_LUA[] = { { SCE_LUA_DEFAULT, "default", FALSE }, @@ -1070,7 +1070,7 @@ static const HLKeyword highlighting_keywords_LUA[] = /* Makefile */ -#define highlighting_lexer_MAKE SCLEX_MAKEFILE +#define highlighting_lexer_MAKE "makefile" static const HLStyle highlighting_styles_MAKE[] = { { SCE_MAKE_DEFAULT, "default", FALSE }, @@ -1086,7 +1086,7 @@ static const HLStyle highlighting_styles_MAKE[] = /* Markdown */ -#define highlighting_lexer_MARKDOWN SCLEX_MARKDOWN +#define highlighting_lexer_MARKDOWN "markdown" static const HLStyle highlighting_styles_MARKDOWN[] = { { SCE_MARKDOWN_DEFAULT, "default", FALSE }, @@ -1117,7 +1117,7 @@ static const HLStyle highlighting_styles_MARKDOWN[] = /* Matlab */ -#define highlighting_lexer_MATLAB SCLEX_OCTAVE /* not MATLAB to support Octave's # comments */ +#define highlighting_lexer_MATLAB "octave" /* not MATLAB to support Octave's # comments */ static const HLStyle highlighting_styles_MATLAB[] = { { SCE_MATLAB_DEFAULT, "default", FALSE }, @@ -1138,7 +1138,7 @@ static const HLKeyword highlighting_keywords_MATLAB[] = /* NSIS */ -#define highlighting_lexer_NSIS SCLEX_NSIS +#define highlighting_lexer_NSIS "nsis" static const HLStyle highlighting_styles_NSIS[] = { { SCE_NSIS_DEFAULT, "default", FALSE }, @@ -1186,7 +1186,7 @@ static const HLKeyword highlighting_keywords_OBJECTIVEC[] = /* Pascal */ -#define highlighting_lexer_PASCAL SCLEX_PASCAL +#define highlighting_lexer_PASCAL "pascal" static const HLStyle highlighting_styles_PASCAL[] = { { SCE_PAS_DEFAULT, "default", FALSE }, @@ -1213,7 +1213,7 @@ static const HLKeyword highlighting_keywords_PASCAL[] = /* Perl */ -#define highlighting_lexer_PERL SCLEX_PERL +#define highlighting_lexer_PERL "perl" static const HLStyle highlighting_styles_PERL[] = { { SCE_PL_DEFAULT, "default", FALSE }, @@ -1270,14 +1270,14 @@ static const HLKeyword highlighting_keywords_PERL[] = /* PHP */ -#define highlighting_lexer_PHP SCLEX_HTML +#define highlighting_lexer_PHP highlighting_lexer_HTML #define highlighting_styles_PHP highlighting_styles_HTML #define highlighting_keywords_PHP highlighting_keywords_HTML #define highlighting_properties_PHP highlighting_properties_HTML /* PO (gettext) */ -#define highlighting_lexer_PO SCLEX_PO +#define highlighting_lexer_PO "po" static const HLStyle highlighting_styles_PO[] = { { SCE_PO_DEFAULT, "default", FALSE }, @@ -1302,7 +1302,7 @@ static const HLStyle highlighting_styles_PO[] = /* PowerShell */ -#define highlighting_lexer_POWERSHELL SCLEX_POWERSHELL +#define highlighting_lexer_POWERSHELL "powershell" static const HLStyle highlighting_styles_POWERSHELL[] = { { SCE_POWERSHELL_DEFAULT, "default", FALSE }, @@ -1336,7 +1336,7 @@ static const HLKeyword highlighting_keywords_POWERSHELL[] = /* Python */ -#define highlighting_lexer_PYTHON SCLEX_PYTHON +#define highlighting_lexer_PYTHON "python" static const HLStyle highlighting_styles_PYTHON[] = { { SCE_P_DEFAULT, "default", FALSE }, @@ -1370,7 +1370,7 @@ static const HLKeyword highlighting_keywords_PYTHON[] = /* R */ -#define highlighting_lexer_R SCLEX_R +#define highlighting_lexer_R "r" static const HLStyle highlighting_styles_R[] = { { SCE_R_DEFAULT, "default", FALSE }, @@ -1400,7 +1400,7 @@ static const HLKeyword highlighting_keywords_R[] = /* Ruby */ -#define highlighting_lexer_RUBY SCLEX_RUBY +#define highlighting_lexer_RUBY "ruby" static const HLStyle highlighting_styles_RUBY[] = { { SCE_RB_DEFAULT, "default", FALSE }, @@ -1449,7 +1449,7 @@ static const HLKeyword highlighting_keywords_RUBY[] = #define highlighting_properties_RUBY EMPTY_PROPERTIES /* Rust */ -#define highlighting_lexer_RUST SCLEX_RUST +#define highlighting_lexer_RUST "rust" static const HLStyle highlighting_styles_RUST[] = { { SCE_RUST_DEFAULT, "default", FALSE }, @@ -1488,7 +1488,7 @@ static const HLKeyword highlighting_keywords_RUST[] = #define highlighting_properties_RUST EMPTY_PROPERTIES /* SH */ -#define highlighting_lexer_SH SCLEX_BASH +#define highlighting_lexer_SH "bash" static const HLStyle highlighting_styles_SH[] = { { SCE_SH_DEFAULT, "default", FALSE }, @@ -1514,7 +1514,7 @@ static const HLKeyword highlighting_keywords_SH[] = /* SMALLTALK */ -#define highlighting_lexer_SMALLTALK SCLEX_SMALLTALK +#define highlighting_lexer_SMALLTALK "smalltalk" static const HLStyle highlighting_styles_SMALLTALK[] = { { SCE_ST_DEFAULT, "default", FALSE }, @@ -1543,7 +1543,7 @@ static const HLKeyword highlighting_keywords_SMALLTALK[] = /* SQL */ -#define highlighting_lexer_SQL SCLEX_SQL +#define highlighting_lexer_SQL "sql" static const HLStyle highlighting_styles_SQL[] = { { SCE_SQL_DEFAULT, "default", FALSE }, @@ -1579,7 +1579,7 @@ static const HLKeyword highlighting_keywords_SQL[] = /* TCL */ -#define highlighting_lexer_TCL SCLEX_TCL +#define highlighting_lexer_TCL "tcl" static const HLStyle highlighting_styles_TCL[] = { { SCE_TCL_DEFAULT, "default", FALSE }, @@ -1618,7 +1618,7 @@ static const HLKeyword highlighting_keywords_TCL[] = /* Txt2Tags */ -#define highlighting_lexer_TXT2TAGS SCLEX_TXT2TAGS +#define highlighting_lexer_TXT2TAGS "txt2tags" static const HLStyle highlighting_styles_TXT2TAGS[] = { { SCE_TXT2TAGS_DEFAULT, "default", FALSE }, @@ -1653,7 +1653,7 @@ static const HLStyle highlighting_styles_TXT2TAGS[] = /* VHDL */ -#define highlighting_lexer_VHDL SCLEX_VHDL +#define highlighting_lexer_VHDL "vhdl" static const HLStyle highlighting_styles_VHDL[] = { { SCE_VHDL_DEFAULT, "default", FALSE }, @@ -1687,7 +1687,7 @@ static const HLKeyword highlighting_keywords_VHDL[] = /* Verilog */ -#define highlighting_lexer_VERILOG SCLEX_VERILOG +#define highlighting_lexer_VERILOG "verilog" static const HLStyle highlighting_styles_VERILOG[] = { { SCE_V_DEFAULT, "default", FALSE }, @@ -1721,7 +1721,7 @@ static const HLKeyword highlighting_keywords_VERILOG[] = /* XML */ -#define highlighting_lexer_XML SCLEX_XML +#define highlighting_lexer_XML "xml" #define highlighting_styles_XML highlighting_styles_HTML static const HLKeyword highlighting_keywords_XML[] = { @@ -1731,7 +1731,7 @@ static const HLKeyword highlighting_keywords_XML[] = /* YAML */ -#define highlighting_lexer_YAML SCLEX_YAML +#define highlighting_lexer_YAML "yaml" static const HLStyle highlighting_styles_YAML[] = { { SCE_YAML_DEFAULT, "default", FALSE }, @@ -1753,14 +1753,14 @@ static const HLKeyword highlighting_keywords_YAML[] = /* Zephir */ -#define highlighting_lexer_ZEPHIR SCLEX_PHPSCRIPT +#define highlighting_lexer_ZEPHIR "phpscript" #define highlighting_styles_ZEPHIR highlighting_styles_PHP #define highlighting_keywords_ZEPHIR highlighting_keywords_PHP #define highlighting_properties_ZEPHIR highlighting_properties_PHP /* AutoIt */ -#define highlighting_lexer_AU3 SCLEX_AU3 +#define highlighting_lexer_AU3 "au3" static const HLStyle highlighting_styles_AU3[] = { { SCE_AU3_DEFAULT, "default", FALSE}, diff --git a/src/sciwrappers.c b/src/sciwrappers.c index a25307302b..96ec364a5f 100644 --- a/src/sciwrappers.c +++ b/src/sciwrappers.c @@ -696,23 +696,24 @@ gint sci_get_lexer(ScintillaObject *sci) } -void sci_set_lexer(ScintillaObject *sci, guint lexer_id) +void sci_set_lexer(ScintillaObject *sci, const gchar *lexer_name) { gint old = sci_get_lexer(sci); - /* TODO, LexerNameFromID() is already deprecated */ - const char *lexer_name = LexerNameFromID(lexer_id); - if (! lexer_name) + g_return_if_fail(lexer_name != NULL); + + old = sci_get_lexer(sci); + + ILexer5 *lexer = CreateLexer(lexer_name); + if (! lexer) { - g_warning("Failed to find lexer for ID %u", lexer_id); + g_warning("Failed to find lexer for name %s", lexer_name); return; } - ILexer5 *lexer = CreateLexer(lexer_name); - SSM(sci, SCI_SETILEXER, 0, (uintptr_t) lexer); - if (old != (gint)lexer_id) + if (old != sci_get_lexer(sci)) SSM(sci, SCI_CLEARDOCUMENTSTYLE, 0, 0); } diff --git a/src/sciwrappers.h b/src/sciwrappers.h index 0f3cf2da65..9aba5614a0 100644 --- a/src/sciwrappers.h +++ b/src/sciwrappers.h @@ -184,7 +184,7 @@ void sci_selection_duplicate (ScintillaObject *sci); void sci_line_duplicate (ScintillaObject *sci); void sci_set_keywords (ScintillaObject *sci, guint k, const gchar *text); -void sci_set_lexer (ScintillaObject *sci, guint lexer_id); +void sci_set_lexer (ScintillaObject *sci, const gchar *lexer_name); void sci_set_readonly (ScintillaObject *sci, gboolean readonly); gint sci_get_lines_selected (ScintillaObject *sci);