@@ -83,6 +83,33 @@ pub fn general() -> std::io::Result<()> {
86+pub fn clipboard() -> std::io::Result<()> {
87+ let stdout = std::io::stdout();
88+ let mut stdout = stdout.lock();
90+ let board = get_clipboard_provider();
91+ match board.name().as_ref() {
96+ "System clipboard provider: Not installed".red()
101+ "For troubleshooting system clipboard issues, refer".red()
103+ writeln!(stdout, " {}",
104+ "https://github.com/helix-editor/helix/wiki/Troubleshooting#copypaste-fromto-system-clipboard-not-working"
105+ .red().underlined())?;
107+ name => writeln!(stdout, "System clipboard provider: {}", name)?,
86pub fn languages_all() -> std::io::Result<()> {
113pub fn languages_all() -> std::io::Result<()> {
87 let stdout = std::io::stdout();
114 let stdout = std::io::stdout();
88 let mut stdout = stdout.lock();
115 let mut stdout = stdout.lock();
@@ -281,13 +308,15 @@ fn probe_treesitter_feature(lang: &str, feature: TsFeature) -> std::io::Result<(
282pub fn print_health(health_arg: Option<String>) -> std::io::Result<()> {
309pub fn print_health(health_arg: Option<String>) -> std::io::Result<()> {
283 match health_arg.as_deref() {
310 match health_arg.as_deref() {
284− Some("all") => languages_all()?,
311+ Some("languages") => languages_all()?,
285− Some(lang) => language(lang.to_string())?,
312+ Some("clipboard") => clipboard()?,
286− None => {
313+ None | Some("all") => {
287 general()?;
314 general()?;
288 writeln!(std::io::stdout().lock())?;
316 writeln!(std::io::stdout().lock())?;
289 languages_all()?;
317 languages_all()?;
319+ Some(lang) => language(lang.to_string())?,