git.iko.soy/typeable/pandoc
on master help sign in
Add type annotations to assist ghci.
commit8ed749702ff62bc41a88770c7f93a283a20a2a42 authorJohn MacFarlane <jgm@berkeley.edu> dateSat 4 Jan 2020, 09:55 (7 years ago) parentc5b6321
4 files changed+13−7
src/Text/Pandoc/Lua/Marshaling/ReaderOptions.hs+3−1 src/Text/Pandoc/Lua/Marshaling/Version.hs+3−1 src/Text/Pandoc/Lua/Module/MediaBag.hs+4−3 src/Text/Pandoc/Lua/Util.hs+3−2
src/Text/Pandoc/Lua/Marshaling/ReaderOptions.hs+3−1
@@ -1,6 +1,7 @@
11{-# LANGUAGE NoImplicitPrelude #-}
22{-# LANGUAGE FlexibleInstances #-}
33{-# LANGUAGE ScopedTypeVariables #-}
4+{-# LANGUAGE OverloadedStrings #-}
45{-# LANGUAGE LambdaCase #-}
56{-# OPTIONS_GHC -fno-warn-orphans #-}
67{- |
@@ -67,7 +68,8 @@ instance Pushable ReaderOptions where
6768 indexReaderOptions _tbl (AnyValue key) = do
6869 Lua.ltype key >>= \case
6970 Lua.TypeString -> Lua.peek key >>= \case
70− "defaultImageExtension" -> Lua.push defaultImageExtension
71+ ("defaultImageExtension" :: Text.Text)
72+ -> Lua.push defaultImageExtension
7173 "indentedCodeClasses" -> Lua.push indentedCodeClasses
7274 "stripComments" -> Lua.push stripComments
7375 "tabStop" -> Lua.push tabStop
src/Text/Pandoc/Lua/Marshaling/Version.hs+3−1
@@ -1,6 +1,7 @@
11{-# OPTIONS_GHC -fno-warn-orphans #-}
22{-# LANGUAGE LambdaCase #-}
33{-# LANGUAGE NoImplicitPrelude #-}
4+{-# LANGUAGE OverloadedStrings #-}
45{- |
56 Module : Text.Pandoc.Lua.Marshaling.Version
67 Copyright : © 2019 Albert Krewinkel
@@ -19,6 +20,7 @@ module Text.Pandoc.Lua.Marshaling.Version
1920 where
2021
2122import Prelude
23+import Data.Text (Text)
2224import Data.Maybe (fromMaybe)
2325import Data.Version (Version (..), makeVersion, parseVersion, showVersion)
2426import Foreign.Lua (Lua, Optional (..), NumResults,
@@ -103,7 +105,7 @@ __index v (AnyValue k) = do
103105 Lua.push (Lua.Optional versionPart)
104106 return 1
105107 Lua.TypeString -> do
106− str <- Lua.peek k
108+ (str :: Text) <- Lua.peek k
107109 if str == "must_be_at_least"
108110 then 1 <$ Lua.pushHaskellFunction must_be_at_least
109111 else 1 <$ Lua.pushnil
src/Text/Pandoc/Lua/Module/MediaBag.hs+4−3
@@ -1,4 +1,5 @@
11{-# LANGUAGE NoImplicitPrelude #-}
2+{-# LANGUAGE OverloadedStrings #-}
23{- |
34 Module : Text.Pandoc.Lua.Module.MediaBag
45 Copyright : Copyright © 2017-2019 Albert Krewinkel
@@ -108,9 +109,9 @@ mediaDirectoryFn = do
108109 addEntry :: Lua.Integer -> (FilePath, MimeType, Int) -> Lua ()
109110 addEntry idx (fp, mimeType, contentLength) = do
110111 Lua.newtable
111− Lua.push "path" *> Lua.push fp *> Lua.rawset (-3)
112− Lua.push "type" *> Lua.push mimeType *> Lua.rawset (-3)
113− Lua.push "length" *> Lua.push contentLength *> Lua.rawset (-3)
112+ Lua.push ("path" :: T.Text) *> Lua.push fp *> Lua.rawset (-3)
113+ Lua.push ("type" :: T.Text) *> Lua.push mimeType *> Lua.rawset (-3)
114+ Lua.push ("length" :: T.Text) *> Lua.push contentLength *> Lua.rawset (-3)
114115 Lua.rawseti (-2) idx
115116
116117fetch :: T.Text
src/Text/Pandoc/Lua/Util.hs+3−2
@@ -1,6 +1,7 @@
11{-# LANGUAGE FlexibleInstances #-}
22{-# LANGUAGE LambdaCase #-}
33{-# LANGUAGE NoImplicitPrelude #-}
4+{-# LANGUAGE OverloadedStrings #-}
45{- |
56 Module : Text.Pandoc.Lua.Util
67 Copyright : © 2012–2019 John MacFarlane,
@@ -31,9 +32,9 @@ import Control.Monad (unless, when)
3132import Foreign.Lua ( Lua, NumArgs, NumResults, Peekable, Pushable, StackIndex
3233 , Status, ToHaskellFunction )
3334import Text.Pandoc.Class (readDataFile, runIOorExplode, setUserDataDir)
34−
3535import qualified Foreign.Lua as Lua
3636import qualified Text.Pandoc.UTF8 as UTF8
37+import Data.Text (Text)
3738
3839-- | Get value behind key from table at given index.
3940rawField :: Peekable a => StackIndex -> String -> Lua a
@@ -104,7 +105,7 @@ getTag :: StackIndex -> Lua String
104105getTag idx = do
105106 -- push metatable or just the table
106107 Lua.getmetatable idx >>= \hasMT -> unless hasMT (Lua.pushvalue idx)
107− Lua.push "tag"
108+ Lua.push ("tag" :: Text)
108109 Lua.rawget (Lua.nthFromTop 2)
109110 Lua.tostring Lua.stackTop <* Lua.pop 2 >>= \case
110111 Nothing -> Lua.throwException "untagged value"