Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@

## [Unreleased]

## [0.5.10]
### Fixed
- Fixed max lines feature 0-ignore logic (problems not appearing)
- Fixed and improved the problem reset and refresh after using actions (keyboard shortcuts) to enable/disable severity levels or the whole plugin functionality

## [0.5.9]
### Changed
- Added a max lines feature to exclude big files
Expand Down
4 changes: 3 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@ pluginGroup = org.OverEngineer
pluginName = InlineProblems
pluginRepositoryUrl = https://github.com/OverEngineer/InlineProblems
# SemVer format -> https://semver.org
pluginVersion = 0.5.9
pluginVersion = 0.5.10

# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
pluginSinceBuild = 212.5
pluginUntilBuild =

# IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension
platformType = IC
#platformType = RD
platformVersion = 2021.2.4
#platformVersion = 2025.2.3

# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,23 +80,25 @@ public void dispose() {
}

public void scanForProblemsManually() {
if (!settingsState.isEnableInlineProblem()) {
return;
}

ProjectManager projectManager = ProjectManager.getInstanceIfCreated();

if (projectManager != null) {
List<InlineProblem> problems = new ArrayList<>();
if (settingsState.isEnableInlineProblem())
for (var project : projectManager.getOpenProjects()) {
if (!project.isInitialized() || project.isDisposed())
continue;
for (var project : projectManager.getOpenProjects()) {
if (!project.isInitialized() || project.isDisposed())
continue;

FileEditorManager fileEditorManager = FileEditorManager.getInstance(project);
for (var editor : fileEditorManager.getAllEditors()) {
FileEditorManager fileEditorManager = FileEditorManager.getInstance(project);
for (var editor : fileEditorManager.getAllEditors()) {

if (editor instanceof TextEditor) {
var textEditor = (TextEditor) editor;

if (
editor.getFile() == null ||
if (editor.getFile() == null ||
FileUtil.ignoreFile(editor.getFile().getName(), textEditor.getEditor().getDocument().getLineCount())
) {
continue;
Expand All @@ -105,9 +107,8 @@ public void scanForProblemsManually() {
problems.addAll(getProblemsInEditor(textEditor));
}
}
problemManager.updateFromNewActiveProblems(problems);
}

problemManager.updateFromNewActiveProblems(problems);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import org.overengineer.inlineproblems.settings.SettingsState;
import org.overengineer.inlineproblems.utils.SeverityUtil;

import javax.annotation.Nullable;
import java.awt.Font;
import java.awt.Canvas;
import java.util.List;
Expand Down Expand Up @@ -139,7 +138,7 @@ public void drawLineHighlighterAndGutterIcon(List<InlineProblem> problemsInLine)
* @param problemsInLine the problems in the same line as problem, null if no gutter icons are enabled, keep in mind that
* it still contains the problem itself
*/
public void undrawErrorLineHighlight(InlineProblem problem, @Nullable List<InlineProblem> problemsInLine) {
public void undrawErrorLineHighlight(InlineProblem problem, List<InlineProblem> problemsInLine) {
MarkupModel markupModel = problem.getTextEditor().getEditor().getMarkupModel();

Arrays.stream(markupModel.getAllHighlighters())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
package org.overengineer.inlineproblems.actions;

import com.intellij.notification.NotificationType;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.application.ApplicationManager;
import org.jetbrains.annotations.NotNull;
import org.overengineer.inlineproblems.DocumentMarkupModelScanner;
import org.overengineer.inlineproblems.Notifier;
import org.overengineer.inlineproblems.bundles.SettingsBundle;
import org.overengineer.inlineproblems.settings.SettingsState;

public class EnableInlineProblemsAction extends AnAction {
public class EnableInlineProblemsAction extends IPAction {

@Override
public void actionPerformed(@NotNull AnActionEvent anActionEvent) {
Expand All @@ -25,6 +22,6 @@ public void actionPerformed(@NotNull AnActionEvent anActionEvent) {
);
}
settingsState.setEnableInlineProblem(!settingsState.isEnableInlineProblem());
ApplicationManager.getApplication().invokeAndWait(DocumentMarkupModelScanner.getInstance()::scanForProblemsManually);
resetOrRefreshProblems(settingsState);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package org.overengineer.inlineproblems.actions;

import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.application.ApplicationManager;
import org.overengineer.inlineproblems.DocumentMarkupModelScanner;
import org.overengineer.inlineproblems.ProblemManager;
import org.overengineer.inlineproblems.settings.SettingsState;

public abstract class IPAction extends AnAction {

protected void resetOrRefreshProblems(SettingsState settingsState) {
var app = ApplicationManager.getApplication();
if (settingsState.isEnableInlineProblem()) {
app.invokeLater(DocumentMarkupModelScanner.getInstance()::scanForProblemsManually);
}
else {
var problemManager = app.getService(ProblemManager.class);
if (problemManager != null) {
problemManager.reset();
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.overengineer.inlineproblems.actions;

import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import org.jetbrains.annotations.NotNull;
import org.overengineer.inlineproblems.settings.SettingsState;

public class ShowErrorsAction extends AnAction {
public class ShowErrorsAction extends IPAction {
@Override
public void actionPerformed(@NotNull AnActionEvent anActionEvent) {
SettingsState settingsState = SettingsState.getInstance();
settingsState.setShowErrors(!settingsState.isShowErrors());
resetOrRefreshProblems(settingsState);
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.overengineer.inlineproblems.actions;

import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import org.jetbrains.annotations.NotNull;
import org.overengineer.inlineproblems.settings.SettingsState;

public class ShowInfosAction extends AnAction {
public class ShowInfosAction extends IPAction {
@Override
public void actionPerformed(@NotNull AnActionEvent anActionEvent) {
SettingsState settingsState = SettingsState.getInstance();
settingsState.setShowInfos(!settingsState.isShowInfos());
resetOrRefreshProblems(settingsState);
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.overengineer.inlineproblems.actions;

import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import org.jetbrains.annotations.NotNull;
import org.overengineer.inlineproblems.settings.SettingsState;

public class ShowWarningsAction extends AnAction {
public class ShowWarningsAction extends IPAction {
@Override
public void actionPerformed(@NotNull AnActionEvent anActionEvent) {
SettingsState settingsState = SettingsState.getInstance();
settingsState.setShowWarnings(!settingsState.isShowWarnings());
resetOrRefreshProblems(settingsState);
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.overengineer.inlineproblems.actions;

import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import org.jetbrains.annotations.NotNull;
import org.overengineer.inlineproblems.settings.SettingsState;

public class ShowWeakWarningsAction extends AnAction {
public class ShowWeakWarningsAction extends IPAction {
@Override
public void actionPerformed(@NotNull AnActionEvent anActionEvent) {
SettingsState settingsState = SettingsState.getInstance();
settingsState.setShowWeakWarnings(!settingsState.isShowWeakWarnings());
resetOrRefreshProblems(settingsState);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ public class HighlightProblemListener implements HighlightInfoFilter {

@Override
public boolean accept(@NotNull HighlightInfo highlightInfo, @Nullable PsiFile file) {
if (settingsState.isEnableInlineProblem())
return true;
if (settingsState.getEnabledListener() != Listener.HIGHLIGHT_PROBLEMS_LISTENER)
return true;

if (file == null || !file.isValid())
return true;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ public static boolean ignoreFile(String fileName, int lineCount) {
if (lineCount >= 0) {
var maxFileLines = settings.getMaxFileLines();

if (maxFileLines >= 0 && lineCount >= maxFileLines) {
// maxFileLines == 0 => line count is ignored
if (maxFileLines > 0 && lineCount >= maxFileLines) {
ignore = true;
}
}
Expand Down
Loading