% ripper-tags -f TAGS -R --force --extra=q $(bundle show --paths)
/home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/emacs_formatter.rb:72:in `fetch': key not found: :name (KeyError)
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/emacs_formatter.rb:72:in `format'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/emacs_formatter.rb:37:in `write'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags.rb:237:in `block (2 levels) in run'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:160:in `block (2 levels) in each_tag'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:159:in `each'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:159:in `block in each_tag'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:66:in `resolve_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:61:in `block in resolve_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:86:in `block in each_in_directory'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:84:in `each'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:84:in `each_in_directory'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:59:in `resolve_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:61:in `block in resolve_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:86:in `block in each_in_directory'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:84:in `each'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:84:in `each_in_directory'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:59:in `resolve_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:61:in `block in resolve_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:86:in `block in each_in_directory'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:84:in `each'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:84:in `each_in_directory'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:59:in `resolve_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:99:in `block in each_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:112:in `each'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:112:in `each_input_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:98:in `each_file'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/data_reader.rb:150:in `each_tag'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags.rb:236:in `block in run'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/emacs_formatter.rb:27:in `block in with_output'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/default_formatter.rb:53:in `block in with_output'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/default_formatter.rb:52:in `open'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/default_formatter.rb:52:in `with_output'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags/emacs_formatter.rb:25:in `with_output'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags.rb:235:in `run'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags.rb:206:in `call'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags.rb:206:in `block in process_args'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags.rb:182:in `block in option_parser'
from /home/nowaker/.rvm/rubies/ruby-3.3.0/lib/ruby/3.3.0/optparse.rb:1153:in `initialize'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags.rb:84:in `new'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags.rb:84:in `option_parser'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/lib/ripper-tags.rb:187:in `process_args'
from /home/nowaker/.rvm/gems/ruby-3.3.0/gems/ripper-tags-1.0.1/bin/ripper-tags:15:in `<top (required)>'
from /home/nowaker/.rvm/gems/ruby-3.3.0/bin/ripper-tags:25:in `load'
from /home/nowaker/.rvm/gems/ruby-3.3.0/bin/ripper-tags:25:in `<main>'
from /home/nowaker/.rvm/gems/ruby-3.3.0/bin/ruby_executable_hooks:22:in `eval'
from /home/nowaker/.rvm/gems/ruby-3.3.0/bin/ruby_executable_hooks:22:in `<main>'
It doesn't say which gem or file causes it to fail. I had to use this to identify "broken" gems that ripper-tags can't analyze:
#!/bin/bash
# Get all paths from `bundle show --paths`
paths=$(bundle show --paths)
# Loop through each path and execute `ripper-tags` on it, suppressing standard output
for path in $paths; do
# Execute ripper-tags and suppress standard output
ripper-tags -f TAGS -R --force --extra=q "$path" >/dev/null 2>&1
# Check if ripper-tags succeeded
if [ $? -ne 0 ]; then
# Only show error message if ripper-tags failed
echo "Error: ripper-tags failed for $path"
fi
# Continue with the next path even if the current one fails
done
Getting this error:
It doesn't say which gem or file causes it to fail. I had to use this to identify "broken" gems that ripper-tags can't analyze:
"Broken" gems:
lib/airbrussh/colors.rb
)lib/net/ssh/authentication/pageant.rb
)