aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2015-11-13 11:00:56 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2015-11-13 11:00:56 -0800
commitd8080db7f7213b7afa8bd87952771dfe1d3f89ec (patch)
treeaab0ce86bce05d394414ce96adc9892c7165d820 /src/Text/Pandoc
parenta119ad8d09393c8a168e76aeefcde6ba6417a94b (diff)
downloadpandoc-d8080db7f7213b7afa8bd87952771dfe1d3f89ec.tar.gz
Allow `://` in citation keys.
Closes jgm/pandoc-citeproc#166.
Diffstat (limited to 'src/Text/Pandoc')
-rw-r--r--src/Text/Pandoc/Parsing.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs
index c64860ad9..02d114e0f 100644
--- a/src/Text/Pandoc/Parsing.hs
+++ b/src/Text/Pandoc/Parsing.hs
@@ -1211,7 +1211,8 @@ citeKey = try $ do
firstChar <- alphaNum <|> char '_' <|> char '*' -- @* for wildcard in nocite
let regchar = satisfy (\c -> isAlphaNum c || c == '_')
let internal p = try $ p <* lookAhead regchar
- rest <- many $ regchar <|> internal (oneOf ":.#$%&-+?<>~/")
+ rest <- many $ regchar <|> internal (oneOf ":.#$%&-+?<>~/") <|>
+ (oneOf ":/" <* lookAhead (char '/'))
let key = firstChar:rest
return (suppress_author, key)