| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Plugin.GhcTags.Tag
Contents
Synopsis
- data Tag = Tag {}
- compareTags :: Tag -> Tag -> Ordering
- newtype TagName = TagName {
- getTagName :: Text
- newtype TagFile = TagFile {
- getTagFile :: Text
- data TagKind
- data GhcKind
- = TkTerm
- | TkFunction
- | TkTypeConstructor
- | TkDataConstructor
- | TkGADTConstructor
- | TkRecordField
- | TkTypeSynonym
- | TkTypeSignature
- | TkPatternSynonym
- | TkTypeClass
- | TkTypeClassMember
- | TkTypeClassInstance
- | TkTypeFamily
- | TkTypeFamilyInstance
- | TkDataTypeFamily
- | TkDataTypeFamilyInstance
- | TkForeignImport
- | TkForeignExport
- charToGhcKind :: Char -> Maybe GhcKind
- ghcKindToChar :: GhcKind -> Char
- data TagField = TagField {
- fieldName :: Text
- fieldValue :: Text
- ghcTagToTag :: GhcTag -> Maybe Tag
- type TagsMap = Map TagFile [Tag]
- mkTagsMap :: [Tag] -> TagsMap
Tag
Simple Tag record. For the moment on tag name, tag file and line numbers are supported.
TODO: expand to support column numbers and extra information.
Constructors
| Tag | |
ByteString which encodes a tag name.
Constructors
| TagName | |
Fields
| |
ByteString which encodes a tag file.
Constructors
| TagFile | |
Fields
| |
When we parse a tags file we can eithera find no kind or recognize the
kind of GhcKind or we store the found character kind. This allows us to
preserve information from parsed tags files which were not created by
`ghc-tags-plugin'
ctags can generate tags kind, so do we.
Constructors
ghcKindToChar :: GhcKind -> Char Source #