Improve OpenCode
This commit is contained in:
@@ -9,6 +9,8 @@
|
|||||||
- ctrl-e started doing no-ops again ... ??
|
- ctrl-e started doing no-ops again ... ??
|
||||||
- Window position: vscode opens in fullscreen and then remembers what position it was close in (could be a config option)
|
- Window position: vscode opens in fullscreen and then remembers what position it was close in (could be a config option)
|
||||||
- On Linux: Try to implement is_debugger_present()
|
- On Linux: Try to implement is_debugger_present()
|
||||||
|
- Probably shouldn't emit (Key pressed when ctrl etc. is not clicked!!)
|
||||||
|
- Brace, bracket, paren indenting?
|
||||||
|
|
||||||
- OnUpdate view hooks!
|
- OnUpdate view hooks!
|
||||||
- OnSave buffer hooks which will execute the config on save
|
- OnSave buffer hooks which will execute the config on save
|
||||||
|
|||||||
@@ -832,20 +832,24 @@ void CMD_SetWorkDirHere() {
|
|||||||
} RegisterCommand(CMD_SetWorkDirHere, "", "Sets work directory to the directory of the current buffer, it also renames couple special buffers to make them accomodate the new WorkDir");
|
} RegisterCommand(CMD_SetWorkDirHere, "", "Sets work directory to the directory of the current buffer, it also renames couple special buffers to make them accomodate the new WorkDir");
|
||||||
|
|
||||||
void Coro_OpenCode(mco_coro *co) {
|
void Coro_OpenCode(mco_coro *co) {
|
||||||
Array<String> patterns = Split(CoCurr->arena, OpenCodeCommandExcludePatterns, "|");
|
Array<String> patterns = SplitWhitespace(CoCurr->arena, OpenCodePatterns);
|
||||||
Array<String> dirs = {CoCurr->arena};
|
Array<String> dirs = {CoCurr->arena};
|
||||||
String *param_dir = (String *)CoCurr->user_ctx;
|
String *param_dir = (String *)CoCurr->user_ctx;
|
||||||
Add(&dirs, *param_dir);
|
Add(&dirs, *param_dir);
|
||||||
for (int diri = 0; diri < dirs.len; diri += 1) {
|
for (int diri = 0; diri < dirs.len; diri += 1) {
|
||||||
for (FileIter it = IterateFiles(CoCurr->arena, dirs[diri]); IsValid(it); Advance(&it)) {
|
for (FileIter it = IterateFiles(CoCurr->arena, dirs[diri]); IsValid(it); Advance(&it)) {
|
||||||
bool match = false;
|
if (!it.is_directory) {
|
||||||
|
bool should_open = false;
|
||||||
ForItem (ending, patterns) {
|
ForItem (ending, patterns) {
|
||||||
if (EndsWith(it.absolute_path, ending)) {
|
if (EndsWith(it.absolute_path, ending)) {
|
||||||
match = true;
|
should_open = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (match) continue;
|
if (!should_open) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (it.is_directory) {
|
if (it.is_directory) {
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ RegisterVariable(String, WindowsVCVarsPathToLoadDevEnviroment, "C:/Program Files
|
|||||||
RegisterVariable(Float, UndoMergeTime, 0.3);
|
RegisterVariable(Float, UndoMergeTime, 0.3);
|
||||||
RegisterVariable(Float, JumpHistoryMergeTime, 0.3);
|
RegisterVariable(Float, JumpHistoryMergeTime, 0.3);
|
||||||
RegisterVariable(String, InternetBrowser, "firefox");
|
RegisterVariable(String, InternetBrowser, "firefox");
|
||||||
RegisterVariable(String, OpenCodeCommandExcludePatterns, ".git/|.obj|.o|.pdb|.exe|.ilk|.ttf|.ico|.gif|.jpg|.png|.spall|.dll|.so|.a|.lib|SDL/");
|
RegisterVariable(String, OpenCodePatterns, ".c .h .cpp .hpp .cc .cxx .rs .go .zig .py .lua .js .ts .jsx .tsx .java .kt .swift .cs .rb .php .html .css .scss .sh .bash .zsh .sql .asm .s .cmake .make .json .yaml .toml .ini .txt .md .rst .Makefile .Dockerfile .gitignore .bashrc .zshrc");
|
||||||
RegisterVariable(Int, TrimTrailingWhitespace, 1);
|
RegisterVariable(Int, TrimTrailingWhitespace, 1);
|
||||||
RegisterVariable(Int, FormatCode, 0);
|
RegisterVariable(Int, FormatCode, 0);
|
||||||
RegisterVariable(Int, SetModifiesConfig, 1);
|
RegisterVariable(Int, SetModifiesConfig, 1);
|
||||||
Reference in New Issue
Block a user