package camelot

  1. Overview
  2. Docs
An OCaml Linter / Style Checker

Install

Dune Dependency

Authors

Maintainers

Sources

0.5.tar.gz
md5=38e26695c9fc3b1f7050730b5a110e17
sha512=461588a92f0d68aa0a16b66184013016bf6ca87820312d1fae20922099ebef934aa5327789caccf73cd13eeb8fe70428b263c9aca3c432da48e5b835831d6b32

Description

Published: 21 May 2020

README

Camelot

An OCaml Linter / Style Checker for the OCaml compiler version 4.09.0. Make sure you have ocaml version 4.09.0, otherwise the parsetree will be different

Acknowledgements

This project wouldn't have been possible without the following three repos:

sml-style-check from the folks at CMU: for guiding the design of the linter, as well as basically contributing the structure of our project (especially the extendable checker modules :) ),

hlint for a good reference on building a linter,

and ppx_tools/rewriter, for giving us useful starter code and being the building block on which camelot started.

Dependencies

  • dune (v 2.4.0) - dune will manage installing the appropriate dependencies for you I believe

  • ocaml-base-compiler >= v4.09.0

  • compiler-libs.common

  • fswatch (for Build + Watch)

  • ANSITerminal

Note:

This project is dependent on compiler-libs, an inherently unstable library that changes between OCaml installations.

Build and run instructions

Build: dune build bin/camelot.exe

Build + Watch: dune build bin/camelot.exe -w

Run 'tests': dune exec -- bin/camelot.exe <camelot args here>

Camelot flags

-d <lintdir> : Specify the directory in which to lint

-show <ta | student | gradescope> : Specify the reporting type - does a student see this output or a ta? If this argument is malformed or not present, the reporting type defaults to student

-f <filename> : Lints the given file

Dependencies (3)

  1. ANSITerminal >= "0.8"
  2. ocaml >= "4.09.0" & < "4.13"
  3. dune >= "2.5"

Dev Dependencies

None

Used by

None

Conflicts

None