module Language.Haskell.GHC.ExactPrint.Lookup
(
keywordToString
, AnnKeywordId(..)
, Comment(..)
) where
import GHC (AnnKeywordId(..))
import Language.Haskell.GHC.ExactPrint.Types
keywordToString :: AnnKeywordId -> String
keywordToString :: AnnKeywordId -> String
keywordToString AnnKeywordId
kw =
let mkErr :: a -> a
mkErr a
x = String -> a
forall a. HasCallStack => String -> a
error (String -> a) -> String -> a
forall a b. (a -> b) -> a -> b
$ String
"keywordToString: missing case for:" String -> String -> String
forall a. [a] -> [a] -> [a]
++ a -> String
forall a. Show a => a -> String
show a
x
in
case AnnKeywordId
kw of
AnnKeywordId
AnnAnyclass -> String
"anyclass"
AnnKeywordId
AnnOpen -> AnnKeywordId -> String
forall {a} {a}. Show a => a -> a
mkErr AnnKeywordId
kw
AnnKeywordId
AnnClose -> AnnKeywordId -> String
forall {a} {a}. Show a => a -> a
mkErr AnnKeywordId
kw
AnnKeywordId
AnnVal -> AnnKeywordId -> String
forall {a} {a}. Show a => a -> a
mkErr AnnKeywordId
kw
AnnKeywordId
AnnPackageName -> AnnKeywordId -> String
forall {a} {a}. Show a => a -> a
mkErr AnnKeywordId
kw
AnnKeywordId
AnnHeader -> AnnKeywordId -> String
forall {a} {a}. Show a => a -> a
mkErr AnnKeywordId
kw
AnnKeywordId
AnnFunId -> AnnKeywordId -> String
forall {a} {a}. Show a => a -> a
mkErr AnnKeywordId
kw
AnnKeywordId
AnnInfix -> AnnKeywordId -> String
forall {a} {a}. Show a => a -> a
mkErr AnnKeywordId
kw
AnnKeywordId
AnnValStr -> AnnKeywordId -> String
forall {a} {a}. Show a => a -> a
mkErr AnnKeywordId
kw
AnnKeywordId
AnnName -> AnnKeywordId -> String
forall {a} {a}. Show a => a -> a
mkErr AnnKeywordId
kw
AnnKeywordId
AnnAs -> String
"as"
AnnKeywordId
AnnBang -> String
"!"
AnnKeywordId
AnnBackquote -> String
"`"
AnnKeywordId
AnnBy -> String
"by"
AnnKeywordId
AnnCase -> String
"case"
AnnKeywordId
AnnCases -> String
"cases"
AnnKeywordId
AnnClass -> String
"class"
AnnKeywordId
AnnCloseB -> String
"|)"
AnnKeywordId
AnnCloseBU -> String
"⦈"
AnnKeywordId
AnnCloseC -> String
"}"
AnnKeywordId
AnnCloseP -> String
")"
AnnKeywordId
AnnClosePH -> String
"#)"
AnnKeywordId
AnnCloseQ -> String
"|]"
AnnKeywordId
AnnCloseQU -> String
"⟧"
AnnKeywordId
AnnCloseS -> String
"]"
AnnKeywordId
AnnColon -> String
":"
AnnKeywordId
AnnComma -> String
","
AnnKeywordId
AnnCommaTuple -> String
","
AnnKeywordId
AnnDarrow -> String
"=>"
AnnKeywordId
AnnData -> String
"data"
AnnKeywordId
AnnDcolon -> String
"::"
AnnKeywordId
AnnDefault -> String
"default"
AnnKeywordId
AnnDeriving -> String
"deriving"
AnnKeywordId
AnnDo -> String
"do"
AnnKeywordId
AnnDot -> String
"."
AnnKeywordId
AnnDotdot -> String
".."
AnnKeywordId
AnnElse -> String
"else"
AnnKeywordId
AnnEqual -> String
"="
AnnKeywordId
AnnExport -> String
"export"
AnnKeywordId
AnnFamily -> String
"family"
AnnKeywordId
AnnForall -> String
"forall"
AnnKeywordId
AnnForeign -> String
"foreign"
AnnKeywordId
AnnGroup -> String
"group"
AnnKeywordId
AnnHiding -> String
"hiding"
AnnKeywordId
AnnIf -> String
"if"
AnnKeywordId
AnnImport -> String
"import"
AnnKeywordId
AnnIn -> String
"in"
AnnKeywordId
AnnInstance -> String
"instance"
AnnKeywordId
AnnLam -> String
"\\"
AnnKeywordId
AnnLarrow -> String
"<-"
AnnKeywordId
AnnLet -> String
"let"
AnnKeywordId
AnnLollyU -> String
"⊸"
AnnKeywordId
AnnMdo -> String
"mdo"
AnnKeywordId
AnnMinus -> String
"-"
AnnKeywordId
AnnModule -> String
"module"
AnnKeywordId
AnnNewtype -> String
"newtype"
AnnKeywordId
AnnOf -> String
"of"
AnnKeywordId
AnnOpenB -> String
"(|"
AnnKeywordId
AnnOpenBU -> String
"⦇"
AnnKeywordId
AnnOpenC -> String
"{"
AnnKeywordId
AnnOpenE -> String
"[e|"
AnnKeywordId
AnnOpenEQ -> String
"[|"
AnnKeywordId
AnnOpenEQU -> String
"⟦"
AnnKeywordId
AnnOpenP -> String
"("
AnnKeywordId
AnnOpenPH -> String
"(#"
AnnKeywordId
AnnOpenS -> String
"["
AnnKeywordId
AnnPattern -> String
"pattern"
AnnKeywordId
AnnPercent -> String
"%"
AnnKeywordId
AnnPercentOne -> String
"%1"
AnnKeywordId
AnnProc -> String
"proc"
AnnKeywordId
AnnQualified -> String
"qualified"
AnnKeywordId
AnnRarrow -> String
"->"
AnnKeywordId
AnnRec -> String
"rec"
AnnKeywordId
AnnRole -> String
"role"
AnnKeywordId
AnnSafe -> String
"safe"
AnnKeywordId
AnnSemi -> String
";"
AnnKeywordId
AnnSignature -> String
"signature"
AnnKeywordId
AnnStock -> String
"stock"
AnnKeywordId
AnnStatic -> String
"static"
AnnKeywordId
AnnThen -> String
"then"
AnnKeywordId
AnnTilde -> String
"~"
AnnKeywordId
AnnType -> String
"type"
AnnKeywordId
AnnUnit -> String
"()"
AnnKeywordId
AnnUsing -> String
"using"
AnnKeywordId
AnnVbar -> String
"|"
AnnKeywordId
AnnWhere -> String
"where"
AnnKeywordId
Annlarrowtail -> String
"-<"
AnnKeywordId
Annrarrowtail -> String
">-"
AnnKeywordId
AnnLarrowtail -> String
"-<<"
AnnKeywordId
AnnRarrowtail -> String
">>-"
AnnKeywordId
AnnSimpleQuote -> String
"'"
AnnKeywordId
AnnThTyQuote -> String
"''"
AnnKeywordId
AnnDollar -> String
"$"
AnnKeywordId
AnnDollarDollar -> String
"$$"
AnnKeywordId
AnnDarrowU -> String
"⇒"
AnnKeywordId
AnnDcolonU -> String
"∷"
AnnKeywordId
AnnForallU -> String
"∀"
AnnKeywordId
AnnLarrowU -> String
"←"
AnnKeywordId
AnnLarrowtailU -> String
"⤛"
AnnKeywordId
AnnRarrowU -> String
"→"
AnnKeywordId
AnnRarrowtailU -> String
"⤜"
AnnKeywordId
AnnlarrowtailU -> String
"⤙"
AnnKeywordId
AnnrarrowtailU -> String
"⤚"
AnnKeywordId
AnnVia -> String
"via"