deleted markup function in Gui.hs, since it's superseded by Fontifier.hs now
This commit is contained in:
parent
c7a83b731c
commit
d3361ad93c
1 changed files with 0 additions and 40 deletions
|
@ -175,43 +175,3 @@ drawContent = markup . (createMarkup []) . unlines
|
|||
-- TODO is this needed/used somewhere? i don't see it -> delete?
|
||||
appCursor :: HeditState -> [CursorLocation Names] -> Maybe (CursorLocation Names)
|
||||
appCursor st c = Just (head c)
|
||||
|
||||
|
||||
-- TODO Refactor
|
||||
-- 1) Forget the monad thing that used to stand here, no need to
|
||||
-- introduce state
|
||||
-- 2) Rough idea:
|
||||
-- -> call Fontifier.fontify (public interface to whatever
|
||||
-- the fontification functions do)
|
||||
-- -> get list of attributes for text slices
|
||||
-- -> apply attributes to text in editor gui
|
||||
brackets :: [(Char,Char)]
|
||||
brackets = [('(',')'),('[',']'),('{','}')]
|
||||
|
||||
|
||||
mismatched :: (Char, Char) -> String -> Int -> Bool
|
||||
mismatched _ _ 0 = False
|
||||
mismatched _ [] _ = True
|
||||
mismatched b@(ob, cb) (c:cs) d
|
||||
-- TODO ignore comments and strings
|
||||
| c == ob = mismatched b cs $ d+1
|
||||
| c == cb = mismatched b cs $ d-1
|
||||
| otherwise = mismatched b cs d
|
||||
|
||||
createMarkup :: String -> String -> Markup Vty.Attr
|
||||
createMarkup _ [] = mempty
|
||||
createMarkup p s@('%':ss) = case i of
|
||||
Just n -> (pack (take (2+n) s) @@ fg Vty.green) <> (createMarkup (reverse (take (2+n) s) ++ p) (drop (1+n) ss))
|
||||
Nothing -> pack s @@ fg Vty.green
|
||||
where i = elemIndex '\n' ss
|
||||
createMarkup p s@('"':ss) = case i of
|
||||
Just n -> (pack (take (2+n) s) @@ fg Vty.blue) <> (createMarkup (reverse (take (2+n) s) ++ p) (drop (1+n) ss))
|
||||
Nothing -> pack s @@ fg Vty.red
|
||||
where i = elemIndex '"' ss
|
||||
createMarkup p (c:ss)
|
||||
| isJust ob && mismatched (fromJust ob) ss 1
|
||||
|| isJust cb && mismatched (swap $ fromJust cb) p 1 = (singleton c @@ bg Vty.red) <> r
|
||||
| otherwise = (singleton c @@ fg Vty.white) <> r
|
||||
where ob = find ((== c).fst) brackets
|
||||
cb = find ((== c).snd) brackets
|
||||
r = createMarkup (c:p) ss
|
||||
|
|
Loading…
Reference in a new issue