A fork of mtelver's day10 project
at main2 44 lines 1.2 kB view raw
1open Code_mirror 2 3module Merlin = 4 Merlin_codemirror.Make (struct 5 let worker_url = "merlin_worker.bc.js" 6 let cmis = 7 let dcs_toplevel_modules = [ 8 "CamlinternalAtomic"; 9 "CamlinternalFormat"; 10 "CamlinternalFormatBasics"; 11 "CamlinternalLazy"; 12 "CamlinternalMod"; 13 "CamlinternalOO"; 14 "Std_exit"; 15 "Stdlib"; 16 "Unix"; 17 "UnixLabels"; 18 ] in 19 let dcs_url = "stdlib/" in 20 let dcs_file_prefixes = ["stdlib__"] in 21 { Protocol.static_cmis = []; 22 dynamic_cmis = Some { 23 dcs_url; dcs_toplevel_modules; dcs_file_prefixes } } 24 end) 25 26let basic_setup = Jv.get Jv.global "__CM__basic_setup" |> Extension.of_jv 27 28let init ?doc ?(exts = [||]) () = 29 let open Editor in 30 let extensions = 31 Array.append [| basic_setup; Merlin_codemirror.ocaml |] exts 32 in 33 let config = 34 State.Config.create ?doc ~extensions () 35 in 36 let state = State.create ~config () in 37 let opts = View.opts 38 ~state 39 ~parent:(Merlin_codemirror.Utils.get_el_by_id "editor") () 40 in 41 let view : View.t = View.create ~opts () in 42 (state, view) 43 44let _editor = init ~exts:Merlin.all_extensions ()