package crs
A tool for managing code review comments embedded in source code
Install
Dune Dependency
Authors
Maintainers
Sources
crs-0.0.20250705.tbz
sha256=e9f9f5ec5aea9658ed640aaa06f887985bb6870adcf7555ebf6d48bb741e4793
sha512=901ac1caae6c4103a320b4a3a177ca3aa0583ad533c54e7740aba6652ccdbd6311d07ab4b73e3ba750beed24f85479b5e1b0e94504ecfd0c59bd49cdabebc369
doc/src/crs.crs-cli/review_mode.ml.html
Source file review_mode.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
(********************************************************************************) (* crs - A tool for managing code review comments embedded in source code *) (* Copyright (C) 2024-2025 Mathieu Barbin <mathieu.barbin@gmail.com> *) (* *) (* This file is part of crs. *) (* *) (* crs is free software; you can redistribute it and/or modify it under the *) (* terms of the GNU Lesser General Public License as published by the Free *) (* Software Foundation either version 3 of the License, or any later version, *) (* with the LGPL-3.0 Linking Exception. *) (* *) (* crs is distributed in the hope that it will be useful, but WITHOUT ANY *) (* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *) (* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License and *) (* the file `NOTICE.md` at the root of this repository for more details. *) (* *) (* You should have received a copy of the GNU Lesser General Public License *) (* and the LGPL-3.0 Linking Exception along with this library. If not, see *) (* <http://www.gnu.org/licenses/> and <https://spdx.org>, respectively. *) (********************************************************************************) module T = struct [@@@coverage off] type t = | Pull_request of { : Vcs.User_handle.t } | Commit [@@deriving equal, sexp_of] end include T module Name = struct type t = | Pull_request | Commit [@@deriving enumerate] let to_string = function | Pull_request -> "pull-request" | Commit -> "commit" ;; end let arg = let open Command.Std in let = "pull-request-author" in let review_mode_switch = "review-mode" in let+ name = Arg.named_with_default [ review_mode_switch ] (Param.enumerated ~docv:"MODE" (module Name)) ~default:Commit ~doc: "Specifies the review context in which this command is executed. Use \ $(b,pull-request) when running in the context of a pull request (requires \ $(b,--pull-request-author)). Use $(b,commit) when running in the context of a \ direct commit or push to a branch (default). This setting affects how CRs are \ assigned and annotated." and+ = Arg.named_opt [ pull_request_author_switch ] (Param.validated_string ~docv:"AUTHOR" (module Vcs.User_handle)) ~doc: (Printf.sprintf "When $(b,--%s) is a pull-request this argument must be supplied to set the \ PR author." review_mode_switch) in (* Both errors are covered but disabled due to an issue with bisect_ppx out edge creating false negative. *) match name with | Commit -> let () = if Option.is_some pull_request_author then Err.raise ~exit_code:Err.Exit_code.cli_error Pp.O. [ Pp.text "Argument " ++ Pp_tty.kwd (module String) ("--" ^ pull_request_author_switch) ++ Pp.text " should not be set when review mode is " ++ Pp_tty.kwd (module String) "commit" ++ Pp.text "." ] [@coverage off] in Commit | Pull_request -> let = match pull_request_author with | Some -> author | None -> Err.raise ~exit_code:Err.Exit_code.cli_error Pp.O. [ Pp.text "Argument " ++ Pp_tty.kwd (module String) ("--" ^ pull_request_author_switch) ++ Pp.text " should be set when review mode is " ++ Pp_tty.kwd (module String) "pull-request" ++ Pp.text "." ] [@coverage off] in Pull_request { author } ;;
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>