aboutsummaryrefslogtreecommitdiffstats
path: root/lib/LXRng/Lang/C.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/LXRng/Lang/C.pm')
-rw-r--r--lib/LXRng/Lang/C.pm9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/LXRng/Lang/C.pm b/lib/LXRng/Lang/C.pm
index db3a204..892e104 100644
--- a/lib/LXRng/Lang/C.pm
+++ b/lib/LXRng/Lang/C.pm
@@ -67,8 +67,9 @@ sub parsespec {
return ['atom', '\\\\.', undef,
'comment', '/\*', '\*/',
'comment', '//', "\$",
- 'string', '"', '"',
- 'string', "'", "'",
+ 'string', '"(?:[^\\\\]*\\\\.)*[^\\\\]*"', undef,
+ 'string', "'(?:[^\\\\]*\\\\.)*[^\\\\]*'", undef,
+ 'atom', '#\s*(?:ifn?def|define|else|endif|undef)', undef,
'include', '#\s*include\s+"', '"',
'include', '#\s*include\s+<', '>'];
}
@@ -85,8 +86,8 @@ sub markuphandlers {
qr/[^\n]+/ => sub { $markup->format_comment(@_) };
$subst{'string'} = new Subst::Complex
- qr/\n/ => $format_newline,
- qr/[^\n\"\']+/ => sub { $markup->format_string(@_) };
+ qr/\n/ => $format_newline,
+ qr/[^\n]+/ => sub { $markup->format_string(@_) };
$subst{'include'} = new Subst::Complex
qr/\n/ => $format_newline,