Move old app out of the way

This commit is contained in:
Renaud Casenave-Péré 2025-08-26 21:51:12 +02:00
parent 0d8207a8fe
commit aaf61e020d
22 changed files with 22 additions and 10 deletions

View file

@ -1,4 +1,4 @@
(defsystem sextant
(defsystem sextant-app
:serial t
:defsystem-depends-on (:asdf-package-system)
:class :package-inferred-system

View file

@ -14,7 +14,9 @@ namespace sextant
{
namespace parser
{
static TSParser *parser;
static TSParser *parser = nullptr;
static TSTree* tree = nullptr;
uint32_t decode_ecl_character(const uint8_t *str, uint32_t length,
int32_t *code_point) {
@ -93,15 +95,16 @@ namespace sextant
};
} (l_gap_buffer);
TSTree *tree = ts_parser_parse(parser, nullptr, input);
char* sexp = ts_node_string(ts_tree_root_node(tree));
if (tree != nullptr)
ts_tree_delete(tree);
tree = ts_parser_parse(parser, nullptr, input);
return ecl_make_pointer(tree);
}
void init_parser_lib()
{
cl_object ts = ecl_make_constant_base_string("TS", 6);
void init_parser_lib() {
cl_object ts = ecl_make_constant_base_string("TS-ORG", 6);
if (cl_find_package(ts) == ECL_NIL)
ecl_make_package(ts, ECL_NIL, ECL_NIL, ECL_NIL);
si_select_package(ts);
@ -111,5 +114,13 @@ namespace sextant
parser = ts_parser_new();
ts_parser_set_language(parser, tree_sitter_org());
}
void shutdown_parser_lib() {
if (parser != nullptr)
ts_parser_delete(parser);
if (tree != nullptr)
ts_tree_delete(tree);
}
} // namespace parser
} // namespace sextant

View file

@ -8,7 +8,8 @@ namespace sextant
namespace parser
{
cl_object parse_document(cl_object l_gap_buffer);
void init_parer_lib();
void init_parser_lib();
void shutdown_parser_lib();
}
}

View file

@ -13,7 +13,7 @@ target.path = $$[QT_INSTALL_LIBS]
INSTALLS = target
SOURCES += \
src/parser/ts-parser.cc \
src/ts-parser/ts-parser.cc \
external/tree-sitter/lib/src/lib.c \
external/tree-sitter/lib/src/alloc.c \
external/tree-sitter/lib/src/get_changed_ranges.c \
@ -31,7 +31,7 @@ SOURCES += \
external/tree-sitter-org/src/scanner.c
HEADERS+= \
src/parser/ts-parser.hh \
src/ts-parser/ts-parser.hh \
external/tree-sitter/lib/src/alloc.h \
external/tree-sitter/lib/src/array.h \
external/tree-sitter/lib/src/atomic.h \