package forester
A tool for tending mathematical forests
Install
dune-project
Dependency
Authors
Maintainers
Sources
5.0.tar.gz
md5=24f4aed96a8b8af33aba13fba66f1b37
sha512=d36b896aca11858bb4a00fc704c16cc27a1f197bdb3e479d6132fd70f70d67d7158096285cb0b6fb00db14417f0f822cc27fe65d82f0971e42378fd8271ce573
doc/src/forester.language_server/Did_change.ml.html
Source file Did_change.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
(* * SPDX-FileCopyrightText: 2024 The Forester Project Contributors AND The RedPRL Development Team * * SPDX-License-Identifier: GPL-3.0-or-later OR Apache-2.0 WITH LLVM-exception * *) open Forester_prelude open Forester_core open Forester_compiler open struct module L = Lsp.Types end open State.Syntax let compute (params : L.DidChangeTextDocumentParams.t) = let Lsp_state.{forest; _} = Lsp_state.get () in let lsp_uri = params.textDocument.uri in let uri = URI_scheme.lsp_uri_to_uri ~base: forest.config.url lsp_uri in let@ tree = Option.iter @~ forest.={uri} in match Tree.to_doc tree with | None -> assert false | Some doc -> let new_doc = Lsp.Text_document.apply_content_changes doc params.contentChanges in forest.={uri} <- Document new_doc; Lsp_state.modify (fun ({forest; _} as lsp_state) -> let new_forest = Driver.run_until_done (Action.Parse lsp_uri) forest in {lsp_state with forest = new_forest} ); Diagnostics.compute new_doc
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>