Kaydet (Commit) f847f1ad authored tarafından Nick Treleaven's avatar Nick Treleaven

Add lexer for Txt2Tags (patch by Forgeot Eric, #3020632).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5188 ea778897-0a13-0410-b9d1-a72fbfd435f5
üst 1cea0a2a
2010-08-23 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* scintilla/LexTxt2tags.cxx, scintilla/makefile.win32,
scintilla/include/SciLexer.h, scintilla/include/Scintilla.iface,
scintilla/KeyWords.cxx, scintilla/Makefile.am, src/highlighting.c,
data/filetypes.txt2tags, wscript:
Add lexer for Txt2Tags (patch by Forgeot Eric, #3020632).
2010-08-21 Frank Lanitz <frank@frank.uvena.de>
* src/plugindata.h:
Apply a patch by Jiří Techet which is preventing warnings when using
-Wmissing-prototypes on compiling. Thanks.
-Wmissing-prototypes on compiling. Thanks.
2010-08-20 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
......
# For complete documentation of this file, please see Geany's main documentation
[styling]
# no syntax highlighting yet
# foreground;background;bold;italic
default=0x000000;0xffffff;false;false
strong=0x445675;0xffffff;true;false
emphasis=0x653A39;0xffffff;false;true
underlined=0x386742;0xffffff;false;false
header1=0xE20700;0xffffff;true;false
header2=0xE20700;0xffffff;true;false
header3=0xA81D05;0xffffff;true;false
header4=0x871704;0xffffff;true;false
header5=0x871704;0xffffff;true;false
header6=0x871704;0xffffff;true;false
ulist_item=0xE300EE;0xffffff;false;false
olist_item=0xE300EE;0xffffff;false;false
blockquote=0x015F52;0xffffff;false;false
strikeout=0x644A9B;0xffffff;false;false
hrule=0xff901e;0xffffff;false;false
link=0x0930DE;0xffffff;false;true
code=0x009f00;0xffffff;false;false
codebk=0x005f00;0xffffff;false;false
comment=0x777777;0xffffff;false;false
option=0xC0036E;0xffffff;false;true
preproc=0x848B00;0xffffff;false;true
postproc=0xC05600;0xffffff;false;true
[settings]
# default extension used when saving files
extension=txt2tags
[keywords]
primary=includeconf options toc
......@@ -359,6 +359,7 @@ int Scintilla_LinkLexers() {
LINK_LEXER(lmRuby);
LINK_LEXER(lmSQL);
LINK_LEXER(lmTCL);
LINK_LEXER(lmTxt2tags);
LINK_LEXER(lmVerilog);
LINK_LEXER(lmVHDL);
LINK_LEXER(lmXML);
......
This diff is collapsed.
......@@ -29,6 +29,7 @@ LexPython.cxx \
LexR.cxx \
LexRuby.cxx \
LexSQL.cxx \
LexTxt2tags.cxx \
LexTCL.cxx \
LexVHDL.cxx \
LexVerilog.cxx \
......
......@@ -111,6 +111,7 @@
#define SCLEX_NIMROD 96
#define SCLEX_SML 97
#define SCLEX_MARKDOWN 98
#define SCLEX_TXT2TAGS 99
#define SCLEX_AUTOMATIC 1000
#define SCE_P_DEFAULT 0
#define SCE_P_COMMENTLINE 1
......@@ -1385,6 +1386,32 @@
#define SCE_MARKDOWN_CODE 19
#define SCE_MARKDOWN_CODE2 20
#define SCE_MARKDOWN_CODEBK 21
#define SCE_TXT2TAGS_DEFAULT 0
#define SCE_TXT2TAGS_LINE_BEGIN 1
#define SCE_TXT2TAGS_STRONG1 2
#define SCE_TXT2TAGS_STRONG2 3
#define SCE_TXT2TAGS_EM1 4
#define SCE_TXT2TAGS_EM2 5
#define SCE_TXT2TAGS_HEADER1 6
#define SCE_TXT2TAGS_HEADER2 7
#define SCE_TXT2TAGS_HEADER3 8
#define SCE_TXT2TAGS_HEADER4 9
#define SCE_TXT2TAGS_HEADER5 10
#define SCE_TXT2TAGS_HEADER6 11
#define SCE_TXT2TAGS_PRECHAR 12
#define SCE_TXT2TAGS_ULIST_ITEM 13
#define SCE_TXT2TAGS_OLIST_ITEM 14
#define SCE_TXT2TAGS_BLOCKQUOTE 15
#define SCE_TXT2TAGS_STRIKEOUT 16
#define SCE_TXT2TAGS_HRULE 17
#define SCE_TXT2TAGS_LINK 18
#define SCE_TXT2TAGS_CODE 19
#define SCE_TXT2TAGS_CODE2 20
#define SCE_TXT2TAGS_CODEBK 21
#define SCE_TXT2TAGS_COMMENT 22
#define SCE_TXT2TAGS_OPTION 23
#define SCE_TXT2TAGS_PREPROC 24
#define SCE_TXT2TAGS_POSTPROC 25
/* --Autogenerated -- end of section automatically generated from Scintilla.iface */
#endif
......@@ -2299,6 +2299,7 @@ val SCLEX_POWERPRO=95
val SCLEX_NIMROD=96
val SCLEX_SML=97
val SCLEX_MARKDOWN=98
val SCLEX_TXT2TAGS=99
# When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
# value assigned in sequence from SCLEX_AUTOMATIC+1.
......@@ -3752,6 +3753,34 @@ val SCE_MARKDOWN_LINK=18
val SCE_MARKDOWN_CODE=19
val SCE_MARKDOWN_CODE2=20
val SCE_MARKDOWN_CODEBK=21
# Lexical state for SCLEX_TXT2TAGS
lex Txt2tags=SCLEX_TXT2TAGS SCE_TXT2TAGS_
val SCE_TXT2TAGS_DEFAULT=0
val SCE_TXT2TAGS_LINE_BEGIN=1
val SCE_TXT2TAGS_STRONG1=2
val SCE_TXT2TAGS_STRONG2=3
val SCE_TXT2TAGS_EM1=4
val SCE_TXT2TAGS_EM2=5
val SCE_TXT2TAGS_HEADER1=6
val SCE_TXT2TAGS_HEADER2=7
val SCE_TXT2TAGS_HEADER3=8
val SCE_TXT2TAGS_HEADER4=9
val SCE_TXT2TAGS_HEADER5=10
val SCE_TXT2TAGS_HEADER6=11
val SCE_TXT2TAGS_PRECHAR=12
val SCE_TXT2TAGS_ULIST_ITEM=13
val SCE_TXT2TAGS_OLIST_ITEM=14
val SCE_TXT2TAGS_BLOCKQUOTE=15
val SCE_TXT2TAGS_STRIKEOUT=16
val SCE_TXT2TAGS_HRULE=17
val SCE_TXT2TAGS_LINK=18
val SCE_TXT2TAGS_CODE=19
val SCE_TXT2TAGS_CODE2=20
val SCE_TXT2TAGS_CODEBK=21
val SCE_TXT2TAGS_COMMENT=22
val SCE_TXT2TAGS_OPTION=23
val SCE_TXT2TAGS_PREPROC=24
val SCE_TXT2TAGS_POSTPROC=25
# Events
......
......@@ -61,7 +61,7 @@ MARSHALLER=scintilla-marshal.o
#**LEXOBJS=\\\n\(\*.o \)
LEXOBJS=\
LexAda.o LexBash.o LexAsm.o LexCSS.o LexCPP.o LexHTML.o LexOthers.o LexPascal.o \
LexPerl.o LexPython.o LexSQL.o LexCaml.o LexTCL.o LexRuby.o LexFortran.o LexVHDL.o LexVerilog.o\
LexPerl.o LexPython.o LexSQL.o LexCaml.o LexTCL.o LexTxt2tags.o LexRuby.o LexFortran.o LexVHDL.o LexVerilog.o\
LexMarkdown.o LexMatlab.o \
LexD.o LexLua.o LexHaskell.o LexBasic.o LexR.o LexYAML.o LexCmake.o LexNsis.o
#--Autogenerated -- end of automatically generated section
......
......@@ -2528,6 +2528,70 @@ static void styleset_tcl(ScintillaObject *sci, gint ft_id)
set_sci_style(sci, SCE_TCL_WORD5, ft_id, 15);
}
static void styleset_txt2tags_init(gint ft_id, GKeyFile *config, GKeyFile *config_home)
{
new_styleset(ft_id, 22);
get_keyfile_style(config, config_home, "default", &style_sets[ft_id].styling[0]);
get_keyfile_style(config, config_home, "strong", &style_sets[ft_id].styling[1]);
get_keyfile_style(config, config_home, "emphasis", &style_sets[ft_id].styling[2]);
get_keyfile_style(config, config_home, "header1", &style_sets[ft_id].styling[3]);
get_keyfile_style(config, config_home, "header2", &style_sets[ft_id].styling[4]);
get_keyfile_style(config, config_home, "header3", &style_sets[ft_id].styling[5]);
get_keyfile_style(config, config_home, "header4", &style_sets[ft_id].styling[6]);
get_keyfile_style(config, config_home, "header5", &style_sets[ft_id].styling[7]);
get_keyfile_style(config, config_home, "header6", &style_sets[ft_id].styling[8]);
get_keyfile_style(config, config_home, "ulist_item", &style_sets[ft_id].styling[9]);
get_keyfile_style(config, config_home, "olist_item", &style_sets[ft_id].styling[10]);
get_keyfile_style(config, config_home, "blockquote", &style_sets[ft_id].styling[11]);
get_keyfile_style(config, config_home, "strikeout", &style_sets[ft_id].styling[12]);
get_keyfile_style(config, config_home, "hrule", &style_sets[ft_id].styling[13]);
get_keyfile_style(config, config_home, "link", &style_sets[ft_id].styling[14]);
get_keyfile_style(config, config_home, "code", &style_sets[ft_id].styling[15]);
get_keyfile_style(config, config_home, "codebk", &style_sets[ft_id].styling[16]);
get_keyfile_style(config, config_home, "underlined", &style_sets[ft_id].styling[17]);
get_keyfile_style(config, config_home, "comment", &style_sets[ft_id].styling[18]);
get_keyfile_style(config, config_home, "option", &style_sets[ft_id].styling[19]);
get_keyfile_style(config, config_home, "preproc", &style_sets[ft_id].styling[20]);
get_keyfile_style(config, config_home, "postproc", &style_sets[ft_id].styling[21]);
style_sets[ft_id].keywords = NULL;
}
static void styleset_txt2tags(ScintillaObject *sci, gint ft_id)
{
apply_filetype_properties(sci, SCLEX_TXT2TAGS, ft_id);
set_sci_style(sci, STYLE_DEFAULT, ft_id, 0);
set_sci_style(sci, SCE_TXT2TAGS_DEFAULT, ft_id, 0);
set_sci_style(sci, SCE_TXT2TAGS_LINE_BEGIN, ft_id, 0);
set_sci_style(sci, SCE_TXT2TAGS_PRECHAR, ft_id, 0);
set_sci_style(sci, SCE_TXT2TAGS_STRONG1, ft_id, 1);
set_sci_style(sci, SCE_TXT2TAGS_STRONG2, ft_id, 1);
set_sci_style(sci, SCE_TXT2TAGS_EM1, ft_id, 2);
set_sci_style(sci, SCE_TXT2TAGS_EM2, ft_id, 17);
set_sci_style(sci, SCE_TXT2TAGS_HEADER1, ft_id, 3);
set_sci_style(sci, SCE_TXT2TAGS_HEADER2, ft_id, 4);
set_sci_style(sci, SCE_TXT2TAGS_HEADER3, ft_id, 5);
set_sci_style(sci, SCE_TXT2TAGS_HEADER4, ft_id, 6);
set_sci_style(sci, SCE_TXT2TAGS_HEADER5, ft_id, 7);
set_sci_style(sci, SCE_TXT2TAGS_HEADER6, ft_id, 8);
set_sci_style(sci, SCE_TXT2TAGS_ULIST_ITEM, ft_id, 9);
set_sci_style(sci, SCE_TXT2TAGS_OLIST_ITEM, ft_id, 10);
set_sci_style(sci, SCE_TXT2TAGS_BLOCKQUOTE, ft_id, 11);
set_sci_style(sci, SCE_TXT2TAGS_STRIKEOUT, ft_id, 12);
set_sci_style(sci, SCE_TXT2TAGS_HRULE, ft_id, 13);
set_sci_style(sci, SCE_TXT2TAGS_LINK, ft_id, 14);
set_sci_style(sci, SCE_TXT2TAGS_CODE, ft_id, 15);
set_sci_style(sci, SCE_TXT2TAGS_CODE2, ft_id, 15);
set_sci_style(sci, SCE_TXT2TAGS_CODEBK, ft_id, 16);
set_sci_style(sci, SCE_TXT2TAGS_COMMENT, ft_id, 18);
set_sci_style(sci, SCE_TXT2TAGS_OPTION, ft_id, 19);
set_sci_style(sci, SCE_TXT2TAGS_PREPROC, ft_id, 20);
set_sci_style(sci, SCE_TXT2TAGS_POSTPROC, ft_id, 21);
}
static void styleset_matlab_init(gint ft_id, GKeyFile *config, GKeyFile *config_home)
{
......@@ -3193,6 +3257,7 @@ void highlighting_init_styles(gint filetype_idx, GKeyFile *config, GKeyFile *con
init_styleset_case(GEANY_FILETYPES_SH, styleset_sh_init);
init_styleset_case(GEANY_FILETYPES_SQL, styleset_sql_init);
init_styleset_case(GEANY_FILETYPES_TCL, styleset_tcl_init);
init_styleset_case(GEANY_FILETYPES_TXT2TAGS, styleset_txt2tags_init);
init_styleset_case(GEANY_FILETYPES_VHDL, styleset_vhdl_init);
init_styleset_case(GEANY_FILETYPES_VERILOG, styleset_verilog_init);
init_styleset_case(GEANY_FILETYPES_XML, styleset_markup_init);
......@@ -3261,6 +3326,7 @@ void highlighting_set_styles(ScintillaObject *sci, GeanyFiletype *ft)
styleset_case(GEANY_FILETYPES_SH, styleset_sh);
styleset_case(GEANY_FILETYPES_SQL, styleset_sql);
styleset_case(GEANY_FILETYPES_TCL, styleset_tcl);
styleset_case(GEANY_FILETYPES_TXT2TAGS, styleset_txt2tags);
styleset_case(GEANY_FILETYPES_VHDL, styleset_vhdl);
styleset_case(GEANY_FILETYPES_VERILOG, styleset_verilog);
styleset_case(GEANY_FILETYPES_XML, styleset_xml);
......
......@@ -92,8 +92,8 @@ scintilla_sources = [
'scintilla/LexLua.cxx', 'scintilla/LexMarkdown.cxx', 'scintilla/LexMatlab.cxx',
'scintilla/LexNsis.cxx', 'scintilla/LexOthers.cxx',
'scintilla/LexPascal.cxx', 'scintilla/LexPerl.cxx', 'scintilla/LexPython.cxx',
'scintilla/LexR.cxx',
'scintilla/LexRuby.cxx', 'scintilla/LexSQL.cxx', 'scintilla/LexTCL.cxx',
'scintilla/LexR.cxx', 'scintilla/LexRuby.cxx', 'scintilla/LexSQL.cxx',
'scintilla/LexTCL.cxx', 'scintilla/LexTxt2tags.cxx',
'scintilla/LexVHDL.cxx', 'scintilla/LexVerilog.cxx', 'scintilla/LexYAML.cxx',
'scintilla/LineMarker.cxx', 'scintilla/PerLine.cxx',
'scintilla/PlatGTK.cxx',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment