{-# LANGUAGE OverloadedStrings #-}
module Plugin.GhcTags.CTag where
import qualified Data.Text as Text
import Data.Version
import Paths_ghc_tags_plugin
import GhcTags.CTag.Header
headers :: [Header]
=
[ forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Int
FileFormat forall a. Maybe a
Nothing Int
2 Text
""
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Int
FileSorted forall a. Maybe a
Nothing Int
1 Text
""
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
FileEncoding forall a. Maybe a
Nothing Text
"utf-8" Text
""
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
ProgramAuthor forall a. Maybe a
Nothing Text
"Marcin Szamotulski" Text
""
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
ProgramName forall a. Maybe a
Nothing Text
"ghc-tags-plugin" Text
""
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
ProgramUrl forall a. Maybe a
Nothing Text
"https://hackage.haskell.org/package/ghc-tags-plugin" Text
""
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
ProgramVersion forall a. Maybe a
Nothing (String -> Text
Text.pack forall a b. (a -> b) -> a -> b
$ Version -> String
showVersion Version
version) Text
""
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
FieldDescription Maybe Text
haskellLang Text
"type" Text
"type of expression"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
FieldDescription Maybe Text
haskellLang Text
"ffi" Text
"foreign object name"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
FieldDescription Maybe Text
haskellLang Text
"file" Text
"not exported term"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
FieldDescription Maybe Text
haskellLang Text
"instance" Text
"class, type or data type instance"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
FieldDescription Maybe Text
haskellLang Text
"Kind" Text
"kind of a type"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"`" Text
"module top level term, but not a function"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"λ" Text
"module top level function term"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"Λ" Text
"type constructor"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"c" Text
"data constructor"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"g" Text
"gadt constructor"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"r" Text
"record field"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"≡" Text
"type synonym"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"~" Text
"type signature"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"p" Text
"pattern synonym"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"C" Text
"type class"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"m" Text
"type class member"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"i" Text
"type class instance"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"F" Text
"type family"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"f" Text
"type family instance"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"D" Text
"data type family"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"d" Text
"data type family instance"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"I" Text
"foreign import"
, forall ty.
Show ty =>
HeaderType ty -> Maybe Text -> ty -> Text -> Header
Header HeaderType Text
KindDescription Maybe Text
haskellLang Text
"E" Text
"foreign export"
]
where
haskellLang :: Maybe Text
haskellLang = forall a. a -> Maybe a
Just Text
"Haskell"