Sha256: 3481013d2fed14310ce65eb75a2f3e1b4c0cae01390cde5b43574687ac60b146

Contents?: true

Size: 985 Bytes

Versions: 1

Compression:

Stored size: 985 Bytes

Contents

#pragma once

#include "ruby.h"
#include <ruby/encoding.h>

extern VALUE rb_Trenni, rb_Trenni_Native, rb_Trenni_ParseError;

extern ID id_cdata, id_open_tag_begin, id_open_tag_end, id_attribute, id_close_tag, id_text, id_doctype, id_comment, id_instruction, id_read, id_expression;

typedef struct {
	const char * begin;
	const char * end;
} Token;

static inline VALUE Trenni_token(Token token, rb_encoding * encoding) {
	return rb_enc_str_new(token.begin, token.end - token.begin, encoding);
}

static inline VALUE Trenni_string(const char * begin, const char * end, rb_encoding * encoding) {
	return rb_enc_str_new(begin, end - begin, encoding);
}

void Trenni_raise_error(const char * message, VALUE buffer, size_t offset);

void Trenni_append_string(VALUE * buffer, rb_encoding * encoding, VALUE string);
void Trenni_append_token(VALUE * buffer, rb_encoding * encoding, Token token);
void Trenni_append_codepoint(VALUE * buffer, rb_encoding * encoding, unsigned long codepoint);

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
trenni-2.0.1 ext/trenni/trenni.h