plugin_basic_commands.cpp
This commit is contained in:
@@ -227,33 +227,6 @@ void CMD_CenterView() {
|
|||||||
CenterView(PrimaryWindowID);
|
CenterView(PrimaryWindowID);
|
||||||
} RegisterCommand(CMD_CenterView, "");
|
} RegisterCommand(CMD_CenterView, "");
|
||||||
|
|
||||||
void MoveCursorByPageSize(Window *window, int direction, bool shift = false) {
|
|
||||||
Assert(direction == DIR_UP || direction == DIR_DOWN);
|
|
||||||
BSet set = GetBSet(window);
|
|
||||||
|
|
||||||
Rect2I visible_cells_rect = GetVisibleCells(window);
|
|
||||||
Int y = GetSize(visible_cells_rect).y - 2;
|
|
||||||
if (direction == DIR_UP) y = -y;
|
|
||||||
|
|
||||||
For(set.view->carets) {
|
|
||||||
XY xy = PosToXY(set.buffer, GetFront(it));
|
|
||||||
if (direction == DIR_DOWN && xy.line == set.buffer->line_starts.len - 1) {
|
|
||||||
Range line_range = GetLineRange(set.buffer, xy.line);
|
|
||||||
xy.col = line_range.max - line_range.min;
|
|
||||||
} else if (direction == DIR_UP && xy.line == 0) {
|
|
||||||
xy.col = 0;
|
|
||||||
}
|
|
||||||
xy.line += y;
|
|
||||||
|
|
||||||
Int pos = XYToPos(set.buffer, xy);
|
|
||||||
if (shift) {
|
|
||||||
it = SetFront(it, pos);
|
|
||||||
} else {
|
|
||||||
it = MakeCaret(pos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TrimWhitespace(Buffer *buffer, bool trim_lines_with_caret) {
|
void TrimWhitespace(Buffer *buffer, bool trim_lines_with_caret) {
|
||||||
Scratch scratch;
|
Scratch scratch;
|
||||||
|
|
||||||
@@ -453,24 +426,6 @@ void NewDir(Window *window, String name = "") {
|
|||||||
Open(name);
|
Open(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
View *ExecHidden(String buffer_name, String cmd, String working_dir) {
|
|
||||||
View *view = OpenBufferView(buffer_name);
|
|
||||||
Buffer *buffer = GetBuffer(view->active_buffer);
|
|
||||||
buffer->dont_try_to_save_in_bulk_ops = true;
|
|
||||||
Exec(view->id, true, cmd, working_dir);
|
|
||||||
return view;
|
|
||||||
}
|
|
||||||
|
|
||||||
BSet Exec(String cmd, String working_dir, bool set_active = true) {
|
|
||||||
BSet main = GetBSet(PrimaryWindowID);
|
|
||||||
if (set_active) {
|
|
||||||
NextActiveWindowID = main.window->id;
|
|
||||||
}
|
|
||||||
JumpTempBuffer(&main);
|
|
||||||
Exec(main.view->id, true, cmd, working_dir);
|
|
||||||
return main;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CMD_SaveAll() {
|
void CMD_SaveAll() {
|
||||||
For(Buffers) {
|
For(Buffers) {
|
||||||
// NOTE: file_mod_time is only set when buffer got read or written to disk already so should be saved
|
// NOTE: file_mod_time is only set when buffer got read or written to disk already so should be saved
|
||||||
@@ -1061,27 +1016,6 @@ void CMD_OpenUpFolder() {
|
|||||||
Open(name);
|
Open(name);
|
||||||
} RegisterCommand(CMD_OpenUpFolder, "ctrl-o", "Open current's file directory or up directory in other cases");
|
} RegisterCommand(CMD_OpenUpFolder, "ctrl-o", "Open current's file directory or up directory in other cases");
|
||||||
|
|
||||||
void CMD_EncloseLine() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
EncloseLine(active.view);
|
|
||||||
} RegisterCommand(CMD_EncloseLine, "ctrl-l", "Select the entire line on which your caret is placed");
|
|
||||||
|
|
||||||
void CMD_SelectAll() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
SelectEntireBuffer(active.view);
|
|
||||||
active.view->update_scroll = false;
|
|
||||||
} RegisterCommand(CMD_SelectAll, "ctrl-a", "Select the entire buffer");
|
|
||||||
|
|
||||||
void CMD_Redo() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
RedoEdit(active.buffer, &active.view->carets);
|
|
||||||
} RegisterCommand(CMD_Redo, "ctrl-shift-z", "Redo after undoing changes to the buffer");
|
|
||||||
|
|
||||||
void CMD_Undo() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
UndoEdit(active.buffer, &active.view->carets);
|
|
||||||
} RegisterCommand(CMD_Undo, "ctrl-z", "Undo last change you made to the buffer");
|
|
||||||
|
|
||||||
void CMD_MakeFontLarger() {
|
void CMD_MakeFontLarger() {
|
||||||
FontSize += 1;
|
FontSize += 1;
|
||||||
ReloadFont(PathToFont, (U32)FontSize);
|
ReloadFont(PathToFont, (U32)FontSize);
|
||||||
@@ -1098,244 +1032,17 @@ void CMD_OpenLoadWord() {
|
|||||||
Scratch scratch;
|
Scratch scratch;
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
BSet active = GetBSet(ActiveWindowID);
|
||||||
String16 load_word = FetchLoadWord(active.view);
|
String16 load_word = FetchLoadWord(active.view);
|
||||||
// String load_word = ToString(scratch, load_word16);
|
|
||||||
// Window *window = GetWindow(PrimaryWindowID);
|
|
||||||
// window->active_goto_list = active.view->id;
|
|
||||||
// window->goto_list_pos = active.view->carets[0].range.min;
|
|
||||||
Open(load_word);
|
Open(load_word);
|
||||||
} RegisterCommand(CMD_OpenLoadWord, "ctrl-q | f12", "Open a link under the caret (file link, url, command) or open the selection");
|
} RegisterCommand(CMD_OpenLoadWord, "ctrl-q | f12", "Open a link under the caret (file link, url, command) or open the selection");
|
||||||
|
|
||||||
void CMD_KillSelectedLines() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
KillSelectedLines(active.view);
|
|
||||||
} RegisterCommand(CMD_KillSelectedLines, "ctrl-shift-k");
|
|
||||||
|
|
||||||
void CMD_IndentSelectedLines() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
IndentSelectedLines(active.view);
|
|
||||||
} RegisterCommand(CMD_IndentSelectedLines, "ctrl-rightbracket | tab");
|
|
||||||
|
|
||||||
void CMD_DedentSelectedLines() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
IndentSelectedLines(active.view, true);
|
|
||||||
} RegisterCommand(CMD_DedentSelectedLines, "ctrl-leftbracket | shift-tab");
|
|
||||||
|
|
||||||
void CMD_DuplicateLineDown() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
DuplicateLine(active.view, DIR_DOWN);
|
|
||||||
} RegisterCommand(CMD_DuplicateLineDown, "ctrl-alt-down");
|
|
||||||
|
|
||||||
void CMD_CreateCursorDown() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
CreateCursorVertical(active.view, DIR_DOWN);
|
|
||||||
} RegisterCommand(CMD_CreateCursorDown, "alt-shift-down");
|
|
||||||
|
|
||||||
void CMD_SelectDownToEmptyLine() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_DOWN, CTRL_PRESSED, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectDownToEmptyLine, "ctrl-shift-down");
|
|
||||||
|
|
||||||
void CMD_MoveLineDown() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCaretsLine(active.view, DIR_DOWN);
|
|
||||||
} RegisterCommand(CMD_MoveLineDown, "alt-down");
|
|
||||||
|
|
||||||
void CMD_MoveDownToEmptyLine() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_DOWN, CTRL_PRESSED);
|
|
||||||
} RegisterCommand(CMD_MoveDownToEmptyLine, "ctrl-down");
|
|
||||||
|
|
||||||
void CMD_SelectDown() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_DOWN, false, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectDown, "shift-down");
|
|
||||||
|
|
||||||
void CMD_MoveDown() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_DOWN);
|
|
||||||
} RegisterCommand(CMD_MoveDown, "down");
|
|
||||||
|
|
||||||
void CMD_DuplicateLineUp() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
DuplicateLine(active.view, DIR_UP);
|
|
||||||
} RegisterCommand(CMD_DuplicateLineUp, "ctrl-alt-up");
|
|
||||||
|
|
||||||
void CMD_CreateCursorUp() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
CreateCursorVertical(active.view, DIR_UP);
|
|
||||||
} RegisterCommand(CMD_CreateCursorUp, "alt-shift-up");
|
|
||||||
|
|
||||||
void CMD_SelectUpToEmptyLine() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_UP, CTRL_PRESSED, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectUpToEmptyLine, "ctrl-shift-up");
|
|
||||||
|
|
||||||
void CMD_MoveLineUp() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCaretsLine(active.view, DIR_UP);
|
|
||||||
} RegisterCommand(CMD_MoveLineUp, "alt-up");
|
|
||||||
|
|
||||||
void CMD_MoveUpToEmptyLine() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_UP, CTRL_PRESSED);
|
|
||||||
} RegisterCommand(CMD_MoveUpToEmptyLine, "ctrl-up");
|
|
||||||
|
|
||||||
void CMD_SelectUp() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_UP, false, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectUp, "shift-up");
|
|
||||||
|
|
||||||
void CMD_MoveUp() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_UP);
|
|
||||||
} RegisterCommand(CMD_MoveUp, "up");
|
|
||||||
|
|
||||||
void CMD_BoundarySelectLeft() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_LEFT, CTRL_PRESSED, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_BoundarySelectLeft, "ctrl-shift-left");
|
|
||||||
|
|
||||||
void CMD_BoundaryMoveLeft() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_LEFT, CTRL_PRESSED);
|
|
||||||
} RegisterCommand(CMD_BoundaryMoveLeft, "ctrl-left");
|
|
||||||
|
|
||||||
void CMD_SelectLeft() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_LEFT, false, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectLeft, "shift-left");
|
|
||||||
|
|
||||||
void CMD_FocusLeftWindow() {
|
void CMD_FocusLeftWindow() {
|
||||||
NextActiveWindowID = SwitchWindow(DIR_LEFT)->id;
|
NextActiveWindowID = SwitchWindow(DIR_LEFT)->id;
|
||||||
} RegisterCommand(CMD_FocusLeftWindow, "alt-left");
|
} RegisterCommand(CMD_FocusLeftWindow, "alt-left");
|
||||||
|
|
||||||
void CMD_MoveLeft() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_LEFT);
|
|
||||||
} RegisterCommand(CMD_MoveLeft, "left");
|
|
||||||
|
|
||||||
void CMD_BoundarySelectRight() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_RIGHT, CTRL_PRESSED, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_BoundarySelectRight, "ctrl-shift-right");
|
|
||||||
|
|
||||||
void CMD_BoundaryMoveRight() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_RIGHT, CTRL_PRESSED);
|
|
||||||
} RegisterCommand(CMD_BoundaryMoveRight, "ctrl-right");
|
|
||||||
|
|
||||||
void CMD_SelectRight() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_RIGHT, false, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectRight, "shift-right");
|
|
||||||
|
|
||||||
void CMD_FocusRightWindow() {
|
void CMD_FocusRightWindow() {
|
||||||
NextActiveWindowID = SwitchWindow(DIR_RIGHT)->id;
|
NextActiveWindowID = SwitchWindow(DIR_RIGHT)->id;
|
||||||
} RegisterCommand(CMD_FocusRightWindow, "alt-right");
|
} RegisterCommand(CMD_FocusRightWindow, "alt-right");
|
||||||
|
|
||||||
void CMD_MoveRight() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCarets(active.view, DIR_RIGHT);
|
|
||||||
} RegisterCommand(CMD_MoveRight, "right");
|
|
||||||
|
|
||||||
void CMD_MoveUpAPage() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCursorByPageSize(active.window, DIR_UP);
|
|
||||||
} RegisterCommand(CMD_MoveUpAPage, "pageup");
|
|
||||||
|
|
||||||
void CMD_SelectUpPage() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCursorByPageSize(active.window, DIR_UP, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectUpPage, "shift-pageup");
|
|
||||||
|
|
||||||
void CMD_MoveToStart() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
SelectRange(active.view, MakeRange(0));
|
|
||||||
} RegisterCommand(CMD_MoveToStart, "ctrl-pageup");
|
|
||||||
|
|
||||||
void CMD_SelectDownPage() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCursorByPageSize(active.window, DIR_DOWN, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectDownPage, "shift-pagedown");
|
|
||||||
|
|
||||||
void CMD_MoveToEnd() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
SelectRange(active.view, MakeRange(active.buffer->len));
|
|
||||||
} RegisterCommand(CMD_MoveToEnd, "ctrl-pagedown");
|
|
||||||
|
|
||||||
void CMD_MoveDownPage() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCursorByPageSize(active.window, DIR_DOWN);
|
|
||||||
} RegisterCommand(CMD_MoveDownPage, "pagedown");
|
|
||||||
|
|
||||||
void CMD_SelectToLineStart() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCursorToSide(active.view, DIR_LEFT, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectToLineStart, "shift-home");
|
|
||||||
|
|
||||||
void CMD_MoveToLineStart() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCursorToSide(active.view, DIR_LEFT);
|
|
||||||
} RegisterCommand(CMD_MoveToLineStart, "home");
|
|
||||||
|
|
||||||
void CMD_MoveToLineEnd() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCursorToSide(active.view, DIR_RIGHT);
|
|
||||||
} RegisterCommand(CMD_MoveToLineEnd, "end");
|
|
||||||
|
|
||||||
void CMD_SelectToLineEnd() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
MoveCursorToSide(active.view, DIR_RIGHT, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_SelectToLineEnd, "shift-end");
|
|
||||||
|
|
||||||
void CMD_DeleteCharacter() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
Delete(active.view, DIR_LEFT);
|
|
||||||
} RegisterCommand(CMD_DeleteCharacter, "shift-backspace | backspace");
|
|
||||||
|
|
||||||
void CMD_DeleteBoundary() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
Delete(active.view, DIR_LEFT, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_DeleteBoundary, "ctrl-backspace");
|
|
||||||
|
|
||||||
void CMD_DeleteForward() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
Delete(active.view, DIR_RIGHT);
|
|
||||||
} RegisterCommand(CMD_DeleteForward, "shift-delete | delete");
|
|
||||||
|
|
||||||
void CMD_DeleteForwardBoundary() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
Delete(active.view, DIR_RIGHT, SHIFT_PRESS);
|
|
||||||
} RegisterCommand(CMD_DeleteForwardBoundary, "ctrl-delete");
|
|
||||||
|
|
||||||
void CMD_InsertNewLineUp() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
SaveCaretHistoryBeforeBeginEdit(active.buffer, active.view->carets);
|
|
||||||
MoveCursorToSide(active.view, DIR_LEFT);
|
|
||||||
IndentedNewLine(active.view);
|
|
||||||
MoveCarets(active.view, DIR_UP);
|
|
||||||
} RegisterCommand(CMD_InsertNewLineUp, "ctrl-shift-enter");
|
|
||||||
|
|
||||||
void CMD_InsertNewLineDown() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
SaveCaretHistoryBeforeBeginEdit(active.buffer, active.view->carets);
|
|
||||||
MoveCursorToSide(active.view, DIR_RIGHT);
|
|
||||||
IndentedNewLine(active.view);
|
|
||||||
} RegisterCommand(CMD_InsertNewLineDown, "ctrl-enter");
|
|
||||||
|
|
||||||
void CMD_NewLine() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
IndentedNewLine(active.view);
|
|
||||||
} RegisterCommand(CMD_NewLine, "enter | shift-enter");
|
|
||||||
|
|
||||||
void CMD_CreateCaretOnNextFind() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
String16 string = GetString(active.buffer, active.view->carets[0].range);
|
|
||||||
Caret caret = FindNext(active.buffer, string, active.view->carets[0]);
|
|
||||||
Insert(&active.view->carets, caret, 0);
|
|
||||||
MergeCarets(active.buffer, &active.view->carets);
|
|
||||||
} RegisterCommand(CMD_CreateCaretOnNextFind, "ctrl-d");
|
|
||||||
|
|
||||||
void CMD_FocusWindow1() {
|
void CMD_FocusWindow1() {
|
||||||
NextActiveWindowID = GetOverlappingWindow({0,0}, GetWindow(ActiveWindowID))->id;
|
NextActiveWindowID = GetOverlappingWindow({0,0}, GetWindow(ActiveWindowID))->id;
|
||||||
} RegisterCommand(CMD_FocusWindow1, "ctrl-1");
|
} RegisterCommand(CMD_FocusWindow1, "ctrl-1");
|
||||||
@@ -1363,26 +1070,6 @@ void CMD_NewWindow() {
|
|||||||
CreateWind();
|
CreateWind();
|
||||||
} RegisterCommand(CMD_NewWindow, "ctrl-backslash");
|
} RegisterCommand(CMD_NewWindow, "ctrl-backslash");
|
||||||
|
|
||||||
void CMD_ClearCarets() {
|
|
||||||
BSet active = GetBSet(ActiveWindowID);
|
|
||||||
active.view->carets.len = 1;
|
|
||||||
active.view->carets[0] = MakeCaret(GetFront(active.view->carets[0]));
|
|
||||||
|
|
||||||
if (active.window->lose_focus_on_escape && active.window->id == ActiveWindowID) {
|
|
||||||
if (active.window->primary) {
|
|
||||||
//
|
|
||||||
} else {
|
|
||||||
NextActiveWindowID = PrimaryWindowID;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
For (Windows) {
|
|
||||||
if (it->lose_visibility_on_escape && it->visible) {
|
|
||||||
it->visible = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} RegisterCommand(CMD_ClearCarets, "escape", "Clear all carets and reset to 1 caret, also do some windowing stuff that closes things on escape");
|
|
||||||
|
|
||||||
void Coro_ReplaceAll(mco_coro *co) {
|
void Coro_ReplaceAll(mco_coro *co) {
|
||||||
BSet main = GetBSet(PrimaryWindowID);
|
BSet main = GetBSet(PrimaryWindowID);
|
||||||
String16 string = FetchLoadWord(main.view);
|
String16 string = FetchLoadWord(main.view);
|
||||||
|
|||||||
@@ -79,3 +79,21 @@ bool ProcessIsActive(ViewID view) {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
View *ExecHidden(String buffer_name, String cmd, String working_dir) {
|
||||||
|
View *view = OpenBufferView(buffer_name);
|
||||||
|
Buffer *buffer = GetBuffer(view->active_buffer);
|
||||||
|
buffer->dont_try_to_save_in_bulk_ops = true;
|
||||||
|
Exec(view->id, true, cmd, working_dir);
|
||||||
|
return view;
|
||||||
|
}
|
||||||
|
|
||||||
|
BSet Exec(String cmd, String working_dir, bool set_active = true) {
|
||||||
|
BSet main = GetBSet(PrimaryWindowID);
|
||||||
|
if (set_active) {
|
||||||
|
NextActiveWindowID = main.window->id;
|
||||||
|
}
|
||||||
|
JumpTempBuffer(&main);
|
||||||
|
Exec(main.view->id, true, cmd, working_dir);
|
||||||
|
return main;
|
||||||
|
}
|
||||||
|
|||||||
@@ -39,9 +39,10 @@
|
|||||||
#include "draw.cpp"
|
#include "draw.cpp"
|
||||||
#include "test/tests.cpp"
|
#include "test/tests.cpp"
|
||||||
|
|
||||||
#include "commands_search_open_buffers.cpp"
|
|
||||||
#include "commands_clipboard.cpp"
|
#include "commands_clipboard.cpp"
|
||||||
|
#include "plugin_search_open_buffers.cpp"
|
||||||
#include "plugin_project_management.cpp"
|
#include "plugin_project_management.cpp"
|
||||||
|
#include "plugin_basic_commands.cpp"
|
||||||
#include "plugin_command_window.cpp"
|
#include "plugin_command_window.cpp"
|
||||||
#include "plugin_search_window.cpp"
|
#include "plugin_search_window.cpp"
|
||||||
#include "plugin_status_window.cpp"
|
#include "plugin_status_window.cpp"
|
||||||
|
|||||||
Reference in New Issue
Block a user