@@ -569,7 +569,9 @@ fn run() -> Result<()> {
569569 if app_matches.is_present("list-languages") {
570570 let languages = assets.syntax_set.syntaxes();
571571
572− let longest = languages.iter()
572+ let longest = languages
573+ .iter()
574+ .filter(|s| !s.hidden)
573575 .map(|s| s.name.len())
574576 .max()
575577 .unwrap_or(32); // Fallback width if they have no language definitions.
@@ -590,12 +592,13 @@ fn run() -> Result<()> {
590592 let mut extension = lang.file_extensions.iter().peekable();
591593 while let Some(word) = extension.next() {
592594 // If we can't fit this word in, then create a line break and align it in.
593− if num_chars + word.len() + comma_separator.len() >= desired_width {
595+ let new_chars = word.len() + comma_separator.len();
596+ if num_chars + new_chars >= desired_width {
594597 num_chars = 0;
595598 print!("\n{:width$}{}", "", separator, width = longest);
596599 }
597600
598− num_chars += word.len() + comma_separator.len();
601+ num_chars += new_chars;
599602 print!("{}", word);
600603 if extension.peek().is_some() {
601604 print!("{}", comma_separator);