Fix error handling of files not found
Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
@@ -177,7 +177,7 @@ export class SettingsManager {
|
|||||||
const document = await workspace.openTextDocument(settingFileUri);
|
const document = await workspace.openTextDocument(settingFileUri);
|
||||||
await window.showTextDocument(document);
|
await window.showTextDocument(document);
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
window.showErrorMessage(`Failed to create ${settingFileName}. Error: ${error}`)
|
window.showErrorMessage(`Failed to create ${settingFileName}. Error: ${error}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -242,7 +242,7 @@ export class SettingsManager {
|
|||||||
await workspace.fs.stat(Uri.file(settingFile.path));
|
await workspace.fs.stat(Uri.file(settingFile.path));
|
||||||
window.showErrorMessage(`Failed to delete file. Error ${error}`);
|
window.showErrorMessage(`Failed to delete file. Error ${error}`);
|
||||||
return;
|
return;
|
||||||
} catch (error) { }
|
} catch (error: any) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.removeSettingFile(workspaceFolder, settingFile, storageKey);
|
await this.removeSettingFile(workspaceFolder, settingFile, storageKey);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { CancellationToken, commands, EventEmitter, ExtensionContext, QuickPickItem, QuickPickItemKind, ThemeIcon, TreeCheckboxChangeEvent, TreeDataProvider, TreeItem, TreeItemCheckboxState, window, workspace } from "vscode";
|
import { CancellationToken, commands, EventEmitter, ExtensionContext, QuickPickItem, QuickPickItemKind, ThemeIcon, TreeCheckboxChangeEvent, TreeDataProvider, TreeItem, TreeItemCheckboxState, Uri, window, workspace } from "vscode";
|
||||||
import { act } from "../../extension";
|
import { act } from "../../extension";
|
||||||
import { SettingFileName, Visibility } from "../../settingsManager";
|
import { SettingFileName, Visibility } from "../../settingsManager";
|
||||||
import { StorageKey } from "../../storageManager";
|
import { StorageKey } from "../../storageManager";
|
||||||
@@ -126,8 +126,17 @@ export default class SettingsTreeDataProvider implements TreeDataProvider<Github
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
commands.registerCommand('githubLocalActions.openSettingFile', async (settingFileTreeItem: SettingFileTreeItem) => {
|
commands.registerCommand('githubLocalActions.openSettingFile', async (settingFileTreeItem: SettingFileTreeItem) => {
|
||||||
const document = await workspace.openTextDocument(settingFileTreeItem.settingFile.path);
|
try {
|
||||||
await window.showTextDocument(document);
|
const document = await workspace.openTextDocument(settingFileTreeItem.settingFile.path);
|
||||||
|
await window.showTextDocument(document);
|
||||||
|
} catch (error: any) {
|
||||||
|
try {
|
||||||
|
await workspace.fs.stat(Uri.file(settingFileTreeItem.settingFile.path));
|
||||||
|
window.showErrorMessage(`Failed to open file. Error: ${error}`);
|
||||||
|
} catch (error: any) {
|
||||||
|
window.showErrorMessage(`File ${settingFileTreeItem.settingFile.name} not found.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
}),
|
}),
|
||||||
commands.registerCommand('githubLocalActions.removeSettingFile', async (settingFileTreeItem: SettingFileTreeItem) => {
|
commands.registerCommand('githubLocalActions.removeSettingFile', async (settingFileTreeItem: SettingFileTreeItem) => {
|
||||||
await act.settingsManager.removeSettingFile(settingFileTreeItem.workspaceFolder, settingFileTreeItem.settingFile, settingFileTreeItem.storageKey);
|
await act.settingsManager.removeSettingFile(settingFileTreeItem.workspaceFolder, settingFileTreeItem.settingFile, settingFileTreeItem.storageKey);
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import * as path from "path";
|
||||||
import { CancellationToken, commands, EventEmitter, ExtensionContext, TreeDataProvider, TreeItem, window, workspace } from "vscode";
|
import { CancellationToken, commands, EventEmitter, ExtensionContext, TreeDataProvider, TreeItem, window, workspace } from "vscode";
|
||||||
import { Event } from "../../act";
|
import { Event } from "../../act";
|
||||||
import { act } from "../../extension";
|
import { act } from "../../extension";
|
||||||
@@ -37,8 +38,17 @@ export default class WorkflowsTreeDataProvider implements TreeDataProvider<Githu
|
|||||||
this.refresh();
|
this.refresh();
|
||||||
}),
|
}),
|
||||||
commands.registerCommand('githubLocalActions.openWorkflow', async (workflowTreeItem: WorkflowTreeItem) => {
|
commands.registerCommand('githubLocalActions.openWorkflow', async (workflowTreeItem: WorkflowTreeItem) => {
|
||||||
const document = await workspace.openTextDocument(workflowTreeItem.workflow.uri);
|
try {
|
||||||
await window.showTextDocument(document);
|
const document = await workspace.openTextDocument(workflowTreeItem.workflow.uri);
|
||||||
|
await window.showTextDocument(document);
|
||||||
|
} catch (error: any) {
|
||||||
|
try {
|
||||||
|
await workspace.fs.stat(workflowTreeItem.workflow.uri);
|
||||||
|
window.showErrorMessage(`Failed to open workflow. Error: ${error}`);
|
||||||
|
} catch (error: any) {
|
||||||
|
window.showErrorMessage(`Workflow ${path.parse(workflowTreeItem.workflow.uri.fsPath).base} not found.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
}),
|
}),
|
||||||
commands.registerCommand('githubLocalActions.runWorkflow', async (workflowTreeItem: WorkflowTreeItem) => {
|
commands.registerCommand('githubLocalActions.runWorkflow', async (workflowTreeItem: WorkflowTreeItem) => {
|
||||||
await act.runWorkflow(workflowTreeItem.workspaceFolder, workflowTreeItem.workflow);
|
await act.runWorkflow(workflowTreeItem.workspaceFolder, workflowTreeItem.workflow);
|
||||||
|
|||||||
Reference in New Issue
Block a user