aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Schreiber <schrieveslaach@online.de>2018-08-18 05:57:36 +0200
committerJohn MacFarlane <jgm@berkeley.edu>2018-08-17 20:57:36 -0700
commit175da00295da72ae08e23405327f63ba08c3c3a2 (patch)
treeae4a0045d75282baebf9d7bdbe861f7014ab4ae4
parent822a071bb2ef8bfca0af74e3cc501a3346e47ae9 (diff)
downloadpandoc-175da00295da72ae08e23405327f63ba08c3c3a2.tar.gz
Add support for latex mintinline (#4365)
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs11
-rw-r--r--test/command/3534.md22
2 files changed, 33 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index ebcb9fecf..44b93439d 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -1024,6 +1024,16 @@ dolstinline :: PandocMonad m => LP m Inlines
dolstinline = do
options <- option [] keyvals
let classes = maybeToList $ lookup "language" options >>= fromListingsLanguage
+ doinlinecode classes
+
+domintinline :: PandocMonad m => LP m Inlines
+domintinline = do
+ skipopts
+ cls <- toksToString <$> braced
+ doinlinecode [cls]
+
+doinlinecode :: PandocMonad m => [String] -> LP m Inlines
+doinlinecode classes = do
Tok _ Symbol t <- anySymbol
marker <- case T.uncons t of
Just (c, ts) | T.null ts -> return c
@@ -1655,6 +1665,7 @@ inlineCommands = M.union inlineLanguageCommands $ M.fromList
, ("footnote", skipopts >> note <$> grouped block)
, ("verb", doverb)
, ("lstinline", dolstinline)
+ , ("mintinline", domintinline)
, ("Verb", doverb)
, ("url", ((unescapeURL . T.unpack . untokenize) <$> bracedUrl) >>= \url ->
pure (link url "" (str url)))
diff --git a/test/command/3534.md b/test/command/3534.md
index 89224551b..cd0915d88 100644
--- a/test/command/3534.md
+++ b/test/command/3534.md
@@ -21,3 +21,25 @@ I want to explain the interface of \lstinline[language=Java]{public class MyClas
[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 "."]]
```
+```
+% pandoc -f latex -t html
+I want to explain the interface of \mintinline{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 \mintinline{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 native
+I want to explain the interface of \mintinline[linenos]{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 "."]]
+```