summaryrefslogtreecommitdiff
path: root/pandoc-lua-engine/src/Text/Pandoc/Lua/Module
diff options
context:
space:
mode:
Diffstat (limited to 'pandoc-lua-engine/src/Text/Pandoc/Lua/Module')
-rw-r--r--pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs11
1 files changed, 10 insertions, 1 deletions
diff --git a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs
index 0080994a7..2c0384e9f 100644
--- a/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs
+++ b/pandoc-lua-engine/src/Text/Pandoc/Lua/Module/Format.hs
@@ -15,7 +15,7 @@ import Data.Version (makeVersion)
import HsLua
import Text.Pandoc.Error (PandocError)
import Text.Pandoc.Extensions (getAllExtensions, getDefaultExtensions)
-import Text.Pandoc.Format (getExtensionsConfig)
+import Text.Pandoc.Format (formatFromFilePaths, formatName, getExtensionsConfig)
import Text.Pandoc.Lua.Marshal.Format (pushExtensions, pushExtensionsConfig)
import Text.Pandoc.Lua.PandocLua ()
@@ -77,4 +77,13 @@ functions =
, "global in custom readers and writers."
]
`since` makeVersion [3,0]
+
+ , defun "from_path"
+ ### liftPure formatFromFilePaths
+ <#> parameter (choice [ fmap (:[]) . peekString, peekList peekString])
+ "string|{string,...}" "path" "file path, or list of paths"
+ =#> functionResult (maybe pushnil (pushText . formatName))
+ "string|nil"
+ "format determined by heuristic"
+ `since` makeVersion [3,1,2]
]