@@ -118,6 +118,7 @@ inline =
118118 , subscript
119119 , superscript
120120 , inlineLaTeX
121+ , exportSnippet
121122 , smart
122123 , symbol
123124 ] <* (guard =<< newlinesCountWithinLimits)
@@ -129,7 +130,7 @@ inlines = trimInlinesF . mconcat <$> many1 inline
129130
130131-- treat these as potentially non-text when parsing inline:
131132specialChars :: [Char]
132−specialChars = "\"$'()*+-,./:;<=>[\\]^_{|}~"
133+specialChars = "\"$'()*+-,./:;<=>@[\\]^_{|}~"
133134
134135
135136whitespace :: OrgParser (F Inlines)
@@ -841,6 +842,13 @@ inlineLaTeXCommand = try $ do
841842dropWhileEnd :: (a -> Bool) -> [a] -> [a]
842843dropWhileEnd p = foldr (\x xs -> if p x && null xs then [] else x : xs) []
843844
845+exportSnippet :: OrgParser (F Inlines)
846+exportSnippet = try $ do
847+ string "@@"
848+ format <- many1Till (alphaNum <|> char '-') (char ':')
849+ snippet <- manyTill anyChar (try $ string "@@")
850+ returnF $ B.rawInline format snippet
851+
844852smart :: OrgParser (F Inlines)
845853smart = do
846854 getOption readerSmart >>= guard