- - Add a way to delete a contribution (with an "are you sure" dialog). Only delete it locally, don't touch the remotes or any pull request.
- - Add a checkbox in the pull request dialog (on by default) to check the build before creating the pull request. This is done by running `./gradlew check` in the annotater directory. This can take a minute or so to run, so a progress dialog is required. If the check fails, the user should be presented with a dialog containing the failure log, with options to cancel (default) or submit anyway.
- - If a pull request has already been created for a contribution, the "create pull request" button should be replaced with an "update pull request" button, which should only appear if there are modifications to be pushed (just as "create pull request" should).
- - When you open a pull request, why do you browse to it and then add a button to browse to it? I would just leave it at the button.
- - `AnnotaterJavadocCommentInspection.findMarkdownMigrationFixes` should instead use reflection to construct the fix. Put the reference to the constructor in `McdevReflection`.
- - The method names in `AnnotaterJavadocContributions`: `switchTo`, `checkUncommittedChanges`, and `switch` aren't clear enough, especially `checkUncommittedChanges` doesn't really describe that it does the switch afterwards.
- - The `DocumentationProvider` docs recommend migrating to `DocumentationTarget`. Evaluate whether we can do that for `AnnotaterJavadocDocumentationProvider`, and if we can, do it.
- - `AnnotaterJavadocEditing.edit` can be renamed to an overload of `open` (can therefore move the methods into a more logical order).
- - `AnnotaterJavadocEditing.openEditor` uses `ReadAction.compute`, which is deprecated.
- - Rename the icon to `tiny_potato`.
- - What is `AnnotaterJavadocInlayPassFactory.Pass.active` for? If it's a workaround for something, a comment would be nice.
- - Companion objects inside extension point impl classes sometimes generate an intellij warning. Where these appear, change them to named objects, as we do in the rest of the project.
- - Storing the inlay for `offset` in `AnnotaterJavadocInlayRenderer` looks like a bit of a hack. Is there precedent for this in IntelliJ's codebase? Why can't `initialOffset` always be used?
- - `AnnotaterJavadocInlayRenderer` attempts to get proper Javadoc highlighting colors with the token thing, and while it does properly turn the text green, it doesn't highlight other things, like turning the color of referenced parameters. Fix this if it's an easy fix, otherwise tell me how you would fix it and wait for my approval before fixing it.
- - `AnnotaterJavadocInlineEditor` uses `Alarm` which is obsolete. Follow the advice in the `Alarm` docs to replace it, if possible. If that's kinda complicated, then not saving until editing is finished is acceptable.
- - Since it now should be difficult to accidentally edit readonly sections, the `ReadonlyFragmentModificationHandler` can be removed.
- - The document modification guards should be not greedy at the end close to the edited javadoc, and greedy on the other end.
- - In `AnnotaterJavadocInlineEditor.dispose`, it disposes the inlay directly. Isn't the normal solution to this to register the inlay with `Disposer.register` instead?
- - Why does `AnnotaterJavadocInlineEditor.ProjectDisposable` exist, why not register the inline editor disposable directly with the project (which is itself disposable)?
- - In `AnnotaterJavadocRefresher`, use `BulkFileListenerBackgroundable` instead.
- - Why is `AnnotaterJavadocRendering.getJavadoc` in that class? I feel like that would fit better in another class.
- - Make it so `AnnotaterJavadocSourceCopy.createVirtualFile` uses the language level of the file it's copied from, or Java 23 (the version Markdown Javadocs were introduced), whichever is newer. Same in `AnnotaterJavadocVirtualFile`.
- - Why do we have both `AnnotaterJavadocSourceCopy.createVirtualFile` and `AnnotaterJavadocVirtualFile`?
- - Local classes should be possible to document. Members within local and anonymous classes should also be possible to document.
- - There's a lot of methods throughout this feature that are public but could be made private.
- - The `EnigmaFileWriter` `VisitOrder` doesn't match what is used by annotater. Also you should update `mapping-io` in mcdev to the latest version.
- - Fix the lint error on `EditAnnotaterJavadocIntention`.
- - Find a built-in or library equivalent to `AnnotaterConfig.validatePath`, rather than writing it yourself.