add packages
Build project / build (push) Has been cancelled

This commit is contained in:
Arthur Barraux
2025-11-01 13:03:07 +01:00
parent fa32f4b177
commit 42f82e2e0d
4 changed files with 31 additions and 4 deletions
+18 -2
View File
@@ -27,7 +27,6 @@ Lisp mapKey(Lisp args, LispError *e, LispContext ctx) {
}
Lisp moveCursor(Lisp args, LispError *e, LispContext ctx) {
fprintf(stderr, "Cursor is moving\n");
const char *direction = lisp_string(lisp_car(args));
switch (direction[0]) {
case 'u':
@@ -134,8 +133,25 @@ Lisp editorOpenFile(Lisp args, LispError *e, LispContext ctx) {
Lisp editorPrintC(Lisp args, LispError *e, LispContext ctx) {
char c = lisp_char(lisp_car(args));
char c = lisp_string(lisp_car(args))[0];
editorInsertChar(c);
return lisp_null();
}
Lisp addPackage(Lisp args, LispError *e, LispContext ctx) {
const char *package_name = lisp_string(lisp_car(args));
char *package_dir = (char *) calloc(256, sizeof(char));
FILE *fd_package = NULL;
strcat(package_dir, getenv("HOME"));
strcat(package_dir, "/.beluga/packages/");
strcat(package_dir, package_name);
strcat(package_dir, "/init.lisp");
fd_package = fopen(package_dir, "r");
lisp_eval(lisp_read_file(fd_package, &E.ctx_error, E.ctx), &E.ctx_error,
E.ctx);
fclose(fd_package);
free(package_dir);
return lisp_null();
}