/** * \file main.c * \author Arthur Barraux * \brief Base file of Beluga text editor. Contain fonctions for terminal * interactions. \version 0.1 \date 21 septembre 2024 */ #include #include #include #include #define _DEFAULT_SOURCE #define _BSD_SOURCE #define _GNU_SOURCE #include "include/data.h" #include "include/file_io.h" #include "include/init.h" #include "include/input.h" #include "include/output.h" #include "include/terminal.h" struct editorConfig E; int main(int argc, char *argv[]) { char * splash_screen = (char *) calloc(256, sizeof(char)); enableRawMode(); initEditor(); if (argc >= 2) { E.state = READ_AND_WRITE; editorOpen(argv[1]); } else { strcat(splash_screen, getenv("HOME")); strcat(splash_screen, "/.beluga/assets/beluga.txt"); fprintf(stderr, "%s\n", splash_screen); editorOpen(splash_screen); } free(splash_screen); editorSetStatusMessage("HELP: Ctrl-x Ctrl-s = save | Ctrl-x Ctrl-q = quit"); while (1) { editorRefreshScreen(); editorProcessKeypress(); } return 0; }