hs-tree-sitter-13.0.14.0: High-level bindings for tree-sitter
Safe HaskellNone
LanguageHaskell2010

TreeSitter

Synopsis

ABI Versioning

type TREE_SITTER_LANGUAGE_VERSION = 14 #

The latest ABI version that is supported by the current version of the library. When Languages are generated by the Tree-sitter CLI, they are assigned an ABI version number that corresponds to the current CLI version. The Tree-sitter library is generally backwards-compatible with languages generated using older CLI versions, but is not forwards-compatible.

#define TREE_SITTER_LANGUAGE_VERSION 14

type TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION = 13 #

The earliest ABI version that is supported by the current version of the library.

#define TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION 13

Types

newtype Symbol #

Constructors

WrapTSSymbol 

Instances

Instances details
Enum Symbol 
Instance details

Defined in TreeSitter.Internal

Num Symbol 
Instance details

Defined in TreeSitter.Internal

Read Symbol 
Instance details

Defined in TreeSitter.Internal

Integral Symbol 
Instance details

Defined in TreeSitter.Internal

Real Symbol 
Instance details

Defined in TreeSitter.Internal

Show Symbol 
Instance details

Defined in TreeSitter.Internal

Eq Symbol 
Instance details

Defined in TreeSitter.Internal

Methods

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

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

Ord Symbol 
Instance details

Defined in TreeSitter.Internal

newtype StateId #

Constructors

WrapTSStateId 

Instances

Instances details
Enum StateId 
Instance details

Defined in TreeSitter.Internal

Num StateId 
Instance details

Defined in TreeSitter.Internal

Read StateId 
Instance details

Defined in TreeSitter.Internal

Integral StateId 
Instance details

Defined in TreeSitter.Internal

Real StateId 
Instance details

Defined in TreeSitter.Internal

Show StateId 
Instance details

Defined in TreeSitter.Internal

Eq StateId 
Instance details

Defined in TreeSitter.Internal

Methods

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

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

Ord StateId 
Instance details

Defined in TreeSitter.Internal

newtype FieldId #

Constructors

WrapTSFieldId 

Instances

Instances details
Enum FieldId 
Instance details

Defined in TreeSitter.Internal

Num FieldId 
Instance details

Defined in TreeSitter.Internal

Read FieldId 
Instance details

Defined in TreeSitter.Internal

Integral FieldId 
Instance details

Defined in TreeSitter.Internal

Real FieldId 
Instance details

Defined in TreeSitter.Internal

Show FieldId 
Instance details

Defined in TreeSitter.Internal

Eq FieldId 
Instance details

Defined in TreeSitter.Internal

Methods

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

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

Ord FieldId 
Instance details

Defined in TreeSitter.Internal

data Language #

data Parser #

data Tree #

Warning: Tree is not thread-safe. To use a Tree from multiple threads, you must copy it using treeCopy.

data Query #

data InputEncoding where #

Bundled Patterns

pattern InputEncodingUTF8 :: InputEncoding 
pattern InputEncodingUTF16 :: InputEncoding 

Instances

Instances details
Show InputEncoding 
Instance details

Defined in TreeSitter.Internal

data SymbolType where #

Instances

Instances details
Show SymbolType 
Instance details

Defined in TreeSitter.Internal

Eq SymbolType 
Instance details

Defined in TreeSitter.Internal

data Point where #

Bundled Patterns

pattern Point :: Word32 -> Word32 -> Point 

Instances

Instances details
Show Point 
Instance details

Defined in TreeSitter.Internal

Methods

showsPrec :: Int -> Point -> ShowS #

show :: Point -> String #

showList :: [Point] -> ShowS #

Eq Point 
Instance details

Defined in TreeSitter.Internal

Methods

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

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

Ord Point 
Instance details

Defined in TreeSitter.Internal

Methods

compare :: Point -> Point -> Ordering #

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

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

(>) :: Point -> Point -> Bool #

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

max :: Point -> Point -> Point #

min :: Point -> Point -> Point #

data Range where #

Bundled Patterns

pattern Range :: Point -> Point -> Word32 -> Word32 -> Range 

Instances

Instances details
Show Range 
Instance details

Defined in TreeSitter.Internal

Methods

showsPrec :: Int -> Range -> ShowS #

show :: Range -> String #

showList :: [Range] -> ShowS #

Eq Range 
Instance details

Defined in TreeSitter.Internal

Methods

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

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

type Input #

Arguments

 = Word32

Byte index.

-> Point

Position.

-> IO ByteString 

data LogType where #

Bundled Patterns

pattern LogTypeLex :: LogType 
pattern LogTypeParse :: LogType 

Instances

Instances details
Show LogType 
Instance details

Defined in TreeSitter.Internal

Eq LogType 
Instance details

Defined in TreeSitter.Internal

Methods

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

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

data InputEdit where #

Bundled Patterns

pattern InputEdit :: Word32 -> Word32 -> Word32 -> Point -> Point -> Point -> InputEdit 

data Node #

newtype NodeId #

Constructors

WrapTSNodeId 

Fields

Instances

Instances details
Show NodeId 
Instance details

Defined in TreeSitter.Internal

Eq NodeId 
Instance details

Defined in TreeSitter.Internal

Methods

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

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

Ord NodeId 
Instance details

Defined in TreeSitter.Internal

data Quantifier #

Instances

Instances details
Show Quantifier 
Instance details

Defined in TreeSitter.Internal

Eq Quantifier 
Instance details

Defined in TreeSitter.Internal

Parser

unsafeParserDelete :: Parser -> IO () #

Delete the Parser and free the associated memory.

See ts_parser_delete.

Warning: Using the Parser after calling unsafeParserDelete leads to undefined behaviour.

Warning: If the Parser has a logger, this function does not delete it.

withParser :: (Parser -> IO a) -> IO a #

parserSetLogger :: Parser -> Log -> IO () #

Set the Logger for a Parser.

See ts_parser_set_logger.

parserLogger :: Parser -> IO (Maybe Log) #

Get the Logger for a Parser.

If no Logger was set, parserLogger returns Nothing.

See ts_parser_logger.

parserHasLogger :: Parser -> IO Bool #

Test if the Parser has a Logger.

parserRemoveLogger :: Parser -> IO (Maybe Log) #

If the Parser has a Logger, remove and pure it.

newtype Microsecond #

Microseconds.

Constructors

Microsecond 

Instances

Instances details
Enum Microsecond 
Instance details

Defined in TreeSitter.Internal

Num Microsecond 
Instance details

Defined in TreeSitter.Internal

Read Microsecond 
Instance details

Defined in TreeSitter.Internal

Integral Microsecond 
Instance details

Defined in TreeSitter.Internal

Real Microsecond 
Instance details

Defined in TreeSitter.Internal

Show Microsecond 
Instance details

Defined in TreeSitter.Internal

Eq Microsecond 
Instance details

Defined in TreeSitter.Internal

Ord Microsecond 
Instance details

Defined in TreeSitter.Internal

data CancellationFlag where #

Bundled Patterns

pattern Cancel :: CancellationFlag 
pattern Continue :: CancellationFlag 

parserPrintDotGraphs :: Parser -> Handle -> IO () #

See ts_parser_print_dot_graphs. | This function throws an IOError if the Handle does not reference a file descriptor.

Tree

unsafeTreeDelete :: Tree -> IO () #

Delete the Tree.

See ts_tree_delete.

Warning: Using the Tree after calling unsafeTreeDelete leads to undefined behaviour.

treePrintDotGraph :: Tree -> Handle -> IO () #

See ts_tree_print_dot_graph. | This function throws an IOError if the Handle does not reference a file descriptor.

Node

nodeRange :: Node -> IO Range #

Get the Range for the Node.

TreeCursor

unsafeTreeCursorDelete :: TreeCursor -> IO () #

Delete the TreeCursor.

| See ts_tree_cursor_delete.

Warning: Using the Tree after calling unsafeTreeCursorDelete leads to undefined behaviour.

Query

unsafeQueryDelete :: Query -> IO () #

Delete the Query and free the associated memory.

See ts_query_delete.

Warning: Using the Query after calling unsafeQueryDelete leads to undefined behaviour.

Language

Lookahead Iterator