diff --git a/src/text_editor/commands.cpp b/src/text_editor/commands.cpp index 3681f63..712ba28 100644 --- a/src/text_editor/commands.cpp +++ b/src/text_editor/commands.cpp @@ -81,14 +81,6 @@ void ToggleFullscreen() { IsInFullscreen = !IsInFullscreen; } -void ToggleConsole() { - if (ToggleVisibility(ConsoleWindowID)) { - SetActiveWindow(ConsoleWindowID); - } else { - SetActiveWindow(GetLastActiveWindow()); - } -} - void CheckpointBeforeGoto(WindowID window_id, ViewID view_id) { Window *window = GetWindow(window_id); View *view = GetView(view_id); @@ -427,10 +419,6 @@ bool GlobalCommand(Event event) { } } - if (Ctrl(SDLK_GRAVE)) { - ToggleConsole(); - } - if (CtrlShift(SDLK_BACKSLASH)) { AddRowWindow(); } else if (Ctrl(SDLK_BACKSLASH)) { @@ -469,15 +457,6 @@ bool GlobalCommand(Event event) { return run_window_command; } -View *FindView(BufferID buffer_id) { - For(Views) { - if (it.active_buffer == buffer_id) { - return ⁢ - } - } - return NULL; -} - void Command_Append(ViewID view_id, String16 string, bool scroll_to_end_if_cursor_on_last_line) { View *view = GetView(view_id); Buffer *buffer = GetBuffer(view->active_buffer); @@ -516,19 +495,25 @@ void ReportErrorf(const char *fmt, ...) { Scratch scratch; STRING_FORMAT(scratch, fmt, string); SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error!", string.data, NULL); - Command_Append(ConsoleViewID, string, true); + Command_Append(NullViewID, string, true); } void ReportConsolef(const char *fmt, ...) { Scratch scratch; STRING_FORMAT(scratch, fmt, string); - Command_Append(ConsoleViewID, string, true); + Command_Append(NullViewID, string, true); } void ReportWarningf(const char *fmt, ...) { Scratch scratch; STRING_FORMAT(scratch, fmt, string); - Command_Append(ConsoleViewID, string, true); - SetVisibility(ConsoleWindowID, true); - SetActiveWindow(ConsoleWindowID); + Command_Append(NullViewID, string, true); + Window *window = GetWindowWithView(NullViewID); + if (!window) { + WindowID last_active_window_id = GetLastActiveWindow(); + window = GetWindow(last_active_window_id); + } + CheckpointBeforeGoto(window->id); + window->active_view = NullViewID; + SetActiveWindow(window->id); } \ No newline at end of file diff --git a/src/text_editor/lua_api.cpp b/src/text_editor/lua_api.cpp index 8f5f6d3..82a1a77 100644 --- a/src/text_editor/lua_api.cpp +++ b/src/text_editor/lua_api.cpp @@ -109,7 +109,7 @@ int Lua_AppendCmd(lua_State *L) { String string = lua_tostring(L, 1); lua_pop(L, 1); String working_dir = GetCurrentBufferDir(); - Exec(ConsoleViewID, true, string, working_dir); + Exec(NullViewID, true, string, working_dir); return 0; } @@ -140,7 +140,7 @@ int Lua_Print(lua_State *L) { Scratch scratch; String string = lua_tostring(L, 1); lua_pop(L, 1); - Command_Append(ConsoleViewID, string, true); + Command_Append(NullViewID, string, true); return 0; } @@ -161,8 +161,6 @@ int Lua_ListBuffers(lua_State *L) { Command_SelectEntireBuffer(view); Command_Replace(view, string16); Command_SelectRangeOneCursor(view, {}); - Command_Replace(view, L"\n"); - Command_SelectRangeOneCursor(view, {}); return 0; } diff --git a/src/text_editor/management.cpp b/src/text_editor/management.cpp index 44ff23d..ae69275 100644 --- a/src/text_editor/management.cpp +++ b/src/text_editor/management.cpp @@ -9,10 +9,8 @@ Array Windows = {}; WindowID NullWindowID; BufferID NullBufferID; ViewID NullViewID; -WindowID DebugWindowID; -WindowID ConsoleWindowID; -ViewID ConsoleViewID; +WindowID DebugWindowID; BufferID DebugBufferID; // @note: @@ -137,6 +135,15 @@ void SetActiveWindow(WindowID window) { } } +View *FindView(BufferID buffer_id) { + For(Views) { + if (it.active_buffer == buffer_id) { + return ⁢ + } + } + return NULL; +} + Window *GetWindowWithView(ViewID view_id) { ForItem(window, Windows) { if (window.active_view.id == view_id.id) { diff --git a/src/text_editor/window.cpp b/src/text_editor/window.cpp index 6c49b32..12aa08f 100644 --- a/src/text_editor/window.cpp +++ b/src/text_editor/window.cpp @@ -121,7 +121,7 @@ String BuffCWD(String string) { void InitScratchBuffer() { Allocator sys_allocator = GetSystemAllocator(); - Buffer *null_buffer = CreateBuffer(sys_allocator, BuffCWD("+scratch")); + Buffer *null_buffer = CreateBuffer(sys_allocator, BuffCWD("+console")); View *null_view = CreateView(null_buffer->id); } @@ -147,27 +147,6 @@ void InitWindows() { CreateTitlebar(window_id); } - { - Window *window = CreateWindow(); - WindowID window_id = window->id; - ConsoleWindowID = window_id; - - window->invisible_when_inactive = true; - window->deactivate_on_escape = true; - window->absolute_position = true; - window->dont_save_in_active_window_history = true; - - Buffer *buffer = CreateBuffer(sys_allocator, BuffCWD("+console")); - // buffer->no_history = true; - - View *view = CreateView(buffer->id); - ConsoleViewID = view->id; - window->active_view = view->id; - - CreateTitlebar(window_id); - SetVisibility(window_id, false); - } - { Window *window = CreateWindow(); WindowID window_id = window->id; @@ -202,22 +181,6 @@ void LayoutWindows() { float line_numbers_size = (float)FontCharSpacing * 10; float sizex = (float)GetSize(screen_rect).x; - { - Window *window = GetWindow(ConsoleWindowID); - if (window->visible) { - Vec2I size = GetSize(screen_rect); - window->total_rect = CutBottom(&screen_rect, (Int)((float)size.y * 0.5f)); - - Window *title_bar_window = GetWindow(window->title_bar_window); - title_bar_window->total_rect = CutBottom(&window->total_rect, GetTitleBarSize(title_bar_window)); - title_bar_window->document_rect = title_bar_window->total_rect; - - window->document_rect = window->total_rect; - if (window->draw_scrollbar) window->scrollbar_rect = CutRight(&window->document_rect, (Int)ScrollBarSize); - if (window->draw_line_numbers) window->line_numbers_rect = CutLeft(&window->document_rect, (Int)line_numbers_size); - } - } - Scratch scratch; Array columns = GetVisualColumns(scratch);