Mercurial > hg
view rust/hgcli/src/main.rs @ 48453:9b0e1f64656f
rhg: refactor relativize_path into a struct + method
… instead of a function that takes an iterator and a callback.
Differential Revision: https://phab.mercurial-scm.org/D11898
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Fri, 10 Dec 2021 16:57:39 +0100 |
parents | 426294d06ddc |
children |
line wrap: on
line source
use pyembed::MainPythonInterpreter; // Include an auto-generated file containing the default // `pyembed::PythonConfig` derived by the PyOxidizer configuration file. // // If you do not want to use PyOxidizer to generate this file, simply // remove this line and instantiate your own instance of // `pyembed::PythonConfig`. include!(env!("PYOXIDIZER_DEFAULT_PYTHON_CONFIG_RS")); fn main() { // The following code is in a block so the MainPythonInterpreter is // destroyed in an orderly manner, before process exit. let code = { // Load the default Python configuration as derived by the PyOxidizer // config file used at build time. let config = default_python_config(); // Construct a new Python interpreter using that config, handling any // errors from construction. match MainPythonInterpreter::new(config) { Ok(mut interp) => { // And run it using the default run configuration as specified // by the configuration. If an uncaught Python // exception is raised, handle it. // This includes the special SystemExit, which is a request to // terminate the process. interp.run_as_main() } Err(msg) => { eprintln!("{}", msg); 1 } } }; // And exit the process according to code execution results. std::process::exit(code); }