{"id":20821901,"url":"https://github.com/flycheck/flycheck-ocaml","last_synced_at":"2025-12-11T20:38:38.735Z","repository":{"id":23809819,"uuid":"27186162","full_name":"flycheck/flycheck-ocaml","owner":"flycheck","description":"OCaml support for Flycheck using Merlin","archived":false,"fork":false,"pushed_at":"2024-01-06T17:41:25.000Z","size":92,"stargazers_count":22,"open_issues_count":4,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-18T16:49:27.509Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flycheck.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-11-26T16:42:08.000Z","updated_at":"2024-02-15T21:37:36.000Z","dependencies_parsed_at":"2025-01-18T16:45:51.014Z","dependency_job_id":"245268ed-2638-422d-a249-83b17f852ff3","html_url":"https://github.com/flycheck/flycheck-ocaml","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Fflycheck-ocaml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Fflycheck-ocaml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Fflycheck-ocaml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Fflycheck-ocaml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flycheck","download_url":"https://codeload.github.com/flycheck/flycheck-ocaml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243168344,"owners_count":20247318,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T22:13:22.529Z","updated_at":"2025-12-11T20:38:33.686Z","avatar_url":"https://github.com/flycheck.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"flycheck-ocaml — Flycheck for OCaml\n===================================\n\n[![License GPL 3][badge-license]][copying]\n[![MELPA][badge-melpa]](http://melpa.org/#/flycheck-ocaml)\n[![MELPA Stable][badge-melpa-stable]](http://stable.melpa.org/#/flycheck-ocaml)\n[![Build Status](https://github.com/flycheck/flycheck-ocaml/workflows/CI/badge.svg)](https://github.com/flycheck/flycheck-ocaml/actions/workflows/test.yml)\n\n\nAdd OCaml support to [Flycheck][]:\n\n- Add a `ocaml-merlin` syntax checker using [Merlin][]\n\nInstallation\n------------\n\nYou can install `flycheck-ocaml` from [MELPA][] or [MELPA Stable][]:\n\n\u003ckbd\u003eM-x package-install [RET] flycheck-ocaml [RET]\u003c/kbd\u003e\n\nFor OCaml (assuming you're using `tuareg-mode`), add this to your `init.el`:\n\n```elisp\n(with-eval-after-load 'merlin\n  ;; Disable Merlin's own error checking\n  (setq merlin-error-after-save nil)\n\n  ;; Enable Flycheck checker\n  (flycheck-ocaml-setup))\n\n(add-hook 'tuareg-mode-hook #'merlin-mode)\n\n;; or this if you're into use-package\n(use-package flycheck-ocaml\n  :ensure t\n  :config\n  (add-hook 'tuareg-mode-hook\n            (lambda ()\n              ;; disable Merlin's own error checking\n              (setq-local merlin-error-after-save nil)\n              ;; enable Flycheck checker\n              (flycheck-ocaml-setup))))\n```\n\nFor ReasonML, add this to your `init.el`:\n\n```elisp\n(use-package flycheck-ocaml\n  :ensure t\n  :config\n  (add-hook 'reason-mode-hook\n            (lambda ()\n              ;; disable Merlin's own error checking\n              (setq-local merlin-error-after-save nil)\n              ;; enable Flycheck checker\n              (flycheck-ocaml-setup))))\n```\n\nUsage\n-----\n\nJust use Flycheck as usual in Tuareg Mode buffers.  Flycheck will automatically\nuse the new `ocaml-merlin` syntax checker if Merlin Mode is enabled and Merlin's\nown error checking (`merlin-error-after-save`) is disabled.\n\nIf you enable Merlin's error checking with `M-x merlin-toggle-view-errors`\nFlycheck will not use the `ocaml-merlin` syntax checker anymore, to avoid\nduplicate and redundant error reporting.\n\n**Important:** You'll need to have a [Dune](https://dune.build) project\nfor `flycheck-ocaml` to work. Once you've setup a project just run `dune build`\nand you'll be all set. See [this article](https://tarides.com/blog/2021-01-26-recent-and-upcoming-changes-to-merlin) for more details.\n\nTroubleshooting\n---------------\n\nYou might need to restart manually the Merlin server after making changes to\nyour Dune project's configuration.\n\nLicense\n-------\n\nThis program is free software: you can redistribute it and/or modify it under\nthe terms of the GNU General Public License as published by the Free Software\nFoundation, either version 3 of the License, or (at your option) any later\nversion.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY\nWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE.  See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with\nthis program.  If not, see http://www.gnu.org/licenses/.\n\nSee [`COPYING`][copying] for details.\n\n[badge-license]: https://img.shields.io/badge/license-GPL_3-green.svg?dummy\n[COPYING]: https://github.com/flycheck/flycheck-ocaml/blob/master/COPYING\n[badge-melpa]: http://melpa.org/packages/flycheck-ocaml-badge.svg\n[badge-melpa-stable]: http://stable.melpa.org/packages/flycheck-ocaml-badge.svg\n[badge-travis]: https://travis-ci.org/flycheck/flycheck-ocaml.svg?branch=master\n[Flycheck]: http://www.flycheck.org\n[Merlin]: https://github.com/ocaml/merlin\n[MELPA]: http://melpa.org\n[MELPA Stable]: http://stable.melpa.org\n[cask]: http://cask.readthedocs.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflycheck%2Fflycheck-ocaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflycheck%2Fflycheck-ocaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflycheck%2Fflycheck-ocaml/lists"}