44 lines
1007 B
C
Generated
44 lines
1007 B
C
Generated
#include "tree_sitter/parser.h"
|
|
|
|
#include "tree_sitter_rst/scanner.c"
|
|
#include "tree_sitter_rst/tokens.h"
|
|
|
|
void* tree_sitter_rst_external_scanner_create()
|
|
{
|
|
return new_rst_scanner();
|
|
}
|
|
|
|
void tree_sitter_rst_external_scanner_destroy(void* payload)
|
|
{
|
|
destroy_rst_scanner(payload);
|
|
}
|
|
|
|
unsigned tree_sitter_rst_external_scanner_serialize(
|
|
void* payload,
|
|
char* buffer)
|
|
{
|
|
RSTScanner* scanner = payload;
|
|
return scanner->serialize(scanner, buffer);
|
|
}
|
|
|
|
void tree_sitter_rst_external_scanner_deserialize(
|
|
void* payload,
|
|
const char* buffer,
|
|
unsigned length)
|
|
{
|
|
RSTScanner* scanner = payload;
|
|
scanner->deserialize(scanner, buffer, length);
|
|
}
|
|
|
|
bool tree_sitter_rst_external_scanner_scan(
|
|
void* payload,
|
|
TSLexer* lexer,
|
|
const bool* valid_symbols)
|
|
{
|
|
RSTScanner* scanner = (RSTScanner*)payload;
|
|
scanner->lexer = lexer;
|
|
scanner->valid_symbols = valid_symbols;
|
|
scanner->lookahead = lexer->lookahead;
|
|
scanner->previous = lexer->lookahead;
|
|
return scanner->scan(scanner);
|
|
} |