aboutsummaryrefslogtreecommitdiffstats
path: root/lib/LXRng/Lang/Undefined.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/LXRng/Lang/Undefined.pm')
-rw-r--r--lib/LXRng/Lang/Undefined.pm45
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/LXRng/Lang/Undefined.pm b/lib/LXRng/Lang/Undefined.pm
new file mode 100644
index 0000000..c4c3c72
--- /dev/null
+++ b/lib/LXRng/Lang/Undefined.pm
@@ -0,0 +1,45 @@
+package LXRng::Lang::Undefined;
+
+use strict;
+use Subst::Complex;
+
+use base qw(LXRng::Lang::Generic);
+
+
+sub doindex {
+ return 0;
+}
+
+sub pathexp {
+ return qr/$/;
+}
+
+sub reserved {
+ return {};
+}
+
+sub parsespec {
+ return ['atom', '\\\\.', undef];
+}
+
+sub typemap {
+ return {};
+}
+
+sub markuphandlers {
+ my ($self, $context, $node, $markup) = @_;
+
+ my $format_newline = $markup->make_format_newline($node);
+
+ my %subst;
+ $subst{'code'} = new Subst::Complex
+ qr/\n/ => $format_newline,
+ qr/[^\n]*/ => sub { $markup->format_raw(@_) };
+
+ $subst{'start'} = new Subst::Complex
+ qr/^/ => $format_newline;
+
+ return \%subst;
+}
+
+1;