diff options
| author | Albert Krewinkel <[email protected]> | 2022-09-29 09:45:14 +0200 |
|---|---|---|
| committer | John MacFarlane <[email protected]> | 2022-09-30 08:33:40 -0700 |
| commit | ddaadc88bc7e09fdff35fcf100a0f9fbe5d17728 (patch) | |
| tree | bbddc6be332d8edcd5d78743b7ca259253bc07a3 | |
| parent | e099de1d4d2f4ca865596a6608774c7c0940a0d9 (diff) | |
[API Change] Rename `pandocVersion` to `pandocVersionText`...
and add a new `pandocVersion` value with type `Version`. This is
consistent with the type used for `pandocTypesVersion` and allows to use
the value where a Version type is required.
| -rw-r--r-- | pandoc-cli/src/pandoc.hs | 4 | ||||
| -rw-r--r-- | pandoc-server/src/Text/Pandoc/Server.hs | 4 | ||||
| -rw-r--r-- | src/Text/Pandoc.hs | 3 | ||||
| -rw-r--r-- | src/Text/Pandoc/App/CommandLineOptions.hs | 2 | ||||
| -rw-r--r-- | src/Text/Pandoc/Filter/JSON.hs | 4 | ||||
| -rw-r--r-- | src/Text/Pandoc/Lua/Global.hs | 4 | ||||
| -rw-r--r-- | src/Text/Pandoc/Shared.hs | 13 | ||||
| -rw-r--r-- | src/Text/Pandoc/Writers/Man.hs | 2 | ||||
| -rw-r--r-- | src/Text/Pandoc/Writers/Ms.hs | 2 | ||||
| -rw-r--r-- | src/Text/Pandoc/Writers/ODT.hs | 4 | ||||
| -rw-r--r-- | test/Tests/Lua.hs | 4 |
11 files changed, 26 insertions, 20 deletions
diff --git a/pandoc-cli/src/pandoc.hs b/pandoc-cli/src/pandoc.hs index 47a8988f0..ca5cf6651 100644 --- a/pandoc-cli/src/pandoc.hs +++ b/pandoc-cli/src/pandoc.hs @@ -21,7 +21,7 @@ import Text.Pandoc.App ( convertWithOpts, defaultOpts, options import Text.Pandoc.Class (runIOorExplode) import Text.Pandoc.Error (handleError) import Text.Pandoc.Lua (runLua, runLuaNoEnv) -import Text.Pandoc.Shared (pandocVersion) +import Text.Pandoc.Shared (pandocVersionText) import qualified Text.Pandoc.UTF8 as UTF8 import PandocCLI.Server @@ -45,7 +45,7 @@ main = E.handle (handleError . Left) $ do runLuaInterpreter :: String -> [String] -> IO () runLuaInterpreter progName args = do let settings = Settings - { settingsVersionInfo = "\nEmbedded in pandoc " <> pandocVersion + { settingsVersionInfo = "\nEmbedded in pandoc " <> pandocVersionText , settingsRunner = runner } runStandalone settings progName args diff --git a/pandoc-server/src/Text/Pandoc/Server.hs b/pandoc-server/src/Text/Pandoc/Server.hs index 0aea753a4..940606deb 100644 --- a/pandoc-server/src/Text/Pandoc/Server.hs +++ b/pandoc-server/src/Text/Pandoc/Server.hs @@ -85,7 +85,7 @@ cliOptions = , Option ['v'] ["version"] (NoArg (\_ -> do prg <- getProgName - putStrLn $ prg <> " " <> T.unpack pandocVersion + putStrLn $ prg <> " " <> T.unpack pandocVersionText exitWith ExitSuccess)) "version info" @@ -208,7 +208,7 @@ server = convertBytes :<|> convertJSON :<|> mapM convertJSON :<|> babelmark -- for babelmark which expects {"html": "", "version": ""} - :<|> pure pandocVersion + :<|> pure pandocVersionText where babelmark text' from' to' standalone' = do res <- convertText def{ diff --git a/src/Text/Pandoc.hs b/src/Text/Pandoc.hs index 239e6d5e9..690cdd99d 100644 --- a/src/Text/Pandoc.hs +++ b/src/Text/Pandoc.hs @@ -57,6 +57,7 @@ module Text.Pandoc , module Text.Pandoc.Templates -- * Miscellaneous , pandocVersion + , pandocVersionText ) where import Text.Pandoc.Class @@ -66,6 +67,6 @@ import Text.Pandoc.Generic import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Readers -import Text.Pandoc.Shared (pandocVersion) +import Text.Pandoc.Shared (pandocVersion, pandocVersionText) import Text.Pandoc.Templates import Text.Pandoc.Writers diff --git a/src/Text/Pandoc/App/CommandLineOptions.hs b/src/Text/Pandoc/App/CommandLineOptions.hs index 1a760d970..8d5677b82 100644 --- a/src/Text/Pandoc/App/CommandLineOptions.hs +++ b/src/Text/Pandoc/App/CommandLineOptions.hs @@ -966,7 +966,7 @@ options = peek top UTF8.hPutStrLn stdout $ T.pack - $ prg ++ " " ++ T.unpack pandocVersion ++ versionSuffix ++ + $ prg ++ " " ++ T.unpack pandocVersionText ++ versionSuffix ++ compileInfo ++ "\nScripting engine: " ++ luaVersion ++ "\nUser data directory: " ++ defaultDatadir ++ ('\n':copyrightMessage) diff --git a/src/Text/Pandoc/Filter/JSON.hs b/src/Text/Pandoc/Filter/JSON.hs index 16ee4e3d6..c3019c679 100644 --- a/src/Text/Pandoc/Filter/JSON.hs +++ b/src/Text/Pandoc/Filter/JSON.hs @@ -27,7 +27,7 @@ import Text.Pandoc.Definition (Pandoc) import Text.Pandoc.Error (PandocError (PandocFilterError)) import Text.Pandoc.Filter.Environment (Environment (..)) import Text.Pandoc.Process (pipeProcess) -import Text.Pandoc.Shared (pandocVersion, tshow) +import Text.Pandoc.Shared (pandocVersionText, tshow) import qualified Control.Exception as E import qualified Text.Pandoc.UTF8 as UTF8 @@ -65,7 +65,7 @@ externalFilter fenv f args' d = liftIO $ do let ropts = envReaderOptions fenv env <- getEnvironment let env' = Just - ( ("PANDOC_VERSION", T.unpack pandocVersion) + ( ("PANDOC_VERSION", T.unpack pandocVersionText) : ("PANDOC_READER_OPTIONS", UTF8.toStringLazy (encode ropts)) : env ) (exitcode, outbs) <- E.handle filterException $ diff --git a/src/Text/Pandoc/Lua/Global.hs b/src/Text/Pandoc/Lua/Global.hs index 938cc84b7..24fe685a5 100644 --- a/src/Text/Pandoc/Lua/Global.hs +++ b/src/Text/Pandoc/Lua/Global.hs @@ -16,7 +16,6 @@ module Text.Pandoc.Lua.Global import HsLua as Lua import HsLua.Module.Version (pushVersion) -import Paths_pandoc (version) import Text.Pandoc.Class.CommonState (CommonState) import Text.Pandoc.Definition (Pandoc, pandocTypesVersion) import Text.Pandoc.Error (PandocError) @@ -26,6 +25,7 @@ import Text.Pandoc.Lua.Marshal.ReaderOptions (pushReaderOptionsReadonly) import Text.Pandoc.Lua.Marshal.WriterOptions (pushWriterOptions) import Text.Pandoc.Lua.Orphans () import Text.Pandoc.Options (ReaderOptions, WriterOptions) +import Text.Pandoc.Shared (pandocVersion) import qualified Data.Text as Text @@ -70,5 +70,5 @@ setGlobal global = case global of pushCommonState commonState Lua.setglobal "PANDOC_STATE" PANDOC_VERSION -> do - pushVersion version + pushVersion pandocVersion Lua.setglobal "PANDOC_VERSION" diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs index c71204339..f2bfea0ae 100644 --- a/src/Text/Pandoc/Shared.hs +++ b/src/Text/Pandoc/Shared.hs @@ -93,7 +93,8 @@ module Text.Pandoc.Shared ( -- * User data directory defaultUserDataDir, -- * Version - pandocVersion + pandocVersion, + pandocVersionText ) where import Codec.Archive.Zip @@ -113,7 +114,7 @@ import Data.Monoid (Any (..)) import Data.Sequence (ViewL (..), ViewR (..), viewl, viewr) import qualified Data.Set as Set import qualified Data.Text as T -import Data.Version (showVersion) +import Data.Version (Version, showVersion) import Network.URI (URI (uriScheme), escapeURIString, parseURI) import Paths_pandoc (version) import System.Directory @@ -132,8 +133,12 @@ import Text.DocLayout (charWidth) import Text.Pandoc.Walk -- | Version number of pandoc library. -pandocVersion :: T.Text -pandocVersion = T.pack $ showVersion version +pandocVersion :: Version +pandocVersion = version + +-- | Text representation of the library's version number. +pandocVersionText :: T.Text +pandocVersionText = T.pack $ showVersion version -- -- List processing diff --git a/src/Text/Pandoc/Writers/Man.hs b/src/Text/Pandoc/Writers/Man.hs index 9371c2541..6558bbcda 100644 --- a/src/Text/Pandoc/Writers/Man.hs +++ b/src/Text/Pandoc/Writers/Man.hs @@ -73,7 +73,7 @@ pandocToMan opts (Pandoc meta blocks) = do $ setFieldsFromTitle $ defField "has-tables" hasTables $ defField "hyphenate" True - $ defField "pandoc-version" pandocVersion metadata + $ defField "pandoc-version" pandocVersionText metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main diff --git a/src/Text/Pandoc/Writers/Ms.hs b/src/Text/Pandoc/Writers/Ms.hs index 0c16e0388..5592b3d86 100644 --- a/src/Text/Pandoc/Writers/Ms.hs +++ b/src/Text/Pandoc/Writers/Ms.hs @@ -76,7 +76,7 @@ pandocToMs opts (Pandoc meta blocks) = do let context = defField "body" main $ defField "has-inline-math" hasInlineMath $ defField "hyphenate" True - $ defField "pandoc-version" pandocVersion + $ defField "pandoc-version" pandocVersionText $ defField "toc" (writerTableOfContents opts) $ defField "title-meta" titleMeta $ defField "author-meta" (T.intercalate "; " authorsMeta) diff --git a/src/Text/Pandoc/Writers/ODT.hs b/src/Text/Pandoc/Writers/ODT.hs index cafa48c0b..2db863591 100644 --- a/src/Text/Pandoc/Writers/ODT.hs +++ b/src/Text/Pandoc/Writers/ODT.hs @@ -34,7 +34,7 @@ import Text.Pandoc.Logging import Text.Pandoc.MIME (extensionFromMimeType, getMimeType) import Text.Pandoc.Options (WrapOption (..), WriterOptions (..)) import Text.DocLayout -import Text.Pandoc.Shared (stringify, pandocVersion, tshow) +import Text.Pandoc.Shared (stringify, pandocVersionText, tshow) import Text.Pandoc.Writers.Shared (lookupMetaString, lookupMetaBlocks, fixDisplayMath, getLang, ensureValidXmlIdentifiers) @@ -139,7 +139,7 @@ pandocToODT opts doc@(Pandoc meta _) = do ,("xmlns:ooo","http://openoffice.org/2004/office") ,("xmlns:grddl","http://www.w3.org/2003/g/data-view#") ,("office:version","1.2")] ( inTags True "office:meta" [] - ( metaTag "meta:generator" ("Pandoc/" <> pandocVersion) + ( metaTag "meta:generator" ("Pandoc/" <> pandocVersionText) $$ metaTag "dc:title" (stringify title) $$ diff --git a/test/Tests/Lua.hs b/test/Tests/Lua.hs index 3381c6dbf..0a6db0131 100644 --- a/test/Tests/Lua.hs +++ b/test/Tests/Lua.hs @@ -31,7 +31,7 @@ import Text.Pandoc.Error (PandocError (PandocLuaError)) import Text.Pandoc.Filter (Filter (LuaFilter), applyFilters) import Text.Pandoc.Lua (Global (..), runLua, setGlobals) import Text.Pandoc.Options (def) -import Text.Pandoc.Shared (pandocVersion) +import Text.Pandoc.Shared (pandocVersionText) import qualified Control.Monad.Catch as Catch import qualified Data.Text as T @@ -149,7 +149,7 @@ tests = , testCase "Pandoc version is set" . runLuaTest $ do Lua.getglobal "PANDOC_VERSION" Lua.liftIO . - assertEqual "pandoc version is wrong" (TE.encodeUtf8 pandocVersion) + assertEqual "pandoc version is wrong" (TE.encodeUtf8 pandocVersionText) =<< Lua.tostring' Lua.top , testCase "Pandoc types version is set" . runLuaTest $ do |
