summaryrefslogtreecommitdiff
path: root/src/parser/text_p.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/text_p.cpp')
-rw-r--r--src/parser/text_p.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/parser/text_p.cpp b/src/parser/text_p.cpp
index 447a556..f833743 100644
--- a/src/parser/text_p.cpp
+++ b/src/parser/text_p.cpp
@@ -20,7 +20,7 @@ text_p::text_p() : text_p::base_type(text_) {
using namespace ph;
using qi::standard_wide::char_;
- text_ = stext_(_r1) | pstext_(_r1) | ptext_(_r1);
+ text_ = stext_(_r1) | pstext_(_r1) | atom_ | ptext_(_r1);
stext_ = lit("***") >> attr(VSEMPH) >> +text_(_r1) >> "***"
| lit("**") >> attr(SEMPH) >> +text_(_r1) >> "**"
@@ -37,7 +37,9 @@ text_p::text_p() : text_p::base_type(text_) {
pstext_ = lit('[') >> attr(LINK) >> +text_(val(L"]")) >> ']' >>
lit('(') >> ptext_(val(L")")) >> ')';
+ atom_ = lit(L"\\ ") >> attr(NBSP);
+
ptext_ = +(echar_ | rchar_(_r1));
- echar_ = lit('\\') >> char_;
- rchar_ = char_ - char_(_r1);
+ echar_ = lit('\\') >> ~char_(' ');
+ rchar_ = ~char_('\\') - char_(_r1);
}