int main(int argc, char *argv[]) { cur_file = malloc(sizeof(v_file_text)); switch (argc) { default: case 1: cur_file_name[0] = 0; v_new_file(cur_file); break; case 2: strcpy(cur_file_name, argv[1]); v_load_file(cur_file_name, cur_file); break; } init_global(); redraw_ui(); init_display_back(); disable_display_back(); main_loop(); enable_display_back(); return 0; }
int main_loop() { //This function assume the display back is disabled. int key_down = 0; while (1) { #ifdef __VIC_POSIX key_down = getchar(); #endif #ifdef __VIC_WIN key_down = __get_char_win(); // key_down = getch(); #endif switch (mode_flag) { case NORMAL_MODE: normal_mode_process(key_down); break; case INSERT_MODE: insert_mode_process(key_down); break; case BOTTOMLINE_MODE: bottomline_mode_process(key_down); break; default: break; } parse_highlighting(cur_file); redraw_ui(); } return 0; }