Skip to content

Commit

Permalink
Merge pull request #32 from MetabobProject/edge-case-upon-resolve-web…
Browse files Browse the repository at this point in the history
…view

General Fixes and implementation of a gurrentee that at once each event is delivered to webview
  • Loading branch information
AviGopal authored Feb 27, 2024
2 parents 5bff00d + acbcb95 commit 5bc1e77
Show file tree
Hide file tree
Showing 7 changed files with 261 additions and 89 deletions.
7 changes: 7 additions & 0 deletions ext-src/commands/DetailDocument.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ export function activateDetailSuggestionCommand(context: vscode.ExtensionContext
}

if (!sessionToken || !analyzeStateValue) {
getExtensionEventEmitter().fire({
type: 'CURRENT_PROJECT',
data: {
name: currentWorkSpaceFolder
},
});

extensionEventEmitter.fire({
type: 'CURRENT_FILE',
data: { ...documentMetaData.editor.document },
Expand Down
134 changes: 94 additions & 40 deletions ext-src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ export function activate(context: vscode.ExtensionContext): void {
const isValidEditor = Util.isValidDocument(editor.document);

if (isValidEditor) {
getExtensionEventEmitter().fire({
extensionEventEmitter.fire({
type: 'Analysis_Completed',
data: { shouldResetRecomendation: true, shouldMoveToAnalyzePage: true, ...analyzeValue },
});
Expand All @@ -216,19 +216,10 @@ export function activate(context: vscode.ExtensionContext): void {

context.subscriptions.push(
vscode.workspace.onDidOpenTextDocument((e: vscode.TextDocument) => {
const currentWorkSpaceFolder = Util.getRootFolderName();
const documentMetaData = Util.extractMetaDataFromDocument(e);
if (!documentMetaData.fileName) {
debugChannel.appendLine(
'onDidOpenTextDocument: fileName is undefined. ' +
'\n' +
documentMetaData.relativePath +
'\n' +
documentMetaData.filePath,
);
return;
}

const bufferedEParam: vscode.TextDocument = {
...e,
fileName: e.fileName.replace('.git', ''),
};
const analyzeState = new Analyze(context);
const analyzeValue = analyzeState.get()?.value;
if (!analyzeValue) {
Expand All @@ -237,10 +228,55 @@ export function activate(context: vscode.ExtensionContext): void {
return;
}

const results: Problem[] | undefined = Util.getCurrentEditorProblems(
analyzeValue,
documentMetaData.fileName,
const activeTextEditor = vscode.window.activeTextEditor;
if (!activeTextEditor) {
debugChannel.appendLine('onDidOpenTextDocument: activeTextEditor is undefined ');

return;
}

if (activeTextEditor.document.fileName !== bufferedEParam.fileName) {
debugChannel.appendLine(
'onDidOpenTextDocument: activeTextEditor.document.fileName ' +
activeTextEditor.document.fileName +
' e.fileName ' +
e.fileName,
);

return;
}

const currentWorkSpaceFolder = Util.getRootFolderName();
debugChannel.appendLine(
'onDidOpenTextDocument: currentWorkSpaceFolder ' + currentWorkSpaceFolder,
);
const documentMetaData = Util.extractMetaDataFromDocument(bufferedEParam);
let fileName: string | undefined = undefined;

if (documentMetaData.fileName) {
debugChannel.appendLine(
'onDidOpenTextDocument: documentMetaData.fileName: ' + documentMetaData.fileName,
);
fileName = documentMetaData.fileName;
}

if (!fileName && documentMetaData.filePath) {
const splitKey: string | undefined = documentMetaData.filePath
.split('/')
.pop()
?.replace('.git', '');
if (splitKey) {
fileName = splitKey;
}
}
debugChannel.appendLine('onDidOpenTextDocument: fileName: ' + fileName);

if (!fileName) {
debugChannel.appendLine('onDidOpenTextDocument: fileName is undefined. ' + fileName);
return;
}

const results: Problem[] | undefined = Util.getCurrentEditorProblems(analyzeValue, fileName);
if (!results) {
debugChannel.appendLine('onDidOpenTextDocument: results is undefined');

Expand All @@ -256,14 +292,9 @@ export function activate(context: vscode.ExtensionContext): void {
},
});

getExtensionEventEmitter().fire({
type: 'Analysis_Completed',
data: { shouldResetRecomendation: true, shouldMoveToAnalyzePage: true, ...analyzeValue },
});

extensionEventEmitter.fire({
type: 'CURRENT_FILE',
data: { ...e },
data: { ...activeTextEditor.document },
});

extensionEventEmitter.fire({
Expand All @@ -272,22 +303,29 @@ export function activate(context: vscode.ExtensionContext): void {
name: currentWorkSpaceFolder,
},
});

extensionEventEmitter.fire({
type: 'onDiscardSuggestionClicked:Success',
data: {},
});

extensionEventEmitter.fire({
type: 'Analysis_Completed',
data: { shouldResetRecomendation: true, shouldMoveToAnalyzePage: true, ...analyzeValue },
});

debugChannel.appendLine(
'onDidOpenTextDocument: results have zero length. ' + documentMetaData.fileName,
);

return;
}

const activeTextEditor = vscode.window.activeTextEditor;
if (!activeTextEditor) return;
if (activeTextEditor.document.fileName !== e.fileName) return;

Util.decorateCurrentEditorWithHighlights(results, activeTextEditor);

extensionEventEmitter.fire({
type: 'CURRENT_FILE',
data: { ...e },
data: { ...activeTextEditor.document },
});

extensionEventEmitter.fire({
Expand All @@ -298,9 +336,9 @@ export function activate(context: vscode.ExtensionContext): void {
},
});

getExtensionEventEmitter().fire({
type: 'Analysis_Completed',
data: { shouldResetRecomendation: true, shouldMoveToAnalyzePage: true, ...analyzeValue },
extensionEventEmitter.fire({
type: 'onDiscardSuggestionClicked:Success',
data: {},
});

extensionEventEmitter.fire({
Expand All @@ -309,6 +347,11 @@ export function activate(context: vscode.ExtensionContext): void {
name: currentWorkSpaceFolder,
},
});

extensionEventEmitter.fire({
type: 'Analysis_Completed',
data: { shouldResetRecomendation: true, shouldMoveToAnalyzePage: true, ...analyzeValue },
});
}),
);

Expand Down Expand Up @@ -351,10 +394,6 @@ export function activate(context: vscode.ExtensionContext): void {
hasWorkSpaceFolders: true,
},
});
getExtensionEventEmitter().fire({
type: 'Analysis_Completed',
data: { shouldResetRecomendation: true, shouldMoveToAnalyzePage: true, ...analyzeValue },
});

extensionEventEmitter.fire({
type: 'CURRENT_FILE',
Expand All @@ -368,6 +407,16 @@ export function activate(context: vscode.ExtensionContext): void {
},
});

extensionEventEmitter.fire({
type: 'onDiscardSuggestionClicked:Success',
data: {},
});

extensionEventEmitter.fire({
type: 'Analysis_Completed',
data: { shouldResetRecomendation: true, shouldMoveToAnalyzePage: true, ...analyzeValue },
});

debugChannel.appendLine(
'onDidChangeActiveTextEditor: results array has zero length. ' + fileName,
);
Expand All @@ -385,11 +434,6 @@ export function activate(context: vscode.ExtensionContext): void {
},
});

getExtensionEventEmitter().fire({
type: 'Analysis_Completed',
data: { shouldResetRecomendation: true, shouldMoveToAnalyzePage: true, ...analyzeValue },
});

extensionEventEmitter.fire({
type: 'CURRENT_FILE',
data: { ...e.document },
Expand All @@ -402,6 +446,16 @@ export function activate(context: vscode.ExtensionContext): void {
},
});

extensionEventEmitter.fire({
type: 'onDiscardSuggestionClicked:Success',
data: {},
});

extensionEventEmitter.fire({
type: 'Analysis_Completed',
data: { shouldResetRecomendation: true, shouldMoveToAnalyzePage: true, ...analyzeValue },
});

previousEditor = e;
}),
);
Expand Down
Loading

0 comments on commit 5bc1e77

Please sign in to comment.