style: miscellaneous cleanup
This commit is contained in:
@@ -5,7 +5,7 @@ use crate::mcp::{McpServer, McpServersConfig};
|
|||||||
use crate::utils;
|
use crate::utils;
|
||||||
use crate::utils::IS_STDOUT_TERMINAL;
|
use crate::utils::IS_STDOUT_TERMINAL;
|
||||||
use crate::vault::{Vault, create_vault_password_file, interpolate_secrets};
|
use crate::vault::{Vault, create_vault_password_file, interpolate_secrets};
|
||||||
use anyhow::{Context, Result, bail};
|
use anyhow::{Context, Result, anyhow, bail};
|
||||||
use indexmap::IndexMap;
|
use indexmap::IndexMap;
|
||||||
use indoc::formatdoc;
|
use indoc::formatdoc;
|
||||||
use inquire::{Confirm, Select};
|
use inquire::{Confirm, Select};
|
||||||
@@ -418,6 +418,26 @@ fn plan_dir_into(
|
|||||||
let rel = src
|
let rel = src
|
||||||
.strip_prefix(src_dir)
|
.strip_prefix(src_dir)
|
||||||
.expect("walk_files only returns paths under src_dir");
|
.expect("walk_files only returns paths under src_dir");
|
||||||
|
|
||||||
|
if category == TopCategory::Skills {
|
||||||
|
let skill_name = rel
|
||||||
|
.components()
|
||||||
|
.next()
|
||||||
|
.and_then(|c| c.as_os_str().to_str())
|
||||||
|
.ok_or_else(|| {
|
||||||
|
anyhow!(
|
||||||
|
"remote skill bundle has unparseable path component: {}",
|
||||||
|
rel.display()
|
||||||
|
)
|
||||||
|
})?;
|
||||||
|
paths::validate_skill_name(skill_name).with_context(|| {
|
||||||
|
format!(
|
||||||
|
"remote skill '{skill_name}' has an invalid name \
|
||||||
|
(skill names must contain only ASCII alphanumerics, '-', or '_')"
|
||||||
|
)
|
||||||
|
})?;
|
||||||
|
}
|
||||||
|
|
||||||
let dst = dst_dir.join(rel);
|
let dst = dst_dir.join(rel);
|
||||||
let kind = classify_file(&src, &dst)?;
|
let kind = classify_file(&src, &dst)?;
|
||||||
out.push(PlannedFile {
|
out.push(PlannedFile {
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ use inquire::validator::Validation;
|
|||||||
use inquire::{Confirm, Password, PasswordDisplayMode, Select, Text, min_length, required};
|
use inquire::{Confirm, Password, PasswordDisplayMode, Select, Text, min_length, required};
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
use log::debug;
|
||||||
|
|
||||||
pub fn ensure_password_file_initialized(local_provider: &mut LocalProvider) -> Result<()> {
|
pub fn ensure_password_file_initialized(local_provider: &mut LocalProvider) -> Result<()> {
|
||||||
let vault_password_file = local_provider
|
let vault_password_file = local_provider
|
||||||
|
|||||||
Reference in New Issue
Block a user