added sql, php, tex, css synedit highlighter

git-svn-id: trunk@5253 -
This commit is contained in:
mattias 2004-03-02 23:04:11 +00:00
parent 94d066eea6
commit 36a250a811
17 changed files with 5953 additions and 10 deletions

9
.gitattributes vendored
View File

@ -109,6 +109,7 @@ components/sqlite/tsqlite.xpm -text svneol=native#image/x-xpixmap
components/synedit/allsyneditunits.pp svneol=native#text/pascal
components/synedit/design/tsynautocomplete.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsyncppsyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsyncsssyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynedit.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynexporterhtml.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynhtmlsyn.xpm -text svneol=native#image/x-xpixmap
@ -119,6 +120,9 @@ components/synedit/design/tsynmemo.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynmultisyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynpassyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynperlsyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynphpsyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynsqlsyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsyntexsyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynunixshellscriptsyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/design/tsynxmlsyn.xpm -text svneol=native#image/x-xpixmap
components/synedit/languages/synedit.ca.po svneol=native#text/plain
@ -158,13 +162,18 @@ components/synedit/synedittextbuffer.pp svneol=native#text/pascal
components/synedit/synedittypes.pp svneol=native#text/pascal
components/synedit/synexporthtml.pas svneol=native#text/pascal
components/synedit/synhighlightercpp.pp svneol=native#text/pascal
components/synedit/synhighlightercss.pas svneol=native#text/pascal
components/synedit/synhighlighterhashentries.pas svneol=native#text/pascal
components/synedit/synhighlighterhtml.pp svneol=native#text/pascal
components/synedit/synhighlighterjava.pas svneol=native#text/pascal
components/synedit/synhighlighterlfm.pas svneol=native#text/pascal
components/synedit/synhighlightermulti.pas svneol=native#text/pascal
components/synedit/synhighlighterpas.pp svneol=native#text/pascal
components/synedit/synhighlighterperl.pas svneol=native#text/pascal
components/synedit/synhighlighterphp.pas svneol=native#text/pascal
components/synedit/synhighlighterposition.pas svneol=native#text/pascal
components/synedit/synhighlightersql.pas svneol=native#text/pascal
components/synedit/synhighlightertex.pas svneol=native#text/pascal
components/synedit/synhighlighterunixshellscript.pas svneol=native#text/pascal
components/synedit/synhighlighterxml.pas svneol=native#text/pascal
components/synedit/synmacrorecorder.pas svneol=native#text/pascal

View File

@ -1,5 +1,5 @@
#
# Don't edit, this file is generated by FPCMake Version 1.1 [2003/12/19]
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/02/29]
#
default: all
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
@ -183,11 +183,14 @@ override FPCDIR:=$(FPCDIR)/..
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
override FPCDIR:=$(FPCDIR)/..
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
override FPCDIR:=$(BASEDIR)
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
override FPCDIR=c:/pp
endif
endif
endif
endif
endif
ifndef CROSSDIR
CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
endif
@ -206,7 +209,7 @@ PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/ext
override PACKAGE_NAME=synedit
override PACKAGE_VERSION=1.0.3
override TARGET_UNITS+=allsyneditunits
override TARGET_IMPLICITUNITS+=syntextdrawer syneditkeycmds synedittypes syneditstrconst syneditsearch syneditmiscprocs syneditmiscclasses synedittextbuffer synedit synedithighlighter synhighlightermulti synregexpr synexporthtml syneditexport synmemo synmacrorecorder syneditplugins syneditregexsearch synhighlighterposition synhighlighterjava
override TARGET_IMPLICITUNITS+=syntextdrawer syneditkeycmds synedittypes syneditstrconst syneditsearch syneditmiscprocs syneditmiscclasses synedittextbuffer synedit synedithighlighter synhighlightermulti synregexpr synexporthtml syneditexport synmemo synmacrorecorder syneditplugins syneditregexsearch synhighlighterposition synhighlighterjava synhighlightercss synhighlighterphp synhighlightertex synhighlighterhashentries synhighlightersql
override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT))
override COMPILER_OPTIONS+=-gl
override COMPILER_UNITDIR+=../../lcl/units/$(CPU_TARGET)/$(OS_TARGET) .
@ -414,7 +417,7 @@ CROSSBINDIR=
endif
ifeq ($(OS_SOURCE),linux)
ifndef GCCLIBDIR
GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
endif
ifndef OTHERLIBDIR
OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
@ -534,7 +537,8 @@ ZIPSUFFIX=nw
endif
ifeq ($(OS_TARGET),macos)
EXEEXT=
FPCMADE=fpcmade.mcc
FPCMADE=fpcmade.macos
ZIPSUFFIX=macos
endif
ifeq ($(OS_TARGET),darwin)
EXEEXT=
@ -919,6 +923,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_PTHREADS=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -933,6 +938,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_PTHREADS=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -947,6 +953,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_PTHREADS=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -961,6 +968,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_PTHREADS=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -975,6 +983,22 @@ REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_PTHREADS=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
endif
endif
ifeq ($(OS_TARGET),linux)
ifeq ($(CPU_TARGET),arm)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_PTHREADS=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -986,6 +1010,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -997,6 +1022,7 @@ REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -1009,6 +1035,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1022,6 +1049,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_PTHREADS=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -1036,6 +1064,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_PTHREADS=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -1047,6 +1076,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1059,6 +1089,7 @@ REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -1072,6 +1103,35 @@ REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
endif
endif
ifeq ($(OS_TARGET),netbsd)
ifeq ($(CPU_TARGET),powerpc)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
endif
endif
ifeq ($(OS_TARGET),netbsd)
ifeq ($(CPU_TARGET),sparc)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -1083,6 +1143,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1093,6 +1154,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1103,6 +1165,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1113,6 +1176,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1123,6 +1187,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1133,6 +1198,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1145,6 +1211,7 @@ REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -1158,6 +1225,7 @@ REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
@ -1169,6 +1237,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1179,6 +1248,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1189,6 +1259,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1197,10 +1268,15 @@ ifeq ($(OS_TARGET),darwin)
ifeq ($(CPU_TARGET),powerpc)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
REQUIRE_PACKAGES_PTHREADS=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_SQLITE=1
endif
endif
ifeq ($(OS_TARGET),emx)
@ -1209,6 +1285,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1219,6 +1296,7 @@ REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_REGEXPR=1
REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1
endif
@ -1405,6 +1483,32 @@ ifdef UNITDIR_REGEXPR
override COMPILER_UNITDIR+=$(UNITDIR_REGEXPR)
endif
endif
ifdef REQUIRE_PACKAGES_PASJPEG
PACKAGEDIR_PASJPEG:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /pasjpeg/Makefile.fpc,$(PACKAGESDIR))))))
ifneq ($(PACKAGEDIR_PASJPEG),)
ifneq ($(wildcard $(PACKAGEDIR_PASJPEG)/$(OS_TARGET)),)
UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)/$(OS_TARGET)
else
UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)
endif
ifdef CHECKDEPEND
$(PACKAGEDIR_PASJPEG)/$(FPCMADE):
$(MAKE) -C $(PACKAGEDIR_PASJPEG) $(FPCMADE)
override ALLDEPENDENCIES+=$(PACKAGEDIR_PASJPEG)/$(FPCMADE)
endif
else
PACKAGEDIR_PASJPEG=
UNITDIR_PASJPEG:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /pasjpeg/Package.fpc,$(UNITSDIR)))))
ifneq ($(UNITDIR_PASJPEG),)
UNITDIR_PASJPEG:=$(firstword $(UNITDIR_PASJPEG))
else
UNITDIR_PASJPEG=
endif
endif
ifdef UNITDIR_PASJPEG
override COMPILER_UNITDIR+=$(UNITDIR_PASJPEG)
endif
endif
ifdef REQUIRE_PACKAGES_MYSQL
PACKAGEDIR_MYSQL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR))))))
ifneq ($(PACKAGEDIR_MYSQL),)

View File

@ -18,7 +18,9 @@ implicitunits=syntextdrawer syneditkeycmds synedittypes syneditstrconst \
syneditsearch syneditmiscprocs syneditmiscclasses synedittextbuffer \
synedit synedithighlighter synhighlightermulti synregexpr synexporthtml \
syneditexport synmemo synmacrorecorder syneditplugins syneditregexsearch \
synhighlighterposition synhighlighterjava
synhighlighterposition synhighlighterjava synhighlightercss \
synhighlighterphp synhighlightertex synhighlighterhashentries \
synhighlightersql
[require]
# Adding lcl does not work, because it adds the source path.

View File

@ -21,7 +21,8 @@ uses
SynHighlighterLFM, SynHighlighterPerl, SynHighlighterMulti, SynRegExpr,
SynEditExport, SynExportHTML, SynMemo, SynMacroRecorder, SynEditPlugins,
SynEditRegexSearch, SynHighlighterPosition, SynHighlighterJava,
SynHighlighterUNIXShellScript,
SynHighlighterUNIXShellScript, SynHighlighterCss, SynHighlighterPHP,
SynHighlighterTeX, SynHighlighterHashEntries, SynHighlighterSQL,
SynEditLazDsgn;
implementation
@ -31,6 +32,9 @@ end.
{ =============================================================================
$Log$
Revision 1.2 2004/03/02 23:04:11 mattias
added sql, php, tex, css synedit highlighter
Revision 1.1 2003/11/15 13:07:09 mattias
added ambigious unit check for IDE

View File

@ -0,0 +1,23 @@
/* XPM */
static char * tsynpassyn_xpm[] = {
"18 13 7 1",
" c None",
". c #7F7F7F",
"+ c #FFFFFF",
"@ c #000000",
"# c #FF0000",
"$ c #00FF00",
"% c #0000FF",
"..................",
".++++++++++++++++@",
".++@@@@+###++++++@",
".++++++++++++++++@",
".++@@@+++++++++++@",
".++++++++++++++++@",
".++++##+$$$$+++++@",
".++++++++++++++++@",
".++++%%%%%+###+++@",
".++++++++++++++++@",
".++@@@+++++++++++@",
".++++++++++++++++@",
".@@@@@@@@@@@@@@@@@"};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * tsynpassyn_xpm[] = {
"18 13 7 1",
" c None",
". c #7F7F7F",
"+ c #FFFFFF",
"@ c #000000",
"# c #FF0000",
"$ c #00FF00",
"% c #0000FF",
"..................",
".++++++++++++++++@",
".++@@@@+###++++++@",
".++++++++++++++++@",
".++@@@+++++++++++@",
".++++++++++++++++@",
".++++##+$$$$+++++@",
".++++++++++++++++@",
".++++%%%%%+###+++@",
".++++++++++++++++@",
".++@@@+++++++++++@",
".++++++++++++++++@",
".@@@@@@@@@@@@@@@@@"};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * tsynpassyn_xpm[] = {
"18 13 7 1",
" c None",
". c #7F7F7F",
"+ c #FFFFFF",
"@ c #000000",
"# c #FF0000",
"$ c #00FF00",
"% c #0000FF",
"..................",
".++++++++++++++++@",
".++@@@@+###++++++@",
".++++++++++++++++@",
".++@@@+++++++++++@",
".++++++++++++++++@",
".++++##+$$$$+++++@",
".++++++++++++++++@",
".++++%%%%%+###+++@",
".++++++++++++++++@",
".++@@@+++++++++++@",
".++++++++++++++++@",
".@@@@@@@@@@@@@@@@@"};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * tsynpassyn_xpm[] = {
"18 13 7 1",
" c None",
". c #7F7F7F",
"+ c #FFFFFF",
"@ c #000000",
"# c #FF0000",
"$ c #00FF00",
"% c #0000FF",
"..................",
".++++++++++++++++@",
".++@@@@+###++++++@",
".++++++++++++++++@",
".++@@@+++++++++++@",
".++++++++++++++++@",
".++++##+$$$$+++++@",
".++++++++++++++++@",
".++++%%%%%+###+++@",
".++++++++++++++++@",
".++@@@+++++++++++@",
".++++++++++++++++@",
".@@@@@@@@@@@@@@@@@"};

View File

@ -20,6 +20,16 @@ LazarusResources.Add('tsyncppsyn','XPM',[
+#10'".++++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@"'
+','#10'".@@@@@@@@@@@@@@@@@"};'#10
]);
LazarusResources.Add('tsyncsssyn','XPM',[
'/* XPM */'#10'static char * tsynpassyn_xpm[] = {'#10'"18 13 7 1",'#10'" '#9
+'c None",'#10'".'#9'c #7F7F7F",'#10'"+'#9'c #FFFFFF",'#10'"@'#9'c #000000",'
+#10'"#'#9'c #FF0000",'#10'"$'#9'c #00FF00",'#10'"%'#9'c #0000FF",'#10'".....'
+'.............",'#10'".++++++++++++++++@",'#10'".++@@@@+###++++++@",'#10'".+'
+'+++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@",'#10
+'".++++##+$$$$+++++@",'#10'".++++++++++++++++@",'#10'".++++%%%%%+###+++@",'
+#10'".++++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@"'
+','#10'".@@@@@@@@@@@@@@@@@"};'#10
]);
LazarusResources.Add('tsynedit','XPM',[
'/* XPM */'#10'static char * synedit_xpm[] = {'#10'"18 20 7 1",'#10'" '#9'c N'
+'one",'#10'".'#9'c #7F7F7F",'#10'"+'#9'c #FFFFFF",'#10'"@'#9'c #000000",'#10
@ -133,6 +143,36 @@ LazarusResources.Add('tsynperlsyn','XPM',[
+#10'".++++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@"'
+','#10'".@@@@@@@@@@@@@@@@@"};'#10
]);
LazarusResources.Add('tsynphpsyn','XPM',[
'/* XPM */'#10'static char * tsynpassyn_xpm[] = {'#10'"18 13 7 1",'#10'" '#9
+'c None",'#10'".'#9'c #7F7F7F",'#10'"+'#9'c #FFFFFF",'#10'"@'#9'c #000000",'
+#10'"#'#9'c #FF0000",'#10'"$'#9'c #00FF00",'#10'"%'#9'c #0000FF",'#10'".....'
+'.............",'#10'".++++++++++++++++@",'#10'".++@@@@+###++++++@",'#10'".+'
+'+++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@",'#10
+'".++++##+$$$$+++++@",'#10'".++++++++++++++++@",'#10'".++++%%%%%+###+++@",'
+#10'".++++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@"'
+','#10'".@@@@@@@@@@@@@@@@@"};'#10
]);
LazarusResources.Add('tsynsqlsyn','XPM',[
'/* XPM */'#10'static char * tsynpassyn_xpm[] = {'#10'"18 13 7 1",'#10'" '#9
+'c None",'#10'".'#9'c #7F7F7F",'#10'"+'#9'c #FFFFFF",'#10'"@'#9'c #000000",'
+#10'"#'#9'c #FF0000",'#10'"$'#9'c #00FF00",'#10'"%'#9'c #0000FF",'#10'".....'
+'.............",'#10'".++++++++++++++++@",'#10'".++@@@@+###++++++@",'#10'".+'
+'+++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@",'#10
+'".++++##+$$$$+++++@",'#10'".++++++++++++++++@",'#10'".++++%%%%%+###+++@",'
+#10'".++++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@"'
+','#10'".@@@@@@@@@@@@@@@@@"};'#10
]);
LazarusResources.Add('tsyntexsyn','XPM',[
'/* XPM */'#10'static char * tsynpassyn_xpm[] = {'#10'"18 13 7 1",'#10'" '#9
+'c None",'#10'".'#9'c #7F7F7F",'#10'"+'#9'c #FFFFFF",'#10'"@'#9'c #000000",'
+#10'"#'#9'c #FF0000",'#10'"$'#9'c #00FF00",'#10'"%'#9'c #0000FF",'#10'".....'
+'.............",'#10'".++++++++++++++++@",'#10'".++@@@@+###++++++@",'#10'".+'
+'+++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@",'#10
+'".++++##+$$$$+++++@",'#10'".++++++++++++++++@",'#10'".++++%%%%%+###+++@",'
+#10'".++++++++++++++++@",'#10'".++@@@+++++++++++@",'#10'".++++++++++++++++@"'
+','#10'".@@@@@@@@@@@@@@@@@"};'#10
]);
LazarusResources.Add('tsynunixshellscriptsyn','XPM',[
'/* XPM */'#10'static char * tsynpassyn_xpm[] = {'#10'"18 13 7 1",'#10'" '#9
+'c None",'#10'".'#9'c #7F7F7F",'#10'"+'#9'c #FFFFFF",'#10'"@'#9'c #000000",'

View File

@ -143,6 +143,12 @@ const
SYNS_AttrValue = 'Value';
SYNS_AttrVariable = 'Variable';
SYNS_AttrWhitespace = 'Whitespace';
SYNS_AttrTableName = 'Table Name';
SYNS_AttrMathMode = 'Math Mode';
SYNS_AttrTextMathMode = 'Text in Math Mode';
SYNS_AttrSquareBracket = 'Square Bracket';
SYNS_AttrRoundBracket = 'Round Bracket';
SYNS_AttrTeXCommand = 'TeX Command';
{$IFDEF SYN_LAZARUS}
resourcestring
@ -212,7 +218,8 @@ resourcestring
SYNS_FilterXML = 'XML Document (*.xml,*.xsd,*.xsl,*.xslt,*.dtd)|*.xml;*.xsd;*.xsl;*.xslt;*.dtd';
SYNS_FilterGWS = 'GW-TEL Script Files (*.gws)|*.gws';
SYNS_FilterSynGenMsgfiles = 'Msg files (*.msg)|*.msg';
SYNS_FilterUNIXShellScript = 'UNIX Shell Scripts (*.sh)|*.sh';
SYNS_FilterUNIXShellScript = 'UNIX Shell Scripts (*.sh)|*.sh';
SYNS_FilterTeX = 'TeX Files (*.tex)|*.tex';
{$IFDEF SYN_LAZARUS}
// Currently the language names are used to identify the language
@ -267,7 +274,7 @@ const
SYNS_LangGWS = 'GW-TEL script';
SYNS_LangSynGenMsgfiles = 'SynGen Msg files';
SYNS_LangUnreal = 'Unreal';
SYNS_LangTeX = 'TeX';
implementation

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,256 @@
{-------------------------------------------------------------------------------
The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
the specific language governing rights and limitations under the License.
The Original Code is: SynHighlighterHashEntries.pas, released 2000-04-21.
The Initial Author of this file is Michael Hieke.
Portions created by Michael Hieke are Copyright 2000 Michael Hieke.
All Rights Reserved.
Contributors to the SynEdit project are listed in the Contributors.txt file.
Alternatively, the contents of this file may be used under the terms of the
GNU General Public License Version 2 or later (the "GPL"), in which case
the provisions of the GPL are applicable instead of those above.
If you wish to allow use of your version of this file only under the terms
of the GPL and not to allow others to use your version of this file
under the MPL, indicate your decision by deleting the provisions above and
replace them with the notice and other provisions required by the GPL.
If you do not delete the provisions above, a recipient may use your version
of this file under either the MPL or the GPL.
$Id$
You may retrieve the latest version of this file at the SynEdit home page,
located at http://SynEdit.SourceForge.net
Known Issues:
-------------------------------------------------------------------------------}
{
@abstract(Support classes for SynEdit highlighters that create the keyword lists at runtime.)
@author(Michael Hieke)
@created(2000-04-21)
@lastmod(2001-09-07)
The classes in this unit can be used to use the hashing algorithm while still
having the ability to change the set of keywords.
}
{$IFNDEF QSYNHIGHLIGHTERHASHENTRIES}
unit SynHighlighterHashEntries;
{$ENDIF}
{$I SynEdit.inc}
interface
uses
{$IFDEF SYN_CLX}
QSynEditTypes,
{$ELSE}
SynEditTypes,
{$ENDIF}
Classes;
type
{ Class to hold the keyword to recognize, its length and its token kind. The
keywords that have the same hashvalue are stored in a single-linked list,
with the Next property pointing to the next entry. The entries are ordered
over the keyword length. }
TSynHashEntry = class(TObject)
protected
{ Points to the next keyword entry with the same hashvalue. }
fNext: TSynHashEntry;
{ Length of the keyword. }
fKeyLen: integer;
{ The keyword itself. }
fKeyword: string;
{ Keyword token kind, has to be typecasted to the real token kind type. }
fKind: integer;
public
{ Adds a keyword entry with the same hashvalue. Depending on the length of
the two keywords it might return Self and store NewEntry in the Next
pointer, or return NewEntry and make the Next property of NewEntry point
to Self. This way the order of keyword length is preserved. }
function AddEntry(NewEntry: TSynHashEntry): TSynHashEntry; virtual;
{ Creates a keyword entry for the given keyword and token kind. }
constructor Create(const AKey: string; AKind: integer);
{ Destroys the keyword entry and all other keyword entries Next points to. }
destructor Destroy; override;
public
{ The keyword itself. }
property Keyword: string read fKeyword;
{ Length of the keyword. }
property KeywordLen: integer read fKeyLen;
{ Keyword token kind, has to be typecasted to the real token kind type. }
property Kind: integer read fKind;
{ Points to the next keyword entry with the same hashvalue. }
property Next: TSynHashEntry read fNext;
end;
{$IFNDEF SYN_COMPILER_4_UP}
{$IFNDEF SYN_CPPB_3}
{$DEFINE LIST_CLEAR_NOT_VIRTUAL}
{$ENDIF}
{$ENDIF}
{ A list of keyword entries, stored as single-linked lists under the hashvalue
of the keyword. }
TSynHashEntryList = class(TList)
protected
{ Returns the first keyword entry for a given hashcalue, or nil. }
function Get(HashKey: Integer): TSynHashEntry;
{ Adds a keyword entry under its hashvalue. Will grow the list count when
necessary, so the maximum hashvalue should be limited outside. The correct
order of keyword entries is maintained. }
procedure Put(HashKey: Integer; Entry: TSynHashEntry);
public
{$IFDEF LIST_CLEAR_NOT_VIRTUAL}
{ Overridden destructor clears the list and frees all contained keyword
entries. }
destructor Destroy; override;
{ Clears the list and frees all contained keyword entries. }
procedure DeleteEntries;
{$ELSE}
{ Clears the list and frees all contained keyword entries. }
procedure Clear; override;
{$ENDIF}
public
{ Type-safe access to the first keyword entry for a hashvalue. }
property Items[Index: integer]: TSynHashEntry read Get write Put; default;
end;
{ Procedural type for adding keyword entries to a TSynHashEntryList when
iterating over all the keywords contained in a string. }
TEnumerateKeywordEvent = procedure(AKeyword: string; AKind: integer)
of object;
{ This procedure will call AKeywordProc for all keywords in KeywordList. A
keyword is considered any number of successive chars that are contained in
Identifiers, with chars not contained in Identifiers before and after them. }
procedure EnumerateKeywords(AKind: integer; KeywordList: string;
Identifiers: TSynIdentChars; AKeywordProc: TEnumerateKeywordEvent);
implementation
uses
SysUtils;
procedure EnumerateKeywords(AKind: integer; KeywordList: string;
Identifiers: TSynIdentChars; AKeywordProc: TEnumerateKeywordEvent);
var
pStart, pEnd: PChar;
Keyword: string;
begin
if Assigned(AKeywordProc) and (KeywordList <> '') then begin
pEnd := PChar(KeywordList);
pStart := pEnd;
repeat
// skip over chars that are not in Identifiers
while (pStart^ <> #0) and not (pStart^ in Identifiers) do
Inc(pStart);
if pStart^ = #0 then break;
// find the last char that is in Identifiers
pEnd := pStart + 1;
while (pEnd^ <> #0) and (pEnd^ in Identifiers) do
Inc(pEnd);
// call the AKeywordProc with the keyword
SetString(Keyword, pStart, pEnd - pStart);
AKeywordProc(Keyword, AKind);
Keyword := '';
// pEnd points to a char not in Identifiers, restart after that
pStart := pEnd + 1;
until (pStart^ = #0) or (pEnd^ = #0);
end;
end;
{ TSynHashEntry }
constructor TSynHashEntry.Create(const AKey: string; AKind: integer);
begin
inherited Create;
fKeyLen := Length(AKey);
fKeyword := AKey;
fKind := AKind;
end;
destructor TSynHashEntry.Destroy;
begin
fNext.Free;
inherited Destroy;
end;
function TSynHashEntry.AddEntry(NewEntry: TSynHashEntry): TSynHashEntry;
begin
Result := Self;
if Assigned(NewEntry) then begin
if CompareText(NewEntry.Keyword, fKeyword) = 0 then
raise Exception.CreateFmt('Keyword "%s" already in list', [fKeyword]);
if NewEntry.fKeyLen < fKeyLen then begin
NewEntry.fNext := Self;
Result := NewEntry;
end else if Assigned(fNext) then
fNext := fNext.AddEntry(NewEntry)
else
fNext := NewEntry;
end;
end;
{ TSynHashEntryList }
{$IFDEF LIST_CLEAR_NOT_VIRTUAL}
destructor TSynHashEntryList.Destroy;
begin
DeleteEntries;
inherited Destroy;
end;
procedure TSynHashEntryList.DeleteEntries;
{$ELSE}
procedure TSynHashEntryList.Clear;
{$ENDIF}
var
i: integer;
begin
for i := 0 to Count - 1 do
TSynHashEntry(Items[i]).Free;
inherited Clear;
end;
function TSynHashEntryList.Get(HashKey: Integer): TSynHashEntry;
begin
if (HashKey >= 0) and (HashKey < Count) then
Result :=
{$IFDEF FPC}
TSynHashEntry(inherited Items[HashKey])
{$ELSE}
inherited Items[HashKey]
{$ENDIF}
else
Result := nil;
end;
procedure TSynHashEntryList.Put(HashKey: Integer; Entry: TSynHashEntry);
var
ListEntry: TSynHashEntry;
begin
if HashKey >= Count then
Count := HashKey + 1;
ListEntry := TSynHashEntry(inherited Items[HashKey]);
// if there is already a hashentry for this hashvalue let it decide
// where to put the new entry in its single linked list
if Assigned(ListEntry) then
Entry := ListEntry.AddEntry(Entry);
inherited Items[HashKey] := Entry;
end;
end.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,416 @@
{------------------------------------------------------------------------------
The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
the specific language governing rights and limitations under the License.
The Original Code is: SynHighlighterTex.pas, released 2002-09-18.
Author of this file is Soeren Sproessig.
All Rights Reserved.
Contributors to the SynEdit and mwEdit projects are listed in the
Contributors.txt file.
Alternatively, the contents of this file may be used under the terms of the
GNU General Public License Version 2 or later (the "GPL"), in which case
the provisions of the GPL are applicable instead of those above.
If you wish to allow use of your version of this file only under the terms
of the GPL and not to allow others to use your version of this file
under the MPL, indicate your decision by deleting the provisions above and
replace them with the notice and other provisions required by the GPL.
If you do not delete the provisions above, a recipient may use your version
of this file under either the MPL or the GPL.
$Id$
You may retrieve the latest version of this file from sproessig@bs-webdesign.de
The unit SynHighlighterTeX provides SynEdit with a TeX highlighter.
Known Issues:
-------------------------------------------------------------------------------}
{$IFNDEF QSYNHIGHLIGHTERTEX}
unit SynHighlighterTeX;
{$ENDIF}
{$I SynEdit.inc}
interface
uses
SysUtils, Classes,
{$IFDEF SYN_CLX}
Qt, QControls, QGraphics,
QSynEditTypes,
QSynEditHighlighter,
{$ELSE}
{$IFDEF SYN_LAZARUS}
LCLIntf, LCLType,
{$ELSE}
Windows, Registry,
{$ENDIF}
Messages, Controls, Graphics,
SynEditTypes, SynEditHighlighter;
{$ENDIF}
type
TtkTokenKind = (tkBrace, tkBracket, tkNull, tkSpace, tkText, tkComment,
tkControlSequence, tkMathMode);
TProcTableProc = procedure of object;
type
TSynTeXSyn = class(TSynCustomHighlighter)
private
fLine: PChar;
fLineNumber: Integer;
fProcTable: array[#0..#255] of TProcTableProc;
Run: LongInt;
fTokenPos: Integer;
fTokenID: TtkTokenKind;
fTextAttri: TSynHighlighterAttributes;
fControlSequenceAttri: TSynHighlighterAttributes;
fMathmodeAttri: TSynHighlighterAttributes;
fCommentAttri: TSynHighlighterAttributes;
fSpaceAttri: TSynHighlighterAttributes;
fBracketAttri: TSynHighlighterAttributes;
fBraceAttri: TSynHighlighterAttributes;
function CreateHighlighterAttributes(AName:String; Foreground,
Background: TColor;
FontStyles: TFontStyles) :
TSynHighlighterAttributes;
//Procedures
procedure MakeMethodTables;
procedure CRProc;
procedure TextProc;
procedure LFProc;
procedure NullProc;
procedure CommentProc;
procedure SpaceProc;
procedure ControlSequenceProc;
procedure BraceOpenProc;
procedure BraceCloseProc;
procedure BracketOpenProc;
procedure BracketCloseProc;
procedure MathmodeProc;
protected
function GetIdentChars: TSynIdentChars; override;
function GetSampleSource : String; override;
public
{$IFNDEF SYN_CPPB_1} class {$ENDIF}
function GetLanguageName: string; override;
public
constructor Create(AOwner: TComponent); override;
function GetDefaultAttribute(Index: integer): TSynHighlighterAttributes;
override;
function GetEol: Boolean; override;
function GetTokenID: TtkTokenKind;
procedure SetLine(NewValue: String; LineNumber:Integer); override;
function GetToken: String; override;
{$IFDEF SYN_LAZARUS}
procedure GetTokenEx(var TokenStart: PChar; var TokenLength: integer); override;
{$ENDIF}
function GetTokenAttribute: TSynHighlighterAttributes; override;
function GetTokenKind: integer; override;
function GetTokenPos: Integer; override;
procedure Next; override;
published
property CommentAttri : TSynHighlighterAttributes read fCommentAttri
write fCommentAttri;
property TextAttri: TSynHighlighterAttributes read fTextAttri
write fTextAttri;
property ControlSequenceAttri: TSynHighlighterAttributes read
fControlSequenceAttri
write fControlSequenceAttri;
property MathmodeAttri: TSynHighlighterAttributes read fMathmodeAttri
write fMathmodeAttri;
property SpaceAttri: TSynHighlighterAttributes read fSpaceAttri
write fSpaceAttri;
property BraceAttri: TSynHighlighterAttributes read fBraceAttri
write fBraceAttri;
property BracketAttri: TSynHighlighterAttributes read fBracketAttri
write fBracketAttri;
end;
implementation
uses
{$IFDEF SYN_CLX}
QSynEditStrConst;
{$ELSE}
SynEditStrConst;
{$ENDIF}
procedure TSynTeXSyn.MakeMethodTables;
var
i: Char;
begin
for i := #0 to #255 do
case i of
#0 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
#10 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
#13 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
#37 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CommentProc;
#92 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ControlSequenceProc;
#123 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
#125 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
#91 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BracketOpenProc;
#93 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BracketCloseProc;
#1..#9, #11, #12, #14..#32 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
#36 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MathmodeProc;
else
fProcTable[I] := {$IFDEF FPC}@{$ENDIF}TextProc;
end;
end;
constructor TSynTeXSyn.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
fCommentAttri:=CreateHighlighterAttributes(SYNS_AttrComment,clTeal,clNone,[]);
AddAttribute(fCommentAttri);
fTextAttri:= CreateHighlighterAttributes(SYNS_AttrText,clBlack,clNone,[]);
AddAttribute(fTextAttri);
fMathmodeAttri:=CreateHighlighterAttributes(SYNS_AttrMathmode,clOlive,clNone,[fsbold]);
AddAttribute(fMathmodeAttri);
fSpaceAttri:=CreateHighlighterAttributes(SYNS_AttrSpace,clNone,clWhite,[]);
AddAttribute(fSpaceAttri);
fControlSequenceAttri:=CreateHighlighterAttributes(SYNS_AttrTexCommand,clBlue,clWhite,[fsBold]);
AddAttribute(fControlSequenceAttri);
fBracketAttri:=CreateHighlighterAttributes(SYNS_AttrSquareBracket,clPurple,clNone,[]);
AddAttribute(fBracketAttri);
fBraceAttri:=
CreateHighlighterAttributes(SYNS_AttrRoundBracket,clRed,clNone,[fsBold]);
AddAttribute(fBraceAttri);
//*************************
SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
fDefaultFilter := SYNS_FilterTeX;
MakeMethodTables;
end; { Create }
procedure TSynTeXSyn.SetLine(NewValue: String; LineNumber:Integer);
begin
fLine := PChar(NewValue);
Run := 0;
fLineNumber := LineNumber;
Next;
end; { SetLine }
procedure TSynTeXSyn.CRProc;
begin
fTokenID := tkSpace;
Case FLine[Run + 1] of
#10: inc(Run, 2);
else inc(Run);
end;
end; { CRProc }
procedure TSynTeXSyn.SpaceProc;
begin
fTokenID:=tkSpace;
inc(Run);
while FLine[Run] in [#1..#9, #11, #12, #14..#32] do inc(Run);
end; { SpaceProc }
procedure TSynTeXSyn.TextProc;
begin
fTokenID:=tkText;
inc(Run);
end; { TextProc }
procedure TSynTeXSyn.LFProc;
begin
fTokenID := tkSpace;
inc(Run);
end; { SpaceProc }
procedure TSynTeXSyn.BraceOpenProc;
begin
fTokenID := tkBrace;
inc(Run);
end; { BraceOpen }
procedure TSynTeXSyn.BraceCloseProc;
begin
fTokenID := tkBrace;
inc(Run);
end; { BraceClose }
procedure TSynTeXSyn.BracketOpenProc;
begin
fTokenID := tkBracket;
inc(Run);
end; { BracketOpen }
procedure TSynTeXSyn.BracketCloseProc;
begin
fTokenID := tkBracket;
inc(Run);
end; { BracketClose }
procedure TSynTeXSyn.NullProc;
begin
fTokenID := tkNull;
end; { NullProc }
procedure TSynTeXSyn.CommentProc;
begin
fTokenID := tkComment;
repeat
case fLine[Run] of
#0, #10: Break;
end;
inc(Run);
until fLine[Run] = #13;
Exit;
end; { CommentProc }
procedure TSynTeXSyn.MathModeProc;
begin
fTokenID:=tkMathMode;
Inc(Run);
end; { MathModeProc }
procedure TSynTeXSyn.ControlSequenceProc;
begin
fTokenID:=tkControlSequence;
repeat
case fLine[Run] of
#0..#31 : Break; //No Control Chars !
#48..#57 : Break; //No Numbers !
#33..#47, #58..#64, //Just the Characters that
#91, #93,#94, #123, //only can follow to '\'
#125, #126 : begin
if (fLine[Run-1]='\') then
Inc(Run,1);
Break;
end;
end;
Inc(Run);
until fLine[Run] = #32;
exit;
end; { ControlSequenceProc }
procedure TSynTeXSyn.Next;
begin
fTokenPos := Run;
fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
end; { Next }
function TSynTeXSyn.GetDefaultAttribute(Index: integer):
TSynHighlighterAttributes;
begin
case Index of
SYN_ATTR_COMMENT: Result := fCommentAttri;
SYN_ATTR_WHITESPACE: Result := fSpaceAttri;
else Result := nil;
end;
end;
function TSynTeXSyn.GetEol: Boolean;
begin
Result := fTokenId = tkNull;
end; { GetDefaultAttribute }
function TSynTeXSyn.GetToken: String;
var
Len: LongInt;
begin
Len := Run - fTokenPos;
SetString(Result, (FLine + fTokenPos), Len);
end; { GetToken }
{$IFDEF SYN_LAZARUS}
procedure TSynTeXSyn.GetTokenEx(var TokenStart: PChar; var TokenLength: integer);
begin
TokenLength:=Run-fTokenPos;
TokenStart:=FLine + fTokenPos;
end;
{$ENDIF}
function TSynTeXSyn.GetTokenID: TtkTokenKind;
begin
Result := fTokenId;
end; { GetTokenID }
function TSynTeXSyn.GetTokenAttribute: TSynHighlighterAttributes;
begin
case fTokenID of
tkComment : Result := fCommentAttri;
tkText : Result := fTextAttri;
tkControlSequence : Result := fControlSequenceAttri;
tkMathMode : Result := fMathmodeAttri;
tkSpace : Result := fSpaceAttri;
tkBrace : Result := fBraceAttri;
tkBracket : Result := fBracketAttri;
else
Result := nil;
end;
end; { GetTokenAttribute }
function TSynTeXSyn.GetTokenKind: integer;
begin
Result := Ord(fTokenId);
end; { GetTokenKind }
function TSynTeXSyn.GetTokenPos: Integer;
begin
Result := fTokenPos;
end; { GetTokenPos }
function TSynTeXSyn.GetIdentChars: TSynIdentChars;
begin
Result := ['_', '0'..'9', 'a'..'z', 'A'..'Z'];
end; { GetIdentChars }
{$IFNDEF SYN_CPPB_1} class {$ENDIF}
function TSynTeXSyn.GetLanguageName: string;
begin
Result := SYNS_LangTeX;
end; { GetLanguageName }
function TSynTeXSyn.CreateHighlighterAttributes(AName:String; Foreground,
Background: TColor;
FontStyles: TFontStyles) :
TSynHighlighterAttributes;
begin
Result:=TSynHighlighterAttributes.Create(Name);
if Foreground<>clNone then Result.Foreground:=ForeGround;
if Background<>clNone then Result.Background:=Background;
Result.Style:=FontStyles;
end;
function TSynTeXSyn.GetSampleSource: String;
begin
Result:='\documentclass[a4paper]{article}'+#13#10+
'% LaTeX sample source'+#13#10+
'\begin{document}'+#13#10+
'Here is a formula: $ (2x + 3)*5y $'+#13#10+
'\end{document}';
end;
{$IFNDEF SYN_CPPB_1}
initialization
RegisterPlaceableHighlighter(TSynTeXSyn);
{$ENDIF}
end.

View File

@ -961,6 +961,10 @@ begin
AddFile('synhighlighterunixshellscript.pas','SynHighlighterUNIXShellScript',
pftUnit,[],cpBase);
AddFile('synhighlightermulti.pas','SynHighlighterMulti',pftUnit,[],cpBase);
AddFile('synhighlightercss.pas','SynHighlighterCss',pftUnit,[],cpBase);
AddFile('synhighlighterphp.pas','SynHighlighterPHP',pftUnit,[],cpBase);
AddFile('synhighlightertex.pas','SynHighlighterTeX',pftUnit,[],cpBase);
AddFile('synhighlightersql.pas','SynHighlighterSQL',pftUnit,[],cpBase);
// add unit paths
UsageOptions.UnitPath:=SetDirSeparators(

View File

@ -43,6 +43,8 @@ uses
SynMemo, SynHighlighterPas, SynHighlighterCPP, SynHighlighterJava,
SynHighlighterPerl, SynHighlighterHTML, SynHighlighterXML,
SynHighlighterLFM, SynHighlighterMulti, SynHighlighterUNIXShellScript,
SynHighlighterCss, SynHighlighterPHP, SynHighlighterTeX,
SynHighlighterHashEntries, SynHighlighterSQL,
LazarusPackageIntf, LazarusIDEStrConsts;
procedure Register;
@ -114,6 +116,26 @@ begin
RegisterComponents('SynEdit',[TSynUNIXShellScriptSyn]);
end;
procedure RegisterSynHighlighterCSS;
begin
RegisterComponents('SynEdit',[TSynCssSyn]);
end;
procedure RegisterSynHighlighterPHP;
begin
RegisterComponents('SynEdit',[TSynPHPSyn]);
end;
procedure RegisterSynHighlighterTeX;
begin
RegisterComponents('SynEdit',[TSynTeXSyn]);
end;
procedure RegisterSynHighlighterSQL;
begin
RegisterComponents('SynEdit',[TSynSQLSyn]);
end;
procedure RegisterSynHighlighterMulti;
begin
RegisterComponents('SynEdit',[TSynMultiSyn]);
@ -135,6 +157,11 @@ begin
RegisterUnit('SynHighlighterLFM',@RegisterSynHighlighterLFM);
RegisterUnit('SynHighlighterUNIXShellScript',
@RegisterSynHighlighterUNIXShellScript);
RegisterUnit('SynHighlighterCss',@RegisterSynHighlighterCSS);
RegisterUnit('SynHighlighterPHP',@RegisterSynHighlighterPHP);
RegisterUnit('SynHighlighterTeX',@RegisterSynHighlighterTeX);
RegisterUnit('SynHighlighterSQL',@RegisterSynHighlighterSQL);
RegisterUnit('SynHighlighterMulti',@RegisterSynHighlighterMulti);
end;