From f2db060afa450ff707edf47410efe19f1de0abcd Mon Sep 17 00:00:00 2001 From: marcusDenslow Date: Wed, 11 Jun 2025 07:05:22 +0200 Subject: [PATCH] fixed rendering issue with commit prompts when hitting enter to commit the parts of the prompts that were over empty space in the entire program did not get cleared. this is now fixed and it will remove those parts too --- ncurses_diff_viewer.c | 419 +++++++++++++++++++++++++----------------- ncurses_diff_viewer.o | Bin 165224 -> 166544 bytes shell | Bin 512504 -> 512680 bytes 3 files changed, 253 insertions(+), 166 deletions(-) diff --git a/ncurses_diff_viewer.c b/ncurses_diff_viewer.c index 01a8608..f7afb71 100644 --- a/ncurses_diff_viewer.c +++ b/ncurses_diff_viewer.c @@ -7,6 +7,7 @@ #include "git_integration.h" #include #include +#include #include #include #include @@ -14,64 +15,80 @@ #include #include #include -#include static volatile int terminal_resized = 0; void handle_sigwinch(int sig) { - (void)sig; - terminal_resized = 1; + (void)sig; + terminal_resized = 1; } /** * Handle terminal resize by recreating all windows */ void handle_terminal_resize(NCursesDiffViewer *viewer) { - if (!viewer) return; - - // Clean up old windows - if (viewer->file_list_win) delwin(viewer->file_list_win); - if (viewer->branch_list_win) delwin(viewer->branch_list_win); - if (viewer->commit_list_win) delwin(viewer->commit_list_win); - if (viewer->stash_list_win) delwin(viewer->stash_list_win); - if (viewer->file_content_win) delwin(viewer->file_content_win); - if (viewer->status_bar_win) delwin(viewer->status_bar_win); - - // Reinitialize ncurses with new terminal size - endwin(); - refresh(); - clear(); - - // Get new terminal dimensions - getmaxyx(stdscr, viewer->terminal_height, viewer->terminal_width); - viewer->file_panel_width = viewer->terminal_width * 0.4; - viewer->status_bar_height = viewer->terminal_height * 0.05; - if (viewer->status_bar_height < 1) viewer->status_bar_height = 1; - - int available_height = viewer->terminal_height - 1 - viewer->status_bar_height; - viewer->file_panel_height = available_height * 0.3; - viewer->commit_panel_height = available_height * 0.3; - viewer->branch_panel_height = available_height * 0.2; - viewer->stash_panel_height = available_height - viewer->file_panel_height - - viewer->commit_panel_height - viewer->branch_panel_height - 3; - - int status_bar_y = 1 + available_height; - - // Recreate all windows with new dimensions - viewer->file_list_win = newwin(viewer->file_panel_height, viewer->file_panel_width, 1, 0); - viewer->branch_list_win = newwin(viewer->branch_panel_height, viewer->file_panel_width, - 1 + viewer->file_panel_height + 1, 0); - viewer->commit_list_win = newwin(viewer->commit_panel_height, viewer->file_panel_width, - 1 + viewer->file_panel_height + 1 + viewer->branch_panel_height + 1, 0); - viewer->stash_list_win = newwin(viewer->stash_panel_height, viewer->file_panel_width, - 1 + viewer->file_panel_height + 1 + viewer->branch_panel_height + 1 + - viewer->commit_panel_height + 1, 0); - viewer->file_content_win = newwin(available_height, viewer->terminal_width - viewer->file_panel_width - 1, - 1, viewer->file_panel_width + 1); - viewer->status_bar_win = newwin(viewer->status_bar_height, viewer->terminal_width, status_bar_y, 0); - - // Force complete redraw - terminal_resized = 0; + if (!viewer) + return; + + // Clean up old windows + if (viewer->file_list_win) + delwin(viewer->file_list_win); + if (viewer->branch_list_win) + delwin(viewer->branch_list_win); + if (viewer->commit_list_win) + delwin(viewer->commit_list_win); + if (viewer->stash_list_win) + delwin(viewer->stash_list_win); + if (viewer->file_content_win) + delwin(viewer->file_content_win); + if (viewer->status_bar_win) + delwin(viewer->status_bar_win); + + // Reinitialize ncurses with new terminal size + endwin(); + refresh(); + clear(); + + // Get new terminal dimensions + getmaxyx(stdscr, viewer->terminal_height, viewer->terminal_width); + viewer->file_panel_width = viewer->terminal_width * 0.4; + viewer->status_bar_height = viewer->terminal_height * 0.05; + if (viewer->status_bar_height < 1) + viewer->status_bar_height = 1; + + int available_height = + viewer->terminal_height - 1 - viewer->status_bar_height; + viewer->file_panel_height = available_height * 0.3; + viewer->commit_panel_height = available_height * 0.3; + viewer->branch_panel_height = available_height * 0.2; + viewer->stash_panel_height = available_height - viewer->file_panel_height - + viewer->commit_panel_height - + viewer->branch_panel_height - 3; + + int status_bar_y = 1 + available_height; + + // Recreate all windows with new dimensions + viewer->file_list_win = + newwin(viewer->file_panel_height, viewer->file_panel_width, 1, 0); + viewer->branch_list_win = + newwin(viewer->branch_panel_height, viewer->file_panel_width, + 1 + viewer->file_panel_height + 1, 0); + viewer->commit_list_win = newwin( + viewer->commit_panel_height, viewer->file_panel_width, + 1 + viewer->file_panel_height + 1 + viewer->branch_panel_height + 1, 0); + viewer->stash_list_win = + newwin(viewer->stash_panel_height, viewer->file_panel_width, + 1 + viewer->file_panel_height + 1 + viewer->branch_panel_height + + 1 + viewer->commit_panel_height + 1, + 0); + viewer->file_content_win = newwin( + available_height, viewer->terminal_width - viewer->file_panel_width - 1, + 1, viewer->file_panel_width + 1); + viewer->status_bar_win = newwin(viewer->status_bar_height, + viewer->terminal_width, status_bar_y, 0); + + // Force complete redraw + terminal_resized = 0; } /** @@ -100,14 +117,15 @@ int init_ncurses_diff_viewer(NCursesDiffViewer *viewer) { viewer->branch_animation_frame = 0; viewer->branch_text_char_count = 0; viewer->critical_operation_in_progress = 0; - + // Initialize branch commits viewer->branch_commit_count = 0; viewer->branch_commits_scroll_offset = 0; viewer->branch_commits_cursor_line = 0; viewer->fetch_pid = -1; viewer->fetch_in_progress = 0; - memset(viewer->current_branch_for_commits, 0, sizeof(viewer->current_branch_for_commits)); + memset(viewer->current_branch_for_commits, 0, + sizeof(viewer->current_branch_for_commits)); // Set locale for Unicode support setlocale(LC_ALL, ""); @@ -1039,10 +1057,29 @@ int get_commit_title_input(char *title, int max_len, char *message, // Restore settings curs_set(0); // Hide cursor + for (int y = title_start_y; y < title_start_y + title_height; y++) { + move(y, start_x); + for (int x = 0; x < input_width; x++) { + addch(' '); + } + } + + // Clear message window area + for (int y = message_start_y; y < message_start_y + message_height; y++) { + move(y, start_x); + for (int x = 0; x < input_width; x++) { + addch(' '); + } + } + // Clean up windows delwin(title_win); delwin(message_win); + // Force complete screen refresh + clear(); + refresh(); + return strlen(title) > 0 ? 1 : 0; } @@ -1657,11 +1694,14 @@ void render_commit_list_window(NCursesDiffViewer *viewer) { wattroff(viewer->commit_list_win, COLOR_PAIR(5)); } - // Color commit hash based on push status: yellow for pushed, red for unpushed + // Color commit hash based on push status: yellow for pushed, red for + // unpushed if (viewer->commits[i].is_pushed) { - wattron(viewer->commit_list_win, COLOR_PAIR(4)); // Yellow for pushed commits + wattron(viewer->commit_list_win, + COLOR_PAIR(4)); // Yellow for pushed commits } else { - wattron(viewer->commit_list_win, COLOR_PAIR(2)); // Red for unpushed commits + wattron(viewer->commit_list_win, + COLOR_PAIR(2)); // Red for unpushed commits } mvwprintw(viewer->commit_list_win, y, 2, "%s", viewer->commits[i].hash); if (viewer->commits[i].is_pushed) { @@ -1755,7 +1795,8 @@ void render_file_content_window(NCursesDiffViewer *viewer) { } } else if (viewer->current_mode == NCURSES_MODE_BRANCH_LIST) { // Show branch commits - if (viewer->branch_count > 0 && viewer->selected_branch < viewer->branch_count) { + if (viewer->branch_count > 0 && + viewer->selected_branch < viewer->branch_count) { mvwprintw(viewer->file_content_win, 0, 2, " 2. %s (Commits) ", viewer->branches[viewer->selected_branch].name); } else { @@ -1763,7 +1804,8 @@ void render_file_content_window(NCursesDiffViewer *viewer) { } } else if (viewer->current_mode == NCURSES_MODE_BRANCH_VIEW) { // Show branch view with scrollable commits - if (viewer->branch_count > 0 && viewer->selected_branch < viewer->branch_count) { + if (viewer->branch_count > 0 && + viewer->selected_branch < viewer->branch_count) { mvwprintw(viewer->file_content_win, 0, 2, " 2. %s (Scrollable) ", viewer->branches[viewer->selected_branch].name); } else { @@ -1784,7 +1826,8 @@ void render_file_content_window(NCursesDiffViewer *viewer) { } // Show content if available - if (viewer->current_mode == NCURSES_MODE_BRANCH_LIST && viewer->branch_commit_count > 0) { + if (viewer->current_mode == NCURSES_MODE_BRANCH_LIST && + viewer->branch_commit_count > 0) { // Show branch commits with full formatting int height, width; getmaxyx(viewer->file_content_win, height, width); @@ -1792,35 +1835,38 @@ void render_file_content_window(NCursesDiffViewer *viewer) { int content_width = viewer->terminal_width - viewer->file_panel_width - 3; int y = 1; - for (int commit_idx = viewer->branch_commits_scroll_offset; - commit_idx < viewer->branch_commit_count && y < max_lines_visible; + for (int commit_idx = viewer->branch_commits_scroll_offset; + commit_idx < viewer->branch_commit_count && y < max_lines_visible; commit_idx++) { - + char *commit_text = viewer->branch_commits[commit_idx]; char *line_start = commit_text; char *line_end; - + // Parse and display each line of the commit - while ((line_end = strchr(line_start, '\n')) != NULL && y < max_lines_visible) { + while ((line_end = strchr(line_start, '\n')) != NULL && + y < max_lines_visible) { *line_end = '\0'; // Temporarily null-terminate - + // Check what type of line this is and apply appropriate coloring if (strncmp(line_start, "commit ", 7) == 0) { // Commit hash line - color the hash in yellow char *hash_start = line_start + 7; char *space_or_bracket = strstr(hash_start, " "); - if (!space_or_bracket) space_or_bracket = strstr(hash_start, "("); - + if (!space_or_bracket) + space_or_bracket = strstr(hash_start, "("); + if (space_or_bracket) { *space_or_bracket = '\0'; wattron(viewer->file_content_win, COLOR_PAIR(4)); // Yellow mvwprintw(viewer->file_content_win, y, 2, "commit %s", hash_start); wattroff(viewer->file_content_win, COLOR_PAIR(4)); - + // Show branch refs in green if they exist if (strstr(space_or_bracket + 1, "(")) { wattron(viewer->file_content_win, COLOR_PAIR(1)); // Green - mvwprintw(viewer->file_content_win, y, 2 + 7 + strlen(hash_start), " %s", space_or_bracket + 1); + mvwprintw(viewer->file_content_win, y, 2 + 7 + strlen(hash_start), + " %s", space_or_bracket + 1); wattroff(viewer->file_content_win, COLOR_PAIR(1)); } *space_or_bracket = ' '; // Restore @@ -1851,24 +1897,25 @@ void render_file_content_window(NCursesDiffViewer *viewer) { mvwprintw(viewer->file_content_win, y, 2, "%s", line_start); } } - + *line_end = '\n'; // Restore newline line_start = line_end + 1; y++; } - + // Handle last line if no newline at end if (strlen(line_start) > 0 && y < max_lines_visible) { mvwprintw(viewer->file_content_win, y, 2, "%s", line_start); y++; } - + // Add extra spacing between commits if (y < max_lines_visible) { y++; } } - } else if (viewer->current_mode == NCURSES_MODE_BRANCH_VIEW && viewer->file_line_count > 0) { + } else if (viewer->current_mode == NCURSES_MODE_BRANCH_VIEW && + viewer->file_line_count > 0) { // Show scrollable branch commits (reuse file line navigation) int height, width; getmaxyx(viewer->file_content_win, height, width); @@ -1906,18 +1953,20 @@ void render_file_content_window(NCursesDiffViewer *viewer) { if (strncmp(display_line, "commit ", 7) == 0) { char *hash_start = display_line + 7; char *space_or_bracket = strstr(hash_start, " "); - if (!space_or_bracket) space_or_bracket = strstr(hash_start, "("); - + if (!space_or_bracket) + space_or_bracket = strstr(hash_start, "("); + if (space_or_bracket) { *space_or_bracket = '\0'; wattron(viewer->file_content_win, COLOR_PAIR(4)); // Yellow mvwprintw(viewer->file_content_win, y, 2, "commit %s", hash_start); wattroff(viewer->file_content_win, COLOR_PAIR(4)); - + // Show branch refs in green if they exist if (strstr(space_or_bracket + 1, "(")) { wattron(viewer->file_content_win, COLOR_PAIR(1)); // Green - mvwprintw(viewer->file_content_win, y, 2 + 7 + strlen(hash_start), " %s", space_or_bracket + 1); + mvwprintw(viewer->file_content_win, y, 2 + 7 + strlen(hash_start), + " %s", space_or_bracket + 1); wattroff(viewer->file_content_win, COLOR_PAIR(1)); } *space_or_bracket = ' '; // Restore @@ -1939,7 +1988,7 @@ void render_file_content_window(NCursesDiffViewer *viewer) { } else { strcpy(display_line, line->line); } - + wattron(viewer->file_content_win, COLOR_PAIR(3)); // Cyan mvwprintw(viewer->file_content_win, y, 2, "%s", display_line); wattroff(viewer->file_content_win, COLOR_PAIR(3)); @@ -2336,8 +2385,8 @@ void render_status_bar(NCursesDiffViewer *viewer) { } else if (viewer->current_mode == NCURSES_MODE_STASH_LIST) { strcpy(keybindings, "Apply: | Pop: g | Drop: d | Nav: j/k"); } else if (viewer->current_mode == NCURSES_MODE_BRANCH_LIST) { - strcpy(keybindings, - "View: Enter | Checkout: c | New: n | Rename: r | Delete: d | Pull: p | Nav: j/k"); + strcpy(keybindings, "View: Enter | Checkout: c | New: n | Rename: r | " + "Delete: d | Pull: p | Nav: j/k"); } else if (viewer->current_mode == NCURSES_MODE_FILE_VIEW) { strcpy(keybindings, "Scroll: j/k | Page: Ctrl+U/D | Back: Esc"); } else if (viewer->current_mode == NCURSES_MODE_COMMIT_VIEW) { @@ -2508,9 +2557,10 @@ void update_sync_status(NCursesDiffViewer *viewer) { time_t current_time = time(NULL); // Check if it's time to sync (every 30 seconds) - if (current_time - viewer->last_sync_time >= 30 && !viewer->critical_operation_in_progress && !viewer->fetch_in_progress) { + if (current_time - viewer->last_sync_time >= 30 && + !viewer->critical_operation_in_progress && !viewer->fetch_in_progress) { viewer->last_sync_time = current_time; - + // Start background fetch instead of blocking start_background_fetch(viewer); return; @@ -2519,7 +2569,6 @@ void update_sync_status(NCursesDiffViewer *viewer) { // Always check if background fetch is complete check_background_fetch(viewer); - // Handle all animation states if (viewer->sync_status != SYNC_STATUS_IDLE) { viewer->animation_frame++; @@ -2804,7 +2853,8 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { viewer->current_mode = NCURSES_MODE_BRANCH_LIST; // Load commits for the currently selected branch when entering branch mode if (viewer->branch_count > 0) { - load_branch_commits(viewer, viewer->branches[viewer->selected_branch].name); + load_branch_commits(viewer, + viewer->branches[viewer->selected_branch].name); viewer->branch_commits_scroll_offset = 0; } break; @@ -2869,22 +2919,35 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { case 's': case 'S': - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; create_ncurses_git_stash(viewer); - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; break; - case 'c': + case 'c': case 'C': // Commit marked files { char commit_title[MAX_COMMIT_TITLE_LEN]; char commit_message[2048]; - viewer->critical_operation_in_progress = 1; // Block fetching during commit + viewer->critical_operation_in_progress = + 1; // Block fetching during commit if (get_commit_title_input(commit_title, MAX_COMMIT_TITLE_LEN, commit_message, sizeof(commit_message))) { commit_marked_files(viewer, commit_title, commit_message); } viewer->critical_operation_in_progress = 0; // Re-enable fetching + + // Force complete screen refresh after commit dialog + clear(); + refresh(); + + // Redraw all windows immediately + render_file_list_window(viewer); + render_file_content_window(viewer); + render_commit_list_window(viewer); + render_branch_list_window(viewer); + render_stash_list_window(viewer); + render_status_bar(viewer); } break; case '\t': // Tab - switch to commit list mode @@ -3024,10 +3087,11 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { } break; - case 'P': // Push commit + case 'P': // Push commit if (viewer->commit_count > 0 && viewer->selected_commit < viewer->commit_count) { - viewer->critical_operation_in_progress = 1; // Block fetching during push + viewer->critical_operation_in_progress = + 1; // Block fetching during push // Show immediate feedback viewer->sync_status = SYNC_STATUS_PUSHING_VISIBLE; viewer->animation_frame = 0; @@ -3041,30 +3105,42 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { } break; - case 'r': - if (viewer->commit_count > 0 && viewer->selected_commit == 0) { - viewer->critical_operation_in_progress = 1; - reset_commit_soft(viewer, viewer->selected_commit); - viewer->critical_operation_in_progress = 0; - } - break; + case 'r': + if (viewer->commit_count > 0 && viewer->selected_commit == 0) { + viewer->critical_operation_in_progress = 1; + reset_commit_soft(viewer, viewer->selected_commit); + viewer->critical_operation_in_progress = 0; + } + break; case 'R': // Reset (hard) - undo commit and discard changes if (viewer->commit_count > 0 && viewer->selected_commit == 0) { - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; reset_commit_hard(viewer, viewer->selected_commit); - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; } break; - case 'a': - case 'A': // Amend most recent commit - if (viewer->commit_count > 0) { - viewer->critical_operation_in_progress = 1; - amend_commit(viewer); - viewer->critical_operation_in_progress = 0; - } - break; + case 'a': +case 'A': // Amend most recent commit + if (viewer->commit_count > 0) { + viewer->critical_operation_in_progress = 1; + amend_commit(viewer); + viewer->critical_operation_in_progress = 0; + + // Force complete screen refresh after amend dialog + clear(); + refresh(); + + // Redraw all windows immediately + render_file_list_window(viewer); + render_file_content_window(viewer); + render_commit_list_window(viewer); + render_branch_list_window(viewer); + render_stash_list_window(viewer); + render_status_bar(viewer); + } + break; } } else if (viewer->current_mode == NCURSES_MODE_STASH_LIST) { // Stash list mode navigation @@ -3110,7 +3186,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { case ' ': // Space - Apply stash (keeps stash in list) if (viewer->stash_count > 0 && viewer->selected_stash < viewer->stash_count) { - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; if (apply_git_stash(viewer->selected_stash)) { // Refresh everything after applying stash get_ncurses_changed_files(viewer); @@ -3132,7 +3208,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { viewer, viewer->files[viewer->selected_file].filename); } } - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; } break; @@ -3140,7 +3216,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { case 'G': // Pop stash (applies and removes from list) if (viewer->stash_count > 0 && viewer->selected_stash < viewer->stash_count) { - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; if (pop_git_stash(viewer->selected_stash)) { // Refresh everything after popping stash get_ncurses_changed_files(viewer); @@ -3169,7 +3245,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { viewer, viewer->files[viewer->selected_file].filename); } } - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; } break; @@ -3177,7 +3253,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { case 'D': // Drop stash (removes without applying) if (viewer->stash_count > 0 && viewer->selected_stash < viewer->stash_count) { - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; if (drop_git_stash(viewer->selected_stash)) { // Refresh stash list after dropping get_ncurses_git_stashes(viewer); @@ -3188,7 +3264,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { viewer->selected_stash = viewer->stash_count - 1; } } - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; } break; } @@ -3206,7 +3282,8 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { viewer->selected_branch--; // Load commits for the newly selected branch and reset scroll if (viewer->branch_count > 0) { - load_branch_commits(viewer, viewer->branches[viewer->selected_branch].name); + load_branch_commits(viewer, + viewer->branches[viewer->selected_branch].name); viewer->branch_commits_scroll_offset = 0; } } @@ -3218,7 +3295,8 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { viewer->selected_branch++; // Load commits for the newly selected branch and reset scroll if (viewer->branch_count > 0) { - load_branch_commits(viewer, viewer->branches[viewer->selected_branch].name); + load_branch_commits(viewer, + viewer->branches[viewer->selected_branch].name); viewer->branch_commits_scroll_offset = 0; } } @@ -3231,7 +3309,8 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { if (viewer->branch_count > 0 && viewer->selected_branch < viewer->branch_count) { // Load commits and parse them for navigation - load_branch_commits(viewer, viewer->branches[viewer->selected_branch].name); + load_branch_commits(viewer, + viewer->branches[viewer->selected_branch].name); parse_branch_commits_to_lines(viewer); viewer->current_mode = NCURSES_MODE_BRANCH_VIEW; } @@ -3240,7 +3319,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { case 'c': // c - Checkout selected branch if (viewer->branch_count > 0 && viewer->selected_branch < viewer->branch_count) { - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; char cmd[512]; snprintf(cmd, sizeof(cmd), "git checkout \"%s\" >/dev/null 2>&1", viewer->branches[viewer->selected_branch].name); @@ -3268,7 +3347,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { viewer, viewer->files[viewer->selected_file].filename); } } - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; // Force complete screen refresh after checkout clear(); @@ -3278,7 +3357,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { case 'n': // New branch { - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; char new_branch_name[256]; if (get_branch_name_input(new_branch_name, sizeof(new_branch_name))) { if (create_git_branch(new_branch_name)) { @@ -3332,13 +3411,13 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { // Clear screen artifacts from dialog clear(); refresh(); - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; } break; case 'd': // Delete branch if (viewer->branch_count > 0 && viewer->selected_branch < viewer->branch_count) { - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; const char *branch_to_delete = viewer->branches[viewer->selected_branch].name; @@ -3370,14 +3449,14 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { // Clear screen artifacts from dialog clear(); refresh(); - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; } break; case 'r': // Rename branch if (viewer->branch_count > 0 && viewer->selected_branch < viewer->branch_count) { - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; const char *current_name = viewer->branches[viewer->selected_branch].name; char new_name[256]; @@ -3405,14 +3484,14 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { // Clear screen artifacts from dialog clear(); refresh(); - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; } break; case 'p': if (viewer->branch_count > 0 && viewer->selected_branch < viewer->branch_count) { - viewer->critical_operation_in_progress = 1; + viewer->critical_operation_in_progress = 1; const char *branch_name = viewer->branches[viewer->selected_branch].name; @@ -3507,7 +3586,7 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { } else { show_error_popup("No commits to pull from remote"); } - viewer->critical_operation_in_progress = 0; + viewer->critical_operation_in_progress = 0; } break; } @@ -3672,7 +3751,8 @@ int handle_ncurses_diff_input(NCursesDiffViewer *viewer, int key) { // Branch view mode navigation (same as file view) switch (key) { case 27: // ESC - viewer->current_mode = NCURSES_MODE_BRANCH_LIST; // Return to branch list mode + viewer->current_mode = + NCURSES_MODE_BRANCH_LIST; // Return to branch list mode break; case KEY_UP: @@ -3760,7 +3840,7 @@ int run_ncurses_diff_viewer(void) { printf("Failed to initialize ncurses diff viewer\n"); return 1; } - signal(SIGWINCH, handle_sigwinch); + signal(SIGWINCH, handle_sigwinch); // Get changed files (can be 0, that's okay) get_ncurses_changed_files(&viewer); @@ -3814,9 +3894,9 @@ int run_ncurses_diff_viewer(void) { while (running) { - if (terminal_resized) { - handle_terminal_resize(&viewer); - } + if (terminal_resized) { + handle_terminal_resize(&viewer); + } // Only update title if mode changed if (viewer.current_mode != last_mode) { @@ -5228,13 +5308,14 @@ int load_branch_commits(NCursesDiffViewer *viewer, const char *branch_name) { return viewer->branch_commit_count; // Already loaded } - viewer->branch_commit_count = get_branch_commits(branch_name, - viewer->branch_commits, - MAX_COMMITS); - - strncpy(viewer->current_branch_for_commits, branch_name, + viewer->branch_commit_count = + get_branch_commits(branch_name, viewer->branch_commits, MAX_COMMITS); + + strncpy(viewer->current_branch_for_commits, branch_name, sizeof(viewer->current_branch_for_commits) - 1); - viewer->current_branch_for_commits[sizeof(viewer->current_branch_for_commits) - 1] = '\0'; + viewer + ->current_branch_for_commits[sizeof(viewer->current_branch_for_commits) - + 1] = '\0'; return viewer->branch_commit_count; } @@ -5252,41 +5333,43 @@ int parse_branch_commits_to_lines(NCursesDiffViewer *viewer) { viewer->file_cursor_line = 0; // Parse each commit into file_lines for navigation - for (int commit_idx = 0; commit_idx < viewer->branch_commit_count && - viewer->file_line_count < MAX_FULL_FILE_LINES; commit_idx++) { - + for (int commit_idx = 0; commit_idx < viewer->branch_commit_count && + viewer->file_line_count < MAX_FULL_FILE_LINES; + commit_idx++) { + char *commit_text = viewer->branch_commits[commit_idx]; char *line_start = commit_text; char *line_end; - + // Parse each line of the commit - while ((line_end = strchr(line_start, '\n')) != NULL && + while ((line_end = strchr(line_start, '\n')) != NULL && viewer->file_line_count < MAX_FULL_FILE_LINES) { *line_end = '\0'; // Temporarily null-terminate - + NCursesFileLine *file_line = &viewer->file_lines[viewer->file_line_count]; strncpy(file_line->line, line_start, sizeof(file_line->line) - 1); file_line->line[sizeof(file_line->line) - 1] = '\0'; - + // Set line type for appropriate coloring if (strncmp(line_start, "commit ", 7) == 0) { file_line->type = 'h'; // Commit header - } else if (strncmp(line_start, "Author:", 7) == 0 || + } else if (strncmp(line_start, "Author:", 7) == 0 || strncmp(line_start, "Date:", 5) == 0) { file_line->type = 'i'; // Info line } else { file_line->type = ' '; // Regular line } - + file_line->is_diff_line = 0; viewer->file_line_count++; - + *line_end = '\n'; // Restore newline line_start = line_end + 1; } - + // Handle last line if no newline at end - if (strlen(line_start) > 0 && viewer->file_line_count < MAX_FULL_FILE_LINES) { + if (strlen(line_start) > 0 && + viewer->file_line_count < MAX_FULL_FILE_LINES) { NCursesFileLine *file_line = &viewer->file_lines[viewer->file_line_count]; strncpy(file_line->line, line_start, sizeof(file_line->line) - 1); file_line->line[sizeof(file_line->line) - 1] = '\0'; @@ -5294,10 +5377,11 @@ int parse_branch_commits_to_lines(NCursesDiffViewer *viewer) { file_line->is_diff_line = 0; viewer->file_line_count++; } - + // Add spacing between commits if (viewer->file_line_count < MAX_FULL_FILE_LINES) { - NCursesFileLine *empty_line = &viewer->file_lines[viewer->file_line_count]; + NCursesFileLine *empty_line = + &viewer->file_lines[viewer->file_line_count]; strcpy(empty_line->line, ""); empty_line->type = ' '; empty_line->is_diff_line = 0; @@ -5312,7 +5396,8 @@ int parse_branch_commits_to_lines(NCursesDiffViewer *viewer) { * Start background fetch process */ void start_background_fetch(NCursesDiffViewer *viewer) { - if (!viewer || viewer->fetch_in_progress || viewer->critical_operation_in_progress) { + if (!viewer || viewer->fetch_in_progress || + viewer->critical_operation_in_progress) { return; } @@ -5340,32 +5425,33 @@ void check_background_fetch(NCursesDiffViewer *viewer) { int status; pid_t result = waitpid(viewer->fetch_pid, &status, WNOHANG); - + if (result == viewer->fetch_pid) { // Fetch completed viewer->fetch_in_progress = 0; viewer->fetch_pid = -1; - + // Preserve current positions during refresh int preserved_file_scroll = viewer->file_scroll_offset; int preserved_file_cursor = viewer->file_cursor_line; int preserved_selected_file = viewer->selected_file; - + // Update only the necessary data without blocking UI get_ncurses_changed_files(viewer); get_commit_history(viewer); get_ncurses_git_branches(viewer); - + // Restore file selection if still valid if (preserved_selected_file < viewer->file_count) { viewer->selected_file = preserved_selected_file; - + // Reload current file if in file mode and restore position if ((viewer->current_mode == NCURSES_MODE_FILE_LIST || viewer->current_mode == NCURSES_MODE_FILE_VIEW) && viewer->file_count > 0) { - load_full_file_with_diff(viewer, viewer->files[viewer->selected_file].filename); - + load_full_file_with_diff(viewer, + viewer->files[viewer->selected_file].filename); + // Restore scroll position if still valid if (preserved_file_cursor < viewer->file_line_count) { viewer->file_cursor_line = preserved_file_cursor; @@ -5375,11 +5461,11 @@ void check_background_fetch(NCursesDiffViewer *viewer) { } } } - + // If we're in branch mode and have commits loaded, refresh them - if (viewer->current_mode == NCURSES_MODE_BRANCH_LIST || + if (viewer->current_mode == NCURSES_MODE_BRANCH_LIST || viewer->current_mode == NCURSES_MODE_BRANCH_VIEW) { - if (viewer->branch_count > 0 && + if (viewer->branch_count > 0 && strlen(viewer->current_branch_for_commits) > 0) { load_branch_commits(viewer, viewer->current_branch_for_commits); if (viewer->current_mode == NCURSES_MODE_BRANCH_VIEW) { @@ -5426,7 +5512,7 @@ void move_cursor_smart(NCursesDiffViewer *viewer, int direction) { do { new_cursor += direction; attempts++; - + // Bounds checking if (new_cursor < 0) { new_cursor = 0; @@ -5436,21 +5522,22 @@ void move_cursor_smart(NCursesDiffViewer *viewer, int direction) { new_cursor = viewer->file_line_count - 1; break; } - + // Check if current line is empty or just whitespace NCursesFileLine *line = &viewer->file_lines[new_cursor]; char *trimmed = line->line; - + // Skip leading whitespace while (*trimmed == ' ' || *trimmed == '\t') { trimmed++; } - - // If line has content after trimming, or we've tried too many times, stop here + + // If line has content after trimming, or we've tried too many times, stop + // here if (*trimmed != '\0' || attempts >= max_attempts) { break; } - + } while (attempts < max_attempts); // Update cursor position @@ -5488,7 +5575,7 @@ void cleanup_ncurses_diff_viewer(NCursesDiffViewer *viewer) { kill(viewer->fetch_pid, SIGTERM); waitpid(viewer->fetch_pid, NULL, 0); } - + if (viewer->file_list_win) { delwin(viewer->file_list_win); } diff --git a/ncurses_diff_viewer.o b/ncurses_diff_viewer.o index d2413bb664a6bbe9b4d29ff3511683c126456001..cc2866847faed9c089f4550d8f3b85be64b2c26a 100644 GIT binary patch delta 50270 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 WkHfQtHI>}0nxgW*$O*cvGXD=Te*d=s delta 49456 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 diff --git a/shell b/shell index d8076cb793e6bb05fd981ad5985d1fb777728c6a..72b04378ec8abcda9a1cd301c1a7aac85a9065d6 100755 GIT binary patch delta 59990 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 delta 59957 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 HN6G&KhP)#?