branch: elpa/haskell-tng-mode commit 6ae08ec9c49eadf77e40f37e0a042c137a361a04 Author: Tseen She <ts33n....@gmail.com> Commit: Tseen She <ts33n....@gmail.com>
fixup! multiline topdecl type sections --- haskell-tng-font-lock.el | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/haskell-tng-font-lock.el b/haskell-tng-font-lock.el index 746ff21..d2f13f1 100644 --- a/haskell-tng-font-lock.el +++ b/haskell-tng-font-lock.el @@ -103,23 +103,18 @@ (: symbol-start (char ?\\)))) . 'haskell-tng:keyword) - ;; types + ;; Types. (haskell-tng:explicit-type (0 'haskell-tng:type keep)) (haskell-tng:topdecl (1 'haskell-tng:type keep)) - ;; ;; TODO multiline data/newtype/class/instance types - ;; (,(rx-to-string `(: line-start "data" (+ space) - ;; (group (| ,conid ,consym)))) - ;; (1 'haskell-tng:type)) - ;; (,(rx-to-string `(: line-start (| "class" "instance") (+ space) - ;; (group (+? anything)) - ;; (+ space) "where")) - ;; (1 'haskell-tng:type keep)) + ;; TODO types in deriving sections + ;; TODO types in import / export statements + ;; TODO ExplicitNamespaces to disambiguate TypeOperators + ;; ;; TypeApplications ;; (,(rx-to-string `(: symbol-start "@" (* space) - ;; ;; TODO: more liberal type application ;; (group (opt ,qual) (| ,conid ,consym)))) ;; (1 'haskell-tng:type)) @@ -214,7 +209,8 @@ (defvar font-lock-beg) (defvar font-lock-end)) -;; TODO: more aggressive non-type chars +;; TODO: more aggressive non-type chars (these are technically allowed in string +;; literals and TypeOperators messes up everything) (defconst haskell-tng:non-type "[^\\{}]") (defconst haskell-tng:extend-explicit-type-regexp @@ -255,9 +251,6 @@ Ensures that multiline module definitions are opened." Ensures that multiline import definitions are opened." nil) -;; TODO multiline data / newtype / type definitions -;; TODO delete the paren and type extender and rely on growing from a seed - (defun haskell-tng:debug-extend (to) (message "extending `%s' to include `%s'!" (buffer-substring-no-properties font-lock-beg font-lock-end)