aboutsummaryrefslogtreecommitdiff
path: root/nomnom/source.nom
diff options
context:
space:
mode:
Diffstat (limited to 'nomnom/source.nom')
-rw-r--r--nomnom/source.nom56
1 files changed, 0 insertions, 56 deletions
diff --git a/nomnom/source.nom b/nomnom/source.nom
deleted file mode 100644
index bff8d8d..0000000
--- a/nomnom/source.nom
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env nomsu -V4.8.10
-use "lib/object.nom"
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-object (Source):
- externally (Source from text %text) means:
- %match = (%text::matching groups "^@(.-)%[(%d+):(%d+)%]$")
- set {%filename:%match.1, %start:%match.2, %stop:%match.3}
- unless %filename:
- %match = (%text::matching groups "^@(.-)%[(%d+)%]$")
- set {%filename:%match.1, %start:%match.2}
-
- return (..)
- Source {filename:%filename, start:(%start or 1) as number, stop:%stop as number}
-
- my action [as text] "\
- ..@\(%me.filename)[\(%me.start)\(":\(%me.stop)" if %me.stop else "")]"
- my action [as lua] "\
- ..Source{filename=\(%me.filename::as lua), start=\(%me.start)\(..)
- ", stop=\(%me.stop)" if %stop else ""
- ..}"
-
- my action [as nomsu] "\
- ..(Source {filename:\(%me.filename::as nomsu), start:\(%me.start)\(..)
- ", stop:\(%me.stop)" if %stop else ""
- ..})"
-
- my action [== %other] (..)
- all of [..]
- (%me's metatable) == (%other's metatable)
- %me.filename == %other.filename
- %me.start == %other.start
- %me.stop == %other.stop
-
- my action [< %other]:
- assume %me.filename == %other.filename
- if (%start == %other.start):
- return ((%me.stop or %me.start) < (%other.stop or %other.start))
- ..else:
- return (%me.start < %other.start)
-
- my action [<= %other]:
- assume %me.filename == %other.filename
- if (%start == %other.start):
- return ((%me.stop or %me.start) <= (%other.stop or %other.start))
- ..else:
- return (%me.start <= %other.start)
-
- my action [+ %offset]:
- if ((type of %me) == "number"):
- set {%me:%offset, %offset:%me}
- ..else:
- assume (type of %offset) == "number"
-
- return (Source {filename:%me.filename, start:%me.start + %offset, stop:%me.stop})