Skip to content

Commit

Permalink
refactor(scanner): drop unnecessary struct
Browse files Browse the repository at this point in the history
  • Loading branch information
ObserverOfTime committed Feb 24, 2024
1 parent 189b3cc commit ce2f4f6
Showing 1 changed file with 8 additions and 26 deletions.
34 changes: 8 additions & 26 deletions src/scanner.c
Original file line number Diff line number Diff line change
@@ -1,40 +1,22 @@
#include "tree_sitter/parser.h"
#include <stdio.h>
#include <stdlib.h>

enum TokenType { FAKE_EOL };

typedef struct {
bool reached_eof;
} Scanner;

void *tree_sitter_properties_external_scanner_create() {
Scanner *scanner = malloc(sizeof(Scanner));
scanner->reached_eof = false;
return scanner;
}
static bool reached_eof = false;

bool tree_sitter_properties_external_scanner_scan(void *payload, TSLexer *lexer, const bool *valid_symbols) {
Scanner *scanner = (Scanner *) payload;

if (valid_symbols[FAKE_EOL] && !scanner->reached_eof && lexer->eof(lexer)) {
lexer->result_symbol = FAKE_EOL;
return scanner->reached_eof = true;
}

return false;
lexer->result_symbol = FAKE_EOL;
return reached_eof = !reached_eof && valid_symbols[FAKE_EOL] && lexer->eof(lexer);
}

unsigned tree_sitter_properties_external_scanner_serialize(void *payload, char *buffer) {
Scanner *scanner = (Scanner *) payload;
return scanner->reached_eof ? 1 : 0;
return reached_eof;
}

void tree_sitter_properties_external_scanner_deserialize(void *payload, const char *buffer, unsigned length) {
Scanner *scanner = (Scanner *) payload;
scanner->reached_eof = length == 1;
reached_eof = length;
}

void tree_sitter_properties_external_scanner_destroy(void *payload) {
free(payload);
}
void *tree_sitter_properties_external_scanner_create() { return NULL; }

void tree_sitter_properties_external_scanner_destroy(void *payload) { }

0 comments on commit ce2f4f6

Please sign in to comment.