package forester
A tool for tending mathematical forests
Install
Dune Dependency
Authors
Maintainers
Sources
5.0.tar.gz
md5=24f4aed96a8b8af33aba13fba66f1b37
sha512=d36b896aca11858bb4a00fc704c16cc27a1f197bdb3e479d6132fd70f70d67d7158096285cb0b6fb00db14417f0f822cc27fe65d82f0971e42378fd8271ce573
doc/src/forester.compiler/Parse.ml.html
Source file Parse.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
(* * SPDX-FileCopyrightText: 2024 The Forester Project Contributors * * SPDX-License-Identifier: GPL-3.0-or-later *) open Forester_prelude open Forester_core include Forester_parser.Parse let parse_channel filename ch = let lexbuf = Lexing.from_channel ch in if filename = "" then assert false; lexbuf.lex_curr_p <- {lexbuf.lex_curr_p with pos_fname = filename}; parse lexbuf let parse_document ~(config : Config.t) doc = let uri = Lsp.Text_document.documentUri doc in let path = Lsp.Uri.to_path uri in let text = Lsp.Text_document.text doc in let lexbuf = Lexing.from_string text in lexbuf.lex_curr_p <- {lexbuf.lex_curr_p with pos_fname = path}; parse lexbuf |> Result.map (fun nodes -> Tree.{ nodes; origin = Physical doc; identity = URI (URI_scheme.path_to_uri ~base: config.url path); timestamp = Some (Unix.time ()); } ) let parse_file filename = let@ () = Reporter.tracef "when parsing file `%s`" filename in let ch = open_in filename in Fun.protect ~finally: (fun _ -> close_in ch) @@ fun _ -> parse_channel filename ch
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>