Skip to content

Commit

Permalink
Merge pull request #27 from jeddict/dev
Browse files Browse the repository at this point in the history
Settings for ExcludeJavadocComments and FileExtensionToInclude
  • Loading branch information
jShiwaniGupta authored Oct 20, 2024
2 parents 6547ef0 + 45de6c1 commit 1f46089
Show file tree
Hide file tree
Showing 10 changed files with 633 additions and 350 deletions.
3 changes: 2 additions & 1 deletion src/main/java/io/github/jeddict/ai/hints/JeddictHint.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import com.sun.source.util.SourcePositions;
import com.sun.source.util.TreePath;
import com.sun.source.util.Trees;
import io.github.jeddict.ai.JeddictChatModel;
import io.github.jeddict.ai.completion.Action;
import io.github.jeddict.ai.hints.LearnFix;
import io.github.jeddict.ai.settings.PreferencesManager;
Expand Down Expand Up @@ -199,7 +200,7 @@ public static ErrorDescription run(HintContext ctx) {
default:
return null;
}
String desc = NbBundle.getMessage(JeddictHint.class, "ERR_HINT"); //NOI18N
String desc = NbBundle.getMessage(JeddictChatModel.class, "ERR_HINT"); //NOI18N
return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), desc, fixes); //NOI18N
}

Expand Down
25 changes: 15 additions & 10 deletions src/main/java/io/github/jeddict/ai/hints/LearnFix.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@
import io.github.jeddict.ai.completion.Action;
import io.github.jeddict.ai.JeddictChatModel;
import io.github.jeddict.ai.components.AssistantTopComponent;
import io.github.jeddict.ai.settings.PreferencesManager;
import static io.github.jeddict.ai.util.ProjectUtils.getSourceFiles;
import static io.github.jeddict.ai.util.SourceUtil.removeJavadoc;
import io.github.jeddict.ai.util.StringUtil;
import static io.github.jeddict.ai.util.StringUtil.removeCodeBlockMarkers;
import java.awt.BorderLayout;
Expand Down Expand Up @@ -79,12 +81,6 @@
*/
public class LearnFix extends JavaFix {

private final List<String> acceptedExtensions = Arrays.asList(
"java", "php", "jsf", "kt", "groovy", "scala", "xml", "json", "yaml", "yml",
"properties", "txt", "md", "js", "ts", "css", "scss", "html", "xhtml", "sh",
"bat", "sql", "jsp", "rb", "cs", "go", "swift", "rs", "c", "cpp", "h", "py"
);

private TreePath treePath;
private final Action action;
private JButton prevButton, nextButton, saveButton;
Expand All @@ -93,6 +89,7 @@ public class LearnFix extends JavaFix {
private int currentResponseIndex = -1;
private String javaCode = null;
private String projectContent;
private PreferencesManager pm = PreferencesManager.getInstance();

public LearnFix(TreePathHandle tpHandle, Action action, TreePath treePath) {
super(tpHandle);
Expand Down Expand Up @@ -164,8 +161,12 @@ public void askQueryForProject(Project project, String userQuery) {
StringBuilder inputForAI = new StringBuilder();
for (FileObject file : sourceFiles) {
try {
if (acceptedExtensions.contains(file.getExt())) {
inputForAI.append(file.asText());
if (pm.getFileExtensionListToInclude().contains(file.getExt())) {
String text = file.asText();
if ("java".equals(file.getExt()) && pm.isExcludeJavadocEnabled()) {
text = removeJavadoc(text);
}
inputForAI.append(text);
inputForAI.append("\n");
}
} catch (Exception ex) {
Expand All @@ -189,13 +190,17 @@ public void askQueryForPackage(Collection<? extends FileObject> selectedPackages
.filter(FileObject::isFolder)
.flatMap(packageFolder -> Arrays.stream(packageFolder.getChildren())
.filter(FileObject::isData)
.filter(file -> acceptedExtensions.contains(file.getExt())))
.filter(file -> pm.getFileExtensionListToInclude().contains(file.getExt())))
.collect(Collectors.toList());

StringBuilder inputForAI = new StringBuilder();
for (FileObject file : sourceFiles) {
try {
inputForAI.append(file.asText());
String text = file.asText();
if ("java".equals(file.getExt()) && pm.isExcludeJavadocEnabled()) {
text = removeJavadoc(text);
}
inputForAI.append(text);
inputForAI.append("\n");
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,17 @@
import org.openide.util.HelpCtx;
import org.openide.util.Lookup;

@OptionsPanelController.SubRegistration(
location = "Editor",
displayName = "#AdvancedOption_DisplayName_AIAssistance",
keywords = "#AdvancedOption_Keywords_AIAssistance",
keywordsCategory = "Editor/AIAssistance"

@OptionsPanelController.TopLevelRegistration(
categoryName = "#OptionsCategory_Name_JeddictAIAssistant",
iconBase = "icons/logo32.png",
keywords = "#OptionsCategory_Keywords_JeddictAIAssistant",
keywordsCategory = "JeddictAIAssistant"
)
@org.openide.util.NbBundle.Messages({"AdvancedOption_DisplayName_AIAssistance=AI Assistance", "AdvancedOption_Keywords_AIAssistance=AI, CHATGPT"})
@org.openide.util.NbBundle.Messages({
"OptionsCategory_Name_JeddictAIAssistant=Jeddict AI Assistant",
"OptionsCategory_Keywords_JeddictAIAssistant=AI"
})
public final class AIAssistanceOptionsPanelController extends OptionsPanelController {

private AIAssistancePanel panel;
Expand Down
Loading

0 comments on commit 1f46089

Please sign in to comment.