aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml12
-rw-r--r--.github/workflows/nightly.yml12
-rw-r--r--.gitmodules8
-rw-r--r--INSTALL34
-rw-r--r--Makefile.am13
-rw-r--r--configure.ac24
m---------contrib/lexilla0
m---------contrib/scinterm0
m---------contrib/scintilla0
-rw-r--r--contrib/scintilla.am73
-rw-r--r--debian/control2
-rw-r--r--debian/copyright14
-rwxr-xr-xdebian/rules11
-rw-r--r--lib/lexers/abaqus.tes2
-rw-r--r--lib/lexers/ada.tes2
-rw-r--r--lib/lexers/asl.tes2
-rw-r--r--lib/lexers/asm.tes2
-rw-r--r--lib/lexers/ave.tes2
-rw-r--r--lib/lexers/avs.tes2
-rw-r--r--lib/lexers/awk.tes2
-rw-r--r--lib/lexers/baan.tes2
-rw-r--r--lib/lexers/bash.tes2
-rw-r--r--lib/lexers/batch.tes2
-rw-r--r--lib/lexers/blitzbasic.tes2
-rw-r--r--lib/lexers/c.tes2
-rw-r--r--lib/lexers/caml.tes2
-rw-r--r--lib/lexers/ch.tes2
-rw-r--r--lib/lexers/cmake.tes2
-rw-r--r--lib/lexers/cobol.tes2
-rw-r--r--lib/lexers/cpp.tes2
-rw-r--r--lib/lexers/cs.tes2
-rw-r--r--lib/lexers/d.tes2
-rw-r--r--lib/lexers/diff.tes2
-rw-r--r--lib/lexers/docbook.tes2
-rw-r--r--lib/lexers/eiffel.tes2
-rw-r--r--lib/lexers/f77.tes2
-rw-r--r--lib/lexers/f95.tes2
-rw-r--r--lib/lexers/flagship.tes2
-rw-r--r--lib/lexers/flash.tes2
-rw-r--r--lib/lexers/freebasic.tes2
-rw-r--r--lib/lexers/gap.tes2
-rw-r--r--lib/lexers/go.tes2
-rw-r--r--lib/lexers/gob.tes2
-rw-r--r--lib/lexers/html.tes2
-rw-r--r--lib/lexers/idl.tes2
-rw-r--r--lib/lexers/inno.tes2
-rw-r--r--lib/lexers/java.tes2
-rw-r--r--lib/lexers/js.tes2
-rw-r--r--lib/lexers/kix.tes2
-rw-r--r--lib/lexers/lisp.tes2
-rw-r--r--lib/lexers/lout.tes2
-rw-r--r--lib/lexers/lua.tes2
-rw-r--r--lib/lexers/make.tes2
-rw-r--r--lib/lexers/mako.tes2
-rw-r--r--lib/lexers/matlab.tes2
-rw-r--r--lib/lexers/mmixal.tes2
-rw-r--r--lib/lexers/octave.tes2
-rw-r--r--lib/lexers/oscript.tes2
-rw-r--r--lib/lexers/pascal.tes2
-rw-r--r--lib/lexers/perl.tes2
-rw-r--r--lib/lexers/php.tes2
-rw-r--r--lib/lexers/pike.tes2
-rw-r--r--lib/lexers/pov.tes2
-rw-r--r--lib/lexers/powerpro.tes2
-rw-r--r--lib/lexers/purebasic.tes2
-rw-r--r--lib/lexers/r.tes2
-rw-r--r--lib/lexers/rc.tes2
-rw-r--r--lib/lexers/rebol.tes2
-rw-r--r--lib/lexers/rust.tes2
-rw-r--r--lib/lexers/scheme.tes2
-rw-r--r--lib/lexers/specman.tes2
-rw-r--r--lib/lexers/spice.tes2
-rw-r--r--lib/lexers/swift.tes2
-rw-r--r--lib/lexers/systemverilog.tes2
-rw-r--r--lib/lexers/tacl.tes2
-rw-r--r--lib/lexers/tal.tes2
-rw-r--r--lib/lexers/tcl.tes2
-rw-r--r--lib/lexers/test.tes2
-rw-r--r--lib/lexers/vala.tes2
-rw-r--r--lib/lexers/vb.tes2
-rw-r--r--lib/lexers/verilog.tes2
-rw-r--r--lib/lexers/vhdl.tes2
-rw-r--r--lib/lexers/vxml.tes2
-rw-r--r--lib/lexers/xml.tes2
-rwxr-xr-xlib/scite2co.lua4
m---------scintilla0
-rw-r--r--scintilla.am43
-rw-r--r--src/Makefile.am9
-rw-r--r--src/cmdline.c5
-rw-r--r--src/interface-curses/interface.c14
-rw-r--r--src/interface-gtk/interface.c4
-rw-r--r--src/interface.c4
-rw-r--r--src/interface.h2
-rw-r--r--src/parser.h1
-rw-r--r--src/symbols.c85
-rw-r--r--src/view.c4
96 files changed, 285 insertions, 235 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 32f82ae..0e1c91d 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -15,10 +15,10 @@ jobs:
steps:
- - name: Recursive Git Clone
+ - name: Git Clone
uses: actions/checkout@v2
with:
- submodules: recursive
+ submodules: true
- name: Update Repositories
run: sudo apt-get update
@@ -59,10 +59,10 @@ jobs:
steps:
- - name: Recursive Git Clone
+ - name: Git Clone
uses: actions/checkout@v2
with:
- submodules: recursive
+ submodules: true
# NOTE: macOS already ships with ncurses and
# XCode already comes with the autotools.
@@ -99,10 +99,10 @@ jobs:
steps:
- - name: Recursive Git Clone
+ - name: Git Clone
uses: actions/checkout@v2
with:
- submodules: recursive
+ submodules: true
- name: Set Up Shell
run: echo C:\msys64\usr\bin\ | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 85912c5..6e131fd 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -16,10 +16,10 @@ jobs:
steps:
- - name: Recursive Git Clone
+ - name: Git Clone
uses: actions/checkout@v2
with:
- submodules: recursive
+ submodules: true
- name: Update Repositories
run: sudo apt-get update
@@ -65,10 +65,10 @@ jobs:
steps:
- - name: Recursive Git Clone
+ - name: Git Clone
uses: actions/checkout@v2
with:
- submodules: recursive
+ submodules: true
- name: Set Up Shell
run: echo C:\msys64\usr\bin\ | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
@@ -147,10 +147,10 @@ jobs:
steps:
- - name: Recursive Git Clone
+ - name: Git Clone
uses: actions/checkout@v2
with:
- submodules: recursive
+ submodules: true
- name: Set Up Shell
run: echo C:\msys64\usr\bin\ | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
diff --git a/.gitmodules b/.gitmodules
index c4102f8..ed91108 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,10 @@
[submodule "scintilla"]
- path = scintilla
+ path = contrib/scintilla
url = https://github.com/rhaberkorn/scintilla-mirror.git
ignore = untracked
+[submodule "scinterm"]
+ path = contrib/scinterm
+ url = https://github.com/orbitalquark/scinterm.git
+[submodule "lexilla"]
+ path = contrib/lexilla
+ url = https://github.com/ScintillaOrg/lexilla.git
diff --git a/INSTALL b/INSTALL
index b166c93..44c009d 100644
--- a/INSTALL
+++ b/INSTALL
@@ -15,8 +15,8 @@ SciTECO Build and Runtime Dependencies
* Autotools and an UNIX-like environment
* GNU Make
- * A GCC-compatible C11 and C++11 compiler, e.g. GNU C/C++
- (v4.4 or later) or LLVM/gcc or LLVM/Clang.
+ * A GCC-compatible C11 and C++17 compiler, e.g. GNU C/C++
+ (v5.0 or later) or LLVM/gcc or LLVM/Clang.
SciTECO itself does not require C++, but Scintilla does.
* Glib 2 as a cross-platform runtime library (v2.44 or later):
https://developer.gnome.org/glib/
@@ -43,11 +43,13 @@ These dependencies are bundled with the SciTECO Git repository
and with source tar balls, so they usually do not have to be
installed by the user manually:
- * Scintilla (v3.6.3 or later):
+ * Scintilla (v5.0.0 or later):
http://www.scintilla.org/
* When choosing the Curses interface:
- * Scinterm (v1.7 or later):
+ * Scinterm (v3.1 or later):
http://foicica.com/scinterm/
+ * Lexilla (v5.0.0 or later):
+ https://www.scintilla.org/Lexilla.html
On Ubuntu, you can install all dependencies you could possibly need
as follows:
@@ -79,13 +81,13 @@ Just make sure you have cloned your repository as follows:
$ git clone https://github.com/rhaberkorn/sciteco.git
$ cd sciteco/
- $ git submodule update --init --recursive
+ $ git submodule update --init
If you already have a Git clone of the SciTECO repository and
want to update it, you should issue the following commands:
$ git pull
- $ git submodule update --recursive
+ $ git submodule update
When building from Git, you must first generate the ./configure
script using Autoconf/Automake:
@@ -139,28 +141,22 @@ Out of Tree Builds
Like any Autoconf/Automake-based project, SciTECO can generally
be built out-of-tree (in a different directory than its sources).
This is often useful, especially when cross-compiling.
-Unfortunately, the Scintilla build-system does not support
-out-of-tree builds, so even though Scintilla has been tied
+Unfortunately, the Scintilla (and related libraries') build-system
+does not support out-of-tree builds, so even though Scintilla has been tied
into SciTECO's build system for convenience, out-of-tree builds
cannot be performed directly as Scintilla would still be built
in SciTECO's source directory by default.
-Fortunately, SciTECO allows you to overwrite the Scintilla
-source and build path via the ./configure --with-scintilla option.
-This may be used to clone a copy of Scintilla into SciTECO's
-build directory, initialize its Scinterm submodule and direct
-SciTECO's build system to this copy.
+However, you may copy Scintilla, Scinterm and Lexilla into
+SciTECO's build directory.
An out-of-tree build of SciTECO can thus be achieved using the
following steps (supposing that the build directory will be
a subdirectory of the Git repository called `build-dir`):
- $ mkdir build-dir
+ $ mkdir -p build-dir/contrib
+ $ cp -r contrib/{scintilla,scinterm,lexilla} build-dir/contrib/
$ cd build-dir
- $ git clone ../scintilla
- $ cd scintilla
- $ git submodule update --init
- $ cd ..
- $ ../configure --with-scintilla=scintilla
+ $ ../configure
$ make
...
diff --git a/Makefile.am b/Makefile.am
index 80b0ca6..668eb81 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,11 +20,10 @@ EXTRA_DIST += ico/sciteco-256.png ico/sciteco.ico
EXTRA_DIST += win32/loaders.cache
-# Distribute entire scintilla directory and
-# do some manual cleanup
+# Distribute entire Scintilla/Scinterm/Lexilla directory and
+# do some manual cleanup.
dist-hook:
- cp -r $(srcdir)/scintilla $(distdir)
- rm -rf `find $(distdir)/scintilla -name *.o` \
- $(distdir)/scintilla/bin/scintilla.a
- rm -rf `find $(distdir)/scintilla -name ".git*"` \
- `find $(distdir)/scintilla -name ".hg*"`
+ cp -r $(srcdir)/contrib/{scintilla,scinterm,lexilla} $(distdir)/contrib
+ rm -rf `find $(distdir)/contrib -name *.$(OBJEXT)` \
+ `find $(distdir)/contrib -name ".git*"` \
+ $(distdir)/contrib/{scintilla,lexilla}/bin/*
diff --git a/configure.ac b/configure.ac
index 2d3da3f..f1fbd45 100644
--- a/configure.ac
+++ b/configure.ac
@@ -72,7 +72,7 @@ fi
# Additionally required by the Scintilla build process:
AC_PROG_CXX
-AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+AX_CXX_COMPILE_STDCXX(17, noext, mandatory)
AC_CHECK_TOOL(AR, ar)
# Whether $CC is Clang
@@ -170,22 +170,34 @@ esac
# Config options
#
+# FIXME: It does not really make sense to have this configurable.
+# It would make more sense to allow linking against an externally-provided
+# Scintilla (some platforms ship with it).
AC_ARG_WITH(scintilla,
AS_HELP_STRING([--with-scintilla=PATH],
- [Specify Scintilla's path [default=./scintilla]]),
- [SCINTILLA_PATH=$withval], [SCINTILLA_PATH=./scintilla])
+ [Specify Scintilla's path [default=./contrib/scintilla]]),
+ [SCINTILLA_PATH=$withval], [SCINTILLA_PATH=./contrib/scintilla])
SCINTILLA_PATH=`canonicalize $SCINTILLA_PATH`
AC_SUBST(SCINTILLA_PATH)
-CPPFLAGS="$CPPFLAGS -I$SCINTILLA_PATH/include -DSCI_LEXER"
+CPPFLAGS="$CPPFLAGS -I$SCINTILLA_PATH/include"
AC_ARG_WITH(scinterm,
AS_HELP_STRING([--with-scinterm=PATH],
- [Specify Scinterm's path [default=SCINTILLA_PATH/scinterm]]),
- [SCINTERM_PATH=$withval], [SCINTERM_PATH=$SCINTILLA_PATH/scinterm])
+ [Specify Scinterm's path [default=./contrib/scinterm]]),
+ [SCINTERM_PATH=$withval], [SCINTERM_PATH=./contrib/scinterm])
SCINTERM_PATH=`canonicalize $SCINTERM_PATH`
AC_SUBST(SCINTERM_PATH)
+AC_ARG_WITH(lexilla,
+ AS_HELP_STRING([--with-lexilla=PATH],
+ [Specify Lexilla's path [default=./contrib/lexilla]]),
+ [LEXILLA_PATH=$withval], [LEXILLA_PATH=./contrib/lexilla])
+LEXILLA_PATH=`canonicalize $LEXILLA_PATH`
+AC_SUBST(LEXILLA_PATH)
+
+CPPFLAGS="$CPPFLAGS -I$LEXILLA_PATH/include"
+
AC_ARG_WITH(interface,
AS_HELP_STRING([--with-interface=ncurses|netbsd-curses|xcurses|pdcurses|pdcurses-gui|gtk],
[Specify user interface [default=ncurses]]),
diff --git a/contrib/lexilla b/contrib/lexilla
new file mode 160000
+Subproject 7d7426e4bf4aa9ffea4ecdde34aa9f751c1bdc0
diff --git a/contrib/scinterm b/contrib/scinterm
new file mode 160000
+Subproject c29125950e33f1dd02473888cdf9b6a1959442c
diff --git a/contrib/scintilla b/contrib/scintilla
new file mode 160000
+Subproject fab670c471c7eea28d43ebaeed14b3c886e2c6e
diff --git a/contrib/scintilla.am b/contrib/scintilla.am
new file mode 100644
index 0000000..cd14d4f
--- /dev/null
+++ b/contrib/scintilla.am
@@ -0,0 +1,73 @@
+# We use the existing Scintilla/Lexilla Makefile build system to
+# avoid redundancies and maintainance overhead.
+# These build systems produce static libraries (*.a).
+# This however has two diadvantages:
+# 1.) Out-of-tree builds are not straight forward and require
+# manually cloning the submodules into the build system.
+# `make distcheck` is consequently also broken.
+# 2.) We cannot add plain static libraries to libtool convenience
+# libraries using LIBADD.
+# Therefore, we cannot wrap Scintilla and Lexilla into a convenience
+# library.
+# That's why this file must instead be included everywhere where
+# scintilla.a and liblexilla.a are referenced and they must be added
+# to programs using LDADD.
+
+if INTERFACE_GTK
+MAKE_SCINTILLA = $(MAKE) -C @SCINTILLA_PATH@/gtk \
+ GTK3=yes CONFIGFLAGS='@LIBGTK_CFLAGS@' \
+ CXXFLAGS='@SCINTILLA_CXXFLAGS@'
+else
+# NOTE: The VPATH hack allows us to keep Scinterm separate from
+# the Scintilla repo and avoid using recursive submodules.
+#
+# FIXME: There is currently no way to override the standard optimization
+# flags of Scinterm, so we pass them in CURSES_FLAGS.
+MAKE_SCINTILLA = $(MAKE) -C @SCINTILLA_PATH@/bin -f @SCINTERM_PATH@/Makefile \
+ VPATH=@SCINTERM_PATH@ \
+ CURSES_FLAGS='@PDCURSES_CFLAGS@ @XCURSES_CFLAGS@ @NCURSES_CFLAGS@ @SCINTILLA_CXXFLAGS@'
+endif
+
+# Pass toolchain configuration to Scintilla.
+# This is what allows cross compilation
+MAKE_SCINTILLA += CC='@CC@' CXX='@CXX@' \
+ AR='@AR@' RANLIB='@RANLIB@'
+
+# Build as phony target - we do not know
+# scintilla.a's dependencies.
+# If it's up to date, the additional recursive
+# make call does not hurt.
+.PHONY: make-scintilla
+make-scintilla:
+ $(MAKE_SCINTILLA)
+
+# scintilla.a itself is not phony.
+# This avoids unnecessary relinking if it is
+# up to date.
+# Also note the ; which defines this recipe as
+# empty.
+@SCINTILLA_PATH@/bin/scintilla.a : make-scintilla;
+
+.PHONY: clean-local-scintilla
+clean-local-scintilla:
+ $(MAKE_SCINTILLA) clean
+
+MAKE_LEXILLA = $(MAKE) -C @LEXILLA_PATH@/src \
+ CXXFLAGS='@SCINTILLA_CXXFLAGS@' \
+ CC='@CC@' CXX='@CXX@' \
+ AR='@AR@' RANLIB='@RANLIB@'
+
+.PHONY: make-lexilla
+make-lexilla:
+ $(MAKE_LEXILLA)
+
+@LEXILLA_PATH@/bin/liblexilla.a : make-lexilla;
+
+.PHONY: clean-local-lexilla
+clean-local-lexilla:
+ $(MAKE_LEXILLA) clean
+
+# NOTE: using a separate `clean-local-scintilla`
+# target allows us to add more custom rules to the
+# including Automake file
+clean-local: clean-local-scintilla clean-local-lexilla
diff --git a/debian/control b/debian/control
index 7e8cc5c..03adab2 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: sciteco
Section: editors
Priority: optional
Maintainer: Robin Haberkorn <robin.haberkorn@googlemail.com>
-Build-Depends: debhelper (>= 10), dh-exec, g++ (>= 4:4.4), libglib2.0-dev (>= 2.44),
+Build-Depends: debhelper (>= 10), dh-exec, g++ (>= 4:5.0), libglib2.0-dev (>= 2.44),
ncurses-base, ncurses-term, libncurses5-dev,
libgtk-3-dev (>= 3.12), xvfb,
groff-base
diff --git a/debian/copyright b/debian/copyright
index 36d5bf9..cfd2fa7 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -31,12 +31,12 @@ License:
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-Files: scintilla/*
-Copyright: Copyright 1998-2003 Neil Hodgson <neilh@scintilla.org>
+Files: contrib/scintilla/* contrib/lexilla/*
+Copyright: Copyright 1998-2021 Neil Hodgson <neilh@scintilla.org>
License:
- License for Scintilla and SciTE
+ License for Lexilla, Scintilla, and SciTE
.
- Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>
+ Copyright 1998-2021 by Neil Hodgson <neilh@scintilla.org>
.
All Rights Reserved
.
@@ -55,12 +55,12 @@ License:
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS SOFTWARE.
-Files: scintilla/scinterm/*
-Copyright: Copyright 2012-2016 Mitchell <mitchell.att.foicica.com>
+Files: contrib/scinterm/*
+Copyright: Copyright 2012-2020 Mitchell <mitchell.att.foicica.com>
License:
The MIT License
.
- Copyright (c) 2012-2016 Mitchell
+ Copyright (c) 2012-2020 Mitchell
.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/debian/rules b/debian/rules
index 64b5f16..b318a86 100755
--- a/debian/rules
+++ b/debian/rules
@@ -35,8 +35,8 @@ build build-arch build-indep: build-curses-stamp build-gtk-stamp
build-curses-stamp:
dh_testdir
rm -rf build-curses
- mkdir build-curses
- cp -r scintilla build-curses/
+ mkdir -p build-curses/contrib
+ cp -r contrib/{scintilla,scinterm,lexilla} build-curses/contrib/
dh_auto_configure -Bbuild-curses -- \
--with-interface=ncurses
dh_auto_build -Bbuild-curses
@@ -48,8 +48,8 @@ build-curses-stamp:
build-gtk-stamp:
dh_testdir
rm -rf build-gtk
- mkdir build-gtk
- cp -r scintilla build-gtk/
+ mkdir -p build-gtk/contrib
+ cp -r contrib/{scintilla,lexilla} build-gtk/contrib/
dh_auto_configure -Bbuild-gtk -- \
--program-prefix=g \
--with-interface=gtk
@@ -57,8 +57,7 @@ build-gtk-stamp:
# we need an XServer which may be missing on the build server.
# That's why we use xvfb.
xvfb-run -a dh_auto_build -Bbuild-gtk
-# FIXME: The test suite can be ridiculously lengthy with Gtk binaries.
-# xvfb-run -a dh_auto_test -Bbuild-gtk
+ xvfb-run -a dh_auto_test -Bbuild-gtk
touch $@
install:
diff --git a/lib/lexers/abaqus.tes b/lib/lexers/abaqus.tes
index 48f6431..a21c847 100644
--- a/lib/lexers/abaqus.tes
+++ b/lib/lexers/abaqus.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.abaqus]{
- ESSETLEXERLANGUAGEabaqus
+ ESSETILEXERabaqus
1ESSETKEYWORDS
*amplitude *assembly *beam *boundary *buckle *bulk *cload *conditions
*conductivity *contact *damping *density *dload *dsflux *dsload *dynamic *el *elastic
diff --git a/lib/lexers/ada.tes b/lib/lexers/ada.tes
index f972f15..318a1e3 100644
--- a/lib/lexers/ada.tes
+++ b/lib/lexers/ada.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.ada]{
- ESSETLEXERLANGUAGEada
+ ESSETILEXERada
0ESSETKEYWORDS
abort abstract accept access aliased all array at begin body case constant
declare delay delta digits do else elsif end entry exception exit for function
diff --git a/lib/lexers/asl.tes b/lib/lexers/asl.tes
index 342cd35..9a5888c 100644
--- a/lib/lexers/asl.tes
+++ b/lib/lexers/asl.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.asl]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
AccessAs Acquire Add Alias And Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Arg6 BankField
Break BreakPoint Buffer Case Concatenate ConcatenateResTemplate CondRefOf
diff --git a/lib/lexers/asm.tes b/lib/lexers/asm.tes
index eab13a7..816a7e2 100644
--- a/lib/lexers/asm.tes
+++ b/lib/lexers/asm.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.asm]{
- ESSETLEXERLANGUAGEasm
+ ESSETILEXERasm
0ESSETKEYWORDS
aaa aad aam aas daa das ja jae jb jbe jc jcxz je jg jge jl jle jmp jna jnae
jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns jnz jo jp jpe jpo js jz jcxz
diff --git a/lib/lexers/ave.tes b/lib/lexers/ave.tes
index 279fdde..81b72b2 100644
--- a/lib/lexers/ave.tes
+++ b/lib/lexers/ave.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.ave]{
- ESSETLEXERLANGUAGEave
+ ESSETILEXERave
0ESSETKEYWORDS
nil true false else for if while then elseif end av self in exit
:M[color.comment],1M[color.set]
diff --git a/lib/lexers/avs.tes b/lib/lexers/avs.tes
index ca652bd..935ba90 100644
--- a/lib/lexers/avs.tes
+++ b/lib/lexers/avs.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.avs]{
- ESSETLEXERLANGUAGEavs
+ ESSETILEXERavs
0ESSETKEYWORDS
true false return global
1ESSETKEYWORDS
diff --git a/lib/lexers/awk.tes b/lib/lexers/awk.tes
index e96066f..75cf3f0 100644
--- a/lib/lexers/awk.tes
+++ b/lib/lexers/awk.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.awk]{
- ESSETLEXERLANGUAGEperl
+ ESSETILEXERperl
0ESSETKEYWORDS
BEGIN END if else while do for in break continue delete exit function return
print printf sprintf system close getline next nextfile fflush atan2 cos exp int
diff --git a/lib/lexers/baan.tes b/lib/lexers/baan.tes
index 4d5b9d6..87634ca 100644
--- a/lib/lexers/baan.tes
+++ b/lib/lexers/baan.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.baan]{
- ESSETLEXERLANGUAGEbaan
+ ESSETILEXERbaan
:M[color.comment],1M[color.set]
:M[color.comment],2M[color.set]
:M[color.number],3M[color.set]
diff --git a/lib/lexers/bash.tes b/lib/lexers/bash.tes
index b66d6e3..5dce149 100644
--- a/lib/lexers/bash.tes
+++ b/lib/lexers/bash.tes
@@ -11,7 +11,7 @@
}
@[lexer.set.bash]{
- ESSETLEXERLANGUAGEbash
+ ESSETILEXERbash
0ESSETKEYWORDS
alias ar asa awk banner basename bash bc bdiff break bunzip2 bzip2 cal
calendar case cat cc cd chmod cksum clear cmp col comm compress continue cp cpio
diff --git a/lib/lexers/batch.tes b/lib/lexers/batch.tes
index 0a9890d..a3a2a80 100644
--- a/lib/lexers/batch.tes
+++ b/lib/lexers/batch.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.batch]{
- ESSETLEXERLANGUAGEbatch
+ ESSETILEXERbatch
0ESSETKEYWORDS
rem set if exist errorlevel for in do break call chcp cd chdir choice cls
country ctty date del erase dir echo exit goto loadfix loadhigh mkdir md move path
diff --git a/lib/lexers/blitzbasic.tes b/lib/lexers/blitzbasic.tes
index 3ec3037..fee1f96 100644
--- a/lib/lexers/blitzbasic.tes
+++ b/lib/lexers/blitzbasic.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.blitzbasic]{
- ESSETLEXERLANGUAGEblitzbasic
+ ESSETILEXERblitzbasic
0ESSETKEYWORDS
abs accepttcpstream acos after and apptitle asc asin atan atan2
automidhandle autosuspend availvidmem backbuffer banksize before bin calldll case ceil
diff --git a/lib/lexers/c.tes b/lib/lexers/c.tes
index 434bf14..d4aeb52 100644
--- a/lib/lexers/c.tes
+++ b/lib/lexers/c.tes
@@ -37,7 +37,7 @@
until var verbatim verbinclude version warning weakgroup $ @ \ & < > # { }
@[lexer.set.c]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
Q[lexer.c.basekeywords] _Alignas _Alignof _Atomic
_Bool _Complex _Generic _Imaginary _Noreturn _Static_assert _Thread_local
diff --git a/lib/lexers/caml.tes b/lib/lexers/caml.tes
index d7b1838..0b681a1 100644
--- a/lib/lexers/caml.tes
+++ b/lib/lexers/caml.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.caml]{
- ESSETLEXERLANGUAGEcaml
+ ESSETILEXERcaml
0ESSETKEYWORDS
and as assert asr begin class constraint do done downto else end exception
external false for fun function functor if in include inherit initializer land lazy
diff --git a/lib/lexers/ch.tes b/lib/lexers/ch.tes
index 6781659..b0a1f4d 100644
--- a/lib/lexers/ch.tes
+++ b/lib/lexers/ch.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.ch]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
auto array bool break case char class complex ComplexInf ComplexNaN const
continue default delete do double else enum export extern float for foreach goto if
diff --git a/lib/lexers/cmake.tes b/lib/lexers/cmake.tes
index 14d5a15..3b7c5f7 100644
--- a/lib/lexers/cmake.tes
+++ b/lib/lexers/cmake.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.cmake]{
- ESSETLEXERLANGUAGEcmake
+ ESSETILEXERcmake
! Commands !
0ESSETKEYWORDS
add_custom_command add_custom_target add_definitions add_dependencies
diff --git a/lib/lexers/cobol.tes b/lib/lexers/cobol.tes
index 3760b71..7d9b6cb 100644
--- a/lib/lexers/cobol.tes
+++ b/lib/lexers/cobol.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.cobol]{
- ESSETLEXERLANGUAGECOBOL
+ ESSETILEXERCOBOL
0ESSETKEYWORDS
configuration data declaratives division environment environment-division
file file-control function i-o i-o-control identification input input-output
diff --git a/lib/lexers/cpp.tes b/lib/lexers/cpp.tes
index d966e38..21e03d0 100644
--- a/lib/lexers/cpp.tes
+++ b/lib/lexers/cpp.tes
@@ -18,7 +18,7 @@
}
@[lexer.set.cpp]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
Q[lexer.c.basekeywords]
and and_eq bitand bitor catch class compl const_cast constexpr delete dynamic_cast
diff --git a/lib/lexers/cs.tes b/lib/lexers/cs.tes
index 1d97053..592332a 100644
--- a/lib/lexers/cs.tes
+++ b/lib/lexers/cs.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.cs]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
abstract as ascending base bool break by byte case catch char checked class
const continue decimal default delegate descending do double else enum equals
diff --git a/lib/lexers/d.tes b/lib/lexers/d.tes
index 1b69df3..9a00fc9 100644
--- a/lib/lexers/d.tes
+++ b/lib/lexers/d.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.d]{
- ESSETLEXERLANGUAGEd
+ ESSETILEXERd
0ESSETKEYWORDS
abstract alias align asm assert auto body bool break byte case cast catch
cdouble cent cfloat char class const continue creal dchar debug default delegate
diff --git a/lib/lexers/diff.tes b/lib/lexers/diff.tes
index ff3c6af..a254f49 100644
--- a/lib/lexers/diff.tes
+++ b/lib/lexers/diff.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.diff]{
- ESSETLEXERLANGUAGEdiff
+ ESSETILEXERdiff
:M[color.comment],1M[color.set]
:M[color.keyword],2M[color.set] ! Command !
:M[color.preproc],3M[color.set] ! Source/Dest !
diff --git a/lib/lexers/docbook.tes b/lib/lexers/docbook.tes
index cf9e3ab..ea60702 100644
--- a/lib/lexers/docbook.tes
+++ b/lib/lexers/docbook.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.docbook]{
- ESSETLEXERLANGUAGEhypertext
+ ESSETILEXERhypertext
0ESSETKEYWORDS
abbrev abstract accel ackno acronym action address affiliation alt anchor
answer appendix appendixinfo application area areaset areaspec arg article
diff --git a/lib/lexers/eiffel.tes b/lib/lexers/eiffel.tes
index af14ea0..c22f5df 100644
--- a/lib/lexers/eiffel.tes
+++ b/lib/lexers/eiffel.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.eiffel]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
struct unit integer real bool int long uint nibble byte bits bytes bit time
string var instance event verilog vhdl on compute start expect check that routine
diff --git a/lib/lexers/f77.tes b/lib/lexers/f77.tes
index 22e7ca1..e06243c 100644
--- a/lib/lexers/f77.tes
+++ b/lib/lexers/f77.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.f77]{
- ESSETLEXERLANGUAGEf77
+ ESSETILEXERf77
0ESSETKEYWORDS
access action advance allocatable allocate apostrophe assign assignment
associate asynchronous backspace bind blank blockdata call case character class close
diff --git a/lib/lexers/f95.tes b/lib/lexers/f95.tes
index 73cc766..7544375 100644
--- a/lib/lexers/f95.tes
+++ b/lib/lexers/f95.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.f95]{
- ESSETLEXERLANGUAGEfortran
+ ESSETILEXERfortran
0ESSETKEYWORDS
access action advance allocatable allocate apostrophe assign assignment
associate asynchronous backspace bind blank blockdata call case character class close
diff --git a/lib/lexers/flagship.tes b/lib/lexers/flagship.tes
index caaf140..485d351 100644
--- a/lib/lexers/flagship.tes
+++ b/lib/lexers/flagship.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.flagship]{
- ESSETLEXERLANGUAGEflagship
+ ESSETILEXERflagship
0ESSETKEYWORDS
? @ accept access all alternate announce ansi any append as assign autolock
average begin bell bitmap blank box call cancel case century charset checkbox clear
diff --git a/lib/lexers/flash.tes b/lib/lexers/flash.tes
index 8e9b83f..27be2bf 100644
--- a/lib/lexers/flash.tes
+++ b/lib/lexers/flash.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.flash]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
add and break case catch class continue default delete do dynamic else eq
extends false finally for function ge get gt if implements import in instanceof
diff --git a/lib/lexers/freebasic.tes b/lib/lexers/freebasic.tes
index 2e15ed3..16b7ace 100644
--- a/lib/lexers/freebasic.tes
+++ b/lib/lexers/freebasic.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.freebasic]{
- ESSETLEXERLANGUAGEfreebasic
+ ESSETILEXERfreebasic
0ESSETKEYWORDS
append as asc asin asm atan2 atn beep bin binary bit bitreset bitset bload
bsave byref byte byval call callocate case cbyte cdbl cdecl chain chdir chr cint
diff --git a/lib/lexers/gap.tes b/lib/lexers/gap.tes
index 75985f4..7a680c7 100644
--- a/lib/lexers/gap.tes
+++ b/lib/lexers/gap.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.gap]{
- ESSETLEXERLANGUAGEgap
+ ESSETILEXERgap
0ESSETKEYWORDS
and break continue do elif else end fi for function if in local mod not od
or quit rec repeat return then until while QUIT
diff --git a/lib/lexers/go.tes b/lib/lexers/go.tes
index 8e4900b..a637b5c 100644
--- a/lib/lexers/go.tes
+++ b/lib/lexers/go.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.go]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
bool byte break case chan complex64 complex128 const continue defer default
else for func go goto fallthrough false float32 float64 if import int interface
diff --git a/lib/lexers/gob.tes b/lib/lexers/gob.tes
index e3e1e63..0d99982 100644
--- a/lib/lexers/gob.tes
+++ b/lib/lexers/gob.tes
@@ -8,7 +8,7 @@
}
@[lexer.set.gob]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
Q[lexer.c.basekeywords] _Alignas _Alignof _Atomic
_Bool _Complex _Generic _Imaginary _Noreturn _Static_assert _Thread_local
diff --git a/lib/lexers/html.tes b/lib/lexers/html.tes
index 79b6a4a..b09012d 100644
--- a/lib/lexers/html.tes
+++ b/lib/lexers/html.tes
@@ -19,7 +19,7 @@
}
@[lexer.set.html]{
- ESSETLEXERLANGUAGEhypertext
+ ESSETILEXERhypertext
0ESSETKEYWORDS
a abbr acronym address applet area b base basefont bdo big blockquote body
br button caption center cite code col colgroup dd del dfn dir div dl dt em
diff --git a/lib/lexers/idl.tes b/lib/lexers/idl.tes
index fdfda09..9180ae0 100644
--- a/lib/lexers/idl.tes
+++ b/lib/lexers/idl.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.idl]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
aggregatable allocate appobject arrays async async_uuid auto_handle bindable
boolean broadcast byte byte_count call_as callback char coclass code comm_status
diff --git a/lib/lexers/inno.tes b/lib/lexers/inno.tes
index ddd0e66..c963b1d 100644
--- a/lib/lexers/inno.tes
+++ b/lib/lexers/inno.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.inno]{
- ESSETLEXERLANGUAGEinno
+ ESSETILEXERinno
0ESSETKEYWORDS
code components custommessages dirs files icons ini installdelete
langoptions languages messages registry run setup types tasks uninstalldelete
diff --git a/lib/lexers/java.tes b/lib/lexers/java.tes
index 83560e5..a9a592a 100644
--- a/lib/lexers/java.tes
+++ b/lib/lexers/java.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.java]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
abstract assert boolean break byte case catch char class const continue
default do double else enum extends final finally float for goto if implements
diff --git a/lib/lexers/js.tes b/lib/lexers/js.tes
index 5968f9c..3e8ed8e 100644
--- a/lib/lexers/js.tes
+++ b/lib/lexers/js.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.js]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
abstract boolean break byte case catch char class const continue debugger
default delete do double else enum export extends final finally float for function
diff --git a/lib/lexers/kix.tes b/lib/lexers/kix.tes
index 21e7ec9..f63b5c5 100644
--- a/lib/lexers/kix.tes
+++ b/lib/lexers/kix.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.kix]{
- ESSETLEXERLANGUAGEkix
+ ESSETILEXERkix
0ESSETKEYWORDS
? and beep big break call cd cls color cookie1 copy debug del dim display do
until exit flushkb for each next function endfunction get gets global go gosub
diff --git a/lib/lexers/lisp.tes b/lib/lexers/lisp.tes
index e96ed41..c17196a 100644
--- a/lib/lexers/lisp.tes
+++ b/lib/lexers/lisp.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.lisp]{
- ESSETLEXERLANGUAGElisp
+ ESSETILEXERlisp
0ESSETKEYWORDS
not defun + - * / = < > <= >= princ eval apply funcall quote identity
function complement backquote lambda set setq setf defun defmacro gensym make symbol
diff --git a/lib/lexers/lout.tes b/lib/lexers/lout.tes
index cdadf02..cb161b7 100644
--- a/lib/lexers/lout.tes
+++ b/lib/lexers/lout.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.lout]{
- ESSETLEXERLANGUAGElout
+ ESSETILEXERlout
0ESSETKEYWORDS
@OptGall @FontDef @Family @Face @Name @Metrics @ExtraMetrics @Mapping
@Recode @Filter @FilterIn @FilterOut @FilterErr @Common @Rump @Meld @Insert @OneOf
diff --git a/lib/lexers/lua.tes b/lib/lexers/lua.tes
index 0330414..f0eeca4 100644
--- a/lib/lexers/lua.tes
+++ b/lib/lexers/lua.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.lua]{
- ESSETLEXERLANGUAGElua
+ ESSETILEXERlua
0ESSETKEYWORDS
and break do else elseif end for function if in local nil not or repeat
return then until while false true goto
diff --git a/lib/lexers/make.tes b/lib/lexers/make.tes
index eb5c383..2e1d661 100644
--- a/lib/lexers/make.tes
+++ b/lib/lexers/make.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.make]{
- ESSETLEXERLANGUAGEmakefile
+ ESSETILEXERmakefile
:M[color.comment],1M[color.set]
:M[color.preproc],2M[color.set]
:M[color.variable],3M[color.set]
diff --git a/lib/lexers/mako.tes b/lib/lexers/mako.tes
index 381f380..5cbf9fd 100644
--- a/lib/lexers/mako.tes
+++ b/lib/lexers/mako.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.mako]{
- ESSETLEXERLANGUAGEhypertext
+ ESSETILEXERhypertext
0ESSETKEYWORDS
a abbr acronym address applet area b base basefont bdo big blockquote body
br button caption center cite code col colgroup dd del dfn dir div dl dt em
diff --git a/lib/lexers/matlab.tes b/lib/lexers/matlab.tes
index 3ad4d4c..d63a6f8 100644
--- a/lib/lexers/matlab.tes
+++ b/lib/lexers/matlab.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.matlab]{
- ESSETLEXERLANGUAGEmatlab
+ ESSETILEXERmatlab
0ESSETKEYWORDS
break case catch continue else elseif end for function global if otherwise
persistent return switch try while
diff --git a/lib/lexers/mmixal.tes b/lib/lexers/mmixal.tes
index ff54ba8..7f7df43 100644
--- a/lib/lexers/mmixal.tes
+++ b/lib/lexers/mmixal.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.mmixal]{
- ESSETLEXERLANGUAGEmmixal
+ ESSETILEXERmmixal
0ESSETKEYWORDS
2ADDU 4ADDU 8ADDU 16ADDU ADD ADDU AND ANDNH ANDNL ANDNMH ANDNML BDIF BEV BN
BNN BNP BNZ BOD BP BSPEC BYTE BZ CMP CMPU CSEV CSN CSNN CSNP CSNZ CSOD CSP CSWAP
diff --git a/lib/lexers/octave.tes b/lib/lexers/octave.tes
index 5f2c5b3..2df769a 100644
--- a/lib/lexers/octave.tes
+++ b/lib/lexers/octave.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.octave]{
- ESSETLEXERLANGUAGEoctave
+ ESSETILEXERoctave
0ESSETKEYWORDS
__FILE__ __LINE__ break case catch classdef continue do else elseif end
end_try_catch end_unwind_protect endclassdef endenumeration endevents endfor endif
diff --git a/lib/lexers/oscript.tes b/lib/lexers/oscript.tes
index 652e3e0..949e564 100644
--- a/lib/lexers/oscript.tes
+++ b/lib/lexers/oscript.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.oscript]{
- ESSETLEXERLANGUAGEoscript
+ ESSETILEXERoscript
0ESSETKEYWORDS
break breakif by case continue continueif default downto else elseif end for
goto if in repeat switch to until while function return void dll inbyref inout
diff --git a/lib/lexers/pascal.tes b/lib/lexers/pascal.tes
index e78f383..66e705c 100644
--- a/lib/lexers/pascal.tes
+++ b/lib/lexers/pascal.tes
@@ -9,7 +9,7 @@
}
@[lexer.set.pascal]{
- ESSETLEXERLANGUAGEpascal
+ ESSETILEXERpascal
0ESSETKEYWORDS
absolute abstract and array as asm assembler automated begin case cdecl
class const constructor delayed deprecated destructor dispid dispinterface div do
diff --git a/lib/lexers/perl.tes b/lib/lexers/perl.tes
index 7c966b4..3dd99ae 100644
--- a/lib/lexers/perl.tes
+++ b/lib/lexers/perl.tes
@@ -8,7 +8,7 @@
}
@[lexer.set.perl]{
- ESSETLEXERLANGUAGEperl
+ ESSETILEXERperl
0ESSETKEYWORDS
NULL __FILE__ __LINE__ __PACKAGE__ __DATA__ __END__ AUTOLOAD BEGIN CORE
DESTROY END EQ GE GT INIT LE LT NE CHECK abs accept alarm and atan2 bind binmode
diff --git a/lib/lexers/php.tes b/lib/lexers/php.tes
index fe6acc3..e60c769 100644
--- a/lib/lexers/php.tes
+++ b/lib/lexers/php.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.php]{
- ESSETLEXERLANGUAGEhypertext
+ ESSETILEXERhypertext
0ESSETKEYWORDS
a abbr acronym address applet area b base basefont bdo big blockquote body
br button caption center cite code col colgroup dd del dfn dir div dl dt em
diff --git a/lib/lexers/pike.tes b/lib/lexers/pike.tes
index 4540fb1..9686fe2 100644
--- a/lib/lexers/pike.tes
+++ b/lib/lexers/pike.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.pike]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
constant enum if do for while else foreach case switch break continue return
typeof catch class lambda import inherit static void int string float mixed object
diff --git a/lib/lexers/pov.tes b/lib/lexers/pov.tes
index 133e70e..257ce19 100644
--- a/lib/lexers/pov.tes
+++ b/lib/lexers/pov.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.pov]{
- ESSETLEXERLANGUAGEpov
+ ESSETILEXERpov
0ESSETKEYWORDS
declare local include undef fopen fclose read write default version case
range break debug error warning if ifdef ifndef switch while macro else end
diff --git a/lib/lexers/powerpro.tes b/lib/lexers/powerpro.tes
index bb0ac11..e487604 100644
--- a/lib/lexers/powerpro.tes
+++ b/lib/lexers/powerpro.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.powerpro]{
- ESSETLEXERLANGUAGEpowerpro
+ ESSETILEXERpowerpro
0ESSETKEYWORDS
break do else elseif endfor endif for function global gt if ifelse ifx jump
local lt quit static
diff --git a/lib/lexers/purebasic.tes b/lib/lexers/purebasic.tes
index d09df51..e9e20a7 100644
--- a/lib/lexers/purebasic.tes
+++ b/lib/lexers/purebasic.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.purebasic]{
- ESSETLEXERLANGUAGEpurebasic
+ ESSETILEXERpurebasic
0ESSETKEYWORDS
and break case continue data datasection declare declarecdll declaredll
default deftype dim else elseif end enddatasection endenumeration endif endinterface
diff --git a/lib/lexers/r.tes b/lib/lexers/r.tes
index 75f9a2f..9fb393e 100644
--- a/lib/lexers/r.tes
+++ b/lib/lexers/r.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.r]{
- ESSETLEXERLANGUAGEr
+ ESSETILEXERr
0ESSETKEYWORDS
if else repeat while function for in next break TRUE FALSE NULL NA Inf NaN
1ESSETKEYWORDS
diff --git a/lib/lexers/rc.tes b/lib/lexers/rc.tes
index 940a11b..db2203d 100644
--- a/lib/lexers/rc.tes
+++ b/lib/lexers/rc.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.rc]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
ACCELERATORS ALT AUTO3STATE AUTOCHECKBOX AUTORADIOBUTTON BEGIN BITMAP BLOCK
BUTTON CAPTION CHARACTERISTICS CHECKBOX CLASS COMBOBOX CONTROL CTEXT CURSOR
diff --git a/lib/lexers/rebol.tes b/lib/lexers/rebol.tes
index c2555e8..cef071c 100644
--- a/lib/lexers/rebol.tes
+++ b/lib/lexers/rebol.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.rebol]{
- ESSETLEXERLANGUAGErebol
+ ESSETILEXERrebol
0ESSETKEYWORDS
about abs absolute add alert alias all alter and any any-block?
any-function? any-string? any-type? any-word? append arccosine arcsine arctangent array
diff --git a/lib/lexers/rust.tes b/lib/lexers/rust.tes
index 96e457f..4ffd9b5 100644
--- a/lib/lexers/rust.tes
+++ b/lib/lexers/rust.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.rust]{
- ESSETLEXERLANGUAGErust
+ ESSETILEXERrust
0ESSETKEYWORDS
if else repeat while function for in next break TRUE FALSE NULL NA Inf NaN
1ESSETKEYWORDS
diff --git a/lib/lexers/scheme.tes b/lib/lexers/scheme.tes
index d56f45d..31af808 100644
--- a/lib/lexers/scheme.tes
+++ b/lib/lexers/scheme.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.scheme]{
- ESSETLEXERLANGUAGElisp
+ ESSETILEXERlisp
0ESSETKEYWORDS
+ - * / = < > <= >= => abs acos and angle append apply asin assoc assoc assq
assv atan begin boolean? caar cadr call-with-current-continuation call/cc
diff --git a/lib/lexers/specman.tes b/lib/lexers/specman.tes
index 6836405..3d83590 100644
--- a/lib/lexers/specman.tes
+++ b/lib/lexers/specman.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.specman]{
- ESSETLEXERLANGUAGEeiffel
+ ESSETILEXEReiffel
0ESSETKEYWORDS
abs acos ascii asin asstring atan atan2 ave case choose choosen choosesets
clustersize cos cosh count cron dataset dedup denormalize distribute distributed
diff --git a/lib/lexers/spice.tes b/lib/lexers/spice.tes
index 4e15a95..5178d01 100644
--- a/lib/lexers/spice.tes
+++ b/lib/lexers/spice.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.spice]{
- ESSETLEXERLANGUAGEspice
+ ESSETILEXERspice
0ESSETKEYWORDS
ac alias alter alterparam append askvalues assertvalid autoscale break
compose copy copytodoc dc delete destroy destroyvec diff display disto dowhile echo
diff --git a/lib/lexers/swift.tes b/lib/lexers/swift.tes
index 285b7af..4a20509 100644
--- a/lib/lexers/swift.tes
+++ b/lib/lexers/swift.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.swift]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
class deinit enum extension func import init internal let operator private
protocol public static struct subscript typealias var break case continue default do
diff --git a/lib/lexers/systemverilog.tes b/lib/lexers/systemverilog.tes
index 76e7aad..3df1225 100644
--- a/lib/lexers/systemverilog.tes
+++ b/lib/lexers/systemverilog.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.systemverilog]{
- ESSETLEXERLANGUAGEverilog
+ ESSETILEXERverilog
0ESSETKEYWORDS
alias always always_comb always_ff always_latch and assert assign assume
automatic before begin bind bins binsof bit break buf bufif0 bufif1 byte case casex
diff --git a/lib/lexers/tacl.tes b/lib/lexers/tacl.tes
index bf24554..a0d5bc9 100644
--- a/lib/lexers/tacl.tes
+++ b/lib/lexers/tacl.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.tacl]{
- ESSETLEXERLANGUAGETACL
+ ESSETILEXERTACL
0ESSETKEYWORDS
activate add adddsttransition adduser alter altpri assign attachseg
backupcpu break builtins buscmd clear columnize comment compute copy dump copyvar
diff --git a/lib/lexers/tal.tes b/lib/lexers/tal.tes
index 2504183..247c451 100644
--- a/lib/lexers/tal.tes
+++ b/lib/lexers/tal.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.tal]{
- ESSETLEXERLANGUAGETAL
+ ESSETILEXERTAL
0ESSETKEYWORDS
and assert baddr begin by call callable case cbaddr code cwaddr define do
downto drop else end entry external fixed for forward goto if int interrupt label
diff --git a/lib/lexers/tcl.tes b/lib/lexers/tcl.tes
index 13e1bb1..d5fd022 100644
--- a/lib/lexers/tcl.tes
+++ b/lib/lexers/tcl.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.tcl]{
- ESSETLEXERLANGUAGEtcl
+ ESSETILEXERtcl
0ESSETKEYWORDS
after append array auto_execok auto_import auto_load auto_load_index
auto_qualify beep bgerror binary break case catch cd clock close concat continue dde
diff --git a/lib/lexers/test.tes b/lib/lexers/test.tes
index 9670b4c..cc719db 100644
--- a/lib/lexers/test.tes
+++ b/lib/lexers/test.tes
@@ -7,7 +7,7 @@
}
@[lexer.set.test]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
:M[color.comment],1M[color.set]
:M[color.comment],2M[color.set]
:M[color.comment],3M[color.set]
diff --git a/lib/lexers/vala.tes b/lib/lexers/vala.tes
index 3e2c457..85b9ceb 100644
--- a/lib/lexers/vala.tes
+++ b/lib/lexers/vala.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.vala]{
- ESSETLEXERLANGUAGEcpp
+ ESSETILEXERcpp
0ESSETKEYWORDS
if else switch case default break continue return yield for foreach in do
while try catch finally throw
diff --git a/lib/lexers/vb.tes b/lib/lexers/vb.tes
index bf8eae4..c37752b 100644
--- a/lib/lexers/vb.tes
+++ b/lib/lexers/vb.tes
@@ -12,7 +12,7 @@
}
@[lexer.set.vb]{
- ESSETLEXERLANGUAGEvb
+ ESSETILEXERvb
0ESSETKEYWORDS
addressof alias and as attribute base begin binary boolean byref byte byval
call case cdbl cint clng compare const csng cstr currency date decimal declare
diff --git a/lib/lexers/verilog.tes b/lib/lexers/verilog.tes
index 33e47a9..23f874f 100644
--- a/lib/lexers/verilog.tes
+++ b/lib/lexers/verilog.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.verilog]{
- ESSETLEXERLANGUAGEverilog
+ ESSETILEXERverilog
0ESSETKEYWORDS
always and assign automatic begin buf bufif0 bufif1 case casex casez cell
cmos config deassign default defparam design disable edge else end endcase
diff --git a/lib/lexers/vhdl.tes b/lib/lexers/vhdl.tes
index a762b24..37fe9bf 100644
--- a/lib/lexers/vhdl.tes
+++ b/lib/lexers/vhdl.tes
@@ -6,7 +6,7 @@
}
@[lexer.set.vhdl]{
- ESSETLEXERLANGUAGEvhdl
+ ESSETILEXERvhdl
0ESSETKEYWORDS
access after alias all architecture array assert attribute begin block body
buffer bus case component configuration constant disconnect downto else elsif end
diff --git a/lib/lexers/vxml.tes b/lib/lexers/vxml.tes
index 86980e7..60dc060 100644
--- a/lib/lexers/vxml.tes
+++ b/lib/lexers/vxml.tes
@@ -5,7 +5,7 @@
}
@[lexer.set.vxml]{
- ESSETLEXERLANGUAGEhypertext
+ ESSETILEXERhypertext
0ESSETKEYWORDS
assign audio block break catch choice clear disconnect else elseif emphasis
enumerate error exit field filled form goto grammar help if initial link log menu meta
diff --git a/lib/lexers/xml.tes b/lib/lexers/xml.tes
index 3b6ae41..87ed9b7 100644
--- a/lib/lexers/xml.tes
+++ b/lib/lexers/xml.tes
@@ -14,7 +14,7 @@
}
@[lexer.set.xml]{
- ESSETLEXERLANGUAGExml
+ ESSETILEXERxml
0ESSETKEYWORDS 
! DTD keywords !
5ESSETKEYWORDS
diff --git a/lib/scite2co.lua b/lib/scite2co.lua
index e03a59f..8e47ff2 100755
--- a/lib/scite2co.lua
+++ b/lib/scite2co.lua
@@ -112,11 +112,11 @@ io.write([=[}
-- NOTE: The lexer encoded in the property file is not
-- a SCLEX_* name but rather the lexer's module name
-- as set by the LexerModule constructor.
--- Therefore we must emit SCI_SETLEXERLANGUAGE calls here.
+-- Therefore we must emit SCI_SETILEXER calls here.
local lexer = expand(get_property_by_pattern("lexer.", file_patterns))
io.write([=[
@[lexer.set.]=]..language:lower()..[=[]{
- ESSETLEXERLANGUAGE]=]..lexer..[=[
+ ESSETILEXER]=]..lexer..[=[
]=])
-- print keyword definitions with word wrapping
for i = 1, 9 do
diff --git a/scintilla b/scintilla
deleted file mode 160000
-Subproject aa3365e7a2c4de405dab8ecc27283b3a64935dc
diff --git a/scintilla.am b/scintilla.am
deleted file mode 100644
index c9cf4c6..0000000
--- a/scintilla.am
+++ /dev/null
@@ -1,43 +0,0 @@
-# Scintilla/Scinterm are cloned as submodules
-# of this repository, so we may give a rule
-# for building scintilla.a here.
-
-if INTERFACE_GTK
-MAKE_SCINTILLA = $(MAKE) -C @SCINTILLA_PATH@/gtk \
- GTK3=yes CONFIGFLAGS='@LIBGTK_CFLAGS@' \
- CXXFLAGS='@SCINTILLA_CXXFLAGS@'
-else
-# FIXME: There is currently no way to override the standard optimization
-# flags of Scinterm, so we pass them in CURSES_FLAGS.
-MAKE_SCINTILLA = $(MAKE) -C @SCINTERM_PATH@ \
- CURSES_FLAGS='@PDCURSES_CFLAGS@ @XCURSES_CFLAGS@ @NCURSES_CFLAGS@ @SCINTILLA_CXXFLAGS@'
-endif
-
-# Pass toolchain configuration to Scintilla.
-# This is what allows cross compilation
-MAKE_SCINTILLA += CC='@CC@' CXX='@CXX@' \
- AR='@AR@' RANLIB='@RANLIB@'
-
-# Build as phony target - we do not know
-# scintilla.a's dependencies.
-# If it's up to date, the additional recursive
-# make call does not hurt.
-.PHONY: make-scintilla
-make-scintilla:
- $(MAKE_SCINTILLA)
-
-# scintilla.a itself is not phony.
-# This avoids unnecessary relinking if it is
-# up to date.
-# Also note the ; which defines this recipe as
-# empty.
-@SCINTILLA_PATH@/bin/scintilla.a : make-scintilla;
-
-.PHONY: clean-local-scintilla
-clean-local-scintilla:
- $(MAKE_SCINTILLA) clean
-
-# NOTE: using a separate `clean-local-scintilla`
-# target allows us to add more custom rules to the
-# including Automake file
-clean-local: clean-local-scintilla
diff --git a/src/Makefile.am b/src/Makefile.am
index 194d8ee..76c5843 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -9,7 +9,7 @@ LIBSCITECO_INTERFACE = interface-curses/libsciteco-interface.la
endif
include $(top_srcdir)/bootstrap.am
-include $(top_srcdir)/scintilla.am
+include $(top_srcdir)/contrib/scintilla.am
# FIXME: Common flags should be in configure.ac
AM_CFLAGS = -std=gnu11 -Wall -Wno-initializer-overrides -Wno-unused-value
@@ -74,7 +74,8 @@ sciteco_minimal_SOURCES =
symbols-scintilla.c symbols-scilexer.c : sciteco-minimal$(EXEEXT)
endif
sciteco_minimal_LDADD = libsciteco-base.la \
- @SCINTILLA_PATH@/bin/scintilla.a
+ @SCINTILLA_PATH@/bin/scintilla.a \
+ @LEXILLA_PATH@/bin/liblexilla.a
# Scintilla is unfortunately still written in C++, so we must force
# Automake to use the C++ linker when linking the binaries.
# The following hack is actually advocated in the Automake manual.
@@ -102,7 +103,7 @@ symbols-scintilla.c : @SCINTILLA_PATH@/include/Scintilla.h \
$(SCITECO_MINIMAL) -m -- @srcdir@/symbols-extract.tes \
-p "SCI_" -n teco_symbol_list_scintilla $@ $<
-symbols-scilexer.c : @SCINTILLA_PATH@/include/SciLexer.h \
+symbols-scilexer.c : @LEXILLA_PATH@/include/SciLexer.h \
symbols-extract.tes
$(SCITECO_MINIMAL) -m -- @srcdir@/symbols-extract.tes \
- -p "SCLEX_,SCE_" -n teco_symbol_list_scilexer $@ $<
+ -p "SCE_" -n teco_symbol_list_scilexer $@ $<
diff --git a/src/cmdline.c b/src/cmdline.c
index 9e73e4e..018998e 100644
--- a/src/cmdline.c
+++ b/src/cmdline.c
@@ -923,10 +923,11 @@ teco_state_scintilla_symbols_process_edit_cmd(teco_machine_main_t *ctx, teco_mac
: &teco_symbol_list_scilexer;
g_auto(teco_string_t) new_chars, new_chars_escaped;
gboolean unambiguous = teco_symbol_list_auto_complete(list, symbol, &new_chars);
+
+ teco_machine_stringbuilding_escape(stringbuilding_ctx, new_chars.data, new_chars.len, &new_chars_escaped);
/*
- * FIXME: Does not escape `,`. Also, <^Q,> is not allowed currently?
+ * FIXME: Does not escape `,`.
*/
- teco_machine_stringbuilding_escape(stringbuilding_ctx, new_chars.data, new_chars.len, &new_chars_escaped);
if (unambiguous)
teco_string_append_c(&new_chars_escaped, ',');
diff --git a/src/interface-curses/interface.c b/src/interface-curses/interface.c
index 5470264..825a312 100644
--- a/src/interface-curses/interface.c
+++ b/src/interface-curses/interface.c
@@ -57,7 +57,7 @@
#endif
#include <Scintilla.h>
-#include <ScintillaTerm.h>
+#include <ScintillaCurses.h>
#include "sciteco.h"
#include "string-utils.h"
@@ -262,7 +262,7 @@ teco_xterm_version(void)
*/
static void
-teco_view_scintilla_notify(Scintilla *sci, int idFrom, void *notify, void *user_data)
+teco_view_scintilla_notify(void *sci, int iMessage, SCNotification *notify, void *user_data)
{
teco_interface_process_notify(notify);
}
@@ -270,31 +270,31 @@ teco_view_scintilla_notify(Scintilla *sci, int idFrom, void *notify, void *user_
teco_view_t *
teco_view_new(void)
{
- return (teco_view_t *)scintilla_new(teco_view_scintilla_notify);
+ return (teco_view_t *)scintilla_new(teco_view_scintilla_notify, NULL);
}
static inline void
teco_view_noutrefresh(teco_view_t *ctx)
{
- scintilla_noutrefresh((Scintilla *)ctx);
+ scintilla_noutrefresh(ctx);
}
static inline WINDOW *
teco_view_get_window(teco_view_t *ctx)
{
- return scintilla_get_window((Scintilla *)ctx);
+ return scintilla_get_window(ctx);
}
sptr_t
teco_view_ssm(teco_view_t *ctx, unsigned int iMessage, uptr_t wParam, sptr_t lParam)
{
- return scintilla_send_message((Scintilla *)ctx, iMessage, wParam, lParam);
+ return scintilla_send_message(ctx, iMessage, wParam, lParam);
}
void
teco_view_free(teco_view_t *ctx)
{
- scintilla_delete((Scintilla *)ctx);
+ scintilla_delete(ctx);
}
static struct {
diff --git a/src/interface-gtk/interface.c b/src/interface-gtk/interface.c
index 567f034..5b9f530 100644
--- a/src/interface-gtk/interface.c
+++ b/src/interface-gtk/interface.c
@@ -92,8 +92,8 @@ teco_bgr2rgb(guint32 bgr)
*/
static void
-teco_view_scintilla_notify(ScintillaObject *sci, gint id,
- struct SCNotification *notify, gpointer user_data)
+teco_view_scintilla_notify(ScintillaObject *sci, gint iMessage,
+ SCNotification *notify, gpointer user_data)
{
teco_interface_process_notify(notify);
}
diff --git a/src/interface.c b/src/interface.c
index 21a83ff..2c06cd0 100644
--- a/src/interface.c
+++ b/src/interface.c
@@ -27,9 +27,9 @@
#include <glib/gstdio.h>
#include <Scintilla.h>
-#include <SciLexer.h>
#include "sciteco.h"
+#include "string-utils.h"
#include "undo.h"
#include "view.h"
#include "interface.h"
@@ -112,7 +112,7 @@ teco_interface_stdio_vmsg(teco_msg_t type, const gchar *fmt, va_list ap)
}
void
-teco_interface_process_notify(struct SCNotification *notify)
+teco_interface_process_notify(SCNotification *notify)
{
#ifdef DEBUG
g_printf("SCINTILLA NOTIFY: code=%d\n", notify->nmhdr.code);
diff --git a/src/interface.h b/src/interface.h
index c396225..ff98be0 100644
--- a/src/interface.h
+++ b/src/interface.h
@@ -149,7 +149,7 @@ gboolean teco_interface_event_loop(GError **error);
*/
/** @protected */
void teco_interface_stdio_vmsg(teco_msg_t type, const gchar *fmt, va_list ap);
-void teco_interface_process_notify(struct SCNotification *notify);
+void teco_interface_process_notify(SCNotification *notify);
/** @pure */
void teco_interface_cleanup(void);
diff --git a/src/parser.h b/src/parser.h
index b594edc..21c0e20 100644
--- a/src/parser.h
+++ b/src/parser.h
@@ -405,7 +405,6 @@ typedef struct {
typedef struct {
unsigned int iMessage;
uptr_t wParam;
- sptr_t lParam;
} teco_machine_scintilla_t;
typedef enum {
diff --git a/src/symbols.c b/src/symbols.c
index 003d745..fc2ec5b 100644
--- a/src/symbols.c
+++ b/src/symbols.c
@@ -24,6 +24,9 @@
#include <glib.h>
+#include <Scintilla.h>
+#include <Lexilla.h>
+
#include "sciteco.h"
#include "string-utils.h"
#include "error.h"
@@ -194,26 +197,13 @@ teco_scintilla_parse_symbols(teco_machine_scintilla_t *scintilla, const teco_str
gint v = teco_symbol_list_lookup(&teco_symbol_list_scilexer, symbols[1], "");
if (v < 0) {
g_set_error(error, TECO_ERROR, TECO_ERROR_FAILED,
- "Unknown Scintilla Lexer symbol \"%s\"",
+ "Unknown Lexilla style symbol \"%s\"",
symbols[1]);
return FALSE;
}
scintilla->wParam = v;
}
- if (!symbols[2])
- return TRUE;
- if (*symbols[2]) {
- gint v = teco_symbol_list_lookup(&teco_symbol_list_scilexer, symbols[2], "");
- if (v < 0) {
- g_set_error(error, TECO_ERROR, TECO_ERROR_FAILED,
- "Unknown Scintilla Lexer symbol \"%s\"",
- symbols[2]);
- return FALSE;
- }
- scintilla->lParam = v;
- }
-
return TRUE;
}
@@ -263,35 +253,40 @@ gboolean teco_state_scintilla_symbols_process_edit_cmd(teco_machine_main_t *ctx,
/*$ ES scintilla message
* -- Send Scintilla message
- * [lParam[,wParam]]ESmessage[,wParam[,lParam]]$[lParam]$ -> result
+ * [lParam,][wParam,][message]ES[message][,wParam]$[lParam]$ -> result
*
- * Send Scintilla message with code specified by symbolic
- * name <message>, <wParam> and <lParam>.
- * <wParam> may be symbolic when specified as part of the
- * first string argument.
- * If not it is popped from the stack.
+ * Send Scintilla message with code specified by
+ * <message>, <wParam> and <lParam>.
+ * <message> and <wParam> may be a symbolic names when specified as
+ * part of the first string argument.
+ * If not, they are popped from the stack.
* <lParam> may be specified as a constant string whose
* pointer is passed to Scintilla if specified as the second
* string argument.
+ * It is automatically null-terminated.
* If the second string argument is empty, <lParam> is popped
* from the stack instead.
* Parameters popped from the stack may be omitted, in which
* case 0 is implied.
* The message's return value is pushed onto the stack.
*
- * All messages defined by Scintilla (as C macros) can be
- * used by passing their name as a string to ES
+ * All messages defined by Scintilla (as C macros in Scintilla.h)
+ * can be used by passing their name as a string to ES
* (e.g. ESSCI_LINESONSCREEN...).
* The \(lqSCI_\(rq prefix may be omitted and message symbols
* are case-insensitive.
- * Only the Scintilla lexer symbols (SCLEX_..., SCE_...)
- * may be used symbolically with the ES command as <wParam>,
- * other values must be passed as integers on the stack.
+ * Only the Lexilla style names (SCE_...)
+ * may be used symbolically with the ES command as <wParam>.
* In interactive mode, symbols may be auto-completed by
* pressing Tab.
* String-building characters are by default interpreted
* in the string arguments.
*
+ * As a special exception, you can and must specify a
+ * Lexilla lexer name as a string argument for the \fBSCI_SETILEXER\fP
+ * message, ie. in order to load a Lexilla lexer
+ * (this works similar to the old \fBSCI_SETLEXERLANGUAGE\fP message).
+ *
* .BR Warning :
* Almost all Scintilla messages may be dispatched using
* this command.
@@ -322,26 +317,36 @@ teco_state_scintilla_lparam_done(teco_machine_main_t *ctx, const teco_string_t *
if (ctx->mode > TECO_MODE_NORMAL)
return &teco_state_start;
- if (teco_string_contains(str, '\0')) {
- g_set_error_literal(error, TECO_ERROR, TECO_ERROR_FAILED,
- "Scintilla lParam string must not contain null-byte.");
- return NULL;
- }
+ sptr_t lParam = 0;
+
+ if (ctx->scintilla.iMessage == SCI_SETILEXER) {
+ if (teco_string_contains(str, '\0')) {
+ g_set_error_literal(error, TECO_ERROR, TECO_ERROR_FAILED,
+ "Lexer name must not contain null-byte.");
+ return NULL;
+ }
- if (!ctx->scintilla.lParam) {
- if (str->len > 0) {
- ctx->scintilla.lParam = (sptr_t)str->data;
- } else {
- teco_int_t v;
- if (!teco_expressions_pop_num_calc(&v, 0, error))
- return NULL;
- ctx->scintilla.lParam = v;
+ lParam = (sptr_t)CreateLexer(str->data);
+ if (!lParam) {
+ g_set_error(error, TECO_ERROR, TECO_ERROR_FAILED,
+ "Lexilla lexer \"%s\" not found.", str->data);
+ return NULL;
}
+ } else if (str->len > 0) {
+ /*
+ * NOTE: There may even be messages that read strings
+ * with embedded nulls.
+ */
+ lParam = (sptr_t)str->data;
+ } else {
+ teco_int_t v;
+ if (!teco_expressions_pop_num_calc(&v, 0, error))
+ return NULL;
+ lParam = v;
}
teco_expressions_push(teco_interface_ssm(ctx->scintilla.iMessage,
- ctx->scintilla.wParam,
- ctx->scintilla.lParam));
+ ctx->scintilla.wParam, lParam));
return &teco_state_start;
}
diff --git a/src/view.c b/src/view.c
index 0ccf42e..80835a2 100644
--- a/src/view.c
+++ b/src/view.c
@@ -77,12 +77,14 @@ teco_view_setup(teco_view_t *ctx)
* a consistent look across UIs if no profile
* is used. This makes writing UI-agnostic profiles
* and color schemes easier.
+ *
* FIXME: Some settings like fonts should probably
* be set per UI (i.e. Scinterm doesn't use it,
* GTK might try to use a system-wide default
* monospaced font).
*/
- teco_view_ssm(ctx, SCI_SETCARETSTYLE, CARETSTYLE_BLOCK, 0);
+ teco_view_ssm(ctx, SCI_SETCARETSTYLE,
+ CARETSTYLE_BLOCK | CARETSTYLE_OVERSTRIKE_BLOCK | CARETSTYLE_BLOCK_AFTER, 0);
teco_view_ssm(ctx, SCI_SETCARETPERIOD, 0, 0);
teco_view_ssm(ctx, SCI_SETCARETFORE, 0xFFFFFF, 0);