Safe Haskell | None |
---|---|
Language | Haskell2010 |
Interface for generating tags for a parsed module.
Synopsis
- data GhcTag = GhcTag {}
- type GhcTags = [GhcTag]
- data GhcKind
- = TkTerm
- | TkFunction
- | TkTypeConstructor
- | TkDataConstructor
- | TkGADTConstructor
- | TkRecordField
- | TkTypeSynonym
- | TkTypeSignature
- | TkPatternSynonym
- | TkTypeClass
- | TkTypeClassMember
- | TkTypeClassInstance
- | TkTypeFamily
- | TkTypeFamilyInstance
- | TkDataTypeFamily
- | TkDataTypeFamilyInstance
- | TkForeignImport
- | TkForeignExport
- data TagField = TagField {
- fieldName :: Text
- fieldValue :: Text
- ghcKindToChar :: GhcKind -> Char
- charToGhcKind :: Char -> Maybe GhcKind
- getGhcTags :: Located (HsModule GhcPs) -> GhcTags
Documentation
ctags
can generate tags kinds, so do we.
Unit of data associated with a tag. Vim natively supports `file:` and `kind:` tags but it can display any other tags too.
TagField | |
|
ghcKindToChar :: GhcKind -> Char Source #
getGhcTags :: Located (HsModule GhcPs) -> GhcTags Source #
Generate tags for a module - simple walk over the syntax tree.
Supported identifiers: * top level terms * data types * record fields * type synonyms * type classes * type class members * type class instances * type families * type family instances * data type families * data type families instances * data type family instances constructors