git.iko.soy/typeable/pandoc
on master help sign in
Move setDefaultLanguage to T.P.Readers.LaTeX.Lang.
564c39bJohn MacFarlane
src/Text/Pandoc/Readers/LaTeX.hs+2−14
@@ -44,7 +44,7 @@ import Text.Pandoc.Builder
44import Text.Pandoc.Class.PandocPure (PandocPure)
44import Text.Pandoc.Class.PandocPure (PandocPure)
45import Text.Pandoc.Class.PandocMonad (PandocMonad (..), getResourcePath,
45import Text.Pandoc.Class.PandocMonad (PandocMonad (..), getResourcePath,
46 readFileFromDirs, report, setResourcePath,
46 readFileFromDirs, report, setResourcePath,
47− setTranslations, translateTerm)
47+ translateTerm)
48import Text.Pandoc.Error (PandocError (PandocParseError, PandocParsecError))
48import Text.Pandoc.Error (PandocError (PandocParseError, PandocParsecError))
49import Text.Pandoc.Highlighting (fromListingsLanguage, languagesByExtension)
49import Text.Pandoc.Highlighting (fromListingsLanguage, languagesByExtension)
50import Text.Pandoc.ImageSize (numUnit, showFl)
50import Text.Pandoc.ImageSize (numUnit, showFl)
@@ -59,7 +59,7 @@ import Text.Pandoc.Readers.LaTeX.Accent (accentCommands)
59import Text.Pandoc.Readers.LaTeX.Citation (citationCommands, cites)
59import Text.Pandoc.Readers.LaTeX.Citation (citationCommands, cites)
60import Text.Pandoc.Readers.LaTeX.Table (tableEnvironments)
60import Text.Pandoc.Readers.LaTeX.Table (tableEnvironments)
61import Text.Pandoc.Readers.LaTeX.Lang (polyglossiaLangToBCP47,
61import Text.Pandoc.Readers.LaTeX.Lang (polyglossiaLangToBCP47,
62− babelLangToBCP47)
62+ babelLangToBCP47, setDefaultLanguage)
63import Text.Pandoc.Readers.LaTeX.SIunitx
63import Text.Pandoc.Readers.LaTeX.SIunitx
64import Text.Pandoc.Shared
64import Text.Pandoc.Shared
65import qualified Text.Pandoc.Translations as Translations
65import qualified Text.Pandoc.Translations as Translations
@@ -1856,15 +1856,3 @@ block = do
1856blocks :: PandocMonad m => LP m Blocks
1856blocks :: PandocMonad m => LP m Blocks
1857blocks = mconcat <$> many block
1857blocks = mconcat <$> many block
1858
1858
1859−setDefaultLanguage :: PandocMonad m => LP m Blocks
1860−setDefaultLanguage = do
1861− o <- option "" $ T.filter (\c -> c /= '[' && c /= ']')
1862− <$> rawopt
1863− polylang <- untokenize <$> braced
1864− case M.lookup polylang polyglossiaLangToBCP47 of
1865− Nothing -> return mempty -- TODO mzero? warning?
1866− Just langFunc -> do
1867− let l = langFunc o
1868− setTranslations l
1869− updateState $ setMeta "lang" $ str (renderLang l)
1870− return mempty
src/Text/Pandoc/Readers/LaTeX/Lang.hs+20−2
@@ -12,13 +12,31 @@ Functions for parsing polyglossia and babel language specifiers to
12BCP47 'Lang'.
12BCP47 'Lang'.
13-}
13-}
14module Text.Pandoc.Readers.LaTeX.Lang
14module Text.Pandoc.Readers.LaTeX.Lang
15+ ( setDefaultLanguage
15− ( polyglossiaLangToBCP47
16+ , polyglossiaLangToBCP47
16 , babelLangToBCP47
17 , babelLangToBCP47
17 )
18 )
18where
19where
19import qualified Data.Map as M
20import qualified Data.Map as M
20import qualified Data.Text as T
21import qualified Data.Text as T
21−import Text.Pandoc.BCP47 (Lang(..))
22+import Text.Pandoc.BCP47 (Lang(..), renderLang)
23+import Text.Pandoc.Class (PandocMonad(..), setTranslations)
24+import Text.Pandoc.Readers.LaTeX.Parsing
25+import Text.Pandoc.Parsing (updateState, option)
26+import Text.Pandoc.Builder (Blocks, setMeta, str)
27+
28+setDefaultLanguage :: PandocMonad m => LP m Blocks
29+setDefaultLanguage = do
30+ o <- option "" $ T.filter (\c -> c /= '[' && c /= ']')
31+ <$> rawopt
32+ polylang <- untokenize <$> braced
33+ case M.lookup polylang polyglossiaLangToBCP47 of
34+ Nothing -> return mempty -- TODO mzero? warning?
35+ Just langFunc -> do
36+ let l = langFunc o
37+ setTranslations l
38+ updateState $ setMeta "lang" $ str (renderLang l)
39+ return mempty
22
40
23polyglossiaLangToBCP47 :: M.Map T.Text (T.Text -> Lang)
41polyglossiaLangToBCP47 :: M.Map T.Text (T.Text -> Lang)
24polyglossiaLangToBCP47 = M.fromList
42polyglossiaLangToBCP47 = M.fromList