Added files list search; keybinding cleanup

This commit is contained in:
2025-06-22 00:01:49 -05:00
parent ad92bfc648
commit 9915b98700
4 changed files with 66 additions and 4 deletions

View File

@@ -97,6 +97,55 @@ export class NewtonEditorBase {
console.log(this.editor.session.getMode()["$id"]);
}
public showFilesList() {
let paths = this.filesService.getAllPaths();
let stubPaths = [];
for (let i = 0; i < paths.length; i++) {
let fpath = paths[i];
if (fpath.length > 67) {
fpath = "..." + fpath.slice(fpath.length - 67, fpath.length);
}
stubPaths.push(fpath);
}
this.editor.prompt("",
{
name: "Files:",
placeholder: "Search...",
getCompletions: (search) => {
let query = search.getValue();
let result = [];
if (!query) return stubPaths;
for (let i = 0; i < stubPaths.length; i++) {
if (stubPaths[i].includes(query)) {
result.push(stubPaths[i]);
}
}
return result;
},
onAccept: (data) => {
let fpath = data.value;
let path = "";
for (let i = 0; i < stubPaths.length; i++) {
if (stubPaths[i] === fpath) {
path = paths[i];
}
}
if (!path) return;
this.activeFile = this.filesService.get(path);
this.editor.setSession(this.activeFile.session);
}
});
}
public destroySession() {
this.editor.session.destroy();
}

View File

@@ -5,6 +5,7 @@ import * as ace from "ace-builds/src-noconflict/ace";
import "ace-builds/src-noconflict/ext-settings_menu";
import "ace-builds/src-noconflict/ext-keybinding_menu";
import "ace-builds/src-noconflict/ext-command_bar";
import "ace-builds/src-noconflict/ext-prompt";
import "ace-builds/src-noconflict/ext-language_tools";
import "ace-builds/src-noconflict/theme-one_dark";
import "ace-builds/src-noconflict/theme-dracula";