You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.4 KiB

  1. # frozen_string_literal: true
  2. require 'thor'
  3. require_relative 'mastodon/media_cli'
  4. require_relative 'mastodon/emoji_cli'
  5. require_relative 'mastodon/accounts_cli'
  6. require_relative 'mastodon/feeds_cli'
  7. require_relative 'mastodon/search_cli'
  8. require_relative 'mastodon/settings_cli'
  9. require_relative 'mastodon/statuses_cli'
  10. require_relative 'mastodon/domains_cli'
  11. require_relative 'mastodon/version'
  12. module Mastodon
  13. class CLI < Thor
  14. def self.exit_on_failure?
  15. true
  16. end
  17. desc 'media SUBCOMMAND ...ARGS', 'Manage media files'
  18. subcommand 'media', Mastodon::MediaCLI
  19. desc 'emoji SUBCOMMAND ...ARGS', 'Manage custom emoji'
  20. subcommand 'emoji', Mastodon::EmojiCLI
  21. desc 'accounts SUBCOMMAND ...ARGS', 'Manage accounts'
  22. subcommand 'accounts', Mastodon::AccountsCLI
  23. desc 'feeds SUBCOMMAND ...ARGS', 'Manage feeds'
  24. subcommand 'feeds', Mastodon::FeedsCLI
  25. desc 'search SUBCOMMAND ...ARGS', 'Manage the search engine'
  26. subcommand 'search', Mastodon::SearchCLI
  27. desc 'settings SUBCOMMAND ...ARGS', 'Manage dynamic settings'
  28. subcommand 'settings', Mastodon::SettingsCLI
  29. desc 'statuses SUBCOMMAND ...ARGS', 'Manage statuses'
  30. subcommand 'statuses', Mastodon::StatusesCLI
  31. desc 'domains SUBCOMMAND ...ARGS', 'Manage account domains'
  32. subcommand 'domains', Mastodon::DomainsCLI
  33. map %w(--version -v) => :version
  34. desc 'version', 'Show version'
  35. def version
  36. say(Mastodon::Version.to_s)
  37. end
  38. end
  39. end