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
This commit is contained in:
parent
5cb18e5dc2
commit
5fe734d452
2 changed files with 31 additions and 1 deletions
|
@ -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 '|')
|
||||
|
||||
|
|
23
test/command/3534.md
Normal file
23
test/command/3534.md
Normal file
|
@ -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 "."]]
|
||||
```
|
||||
|
Loading…
Add table
Reference in a new issue