lhs2TeX-hl 0.1.3 → 0.1.3.1
raw patch · 4 files changed
+39/−3 lines, 4 files
Files
- README.asciidoc +2/−0
- lhs2TeX-hl.cabal +2/−2
- src/Base/Common.hs +1/−1
- src/Language/Markup.hs +34/−0
README.asciidoc view
@@ -143,6 +143,8 @@ CHANGES -------+1.3.1::+ * Added the file Language.Markup 1.3.0:: * Added automatic rewrite rules, see section `Automatic markup'. 1.2.2::
lhs2TeX-hl.cabal view
@@ -1,5 +1,5 @@ Name: lhs2TeX-hl-Version: 0.1.3+Version: 0.1.3.1 Cabal-Version: >= 1.6 License: MIT Author: Alessandro Vermeulen <me@alessandrovermeulen.me>@@ -29,5 +29,5 @@ , cmdargs >= 0.1 , MissingH hs-source-dirs: src- Other-Modules: Language.LaTeX, Literate.Agda, Literate.Haskell,+ Other-Modules: Language.LaTeX, Language.Markup, Literate.Agda, Literate.Haskell, Literate.SimpleInfo, Base.CLI, Base.Common
src/Base/Common.hs view
@@ -1,4 +1,4 @@ module Base.Common where -programVersion = "0.1.3"+programVersion = "0.1.3.1" programName = "lhs2TeX-hl"
+ src/Language/Markup.hs view
@@ -0,0 +1,34 @@+module Language.Markup (markup) where++import Data.Char (isDigit)++markup :: String -> String+markup = m' . b . break (\ a -> a == '_' || isDigit a) . rtrim "_"+ where m' (str, []) = str+ m' (str, sub) = str ++ "_{" ++ sub ++ "}"+ b (a , b) = (a , ltrim "_" b)+ +++rtrim :: String -> String -> String+rtrim chars inp = rtrim' inp+ where+ rtrim' "" = []+ rtrim' [x] = case elem x chars of+ True -> []+ False -> [x]+ rtrim' (x:xs) = let tail = rtrim' xs+ in+ case tail of+ [] -> case elem x chars of+ True -> []+ False -> [x]+ xs -> x : tail+ +ltrim :: String -> String -> String+ltrim chars = ltrim'+ where ltrim' s = case s of+ [] -> []+ (x:xs) -> if elem x chars+ then ltrim' xs+ else s