ghc-tags-plugin-0.1.1.0: A compiler plugin which generates tags file from GHC syntax tree.

Safe HaskellNone
LanguageHaskell2010

Plugin.GhcTags.Parser

Contents

Synopsis

Tag

newtype TagName Source #

ByteString which encodes a tag name.

Constructors

TagName 
Instances
Eq TagName Source # 
Instance details

Defined in Plugin.GhcTags.Parser

Methods

(==) :: TagName -> TagName -> Bool #

(/=) :: TagName -> TagName -> Bool #

Ord TagName Source # 
Instance details

Defined in Plugin.GhcTags.Parser

Show TagName Source # 
Instance details

Defined in Plugin.GhcTags.Parser

newtype TagFile Source #

ByteString which encodes a tag file.

Constructors

TagFile 
Instances
Eq TagFile Source # 
Instance details

Defined in Plugin.GhcTags.Parser

Methods

(==) :: TagFile -> TagFile -> Bool #

(/=) :: TagFile -> TagFile -> Bool #

Ord TagFile Source # 
Instance details

Defined in Plugin.GhcTags.Parser

Show TagFile Source # 
Instance details

Defined in Plugin.GhcTags.Parser

data Tag Source #

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 
Instances
Eq Tag Source # 
Instance details

Defined in Plugin.GhcTags.Parser

Methods

(==) :: Tag -> Tag -> Bool #

(/=) :: Tag -> Tag -> Bool #

Ord Tag Source # 
Instance details

Defined in Plugin.GhcTags.Parser

Methods

compare :: Tag -> Tag -> Ordering #

(<) :: Tag -> Tag -> Bool #

(<=) :: Tag -> Tag -> Bool #

(>) :: Tag -> Tag -> Bool #

(>=) :: Tag -> Tag -> Bool #

max :: Tag -> Tag -> Tag #

min :: Tag -> Tag -> Tag #

Show Tag Source # 
Instance details

Defined in Plugin.GhcTags.Parser

Methods

showsPrec :: Int -> Tag -> ShowS #

show :: Tag -> String #

showList :: [Tag] -> ShowS #

Parsing

parseVimTagFile :: ByteString -> IO (Either String [Tag]) Source #

Parse a vim-style tag file.

TagsMap'

mkTagsMap :: [Tag] -> TagsMap Source #

Map from TagName to list of tags. This will be useful when updating tags. We will just need to merge dictionaries.