Akash Yadav
3c1a4ebedc
fix: remove usage of deprecated 'newInstance' method in TS Languages
2023-09-18 19:41:59 +05:30
Akash Yadav
d66e3b384c
fix(projects): remove IProjectManager.app
2023-09-05 17:36:49 +05:30
Akash Yadav
f5143625ef
refactor: migrate ProjectManager to interface based API
2023-09-05 17:36:39 +05:30
Akash Yadav
e725d1cacf
feat(projects): implement project deserialization and transformation (2/2)
2023-09-05 17:36:30 +05:30
Akash Yadav
eb9ee61118
fix(lsp/java): 'Organize imports' resets the editor's text, clearing the undo/redo history ( closes #1210 )
2023-08-24 12:51:29 +05:30
Akash Yadav
6cdb6bd374
fix(lsp/java): add null checks before performing code actions ( closes #1156 )
2023-08-01 10:01:12 +05:30
Akash Yadav
1e07da7a98
fix(javac): add Java compiler flag to override -XDkeepComments flag
...
When the 'keepComments' flag is set, the compiler uses JavadocTokenizer for tokenizing the source code. While creating the LineMap instance, the JavadocTokenizer sets the 'expandTabs' flag to true which expands '\t' characters to spaces. This is needed while generating HTML pages for the Javadoc. However, if the tabs are expanded to spaces, then getPosition(...) and getColumnNumber(...) methods in the LineMap class return indices which cannot be directly used to insert text in the source code. This results in StringIndexOutOfBoundsException when trying to insert text in the editor (#1127 , and probably #916 as well).
This commit adds the 'keepCommentsOverride' option to the compiler which is used by NBParserFactory to override the 'keepComments' flag. The CompileBatch class sets this option to 'ignore' which ignores the 'keepComments' flag so that JavadocTokenizer is not used for tokenization.
2023-07-21 18:46:44 +05:30
Akash Yadav
52d401d992
refactor(lsp/java): format OverrideSuperclassMethods action class
2023-07-21 16:01:08 +05:30
Akash Yadav
601722dba7
fix(tests/lsp/java): fix compilation error
2023-07-09 16:49:45 +05:30
Akash Yadav
764a6fa8c2
fix(lsp): progress dialog for 'find references' action is shown indefinitely
...
This happens because the 'ReferenceProvider' in the Java LSP tries to start another compilation process while working with the current compilation task.
This results in a deadlock where the current task waits for the new compilation request to return and the new compilation request waits for the current task to finish. This commit fixes this issue.
Apart from fixing this issue, this commit also makes the 'Go to definition' and 'Find references' actions cancelable. Also, it eliminates the usage of the deprecated 'ProgressDialog' class for these two actions.
2023-07-09 12:56:28 +05:30
Akash Yadav
001dee0525
fix(lsp/java): add null checks for usage of FindHelper.findMethod(..)
2023-06-24 23:54:31 +05:30
Akash Yadav
bffb2cbea5
fix(lsp/java): add null check for method in 'AddException' rewrite ( #1050 )
2023-06-24 23:54:31 +05:30
Akash Yadav
d31f57b07c
fix(deps): migrate to android-tree-sitter v3.0.0
2023-06-11 00:20:02 +05:30
Akash Yadav
b950c34fb0
refactor(lookup): use ServiceLoader to load DefaultLookup
2023-04-30 23:26:09 +05:30
Akash Yadav
fa8680e873
refactor: replace hardcoded package names in build scripts with BuildConfig property
2023-04-13 22:56:17 +05:30
Akash Yadav
23c30eeaeb
fix(lsp/java): empty imports allows classes from same package to be imported with completion items
2023-04-09 19:22:58 +05:30
Akash Yadav
f150f4f9ab
feat(lsp/java): add top-level snippets
2023-04-04 22:07:41 +05:30
Akash Yadav
0ea7b40fc0
feat(lsp/java): add snippets for creating comments
2023-04-04 21:18:45 +05:30
Akash Yadav
04ffc747a7
fix(lsp/java): update snippet for Java constructor
2023-04-02 11:52:51 +05:30
Akash Yadav
2c130116b5
fix(lsp/java): remove params from method snippets
2023-04-01 18:40:37 +05:30
Akash Yadav
402c3f6db6
tests(fix): FileManager does not receive events
2023-04-01 00:13:21 +05:30
Akash Yadav
a89e25680b
tests: fix build issues
2023-03-31 23:34:33 +05:30
Akash Yadav
f0ac4e8409
refactor(lsp/java): remove unnecessary methods for snippet completion
2023-03-31 22:49:59 +05:30
Akash Yadav
4728bf7d0b
feat(lsp/java): add more snippets
2023-03-31 22:41:11 +05:30
Akash Yadav
b8b17c2c39
feat: read snippets from JSON files stored in assets
2023-03-31 22:17:37 +05:30
Akash Yadav
fd4ce13724
fix(lsp/java): invalid indentation in snippets
2023-03-31 18:22:57 +05:30
Akash Yadav
80f74d0d27
fix(lsp/java): remove 'label' from JavaSnippet
2023-03-31 17:52:04 +05:30
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