-
❏ fix TODOs in lexer and parser grammars
-
❏ highlight Pkldoc
-
✓ navigate to modules with
module:
uris (search on project class path) -
✓ navigate to modules with
http(s):
uris -
✓ complete module uris
-
✓ complete keywords (context-sensitive)
-
✓ complete methods and properties
-
✓ documentation support (e.g., quick documentation popup)
-
✓ collapse module doc comment by default (often very large)
-
✓ go to class/symbol
-
❏ evaluate Pkl module via run configuration
-
❏ implement PSI stubs and stub indexing, improve Go To Class/Symbol
-
additional highlighting/checking via annotator, e.g.:
-
❏ highlight annotations
-
❏ check multi-line string invariants (leading/trailing newline, valid indentation)
-
✓ check validity of modifiers, flag duplicate modifiers
-
-
navigate to/complete elements in
-
✓ lexical scope
-
✓ pkl.base
-
✓ take pkl.base module from IntelliJ module class path
-
-
✓ imported modules (take stdlib modules from the same places as pkl.base)
-
✓ amended/extended module (may not have
module.
qualifier when referenced from root scope)
-
-
implement any other feature listed in the custom language support guide
-
✓ rename refactoring
-
Install {uri-jdk}[JDK 11]
-
Install {uri-intellij}[IntelliJ IDEA]
-
Install Grammar-Kit plugin
-
To import the project into IntelliJ, go to File→Open and select the project’s root directory. If the project is opened but not imported, look for a popup in the lower right corner and click its "Import Gradle Project" link.
-
./gradlew build
performs a full build.
./gradlew runIde
starts a fresh IDE with the plugin installed.
Before a release, run Code→Inspect Code→Whole Project (at least) for pkl-hub project and check the results.
The release CI build publishes the plugin zip and the updatePlugins.xml
.
The plugin update site is automatically updated.
-
Start dev instance
-
Make a code change
-
Run
./gw prepareSandbox
-
Plugin reloads automatically
built with Grammar-Kit.