package merlin-lib
Merlin's libraries
Install
Dune Dependency
Authors
Maintainers
Sources
merlin-4.16-501.tbz
sha256=da5bf309b040645c292ae4572cc6a0a700dbd2bcfc996ac13c8e5c3836c21e26
sha512=99eba17b2bdec5411d239093f4e8e11ada79b2b84ae88074a1b46e47eb836bbf8cb7836c472c22e7f9e68cff1b9ea6d9b9989b70055c3277edb4cddc4a86460c
doc/merlin-lib.utils/Merlin_utils/Lib_config/System/index.html
Module Lib_config.System
Source
Merlin spawns child processes for preprocessors (pp and ppx), which can be customized via System
Source
val set_run_in_directory :
(prog:string ->
prog_is_quoted:bool ->
args:string list ->
cwd:string ->
?stdin:string ->
?stdout:string ->
?stderr:string ->
unit ->
[ `Finished of int | `Cancelled ]) ->
unit
set_run_in_directory
sets an implementation for spawning external programs. This is used by Merlin to spawn preprocessors and ppxes. For compatibility reasons, there are currently some limitations to how this should be implemented:
- Implementation should expect
prog
to be already quoted and contain arguments. This is due to how ppx configuration is passed to Merlin. In order to prepare a future transition to more sane argument passing, the implementation can look at theprog_is_quoted
argument to know if it is actually safe to quote the command normally (usingFilename.quote_command
for example).
prog
might contain shell expansions, command substitutions etc. It should therefore be ran under a shell for maximum compatibility. However this should never happen when the configuration is generated by Dune.
- Programs runned by this function should never output on stdout since it is the channel used by Merlin to communicate with the editor. One way to enforce that is to redirect stdout to stderr.
- As of today Merlin handles the
`Cancelled
return case identically as other error codes.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>