From 0955a0e32978d60d8f0b42a027ae1d5ebb518676 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Tue, 23 Nov 2010 21:40:05 -0800 Subject: More flexible handling of --csl. Look for csl files in ~/.csl if not found locally. Add .csl extension if it is not provided. --- src/pandoc.hs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/pandoc.hs b/src/pandoc.hs index f671f3155..c6e74e381 100644 --- a/src/pandoc.hs +++ b/src/pandoc.hs @@ -42,7 +42,7 @@ import System.FilePath import System.Console.GetOpt import Data.Char ( toLower, isDigit ) import Data.List ( intercalate, isSuffixOf ) -import System.Directory ( getAppUserDataDirectory ) +import System.Directory ( getAppUserDataDirectory, doesFileExist ) import System.IO ( stdout, stderr ) import qualified Text.Pandoc.UTF8 as UTF8 import Text.CSL @@ -832,9 +832,17 @@ main = do if null refs then return doc' else do + csldir <- getAppUserDataDirectory "csl" cslfile' <- if null cslfile then findDataFile datadir "default.csl" - else return cslfile + else do + ex <- doesFileExist cslfile + if ex + then return cslfile + else findDataFile datadir $ + replaceDirectory + (replaceExtension cslfile "csl") + csldir processBiblio cslfile' refs doc' writerOutput <- writer writerOptions doc'' -- cgit v1.2.3