package coq-lsp
Language Server Protocol native server for Coq
Install
Dune Dependency
Authors
Maintainers
Sources
coq-lsp-0.2.0.8.18.tbz
sha256=ba40f92f4c751793265d20f1c217638146e4714e0196a0d2b00c9ed58774abf6
sha512=0b7c1d98e22017e44d90461ee61081043401387251488ee7113668d24f6a463dca4ce690e30355248a949817c6b8f8a0944489c4d9b66bd239d903a089a1f11f
doc/src/coq-lsp.lsp/core.ml.html
Source file core.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 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
(************************************************************************) (* Coq Language Server Protocol *) (* Copyright 2019 MINES ParisTech -- LGPL 2.1+ *) (* Copyright 2019-2023 Inria -- LGPL 2.1+ *) (* Written by: Emilio J. Gallego Arias *) (************************************************************************) module Lang = JLang (** {1 document/definition} *) module LocationLink = struct type t = { originSelectionRange : Lang.Range.t option [@default None] ; targetUri : Lang.LUri.File.t ; targetRange : Lang.Range.t ; targetSelectionRange : Lang.Range.t } [@@deriving yojson] end (** {1 DocumentSymbols} *) module DocumentSymbol = struct type t = { name : string ; detail : string option [@default None] ; kind : int ; tags : int list option [@default None] ; deprecated : bool option [@default None] ; range : Lang.Range.t ; selectionRange : Lang.Range.t ; children : t list option [@default None] } [@@deriving yojson] end (** Not used as of today, superseded by DocumentSymbol *) module Location = struct type t = { uri : Lang.LUri.File.t ; range : Lang.Range.t } [@@deriving yojson] end (** Not used as of today, superseded by DocumentSymbol *) module SymInfo = struct type t = { name : string ; kind : int ; location : Location.t } [@@deriving yojson] end (** {1 Hover} *) module HoverContents = struct type t = { kind : string ; value : string } [@@deriving yojson] end module HoverInfo = struct type t = { contents : HoverContents.t ; range : Lang.Range.t option [@default None] } [@@deriving yojson] end (** {1 Completion} *) module LabelDetails = struct type t = { detail : string } [@@deriving yojson] end module TextEditReplace = struct type t = { insert : Lang.Range.t ; replace : Lang.Range.t ; newText : string } [@@deriving yojson] end module CompletionData = struct type t = { label : string ; insertText : string option [@default None] ; labelDetails : LabelDetails.t option [@default None] ; textEdit : TextEditReplace.t option [@default None] ; commitCharacters : string list option [@default None] } [@@deriving yojson] end (** Code Lenses *) module Command = struct type t = { title : string ; command : string ; arguments : Yojson.Safe.t list option [@default None] } [@@deriving yojson] end module CodeLens = struct type t = { range : Lang.Range.t ; command : Command.t option [@default None] ; data : Yojson.Safe.t option [@default None] } [@@deriving yojson] end (** SelectionRange *) module SelectionRange = struct type t = { range : Lang.Range.t ; parent : t option [@default None] } [@@deriving yojson] end (** Publish Diagnostics params *) module PublishDiagnosticsParams = struct type t = { uri : JLang.LUri.File.t ; version : int ; diagnostics : JLang.Diagnostic.t list } [@@deriving to_yojson] end let mk_diagnostics ~uri ~version diagnostics : Base.Notification.t = let params = PublishDiagnosticsParams.( { uri; version; diagnostics } |> to_yojson |> Yojson.Safe.Util.to_assoc) in Base.Notification.make ~method_:"textDocument/publishDiagnostics" ~params () (** Pull Diagnostics *) module DocumentDiagnosticParams = struct type t = { textDocument : string ; indentifier : string option [@default None] ; previousResultId : string option [@default None] ; workDoneToken : Base.ProgressToken.t option [@default None] ; partialResultToken : Base.ProgressToken.t option [@default None] } [@@deriving of_yojson] end module FullDocumentDiagnosticReport = struct type t = { kind : string ; resultId : string option [@default None] ; items : JLang.Diagnostic.t list } [@@deriving to_yojson] end module UnchangedDocumentDiagnosticReport = struct type t = { kind : string ; resultId : string option [@default None] } [@@deriving to_yojson] end module DocumentDiagnosticReportPartialResult = struct type t = { relatedDocuments : (JLang.LUri.File.t * FullDocumentDiagnosticReport.t) list } [@@deriving to_yojson] end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>