aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/lexers
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lexers')
-rw-r--r--lib/lexers/bash.tes8
-rw-r--r--lib/lexers/batch.tes3
-rw-r--r--lib/lexers/email.tes19
-rw-r--r--lib/lexers/git.tes9
-rw-r--r--lib/lexers/latex.tes32
-rw-r--r--lib/lexers/make.tes3
-rw-r--r--lib/lexers/python.tes4
-rw-r--r--lib/lexers/sciteco.tesbin697 -> 809 bytes
-rw-r--r--lib/lexers/woman.tes10
-rw-r--r--lib/lexers/yaml.tes5
10 files changed, 79 insertions, 14 deletions
diff --git a/lib/lexers/bash.tes b/lib/lexers/bash.tes
index 862a0c1..893fc8d 100644
--- a/lib/lexers/bash.tes
+++ b/lib/lexers/bash.tes
@@ -35,10 +35,12 @@
:M[color.number],3M[color.set]
:M[color.keyword],4M[color.set]
:M[color.string],5M[color.set]
- :M[color.string],6M[color.set]
+ :M[color.string2],6M[color.set]
:M[color.operator],7M[color.set]
- :M[color.target],8M[color.set] !* Identifiers, e.g. FOO=... *!
+ !!:M[color.target],8M[color.set] !* Identifiers, e.g. FOO=... *!
:M[color.variable],9M[color.set]
:M[color.variable],10M[color.set]
- :M[color.string2],11M[color.set] !* Backticks *!
+ :M[color.preproc],11M[color.set] !* Backticks *!
+ :M[color.target],12M[color.set] !* Heredoc delimiter *!
+ :M[color.preproc2],13M[color.set] !* Heredoc *!
}
diff --git a/lib/lexers/batch.tes b/lib/lexers/batch.tes
index dddd802..97717a1 100644
--- a/lib/lexers/batch.tes
+++ b/lib/lexers/batch.tes
@@ -17,7 +17,8 @@
:M[color.keyword],2M[color.set]
:M[color.target],3M[color.set] !* Labels *!
:M[color.preproc],4M[color.set] !* Hide Cmd @ *!
- :M[color.preproc2],5M[color.set] !* External Cmd *!
+ !!:M[color.preproc2],5M[color.set] !* External Cmd *!
:M[color.variable],6M[color.set]
:M[color.operator],7M[color.set]
+ :M[color.preproc2],8M[color.set] !* After label *!
}
diff --git a/lib/lexers/email.tes b/lib/lexers/email.tes
index 895aeea..11dbcf7 100644
--- a/lib/lexers/email.tes
+++ b/lib/lexers/email.tes
@@ -21,14 +21,25 @@
ZJ [_-:S^J-- ^J]_"S !* signatures *!
4R .U.z
ESSTARTSTYLING 1,(:-)ESSETSTYLING
+
+ !* the signature is foldable *!
+ ESLINEFROMPOSITIONU.l
+ 1024#(2^*13),Q.lESSETFOLDLEVEL
+ <:L; 1025,%.lESSETFOLDLEVEL>
'
+ 0U.l
J< .-Q.z"= 1; '
- 0A->"= !* quotes *!
- U.s
- <:C; 0A- "N 1; '> .-Q.z"= 1; '
+ U.s
+ 0U.q <0A->"N1;' %.q <:C; 0A- "N 1; '>>
+
+ Q.q"> !* quotes *!
Q.sESSTARTSTYLING
- (0A->"=3|2'),(Q.lESLINELENGTH)ESSETSTYLING
+ (Q.q-1">3|2'),(Q.lESLINELENGTH)ESSETSTYLING
+
+ !* first line with higher quote level: will be the header *!
+ (Q.l-1ESGETLINESTATE)-Q.q"< (1024+Q.q-1)#(2^*13) | (1024+Q.q) ',Q.lESSETFOLDLEVEL
+ Q.q,Q.lESSETLINESTATE
'
:L; %.l>
]:}
diff --git a/lib/lexers/git.tes b/lib/lexers/git.tes
index 8495f12..491ec1e 100644
--- a/lib/lexers/git.tes
+++ b/lib/lexers/git.tes
@@ -18,6 +18,13 @@
:M[color.comment],1M[color.set]
J< .-Z"= 1; '
- 0A-#"= ESSTARTSTYLING 1,(Q.lESLINELENGTH)ESSETSTYLING '
+ 0A-#"=
+ ESSTARTSTYLING 1,(Q.lESLINELENGTH)ESSETSTYLING
+
+ !* only the first line gets the fold level header *!
+ -2ESGETSTYLEINDEXAT-1"N 1024#(2^*13) | 1025 ',Q.lESSETFOLDLEVEL
+ '
+ !* empty line *!
+ 0A-10"= 1024#(2^*12),Q.lESSETFOLDLEVEL '
:L; %.l>
]:}
diff --git a/lib/lexers/latex.tes b/lib/lexers/latex.tes
new file mode 100644
index 0000000..de3d1cf
--- /dev/null
+++ b/lib/lexers/latex.tes
@@ -0,0 +1,32 @@
+!* LaTeX *!
+
+@[lexer.test.latex]{
+ :EN*.texQ*"S -1 '
+ :EN*.styQ*
+}
+
+@[lexer.set.latex]{
+ ESSETILEXERlatex
+
+ !* command *!
+ :M[color.keyword],1M[color.set]
+ !* tag opening *!
+ :M[color.string],2M[color.set]
+ !* math inline *!
+ !!:M[color.preproc2],3M[color.set]
+ :M[color.comment],4M[color.set]
+ !* tag closing *!
+ :M[color.string],5M[color.set]
+ !* math block *!
+ !!:M[color.preproc2],6M[color.set]
+ :M[color.comment],7M[color.set]
+ !* verbatim segment *!
+ !!:M[color.string],8M[color.set]
+ !* short command *!
+ :M[color.preproc],9M[color.set]
+ !* special char *!
+ :M[color.preproc2],10M[color.set]
+ !* command optional argument *!
+ :M[color.string2],11M[color.set]
+ :M[color.error],12M[color.set]
+}
diff --git a/lib/lexers/make.tes b/lib/lexers/make.tes
index 4ff519a..68acda1 100644
--- a/lib/lexers/make.tes
+++ b/lib/lexers/make.tes
@@ -3,6 +3,7 @@
@[lexer.test.make]{
:EN*/MakefileQ*"S -1 '
:EN*/makefileQ*"S -1 '
+ :EN*/GNUmakefileQ*"S -1 '
:EN*.makQ*
}
@@ -13,5 +14,5 @@
:M[color.variable],3M[color.set]
:M[color.operator],4M[color.set]
:M[color.target],5M[color.set]
- :M[color.error],6M[color.set]
+ :M[color.error],9M[color.set]
}
diff --git a/lib/lexers/python.tes b/lib/lexers/python.tes
index f85f92b..6a46f1b 100644
--- a/lib/lexers/python.tes
+++ b/lib/lexers/python.tes
@@ -58,7 +58,9 @@
:M[color.string2],6M[color.set]
:M[color.string],7M[color.set]
:M[color.operator],10M[color.set]
- :M[color.string],12M[color.set]
+ !!:M[color.variable],11M[color.set]
+ :M[color.comment],12M[color.set]
+ :M[color.error],13M[color.set]
:M[color.string],16M[color.set]
:M[color.string2],17M[color.set]
:M[color.string2],18M[color.set]
diff --git a/lib/lexers/sciteco.tes b/lib/lexers/sciteco.tes
index 7ca9c70..0e7db64 100644
--- a/lib/lexers/sciteco.tes
+++ b/lib/lexers/sciteco.tes
Binary files differ
diff --git a/lib/lexers/woman.tes b/lib/lexers/woman.tes
index 86580f3..01b19d5 100644
--- a/lib/lexers/woman.tes
+++ b/lib/lexers/woman.tes
@@ -10,11 +10,17 @@
:EN*.womanQ*
}
+!*
+ * Font used for body text in woman pages.
+ * This can be a variable-width font.
+ *!
+[lexer.woman.font]Serif
+
@[lexer.set.woman]{
1ESSETWRAPMODE
1ESSETWRAPINDENTMODE
10,1#4ESSETYCARETPOLICY
- 0EJ-1"> 32ESSTYLESETFONTSerif :M[color.init] '
+ 0EJ-1"> 32ESSTYLESETFONTQ[lexer.woman.font] :M[color.init] '
- 1:EN*Q*.tec"S EMQ*.tec '
+ 1:EN*Q*.tec"S EIQ*.tec '
}
diff --git a/lib/lexers/yaml.tes b/lib/lexers/yaml.tes
index 45104e7..2102afa 100644
--- a/lib/lexers/yaml.tes
+++ b/lib/lexers/yaml.tes
@@ -11,10 +11,13 @@
}
@[lexer.set.yaml]{
+ 2ESSETTABWIDTH
+ 0ESSETUSETABS
+
ESSETILEXERyaml
0ESSETKEYWORDStrue false yes no
:M[color.comment],1M[color.set]
- :M[color.target],2M[color.set]
+ :M[color.string],2M[color.set]
:M[color.keyword],3M[color.set]
:M[color.number],4M[color.set]
:M[color.variable],5M[color.set]