summaryrefslogtreecommitdiff
path: root/tex/context/base/trac-fil.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/trac-fil.lua')
-rw-r--r--tex/context/base/trac-fil.lua15
1 files changed, 10 insertions, 5 deletions
diff --git a/tex/context/base/trac-fil.lua b/tex/context/base/trac-fil.lua
index 54ca6ac6b..bf291ff6b 100644
--- a/tex/context/base/trac-fil.lua
+++ b/tex/context/base/trac-fil.lua
@@ -9,11 +9,13 @@ if not modules then modules = { } end modules ['trac-fil'] = {
local format, concat = string.format, table.concat
local openfile = io.open
local date = os.date
+local rawset, tonumber = rawset, tonumber
local P, C, Cc, Cg, Cf, Ct, Cs = lpeg.P, lpeg.C, lpeg.Cc, lpeg.Cg, lpeg.Cf, lpeg.Ct, lpeg.Cs
-local patterns = lpeg.patterns
-local cardinal = patterns.cardinal
+local patterns = lpeg.patterns
+local cardinal = patterns.cardinal
+local whitespace = patterns.whitespace^0
patterns.timestamp = Cf(Ct("") * (
Cg (Cc("year") * (cardinal/tonumber)) * P("-")
@@ -26,10 +28,13 @@ patterns.timestamp = Cf(Ct("") * (
* Cg (Cc("tminute") * (cardinal/tonumber))
)^0, rawset)
+patterns.keysvalues = Cf(Ct("") * (
+ Cg(C(patterns.letter^0) * whitespace * "=" * whitespace * Cs(patterns.unquoted) * whitespace)
+)^0, rawset)
+
patterns.statusline = Cf(Ct("") * (
- P("[") * Cg(Cc("timestamp") * patterns.timestamp) * P("]")
- * patterns.whitespace^0
- * Cg(Cc("status") * Cf(Ct("") * (Cg(C(patterns.letter^0) * "=" * Cs(patterns.unquoted)) * patterns.whitespace^0)^0, rawset))
+ whitespace * P("[") * Cg(Cc("timestamp") * patterns.timestamp ) * P("]")
+ * whitespace * Cg(Cc("status" ) * patterns.keysvalues)
),rawset)