jakt-intellij-plugin

所属分类:嵌入式/单片机/硬件编程
开发工具:kotlin
文件大小:238KB
下载次数:0
上传日期:2023-04-21 14:15:33
上 传 者sh-1993
说明:  Jakt编程语言的IntelliJ插件
(IntelliJ plugin for the Jakt programming language)

文件列表:
.run (0, 2023-01-18)
.run\Run IDE for UI Tests.run.xml (1020, 2023-01-18)
.run\Run Plugin Tests.run.xml (1118, 2023-01-18)
LICENSE (1108, 2023-01-18)
build.gradle.kts (3964, 2023-01-18)
gradle.properties (466, 2023-01-18)
gradle (0, 2023-01-18)
gradle\wrapper (0, 2023-01-18)
gradle\wrapper\gradle-wrapper.jar (59821, 2023-01-18)
gradle\wrapper\gradle-wrapper.properties (200, 2023-01-18)
gradlew (8070, 2023-01-18)
gradlew.bat (2674, 2023-01-18)
settings.gradle.kts (192, 2023-01-18)
src (0, 2023-01-18)
src\main (0, 2023-01-18)
src\main\kotlin (0, 2023-01-18)
src\main\kotlin\org (0, 2023-01-18)
src\main\kotlin\org\serenityos (0, 2023-01-18)
src\main\kotlin\org\serenityos\jakt (0, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktBraceMatcher.kt (1117, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktCommenter.kt (362, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktDeclarationRangeHandler.kt (1900, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktFile.kt (2036, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktFindUsagesProvider.kt (3308, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktLanguage.kt (238, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktMoveElementLeftRightHandler.kt (2079, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktNamesValidator.kt (1718, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktQuoteHandler.kt (850, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktRefactoringSupportProvider.kt (420, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktTemplateContextType.kt (1033, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\JaktTypeDeclarationProvider.kt (1164, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\annotations (0, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\annotations\BasicAnnotator.kt (8394, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\annotations\JaktAnnotationHolder.kt (1142, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\annotations\JaktAnnotator.kt (1401, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\annotations\JaktExternalAnnotator.kt (2873, 2023-01-18)
src\main\kotlin\org\serenityos\jakt\annotations\StringAnnotator.kt (3753, 2023-01-18)
... ...

# Jakt IntelliJ Plugin A fully-featured plugin for the [Jakt](https://github.com/SerenityOS/jakt) programming language. ## Features - Highlighting - Fully-configurable via a Color Scheme page - Material-like defaults for Darcula - Semantic-based. Examples: - Static method calls vs instance method calls - Mutable vs immutable local variables - Validation - Flexible BNF-based language description detects parsing errors early - Displays type-checking and advanced parsing errors from the Jakt compiler - Completions - Completes after plain identifiers, field access expressions, and namespace qualifiers - Intelligent completions (example: not suggesting static methods for a field access expression) -
Function template completion
- Completes prelude types/functions - Intentions - Basic intention support (currently only has one very simple intention) - Resolution - Two-way resolution (ref -> decl, decl -> all refs) - Sees through import statements - Complex resolution support. Example: - Function argument labels resolve to the respective parameter - Function parameters resolve to their usages in the function body (and _not_ the aforementioned argument labels) - Shorthand enum names in match cases and `is` expressions -
Type declaration from identifiers when ctrl-clicking
- Rename refactoring - Works for any identifier that supports resolution (declaration, local variable, imports, etc) - Run Configurations - Gutter icons for `main` function allow easily running scripts with custom arguments ## Contributing There is no special setup needed for the project; simply open it in IntelliJ, and run the `Test` task for tests, and the `Run IDE for UI Tests` to launch a clean version of IntelliJ with the plugin installed. The `buildPlugin` task will build the plugin to `build/libs`, which can be installed manually in the plugins tab in settings. ### TODO (in order of importance) - GitHub Actions: Automatically run tests for commits and PRs - Grammar - Improve parsing errors - Implement error recovery (currently highlighting breaks for invalid files) - Complex refactoring (move/delete) - Most of the features mentioned in the IntelliJ [Custom Language Support tutorial](https://plugins.jetbrains.com/docs/intellij/additional-minor-features.html)

近期下载者

相关文件


收藏者