Akash Yadav
70b05f23ca
fix(editor): tab in symbol input does not shift snippet to next tab stop
2023-03-31 17:47:51 +05:30
Akash Yadav
5be28d078e
feat(lsp/java): add basic snippet support for Java
2023-03-31 17:37:48 +05:30
Akash Yadav
e8e203f548
refactor: rename CompletionItem.kind to avoid conflict with editor's CompletionItem.kind
2023-03-31 13:31:01 +05:30
Akash Yadav
81df6d29db
build: include EventBusAnnotationProcessor locally
2023-03-30 23:49:17 +05:30
Akash Yadav
233cb876e7
fix(lsp/java): 'Create missing method' unable to create methods outside of current file
...
This happens becase FindMethodCallAt does not initialize properties related to the found method.
2023-03-29 17:45:14 +05:30
Akash Yadav
8f6392ff55
feat(lsp: add option to perform code actions on main thread
2023-03-29 12:37:56 +05:30
Akash Yadav
273e61daa8
feat(lsp/java): add 'Fix imports' actions
...
The 'Fix imports' action analyzes the file contents, walks through the diagnostic items looking for 'compiler.err.cant.resolve.location' errors, then performs an edit to
import all those classes at once. If multiple classes are found for a class name, the user is asked to choose the class that should be imported.
2023-03-29 01:42:24 +05:30
Akash Yadav
974a1ae208
fix(lsp/java): invalid simple name comparison in CompilerProvider.findQualifiedNames()
2023-03-28 23:55:29 +05:30
Akash Yadav
380cbe3ddc
refactor(lsp/java): move qualified name finding logic to JavaCompilerService
2023-03-28 23:33:01 +05:30
Akash Yadav
f6882fcad4
refactor(lsp/java): update the Rewrite API
2023-03-28 22:58:18 +05:30
Akash Yadav
3a1f5ff3ce
fix(lsp/java): inconsistent indents in generated code
2023-03-27 23:37:11 +05:30
Akash Yadav
e7489ed6f2
fix(lsp/java): extra indentation is added to generated overriding method
2023-03-27 23:01:48 +05:30
Akash Yadav
7f69dc57a7
fix(lsp/java): remove hardcoded 4-space indentation in generated code
2023-03-27 22:51:04 +05:30
Akash Yadav
3ac055c2a7
fix(lsp/java): avoid scanning AST for 'expand selection' if whole content is selected
2023-03-26 22:13:00 +05:30
Akash Yadav
e2dd1b74ea
fix(lsp/java): expand selection does not work after selecting whole class or package decl
2023-03-26 22:13:00 +05:30
Akash Yadav
1ad5ffd9b6
fix: whole tree is logged while expanding selection region
2023-03-26 22:12:59 +05:30
Akash Yadav
de9655c43f
fix: log exception to IDE logs while executing code actions
2023-03-26 22:12:59 +05:30
Akash Yadav
4987a99ab1
fix: tab width is ignored by 'Create missing method' action
2023-03-26 22:12:58 +05:30
Akash Yadav
3eec08ad4a
refactor: reorganize code
2023-03-26 22:12:58 +05:30
Akash Yadav
c21b459ea5
fix: avoid crash if code actions fail to execute
2023-03-26 22:12:57 +05:30
Akash Yadav
e00f182b83
fix(lsp/java): classes from the same package are imported when selecting a completion item ( closes #869 )
2023-03-18 08:29:59 +05:30
Akash Yadav
a24c7e5ff1
fix: signature help is not shown for methods from a cached completion result
2023-03-14 13:10:43 +05:30
Akash Yadav
23a9f4b718
fix(lsp/java): update tree-sitter parse cache when a file is deleted or renamed
2023-03-13 15:57:51 +05:30
Akash Yadav
1bc3fc7bc1
fix(lsp/java): signature help is not shown sometimes
2023-03-11 23:17:25 +05:30
Akash Yadav
d4db2635bd
refactor: move javapoet to separate module
2023-03-05 23:29:39 +05:30
Akash Yadav
bdd119d631
fix: completion becomes unresponsive while completing class names inside an anonymous class
...
This bug is caused when the user requests completions for class names inside an anonymous class (`new View.OnClickListener() { ... } ` for example).
The completion provider succeeds in finding the completion candidates. However, for creating CompletionItem instance for classes, it needs to know if the class that is being suggested
is a nested class or not. This is checked by `IJavaCompletionProvider.findTopLevelDeclaration()` which however, fails the check the nullability of the parent elements while traversing.
This results in an infinite loop causing the `SynchronizedTask` to hold on to the `CompileTask` instance which further prevents any compilation related tasks.
As the `CompileTask` is held due to the infinite loop, the Java completion provider simply returns empty results on further completion requests.
2023-03-04 23:52:34 +05:30
Akash Yadav
886a0cacfa
feat: ignore 'package-info' when indexing sources and libraries
2023-02-26 10:46:28 +05:30
Akash Yadav
bd8bc69990
refactor: remove unnecessary debug log in JavaCompilerImpl
2023-02-25 16:58:13 +05:30
Akash Yadav
fdd747e5dc
chore: update code style to GoogleStyle
2023-02-25 16:52:38 +05:30
Akash Yadav
245427e232
docs: removed readme for :lsp:java
2023-02-25 00:16:22 +05:30
Akash Yadav
adf7e80a02
fix: reset files in JavaCompilerConfig after compilation
2023-02-23 23:28:38 +05:30
Akash Yadav
e551ba8763
fix: do not prune methods when running on JVM
2023-02-23 23:27:32 +05:30
Akash Yadav
4ebda7fc8f
feat: [EXPERIMENTAL] prune method bodies of files before parsing in JavaCompilerImpl
2023-02-23 23:22:57 +05:30
Akash Yadav
3d606d16b4
feat: use custom JavaCompiler implementation for Java LSP
2023-02-22 23:34:22 +05:30
Akash Yadav
52a75f0c15
refactor: move JavacConfigProvider to 'javac.config' package
2023-02-22 23:34:21 +05:30
Akash Yadav
8ae3b0a05c
refactor: create independent method for caching locations in JavacFileManager
2023-02-20 20:41:54 +05:30
Akash Yadav
fb2834a31e
fix: do not use tree-sitter method pruning for tests
2023-02-18 18:25:50 +05:30
Akash Yadav
298b3e9589
feat: [EXPERIMENTAL] use tree sitter to prune method bodies in completion provider
2023-02-18 18:21:57 +05:30
Akash Yadav
7e5d8b99d9
fix: add more cancellation checks in Java analyzer
2023-02-18 10:17:48 +05:30
Akash Yadav
81a40be7a8
refactor: log reason for Java analyze request cancellation
2023-02-18 10:10:26 +05:30
Akash Yadav
c5d5e03507
tests: fix tests
2023-02-17 19:07:22 +05:30
Akash Yadav
f2e9eea49c
feat: add preference to disable Java diagnostics (experimental)
2023-02-17 18:08:12 +05:30
Akash Yadav
840bacd5b5
refactor: set java version for javac-related projects to JAVA_11
2023-02-14 18:51:41 +05:30
Akash Yadav
00c5633e4a
refactor: fix typo in method name
2023-02-12 00:11:29 +05:30
Akash Yadav
0f6abf34cf
refactor: rename package 'javax' to 'jdkx'
2023-02-11 21:12:55 +05:30
Akash Yadav
96ca54c394
refactor: removed unnecessary JavacTaskUtil class
2023-01-28 22:49:45 +05:30
Akash Yadav
755043b050
refactor(javac): update nb-javac-android
...
This replaces the usage of 'com.sun' package from javac to 'openjdk'.
2023-01-28 22:39:48 +05:30
Akash Yadav
bc156a9cb6
fix(editor,lsp/java): avoid reflective access to IDEEditor
2023-01-19 08:44:09 +05:30
Akash Yadav
97d8f66f2d
feat: replace Toaster with Flashbar
2023-01-19 00:32:37 +05:30
Akash Yadav
1682cbc599
fix(lsp/java): type params not included in generated constructor parameter types
2023-01-11 20:01:00 +05:30