-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathtodo.txt
104 lines (72 loc) · 3.7 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Intellij snippets
---------------------------------------
Type Hints
ExpressionTypeProvider
EditorBoundHighlightingPass --> With this is done the scala one
InlayParameterHintsProvider --> This is for the paramet er name
-----------------------------------------
//In order to improve autcompletion and run templates
LiveTemplateLookupElementImpl
LiveTemplateCompletionContributor
TemplateManager.createTemplate()
---------------------------------------------
//For the DW 1.0 to 2.0 migrator we should implement SingularCopyPastePostProcessor[TextBlockTransferableData] look at the scala plugin
TextJavaCopyPastePostProcessor
//Para reformatear un nodo
val manager = CodeStyleManager.getInstance(method.getProject)
manager.reformat(method)
//refactor multiple targets
IntroduceTargetChooser.showChooser(operation.getEditor(), expressions, new Pass<GoExpression>() {
@Override
public void pass(GoExpression expression) {
if (expression.isValid()) {
operation.setExpression(expression);
performOnElement(operation);
}
}
}, expression1 -> expression1.isValid() ? expression1.getText() : "<invalid expression>");
<codeInsight.lineMarkerProvider language="JAVA" implementationClass="com.simpleplugin.SimpleLineMarkerProvider"/>
ParameterInfoHandler
Replace error message panel with
com.intellij.notification.EventLogConsole.createLogEditor
Module Interesting stuff
* com.intellij.openapi.roots.ModuleRootManager
* final Module module = ModuleUtil.findModuleForFile(virtualFile, project);
public class PsiUtils {
public static List<VirtualFile> findFileByRelativePath(@NotNull Project project, @NotNull String fileRelativePath) {
String relativePath = fileRelativePath.startsWith("/") ? fileRelativePath : "/" + fileRelativePath;
Set<FileType> fileTypes = Collections.singleton(FileTypeManager.getInstance().getFileTypeByFileName(relativePath));
final List<VirtualFile> fileList = new ArrayList<>();
FileBasedIndex.getInstance().processFilesContainingAllKeys(FileTypeIndex.NAME, fileTypes, GlobalSearchScope.projectScope(project), null, virtualFile -> {
if (virtualFile.getPath().endsWith(relativePath)) {
fileList.add(virtualFile);
}
return true;
});
return fileList;
}
}
///////
ApplicationManager.getApplication().invokeLater(() -> {
StatusBar statusBar = WindowManager.getInstance().getStatusBar(project);
if (statusBar != null && !isDisposed()) {
statusBar.addWidget(widget, "after " + (SystemInfo.isMac ? "Encoding" : "InsertOverwrite"), project);
subscribeToMappingChanged();
subscribeToRepoChangeEvents(project);
update();
}
}, project.getDisposed());
----------------------------------------------------------------------------------------------------------------
TODO Implement
* WeaveQualifiedNameProvider DONE
* PSI Stubs for fast search
** https://www.jetbrains.org/intellij/sdk/docs/basics/indexing_and_psi_stubs/stub_indexes.html?search=index
** https://www.jetbrains.org/intellij/sdk/docs/basics/indexing_and_psi_stubs/file_based_indexes.html?search=index
* com.intellij.execution.filters.ConsoleFilterProvider
** <consoleFilterProvider implementation="org.mule.tooling.esb.console.ConsoleFlowStackFilterProvider" order="first"/>
-------------------------------------------------
Do we need a Mule Module Type? It will contain settings for artifact json and persist it there.
Runtime version handling - we have min version in json, version in pom and version in run config settings - are they related?
Create custom IDE
https://youtrack.jetbrains.com/issue/MP-2788
https://youtrack.jetbrains.com/issue/IJSDK-105