Support for updating kakoune plugins with kak-plug (#852)

This commit is contained in:
Leonardo Eugênio
2022-02-06 18:48:06 -03:00
committed by GitHub
parent 54e3d87b23
commit 0251c2769b
5 changed files with 40 additions and 0 deletions

31
src/steps/kakoune.rs Normal file
View File

@@ -0,0 +1,31 @@
use crate::error::TopgradeError;
use crate::terminal::print_separator;
use crate::utils::require;
use anyhow::Result;
use crate::execution_context::ExecutionContext;
use crate::executor::ExecutorOutput;
const UPGRADE_KAK: &str = include_str!("upgrade.kak");
pub fn upgrade_kak_plug(ctx: &ExecutionContext) -> Result<()> {
let kak = require("kak")?;
print_separator("Kakoune");
let mut command = ctx.run_type().execute(&kak);
command.args(&["-ui", "dummy", "-e", UPGRADE_KAK]);
let output = command.output()?;
if let ExecutorOutput::Wet(output) = output {
let status = output.status;
if !status.success() {
return Err(TopgradeError::ProcessFailed(status).into());
} else {
println!("Plugins upgraded")
}
}
Ok(())
}