Sha256: cc15e606fed7124bdb82a580d51e3d6ca1cdfe91550bad80751f1066b3b419da

Contents?: true

Size: 972 Bytes

Versions: 1

Compression:

Stored size: 972 Bytes

Contents

#include <tree_sitter/parser.h>

enum {
  COMMENT,
};

void *tree_sitter_extra_external_tokens_external_scanner_create() {
  return NULL;
}

void tree_sitter_extra_external_tokens_external_scanner_reset(void *payload) {
}

bool tree_sitter_extra_external_tokens_external_scanner_serialize(void *payload, TSExternalTokenState state) {
  return true;
}

void tree_sitter_extra_external_tokens_external_scanner_deserialize(void *payload, TSExternalTokenState state) {
}

bool tree_sitter_extra_external_tokens_external_scanner_scan(
  void *payload, TSLexer *lexer, const bool *whitelist) {

  while (lexer->lookahead == ' ') {
    lexer->advance(lexer, true);
  }

  if (lexer->lookahead == '#') {
    lexer->advance(lexer, false);
    while (lexer->lookahead != '\n') {
      lexer->advance(lexer, false);
    }

    lexer->result_symbol = COMMENT;
    return true;
  }

  return false;
}

void tree_sitter_extra_external_tokens_external_scanner_destroy(void *payload) {
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tree-sitter-0.0.1 ext/tree-sitter/tree-sitter/spec/fixtures/external_scanners/extra_external_tokens.c