Skip to content

Support Markdown Documentation Comments (JEP 467, JDK 23) #1193

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
odenix opened this issue Nov 20, 2024 · 2 comments
Open

Support Markdown Documentation Comments (JEP 467, JDK 23) #1193

odenix opened this issue Nov 20, 2024 · 2 comments

Comments

@odenix
Copy link

odenix commented Nov 20, 2024

Consider the following code:

import java.nio.ByteBuffer;

interface BufferAllocator {
  /// Returns a lease for a [ByteBuffer] with at least the specified [capacity][ByteBuffer#capacity].
  LeasedByteBuffer getByteBuffer(long minCapacity);
}

Formatting the above code causes the following issues:

  1. The doc comment is split into two lines, but the second line starts with // instead of ///.
  2. The import statement is removed, breaking the links.

Disabling Javadoc formatting doesn't prevent either issue.
The only workaround I could find was to disable google-java-format.

Tested with JDK 23 and google-java-format 1.24.0.

@dweiss
Copy link
Contributor

dweiss commented Mar 26, 2025

So we would like to move this forward somehow, since Apache Lucene (main branch) is on Java 23 already and will go to Java 24 as soon as it's released, probably.

An ideal way forward would be to format markdown nicely... but maybe a baby step of not touching any comment lines starting with /// would also do the job? I did a hacky experiment here -

master...dweiss:google-java-format:preserve-markdown-like-lines

And it works like a charm, at least for me. I think in reality a line comment starting with a '/' is going to be a rare occurrence so the impact surface seems to be low... but I'm not the one to judge. Let me know if you'd like me to develop this further into a PR (so that the tests pass).

@dweiss
Copy link
Contributor

dweiss commented Mar 27, 2025

I filed a PR here, all tests pass. #1231
I realize this isn't ideal, perhaps, but does the job. Let me know what you think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants