Commit Graph

51 Commits

Author SHA1 Message Date
Akash Yadav 5d1faba441 fix: replace 'ProcessCancelledException' with 'CancellationException' 2023-12-14 19:14:49 +05:30
Akash Yadav a0cb71b713 fix(lsp/java): on-demand imports cause definition and reference providers to fail (fixes #1449, #1211) 2023-11-13 19:48:08 +05:30
Akash Yadav d4626b2a71 fix(lsp): provide cancel checker with params 2023-11-11 00:47:38 +05:30
Akash Yadav d0b1689cdd tests(tooling-api): fix latest tested AGP version test 2023-11-09 11:34:35 +05:30
Akash Yadav 7c04f045c9 fix(shared-utils): use ConcurrentHashMap for ClassTrie.Node's child nodes (fixes #1431) 2023-11-09 01:53:52 +05:30
Akash Yadav efaeb0435e refactor(logger): rename ILogger.Priority to ILogger.Level 2023-11-07 19:01:45 +05:30
Akash Yadav 4ce94d80d1 refactor(shared-utils): use PathsKt in DocumentUtils 2023-11-04 18:37:41 +05:30
Akash Yadav fcefb1334f refactor(logger): store priority char in ILogger.Priority enum 2023-11-04 13:39:25 +05:30
Smooth E fba140e853 refactor(shared/utils): rename recyclableObjectPool.kt to recyclableObjectPoolExtensions.kt to allow building the project on Windows (#1405) 2023-10-26 18:27:48 +05:30
Akash Yadav 0a5a5400a5 fix: occasional crash in TsLooperThread when text is edited too frequently 2023-10-16 22:15:47 +05:30
Akash Yadav d5910c6fc0 fix(editor): various improvements related to tree sitter code analysis
- Integrate the 'language-treesitter' module from sora-editor into the IDE itself for better control and customization of the tree sitter analysis.

- Invalidate line span generator when tree is edited - This is required because TSTree instances are not thread-safe and the spans generator tries to query the tree after it is edited.
 This results in SEGV_MAPERR errors in native code because the TSNodes are invalidatd after TSTree.edit() calls and the cursor tries to query those invalidated nodes.

- Recycle and reuse TS* instances - When analyzing the source code using Tree Sitter, a huge number of objects are created and deleted. This results in an increased of times the garbage
 collector is invoked.
2023-10-15 17:55:11 +05:30
Akash Yadav b2447c28ff fix: log warning if cache-hit rate is below specified threshold 2023-10-09 19:50:05 +05:30
Akash Yadav 1e0dc747e0 fix: make LogLine recyclable 2023-10-09 18:24:00 +05:30
Akash Yadav 5d03ac85b0 feat: add RecyclableObjectPool to recycle frequently used objects 2023-10-09 18:17:56 +05:30
Akash Yadav 52844b201e fix: migrate Actions API to Kotlin Coroutines 2023-10-09 00:25:57 +05:30
Akash Yadav cc0a6391f6 fix: add tests for MainFragment and refactor testing modules 2023-10-07 23:37:34 +05:30
Akash Yadav 66aa9099b4 fix(projects): parallelize project indexing with coroutines 2023-10-02 15:05:21 +05:30
Akash Yadav d3aebc36bd fix(tooling-api): warn user if the AGP version is greater than tested version 2023-09-05 17:36:47 +05:30
Akash Yadav 72b383971d fix(gradle-plugin): use AGP APIs to configure logsender on debuggable variants 2023-09-05 17:36:44 +05:30
Akash Yadav 79958f9d9f fix: parse OpenedFilesCache manually to avoid ClassCastException in release builds (fixes #1102) 2023-07-14 17:37:33 +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 f87748740b feat(shared): add custom ServiceLoader implementation 2023-04-30 23:26:08 +05:30
Akash Yadav 7ddd2f5a82 tests: use FileProvider API to access file paths 2023-04-09 23:22:24 +05:30
Akash Yadav 31957186d2 feat(lsp/xml): automatically close tags when '/' is typed 2023-03-31 01:18:46 +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 2157de212c feat: use descritive and distinguishable names for file tabs 2023-03-13 19:24:17 +05:30
Akash Yadav 4149e3909e fix(projects): update entries from module source class indices on file events 2023-03-13 18:26:47 +05:30
Akash Yadav 674e367933 feat(projects): include reference to parent node in ClassTrie nodes 2023-03-13 16:12:58 +05:30
Akash Yadav 28bd0ffc9a feat(editor/schemes): add option to reload color schemes at runtime 2023-03-03 18:07:41 +05:30
Akash Yadav 886a0cacfa feat: ignore 'package-info' when indexing sources and libraries 2023-02-26 10:46:28 +05:30
Akash Yadav c52c36435f fix: ICancelChecker is removed even if the process isn't cancelled 2023-02-18 10:19:34 +05:30
Akash Yadav 0f6abf34cf refactor: rename package 'javax' to 'jdkx' 2023-02-11 21:12:55 +05:30
Akash Yadav f4b0a4fce4 fix: remove usage of partial reparser to reduce LSP errors 2023-01-08 12:33:45 +05:30
Akash Yadav 42a3e71114 chore: migrate to Kotlin DSL and Version Catalog 2022-12-30 23:24:38 +05:30
Akash Yadav c7791b2506 fix: crash selecting empty line while opening recently opened files 2022-12-28 10:57:04 +05:30
Akash Yadav 1feb07a1ea chore: refactor 2022-11-16 18:53:49 +05:30
Akash Yadav 223e20ac8d Fixed lag when searching in tasks 2022-10-26 10:35:19 +05:30
Akash Yadav ba9c7c9cfb Replaced build actions menu with 'Run tasks' action 2022-10-25 21:52:34 +05:30
Akash Yadav 1048d888a7 Updated dependencies 2022-10-05 16:29:26 +05:30
Akash Yadav 3b95d68a41 Include LemMinX source 2022-09-25 15:29:15 +05:30
Akash Yadav a7d92b4b01 Updated dependency configurations 2022-09-25 14:46:24 +05:30
Akash Yadav 6d2dc7a059 Fixed: Release build issues 2022-09-25 13:00:27 +05:30
Akash Yadav 6ec5c6d3cf [Gradle] Format java source code 2022-08-14 08:48:34 +05:30
Akash Yadav d56c2f12c5 Migrated sora-editor to version 0.16.1 2022-08-11 13:12:24 +05:30
Akash Yadav bf4f313be8 Define namespaces in build.gradle instead of packages in AndroidManifest 2022-08-09 09:22:09 +05:30
Akash Yadav 7c5ef5b9b1 Avoid recreating ZipFileSystem instances for faster code completion 2022-08-08 19:27:02 +05:30
Akash Yadav e5f0dd1d9c Moved 'logger' modules from 'build-tools' module to root project 2022-07-23 09:08:24 +05:30
Akash Yadav f2f5be0495 Fixed: NPE when namespace is used instead of defining package name in AndroidManifest
A few more optimizations
2022-07-15 22:25:07 +05:30
Akash Yadav fa20670925 Removed auto generated tests 2022-07-14 22:11:15 +05:30
Akash Yadav 09844dce4f Listen for lifecycle events in CodeEditorView 2022-07-14 18:24:42 +05:30