package coq-lsp
Language Server Protocol native server for Coq
Install
Dune Dependency
Authors
Maintainers
Sources
coq-lsp-0.2.0.8.17.tbz
sha256=36340f464107ac60bb4033fad249984690cdcce3a6bef4ca439ffb2a4458dbf9
sha512=4866f4c2f0acda0c114e27b32cd60fa054333e1c7249227b8c3b23a316d7f306676203bd317f135a40368a292b7b49b76f0bdacff21d7e9bfb5a422d1c8d6ad8
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)"
>