aboutsummaryrefslogtreecommitdiff
path: root/hypsrc-test
diff options
context:
space:
mode:
Diffstat (limited to 'hypsrc-test')
-rw-r--r--hypsrc-test/ref/src/CPP.html216
-rw-r--r--hypsrc-test/ref/src/Classes.html40
-rw-r--r--hypsrc-test/ref/src/Identifiers.html8
-rw-r--r--hypsrc-test/src/CPP.hs26
4 files changed, 274 insertions, 16 deletions
diff --git a/hypsrc-test/ref/src/CPP.html b/hypsrc-test/ref/src/CPP.html
new file mode 100644
index 00000000..fb85bd2f
--- /dev/null
+++ b/hypsrc-test/ref/src/CPP.html
@@ -0,0 +1,216 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+><head
+ ><link rel="stylesheet" type="text/css" href="style.css"
+ /><script type="text/javascript" src="highlight.js"
+ ></script
+ ></head
+ ><body
+ ><pre
+ ><span class="hs-pragma"
+ >{-# LANGUAGE CPP #-}</span
+ ><span
+ >
+</span
+ ><a name="line-2"
+ ></a
+ ><span class="hs-keyword"
+ >module</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >CPP</span
+ ><span
+ > </span
+ ><span class="hs-keyword"
+ >where</span
+ ><span
+ >
+</span
+ ><a name="line-3"
+ ></a
+ ><span
+ >
+</span
+ ><a name="line-4"
+ ></a
+ ><span class="hs-cpp"
+ >#define SOMETHING1
+</span
+ ><span
+ >
+</span
+ ><a name="line-6"
+ ></a
+ ><span class="hs-identifier"
+ >foo</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="hs-identifier hs-type"
+ >String</span
+ ><span
+ >
+</span
+ ><a name="line-7"
+ ></a
+ ><a name="foo"
+ ><a href="CPP.html#foo"
+ ><span class="hs-identifier"
+ >foo</span
+ ></a
+ ></a
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-comment"
+ >{- &quot; single quotes are fine in block comments
+ {- nested block comments are fine -}
+ -}</span
+ ><span
+ > </span
+ ><span class="hs-string"
+ >&quot;foo&quot;</span
+ ><span
+ >
+</span
+ ><a name="line-10"
+ ></a
+ ><span
+ >
+</span
+ ><a name="line-11"
+ ></a
+ ><span class="hs-cpp"
+ >#define SOMETHING2
+</span
+ ><span
+ >
+</span
+ ><a name="line-13"
+ ></a
+ ><span class="hs-identifier"
+ >bar</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="hs-identifier hs-type"
+ >String</span
+ ><span
+ >
+</span
+ ><a name="line-14"
+ ></a
+ ><a name="bar"
+ ><a href="CPP.html#bar"
+ ><span class="hs-identifier"
+ >bar</span
+ ></a
+ ></a
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-string"
+ >&quot;block comment in a string is not a comment {- &quot;</span
+ ><span
+ >
+</span
+ ><a name="line-15"
+ ></a
+ ><span
+ >
+</span
+ ><a name="line-16"
+ ></a
+ ><span class="hs-cpp"
+ >#define SOMETHING3
+</span
+ ><span
+ >
+</span
+ ><a name="line-18"
+ ></a
+ ><span class="hs-comment"
+ >-- &quot; single quotes are fine in line comments</span
+ ><span
+ >
+</span
+ ><a name="line-19"
+ ></a
+ ><span class="hs-comment"
+ >-- {- unclosed block comments are fine in line comments</span
+ ><span
+ >
+</span
+ ><a name="line-20"
+ ></a
+ ><span
+ >
+</span
+ ><a name="line-21"
+ ></a
+ ><span class="hs-comment"
+ >-- Multiline CPP is also fine</span
+ ><span
+ >
+</span
+ ><a name="line-22"
+ ></a
+ ><span class="hs-cpp"
+ >#define FOO\
+ 1
+</span
+ ><span
+ >
+</span
+ ><a name="line-25"
+ ></a
+ ><span class="hs-identifier"
+ >baz</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="hs-identifier hs-type"
+ >String</span
+ ><span
+ >
+</span
+ ><a name="line-26"
+ ></a
+ ><a name="baz"
+ ><a href="CPP.html#baz"
+ ><span class="hs-identifier"
+ >baz</span
+ ></a
+ ></a
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-string"
+ >&quot;line comment in a string is not a comment --&quot;</span
+ ><span
+ >
+</span
+ ><a name="line-27"
+ ></a
+ ></pre
+ ></body
+ ></html
+> \ No newline at end of file
diff --git a/hypsrc-test/ref/src/Classes.html b/hypsrc-test/ref/src/Classes.html
index abff8877..d2604e82 100644
--- a/hypsrc-test/ref/src/Classes.html
+++ b/hypsrc-test/ref/src/Classes.html
@@ -60,8 +60,12 @@
></a
><span
> </span
- ><span class="hs-identifier"
- >bar</span
+ ><a name="bar"
+ ><a href="Classes.html#bar"
+ ><span class="hs-identifier"
+ >bar</span
+ ></a
+ ></a
><span
> </span
><span class="hs-glyph"
@@ -87,8 +91,12 @@
></a
><span
> </span
- ><span class="hs-identifier"
- >baz</span
+ ><a name="baz"
+ ><a href="Classes.html#baz"
+ ><span class="hs-identifier"
+ >baz</span
+ ></a
+ ></a
><span
> </span
><span class="hs-glyph"
@@ -361,8 +369,12 @@
></a
><span
> </span
- ><span class="hs-identifier"
- >quux</span
+ ><a name="quux"
+ ><a href="Classes.html#quux"
+ ><span class="hs-identifier"
+ >quux</span
+ ></a
+ ></a
><span
> </span
><span class="hs-glyph"
@@ -470,8 +482,12 @@
></a
><span
> </span
- ><span class="hs-identifier"
- >norf</span
+ ><a name="norf"
+ ><a href="Classes.html#norf"
+ ><span class="hs-identifier"
+ >norf</span
+ ></a
+ ></a
><span
> </span
><span class="hs-glyph"
@@ -703,8 +719,12 @@
></a
><span
> </span
- ><span class="hs-identifier"
- >plugh</span
+ ><a name="plugh"
+ ><a href="Classes.html#plugh"
+ ><span class="hs-identifier"
+ >plugh</span
+ ></a
+ ></a
><span
> </span
><span class="hs-glyph"
diff --git a/hypsrc-test/ref/src/Identifiers.html b/hypsrc-test/ref/src/Identifiers.html
index f52db4ab..ce69ad37 100644
--- a/hypsrc-test/ref/src/Identifiers.html
+++ b/hypsrc-test/ref/src/Identifiers.html
@@ -827,11 +827,7 @@
> </span
><a href="Identifiers.html#norf"
><span class="hs-identifier hs-var"
- >Identifiers</span
- ><span class="hs-operator hs-var"
- >.</span
- ><span class="hs-identifier hs-var"
- >norf</span
+ >Identifiers.norf</span
></a
><span
> </span
@@ -931,4 +927,4 @@
></pre
></body
></html
-> \ No newline at end of file
+>
diff --git a/hypsrc-test/src/CPP.hs b/hypsrc-test/src/CPP.hs
new file mode 100644
index 00000000..f00ce031
--- /dev/null
+++ b/hypsrc-test/src/CPP.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE CPP #-}
+module CPP where
+
+#define SOMETHING1
+
+foo :: String
+foo = {- " single quotes are fine in block comments
+ {- nested block comments are fine -}
+ -} "foo"
+
+#define SOMETHING2
+
+bar :: String
+bar = "block comment in a string is not a comment {- "
+
+#define SOMETHING3
+
+-- " single quotes are fine in line comments
+-- {- unclosed block comments are fine in line comments
+
+-- Multiline CPP is also fine
+#define FOO\
+ 1
+
+baz :: String
+baz = "line comment in a string is not a comment --"