Способствует ли использование dune в OCaml перезаписыванию ручных изменений?
Что хорошо в Rust и сгенерированном коде, так это то, что он может жить в целевом каталоге, а rust-analyzer позволяет легко перейти и посмотреть, что там. Но в OCaml, с дюной, если у меня есть правило генерировать какой-то код, например:
(rule
(target kimchi.ml)
(deps
Cargo.toml
rust-toolchain.toml
../../../../.ocamlformat
(source_tree src)
(source_tree binding_generation)
(source_tree ../../proof-systems))
(action
(chdir
binding_generation
(progn
(run rm -rf ./target)
(run rm -f ./Cargo.lock)
(run cargo run ../kimchi.ml)
(run ocamlformat --impl -i ../kimchi.ml)))))
Файл, который он создает, кажется недоступным из ocaml-lsp в vscode, если не знать точного пути. Итак, что я могу сделать, это добавить:
(mode promote)
но теперь я рискую вручную перезаписать сгенерированный файл. Сборка снова перезаписывает мои ручные изменения?