module LText.Parser.Unobtrusive where
import Data.Map as Map
type DelimitedSpan = (String, String)
doubleBackslash = ("//", "\n")
backslashAsterisk = ("/*", "*/")
doubleDash = ("--", "\n")
curlyDash = ("{-", "-}")
angleBangDash = ("<!--", "-->")
data Language =
C
| Cpp
| Haskell
| JavaScript
| Css
| Sass
| Less
| Html
deriving (Ord, Eq, Show)
unobSpans :: Map Language [DelimitedSpan]
unobSpans = Map.fromList $
[ (C, [doubleBackslash, backslashAsterisk])
, (Cpp, [doubleBackslash, backslashAsterisk])
, (Haskell, [doubleDash, curlyDash])
, (JavaScript, [doubleBackslash, backslashAsterisk])
, (Css, [backslashAsterisk])
, (Sass, [doubleBackslash, backslashAsterisk])
, (Less, [doubleBackslash, backslashAsterisk])
, (Html, [angleBangDash])
]