reasonml / reasonml/reason

A single comment at the end of a block that has a single item prints strangely.

Open
#1,781 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

KIND: FEATURE REQUEST Printer
Dominant language
OCaml
Stars
10.3k
Forks
438
PR merge metrics
No merged PRs in 30d

Description

This is a very specific case that our printer doesn't handle well right now.

for (i in 0 to 1) {
  print_newline();
  /* comment */
}

It prints to something like:

for (i in 0 to 1) {
  print_newline();
            /* comment */
}

The reason is that there isn't enough location information retained.
This seems like a small fix, but it's a little more involved than you'd expect. Probably best to tackle this one after swapping out the formatting library.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files or tests, but identifies the formatter/printer and a planned formatting-library replacement. Start by locating the printer and reproducing the single-item block example, then inspect how location information is retained. Done means the trailing comment no longer receives excessive indentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.