package coq-lsp
Language Server Protocol native server for Coq
Install
Dune Dependency
Authors
Maintainers
Sources
coq-lsp-0.2.3.9.0.tbz
sha256=8776582dddfe768623870cf540ff6ba1e96a44a36e85db18ab93d238d640f92a
sha512=2837889bf99bfe715bd0e752782211a76a14aac71ed37a4fb784f4f0abe338352c9c6d8caa37daf79c036997add1cb306c523f793625b38709f3b5e245380223
doc/src/coq-lsp.lsp/jCoq.ml.html
Source file jCoq.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
module Loc = Serlib.Ser_loc module Names = Serlib.Ser_names module Evar = Serlib.Ser_evar module Evar_kinds = Serlib.Ser_evar_kinds let rec pp_opt d = let open Pp in let rec flatten_glue l = match l with | [] -> [] | Ppcmd_glue g :: l -> flatten_glue (List.map repr g @ flatten_glue l) | Ppcmd_string s1 :: Ppcmd_string s2 :: l -> flatten_glue (Ppcmd_string (s1 ^ s2) :: flatten_glue l) | x :: l -> x :: flatten_glue l in unrepr (match repr d with | Ppcmd_glue [] -> Ppcmd_empty | Ppcmd_glue [ x ] -> repr (pp_opt x) | Ppcmd_glue l -> Ppcmd_glue List.(map pp_opt (map unrepr (flatten_glue (map repr l)))) | Ppcmd_box (bt, d) -> Ppcmd_box (bt, pp_opt d) | Ppcmd_tag (t, d) -> Ppcmd_tag (t, pp_opt d) | d -> d) module Pp = struct include Serlib.Ser_pp let str = Pp.str let string_of_ppcmds = Pp.string_of_ppcmds let to_string = Pp.string_of_ppcmds let to_yojson x = to_yojson (pp_opt x) end module Goals = struct module Reified_goal = struct type 'a hyp = [%import: 'a Coq.Goals.Reified_goal.hyp] [@@deriving yojson] type info = [%import: Coq.Goals.Reified_goal.info] [@@deriving yojson] type 'a t = [%import: 'a Coq.Goals.Reified_goal.t] [@@deriving yojson] end module Goals_ = struct type ('a, 'pp) t = { goals : 'a list ; stack : ('a list * 'a list) list ; bullet : 'pp option ; shelf : 'a list ; given_up : 'a list } [@@deriving yojson] let to_ { Coq.Goals.goals; stack; bullet; shelf; given_up } = { goals; stack; bullet; shelf; given_up } let of_ { goals; stack; bullet; shelf; given_up } = { Coq.Goals.goals; stack; bullet; shelf; given_up } end type ('a, 'pp) t = ('a, 'pp) Coq.Goals.t let to_yojson f pp g = Goals_.to_ g |> Goals_.to_yojson f pp let of_yojson f pp j = let open Ppx_deriving_yojson_runtime in Goals_.of_yojson f pp j >|= Goals_.of_ type 'pp reified_pp = ('pp Reified_goal.t, 'pp) t [@@deriving yojson] end module Ast = struct type t = Coq.Ast.t (* XXX: Better catch the exception below, but this requires a new SerAPI release *) let () = Serlib.Serlib_base.exn_on_opaque := false let to_yojson x = Serlib.Ser_vernacexpr.vernac_control_to_yojson (Coq.Ast.to_coq x) let of_yojson x = Serlib.Ser_vernacexpr.vernac_control_of_yojson x |> Result.map Coq.Ast.of_coq end module Declare = struct module OblState = struct module View = struct module Obl = struct type t = [%import: Declare.OblState.View.Obl.t] [@@deriving to_yojson] end type t = [%import: Declare.OblState.View.t] [@@deriving to_yojson] end end end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>