Add Dune (OCaml build system)#6814
Conversation
lildude
left a comment
There was a problem hiding this comment.
Marking as pending popularity as the two workspace files aren't sufficient yet.
lildude
left a comment
There was a problem hiding this comment.
Reviewing this with fresh eyes, I don't think it makes sense splitting this out into different languages. They all share the same grammar and are grouped together so it makes sense to put them all into a single Dune language definition.
I note you've manually set each entry in this PR with a different scopes, however the upstream grammar only has a single source.dune so your other scopes won't work. This also further confirms these are all the same language so don't need separate entries.
Please merge these languages into a single Dune language.
Changes applied. Pending popularity of everything but the dune-project file.
|
As an FYI, If you want, you can make this PR just for |
Since they all share the same grammar, they should just be considered as one language. The grammar used also only defines one source.dune scope.
- `dune` is only used by a bit over 100 repositories (5 pages), the 1.8k in the search results isn't what we're counting here - The two workspace files have even fewer uses

Description
Dune is a build system for OCaml, used in a large number of OCaml projects. This PR adds classification and syntax highlighting support for it.
I specified
ace_mode: lispbecause Dune is an Sexp-based language. I'm guessing that this is appropriate.Checklist:
extensionfilename of the new language is used in hundreds of repositories on GitHub.com.https://github.com/search?type=code&q=NOT+is%3Afork+path%3A%2F%5Edune%24%2Fhttps://github.com/search?type=code&q=NOT+is%3Afork+path%3A%2F%5Edune-file%24%2FThis one is probably justified as it's used by Dune itself, even if just once.https://github.com/search?type=code&q=NOT+is%3Afork+path%3A%2F%5Edune-workspace%24%2F"dune-workspace" is the name that has a special meaning in Dune, but it's more common to write it indune-workspace.devthen explicitly tell Dune to use that file.https://github.com/search?type=code&q=NOT+is%3Afork+path%3A%2F%5Edune-workspace%5C.dev%24%2F