Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
fccb643
module setup
cx-aniket-shinde Aug 7, 2026
86b13ef
Gutter icons
cx-aniket-shinde Aug 8, 2026
ee6a21d
lib
cx-aniket-shinde Aug 8, 2026
6445837
Save
cx-aniket-shinde Aug 9, 2026
27f6b8a
feat: settings integration - remove circular dependencies
cx-aniket-shinde Aug 9, 2026
8f33df3
refactor: extract authentication success handler to interface
cx-aniket-shinde Aug 9, 2026
220e66b
refactor: extract settings change notifier to interface
cx-aniket-shinde Aug 9, 2026
d0e8a40
fix: remove duplicate JARs from devassist-lib
cx-aniket-shinde Aug 9, 2026
6895b5a
scanner state
cx-aniket-shinde Aug 9, 2026
d86b577
Preferences state
cx-aniket-shinde Aug 10, 2026
d35e289
constant of promotional panel
cx-aniket-shinde Aug 10, 2026
c7f63e9
Missing Credentials panel when logout
cx-aniket-shinde Aug 10, 2026
e96046f
copilot integration
cx-aniket-shinde Aug 10, 2026
2ab85da
Preferences package changes
cx-aniket-shinde Aug 10, 2026
fbfce35
Pref issues
cx-aniket-shinde Aug 10, 2026
68ec92a
Save code of enable disable scanners
cx-aniket-shinde Aug 11, 2026
5bb8c29
Preferences cache clear
cx-aniket-shinde Aug 11, 2026
12b9f24
Fix hover feature performance and rendering issues
cx-aniket-shinde Aug 11, 2026
bb9f22a
save code
cx-aniket-shinde Aug 11, 2026
bb34425
Add action link text to FindingsAnnotation hovers
cx-aniket-shinde Aug 11, 2026
b84c4e9
Add clickable action buttons to hover (JetBrains-style)
cx-aniket-shinde Aug 11, 2026
5d3c970
Change action buttons to simple clickable links
cx-aniket-shinde Aug 11, 2026
b57d7fa
Add action handler to PresenterControlCreator hover
cx-aniket-shinde Aug 11, 2026
8775a67
Use JavaScript onclick to trigger action handlers
cx-aniket-shinde Aug 11, 2026
50fd263
Parse action from URL fragment instead of custom protocol
cx-aniket-shinde Aug 11, 2026
7ae1224
Buttons on hover
cx-aniket-shinde Aug 12, 2026
19eebc6
MCP Install
cx-aniket-shinde Aug 12, 2026
1ea68ba
Save hover code
cx-aniket-shinde Aug 12, 2026
e6c4325
Hover code
cx-aniket-shinde Aug 12, 2026
1d5be62
Changes
cx-aniket-shinde Aug 12, 2026
66ad330
Text changes and info-unkown underline removal.
cx-aniket-shinde Aug 13, 2026
1097bdf
Merge branch 'feature/preferences' into feature/hover
cx-aniket-shinde Aug 13, 2026
9bb8c0e
Hover solution
cx-aniket-shinde Aug 13, 2026
37469df
Save hover code
cx-aniket-shinde Aug 14, 2026
5fc6d92
Save hover code
cx-aniket-shinde Aug 14, 2026
91e1b3a
Save hover code
cx-aniket-shinde Aug 15, 2026
a90af55
Hover theme based colour
cx-aniket-shinde Aug 17, 2026
535618e
Hover font
cx-aniket-shinde Aug 17, 2026
0216702
Suffix
cx-aniket-shinde Aug 17, 2026
87cf63b
Link Hanlder
cx-aniket-shinde Aug 17, 2026
e0074e7
Removed unecessary method.
cx-aniket-shinde Aug 17, 2026
ac01159
Issues resolved
cx-aniket-shinde Aug 17, 2026
f627d5b
Add common lib jars
cx-aniket-shinde Aug 18, 2026
4385c39
Save code changes for hover
cx-aniket-shinde Aug 18, 2026
6d6c2c7
Merge remote-tracking branch 'origin/feature/devassist_integration' i…
cx-aniket-shinde Aug 18, 2026
353bf82
Bug fixes
cx-aniket-shinde Aug 18, 2026
ad33862
Theme based icons
cx-aniket-shinde Aug 19, 2026
9c0709a
Hover changes for dynamic sizing
cx-aniket-shinde Aug 19, 2026
34a8b62
On Logout results removed
cx-aniket-shinde Aug 19, 2026
a4ddad4
Line number update code
cx-aniket-shinde Aug 19, 2026
f29086d
Malicious count
cx-aniket-shinde Aug 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
*.jar
!checkmarx-ast-eclipse-plugin/lib/*.jar
!devassist-lib/lib/*.jar
!common-lib/lib/*.jar
!common-lib/lib/*.jar
9 changes: 9 additions & 0 deletions checkmarx-ast-eclipse-plugin/icons/severity/star-action.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ public static String convertStringTimeStamp(String timestamp) {

Instant instant = Instant.parse(timestamp);

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(PARAM_TIMESTAMP_PATTERN).withZone(ZoneId.systemDefault());
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(PARAM_TIMESTAMP_PATTERN)
.withZone(ZoneId.systemDefault());
parsedDate = dateTimeFormatter.format(instant);
} catch (Exception e) {
CxLogger.warning(String.format("[TIME-STAMP] Returning time stamp", e.getMessage()));
Expand Down Expand Up @@ -99,19 +100,21 @@ public static void setTextForComboViewer(ComboViewer comboViewer, String text) {
*/
public static void updateFiltersEnabledAndCheckedState(List<Action> filterActions) {
for (Action action : filterActions) {
// avoid to disable group by severity , group by query name and group by state actions
if (!action.getId().equals(ActionName.GROUP_BY_SEVERITY.name()) && !action.getId().equals(ActionName.GROUP_BY_QUERY_NAME.name()) && !action.getId().equals(ActionName.GROUP_BY_STATE_NAME.name()) ) {
// avoid to disable group by severity , group by query name and group by state
// actions
if (!action.getId().equals(ActionName.GROUP_BY_SEVERITY.name())
&& !action.getId().equals(ActionName.GROUP_BY_QUERY_NAME.name())
&& !action.getId().equals(ActionName.GROUP_BY_STATE_NAME.name())) {
action.setEnabled(DataProvider.getInstance().containsResults());
}
if(!action.getId().equals(ActionName.FILTER_CHANGED.name())) {

if (!action.getId().equals(ActionName.FILTER_CHANGED.name())) {
action.setChecked(FilterState.isSeverityEnabled(action.getId()));
}


}
}

/**
* Create a display model to be presented in the tree
*
Expand All @@ -121,7 +124,7 @@ public static void updateFiltersEnabledAndCheckedState(List<Action> filterAction
public static DisplayModel message(String message) {
return new DisplayModel.DisplayModelBuilder(message).build();
}

/**
* Show message in the tree
*
Expand All @@ -132,17 +135,16 @@ public static void showMessage(DisplayModel rootModel, TreeViewer viewer, String
rootModel.children.add(PluginUtils.message(message));
viewer.refresh();
}



/**
* Clear message in the tree
*
*/
public static void clearMessage(DisplayModel rootModel,TreeViewer viewer) {
public static void clearMessage(DisplayModel rootModel, TreeViewer viewer) {
rootModel.children.clear();
viewer.refresh();
}

/**
* Get Event Broker
*
Expand All @@ -151,7 +153,7 @@ public static void clearMessage(DisplayModel rootModel,TreeViewer viewer) {
public static IEventBroker getEventBroker() {
return (IEventBroker) PlatformUI.getWorkbench().getService(IEventBroker.class);
}

/**
* Check if checkmarx credentials are defined in the Preferences
*
Expand All @@ -160,7 +162,7 @@ public static IEventBroker getEventBroker() {
public static boolean areCredentialsDefined() {
return StringUtils.isNotBlank(Preferences.getApiKey());
}

/**
* Add Checkmarx vulnerabilities to Problems View
*
Expand Down Expand Up @@ -194,7 +196,7 @@ public static void addVulnerabilitiesToProblemsView(List<Result> resultsList) {
}
}
}

/**
* Get IMarker severity based on each checkmarx result severity
*
Expand All @@ -203,25 +205,25 @@ public static void addVulnerabilitiesToProblemsView(List<Result> resultsList) {
*/
private static Integer getIMarkerSeverity(String resultSeverity) {
Severity severity = Severity.getSeverity(resultSeverity);

switch (severity) {
case CRITICAL:
return IMarker.SEVERITY_ERROR;
case HIGH:
return IMarker.SEVERITY_ERROR;
case MEDIUM:
return IMarker.SEVERITY_WARNING;
case LOW:
return IMarker.SEVERITY_INFO;
case INFO:
return IMarker.SEVERITY_INFO;
default:
break;
case CRITICAL:
return IMarker.SEVERITY_ERROR;
case HIGH:
return IMarker.SEVERITY_ERROR;
case MEDIUM:
return IMarker.SEVERITY_WARNING;
case LOW:
return IMarker.SEVERITY_INFO;
case INFO:
return IMarker.SEVERITY_INFO;
default:
break;
}

return IMarker.SEVERITY_INFO;
}

/**
* Find files in workspace
*
Expand All @@ -231,7 +233,8 @@ private static Integer getIMarkerSeverity(String resultSeverity) {
public static List<IFile> findFileInWorkspace(final String fileName) {
final List<IFile> foundFiles = new ArrayList<IFile>();
try {
// visiting only resources proxy because we obtain the resource only when matching name, thus the workspace traversal is much faster
// visiting only resources proxy because we obtain the resource only when
// matching name, thus the workspace traversal is much faster
ResourcesPlugin.getWorkspace().getRoot().accept(new IResourceProxyVisitor() {
@Override
public boolean visit(IResourceProxy resourceProxy) throws CoreException {
Expand All @@ -250,23 +253,24 @@ public boolean visit(IResourceProxy resourceProxy) throws CoreException {
}
return foundFiles;
}

/**
* Clear checkmarx vulnerabilities from Problems View
*/
public static void clearVulnerabilitiesFromProblemsView() {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IResource resource = workspace.getRoot();
IMarker[] markers;

try {
markers = resource.findMarkers(IMarker.MARKER, true, IResource.DEPTH_INFINITE);

for (IMarker m : markers) {
if(m.getAttribute(IMarker.SOURCE_ID) != null && m.getAttribute(IMarker.SOURCE_ID).equals(PluginConstants.PROBLEM_SOURCE_ID)) {
if (m.getAttribute(IMarker.SOURCE_ID) != null
&& m.getAttribute(IMarker.SOURCE_ID).equals(PluginConstants.PROBLEM_SOURCE_ID)) {
m.delete();
}
}
}
} catch (CoreException e) {
CxLogger.error(String.format(PluginConstants.ERROR_FINDING_OR_DELETING_MARKER, e.getMessage()), e);
}
Expand Down
Loading
Loading