From 26636b8db7091a137abce135f84d0617d40d9349 Mon Sep 17 00:00:00 2001 From: willeand Date: Sun, 5 May 2024 22:46:17 -0700 Subject: [PATCH] This adds the errors onto a single datastructure before JSON file --- output/data.json | 2 +- src/extension.ts | 5 ++++- src/findAllErrors.ts | 4 ++-- src/findLowercaseClassOrInterface.ts | 14 +++++++++++--- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/output/data.json b/output/data.json index 7886452..c978688 100644 --- a/output/data.json +++ b/output/data.json @@ -1 +1 @@ -{"3":["Improper Capitalized Primitive Type"],"4":["Improper Capitalized Primitive Type"],"11":["Improper Capitalized Primitive Type","Improper Capitalized Primitive Type"],"12":["Improper Capitalized Primitive Type","Improper Capitalized Primitive Type"],"13":["Improper Capitalized Primitive Type"],"24":["Improper Method Name"],"28":["Improper Method Name","Improper Capitalized Primitive Type"]} \ No newline at end of file +{"3":["Improper Capitalized Primitive Type"],"4":["Improper Capitalized Primitive Type"],"11":["Improper Capitalized Primitive Type","Improper Capitalized Primitive Type"],"12":["Improper Capitalized Primitive Type","Improper Capitalized Primitive Type"],"13":["Improper Capitalized Primitive Type"],"28":["Improper Capitalized Primitive Type"],"33":["Improper Class Or Interface"]} \ No newline at end of file diff --git a/src/extension.ts b/src/extension.ts index 7f35293..86bd05e 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -24,7 +24,10 @@ export function activate(context: vscode.ExtensionContext) { } ); - const disposable1 = vscode.commands.registerCommand('extension.findLowercaseClassOrInterface', findLowercaseClassOrInterface); + const disposable1 = vscode.commands.registerCommand('extension.findLowercaseClassOrInterface', () => { + findLowercaseClassOrInterface(myMap); + } ); + const disposable3 = vscode.commands.registerCommand('extension.singleStatementPerLineChecker', singleStatementPerLineChecker); const disposable0 = vscode.commands.registerCommand('extension.findAllErrors', findAllErrors); diff --git a/src/findAllErrors.ts b/src/findAllErrors.ts index 51a7880..4f33076 100644 --- a/src/findAllErrors.ts +++ b/src/findAllErrors.ts @@ -13,6 +13,6 @@ import { singleStatementPerLineChecker } from "./singleStatementPerLineChecker"; export function findAllErrors() { // findCapitalizedMethodName(); // findCapitalizedPrimitiveTypes(); - findLowercaseClassOrInterface(); - singleStatementPerLineChecker(); + // findLowercaseClassOrInterface(); + // singleStatementPerLineChecker(); } \ No newline at end of file diff --git a/src/findLowercaseClassOrInterface.ts b/src/findLowercaseClassOrInterface.ts index 3152bfe..b536691 100644 --- a/src/findLowercaseClassOrInterface.ts +++ b/src/findLowercaseClassOrInterface.ts @@ -1,6 +1,6 @@ import * as vscode from 'vscode'; -export function findLowercaseClassOrInterface() { +export function findLowercaseClassOrInterface(myMap: Map): Map { // activeTextEditor allows access to text inside opened document. vscode.window.showInformationMessage('Naming Convention Mistake!! Highlighted in RED='); const editor = vscode.window.activeTextEditor; @@ -23,7 +23,7 @@ export function findLowercaseClassOrInterface() { let match; while ((match = pattern.exec(text)) !== null) { // Get the matched variable name - + const lineNumber = document.positionAt(match.index).line + 1; // Get the line number const variableName = match[0]; // Entire matched variable name const firstLetterIndex = match.index + match[0].indexOf(match[1]); // Index of the first letter after class const firstLetterRange = new vscode.Range(document.positionAt(firstLetterIndex), document.positionAt(firstLetterIndex + 1)); @@ -44,10 +44,18 @@ export function findLowercaseClassOrInterface() { backgroundColor: 'rgba(255, 0, 0, 0.4)' } }), [firstLetterRange]); - + + if (!myMap.has(lineNumber)) { + myMap.set(lineNumber, []); + } + const errorMessage = "Improper Class Or Interface"; + const currentErrors = myMap.get(lineNumber) || []; + currentErrors.push(errorMessage); + myMap.set(lineNumber, currentErrors); } } else { vscode.window.showErrorMessage('No active text editor.'); } + return myMap; } \ No newline at end of file