kkharji/xbase

Change build argument to receive Option<&ref> instead of &Option<ref>

Closed this issue · 0 comments

https://github.com/tami5/xbase/blob/8e5e4e5f62ede9c5596708ad4ed2f906dc678981/daemon/src/run/service.rs#L87

    async fn trigger(&self, state: &MutexGuard<State>, _event: &Event) -> Result<()> {
        log::info!("Running {}", self.client.abbrev_root());

        let mut handler = self.handler.clone().lock_owned().await;

        handler.process().kill().await;
        handler.inner().abort();

        let (root, config) = (&self.client.root, &self.medium.settings());

        // TODO: Change build argument to receive Option<&ref> instead of &Option<ref>

        let nvim = state.clients.get(&self.client.pid)?;
        let logger = &mut nvim.logger();
        let device = self.medium.as_simulator().map(|sim| &sim.device);
        let (xclogger, mut args) = state.projects.get(root)?.build(&config, device)?;

        logger.set_title(format!("Run:{}", config.target));

        if let RunMedium::Simulator(ref sim) = self.medium {
            args.extend(sim.special_build_args())
        }

        let success = logger.consume_build_logs(xclogger, false, false).await?;

        if !success {