-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Add Dune (OCaml build system) #6814
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Marking as pending popularity as the two workspace files aren't sufficient yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Merged the three previously declared languages into one and rebased onto master. The split was left over from when I was trying to use ocamllabs/vscode-ocaml-platform (which has the split for different vocabulary), and I left it in by mistake when I switched to maelvls/vscode-dune due to errors when I tried the former. |
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
I've dropped the other three file names besides |
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: lisp
because 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.dev
then 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