diff options
author | schrieveslaach <schrieveslaach@online.de> | 2017-03-29 14:49:46 +0200 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-03-29 14:49:46 +0200 |
commit | 5fe734d452976ff66ede965984954c6d3755d5c2 (patch) | |
tree | 3628ccb6a3b130f0c5cfb1d9f5ab464af975bd45 | |
parent | 5cb18e5dc2707f1ae005e13765882971f5c16016 (diff) | |
download | pandoc-5fe734d452976ff66ede965984954c6d3755d5c2.tar.gz |
lstinline with braces can be used (verb cannot be used with braces) (#3535)
* Fix lstinline handling: lstinline with braces can be used (verb cannot be used with braces)
* Use codeWith and determine the language from lstinline
* Improve code
* Add another test: convert lstinline without language option
-rw-r--r-- | src/Text/Pandoc/Readers/LaTeX.hs | 9 | ||||
-rw-r--r-- | test/command/3534.md | 23 |
2 files changed, 31 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index 9c028faa4..e85002ba3 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -601,7 +601,7 @@ inlineCommands = M.fromList $ , ("thanks", note <$> grouped block) , ("footnote", note <$> grouped block) , ("verb", doverb) - , ("lstinline", skipopts *> doverb) + , ("lstinline", dolstinline) , ("Verb", doverb) , ("url", (unescapeURL <$> braced) >>= \url -> pure (link url "" (str url))) @@ -716,6 +716,13 @@ doverb = do marker <- anyChar code <$> manyTill (satisfy (/='\n')) (char marker) +dolstinline :: PandocMonad m => LP m Inlines +dolstinline = do + options <- option [] keyvals + let classes = maybeToList $ lookup "language" options >>= fromListingsLanguage + marker <- char '{' <|> anyChar + codeWith ("",classes,[]) <$> manyTill (satisfy (/='\n')) (char '}' <|> char marker) + doLHSverb :: PandocMonad m => LP m Inlines doLHSverb = codeWith ("",["haskell"],[]) <$> manyTill (satisfy (/='\n')) (char '|') diff --git a/test/command/3534.md b/test/command/3534.md new file mode 100644 index 000000000..89224551b --- /dev/null +++ b/test/command/3534.md @@ -0,0 +1,23 @@ +``` +% pandoc -f latex -t html +I want to explain the interface of \lstinline[language=Java]{public class MyClass}. +^D +<p>I want to explain the interface of <code class="sourceCode java"><span class="kw">public</span> <span class="kw">class</span> MyClass</code>.</p> + +``` + +``` +% pandoc -f latex -t html +I want to explain the interface of \lstinline{public class MyClass}. +^D +<p>I want to explain the interface of <code>public class MyClass</code>.</p> + +``` + +``` +% pandoc -f latex -t native +I want to explain the interface of \lstinline[language=Java]{public class MyClass}. +^D +[Para [Str "I",Space,Str "want",Space,Str "to",Space,Str "explain",Space,Str "the",Space,Str "interface",Space,Str "of",Space,Code ("",["java"],[]) "public class MyClass",Str "."]] +``` + |