# frozen_string_literal: true
#
# Copyright 2013 whiteleaf. All rights reserved.
#
module Command
class Help < CommandBase
HEADER = "Narou.rb ― 小説家になろうダウンローダ&縦書き用整形スクリプト"
def self.oneline_help
"このヘルプを表示します"
end
def execute(_argv)
disable_logging
if Narou.already_init?
display_help
else
display_help_first_time
end
end
def display_help
stream_io.puts(<<~HELP.termcolor)
#{HEADER}
Usage: narou <command> [arguments...] [options...]
[--no-color] [--multiple] [--time] [--backtrace]
コマンドの簡単な説明:
HELP
cmd_list = Command.get_list
cmd_list.each do |key, command|
oneline = command.oneline_help.split("\n")
stream_io.puts " #{key.ljust(12)} #{oneline.shift}".termcolor
oneline.each do |h|
stream_io.puts " " * 16 + h
end
end
stream_io.puts(<<-HELP.termcolor)
各コマンドの詳細は narou <command> -h を参照してください。
各コマンドは先頭の一文字か二文字でも指定できます。
(e.g. `narou d n4259s', `narou fr musyoku')
Global Options:
--no-color カラー表示を無効にする
--multiple 引数の区切りにスペースの他に","も使えるようにする
--time 実行時間表示
--backtrace エラー発生時詳細情報を表示
HELP
end
def display_help_first_time
stream_io.puts(<<~HELP.termcolor)
#{HEADER}
Usage: narou init
まだこのフォルダは初期化されていません。
narou init コマンドを実行して初期化を行いましょう。
HELP
end
end
end