diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-11-22 05:31:31 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-11-22 05:31:31 +0100 |
commit | 427c9d16ce7e62cbe2671748cd8434132ce60482 (patch) | |
tree | b3b4657c8178dcc9308790abaa1c2cf9bbc4c09b /lib | |
parent | 28fd3dbdc831f28c91d521e1804a9d9ff5bbf3db (diff) | |
download | sciteco-427c9d16ce7e62cbe2671748cd8434132ce60482.tar.gz |
added globbing command EN
* implements the same globbing as the EB command already did
* uses Globber helper class that behaves more like UNIX glob().
glib only has a glob-style pattern matcher.
* The Globber class may be extended later to provide more
UNIX-like globbing.
* lexer.tes has been updated to make use of globbing.
Now, lexers can be automatically loaded and registered at
startup. To install a new lexer, it's sufficient to copy
a file to the lexers/ directory.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/lexer.tes | 21 | ||||
-rw-r--r-- | lib/lexers/batch.tes | 4 | ||||
-rw-r--r-- | lib/lexers/cmake.tes | 4 | ||||
-rw-r--r-- | lib/lexers/cpp.tes | 4 | ||||
-rw-r--r-- | lib/lexers/make.tes | 4 | ||||
-rw-r--r-- | lib/lexers/patch.tes | 4 | ||||
-rw-r--r-- | lib/lexers/sh.tes | 4 | ||||
-rw-r--r-- | lib/lexers/xml.tes | 4 |
8 files changed, 13 insertions, 36 deletions
diff --git a/lib/lexer.tes b/lib/lexer.tes index 01c3bf1..0a4622c 100644 --- a/lib/lexer.tes +++ b/lib/lexer.tes @@ -19,14 +19,19 @@ :M[color.error],35M[color.set] } -! individual tests are appended by the lexers/*.tes files ! -EMQ[$SCITECOPATH]/lexers/batch.tes -EMQ[$SCITECOPATH]/lexers/cmake.tes -EMQ[$SCITECOPATH]/lexers/cpp.tes -EMQ[$SCITECOPATH]/lexers/make.tes -EMQ[$SCITECOPATH]/lexers/patch.tes -EMQ[$SCITECOPATH]/lexers/sh.tes -EMQ[$SCITECOPATH]/lexers/xml.tes +! Automatically mung all the lexers and them to "lexer.auto" ! +Q*U.#cd EQ.[lexers] +ENQ[$SCITECOPATH]/lexers/*.tes J +<:L;R + 0X.[filename] .-4U.p -S/ .,Q.pX.[name] + EMQ.[filename] + EQ[lexer.auto] ZJ + @I{ + :M[lexer.test.Q.[name]]"S :M[lexer.set.Q.[name]] Oend ' + } + EQ.[lexers] +L> +Q.#cdEB ! append an "end" label ! :[lexer.auto]!end! diff --git a/lib/lexers/batch.tes b/lib/lexers/batch.tes index 7175a6c..000910d 100644 --- a/lib/lexers/batch.tes +++ b/lib/lexers/batch.tes @@ -21,7 +21,3 @@ :M[color.variable],6M[color.set] :M[color.operator],7M[color.set] } - -@:[lexer.auto]{ - :M[lexer.test.batch]"S :M[lexer.set.batch] Oend ' -} diff --git a/lib/lexers/cmake.tes b/lib/lexers/cmake.tes index 435a357..02728e5 100644 --- a/lib/lexers/cmake.tes +++ b/lib/lexers/cmake.tes @@ -75,7 +75,3 @@ :M[color.variable],13M[color.set] :M[color.number],14M[color.set] } - -@:[lexer.auto]{ - :M[lexer.test.cmake]"S :M[lexer.set.cmake] Oend ' -} diff --git a/lib/lexers/cpp.tes b/lib/lexers/cpp.tes index f07555a..8d7cee8 100644 --- a/lib/lexers/cpp.tes +++ b/lib/lexers/cpp.tes @@ -37,7 +37,3 @@ :M[color.preproc],9M[color.set] :M[color.operator],10M[color.set] } - -@:[lexer.auto]{ - :M[lexer.test.cpp]"S :M[lexer.set.cpp] Oend ' -} diff --git a/lib/lexers/make.tes b/lib/lexers/make.tes index 48ad886..bf7a973 100644 --- a/lib/lexers/make.tes +++ b/lib/lexers/make.tes @@ -13,7 +13,3 @@ :M[color.target],5M[color.set] :M[color.error],6M[color.set] } - -@:[lexer.auto]{ - :M[lexer.test.make]"S :M[lexer.set.make] Oend ' -} diff --git a/lib/lexers/patch.tes b/lib/lexers/patch.tes index 2a7204d..20670c1 100644 --- a/lib/lexers/patch.tes +++ b/lib/lexers/patch.tes @@ -14,7 +14,3 @@ :M[color.addition],6M[color.set] :M[color.change],7M[color.set] } - -@:[lexer.auto]{ - :M[lexer.test.patch]"S :M[lexer.set.patch] Oend ' -} diff --git a/lib/lexers/sh.tes b/lib/lexers/sh.tes index 7d4f14c..5e853d0 100644 --- a/lib/lexers/sh.tes +++ b/lib/lexers/sh.tes @@ -48,7 +48,3 @@ :M[color.variable],10M[color.set] :M[color.string2],11M[color.set] ! Backticks ! } - -@:[lexer.auto]{ - :M[lexer.test.sh]"S :M[lexer.set.sh] Oend ' -} diff --git a/lib/lexers/xml.tes b/lib/lexers/xml.tes index de82542..30094ea 100644 --- a/lib/lexers/xml.tes +++ b/lib/lexers/xml.tes @@ -23,7 +23,3 @@ :M[color.preproc2],13M[color.set] ! PI ! :M[color.string2],14M[color.set] ! CDATA ! } - -@:[lexer.auto]{ - :M[lexer.test.xml]"S :M[lexer.set.xml] Oend ' -} |