jaredly / jaredly/reason-language-server

Syntax hightlight of keywords after `=`

Open
#157 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug syntax highlighting
Dominant language
OCaml
Stars
649
Forks
85
PR merge metrics
No merged PRs in 30d

Description

In this issue description actual issues are described *below* related screenshots.

![Object and struct](https://cdn.discordapp.com/attachments/235941706116235276/500325554566725642/unknown.png)

* `object` and `struct` should be like `class` or like `object`

There are also some minor things that look weird:
* Both `G`, `AstHelpers` and `Gmap` are modules but only first two are italic...

![image](https://user-images.githubusercontent.com/438226/46880217-b853b800-ce50-11e8-9989-005b996635f1.png)
* Why labelled arguments are not italic but function itself and unlabelled arguments are?

![image](https://user-images.githubusercontent.com/438226/46880461-5fd0ea80-ce51-11e8-8021-24ea57e98504.png)
* `module` keyword is not colored
* Color of modules (`PluginRes` and `Make`) are the same as constructor's (`Lident`) that could be misleading.
* `end` keyword may have the same issue that `object` and `struct` from the title of the issue. It seems that The Highlighter treat these keyword as syntactic garbage like parenthesis... Well, they are is some sense parenthesis ... but I'm not sure that it is a good idea.

![image](https://user-images.githubusercontent.com/438226/46880973-dc17fd80-ce52-11e8-9efb-1a879df15e5e.png)
* Some keywords have different colors. It seems that it is fine to have `open` and `inherit` of the same color because they do not defined new names... It may be a good idea to separate keywords that define different sorts of concepts but why the bottom let is blue (and not purple) then?

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

Review the screenshots and reported cases for `object`, `struct`, `module`, `end`, `let`, modules, constructors, and labelled arguments. The issue names no files or tests, so first locate the syntax-highlighting entry point for these Reason/OCaml constructs. Done means the affected keywords and identifiers use consistent, intentional colors and styles.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.