diff --git a/exe/lc.sh b/exe/lc.sh index 0df3823..1f1427c 100755 --- a/exe/lc.sh +++ b/exe/lc.sh @@ -9,4 +9,9 @@ then linear-cli "$@" 2>&1|sed 's/linear-cli/lc/g' exit 0 fi -exec linear-cli "$@" +if ! linear-cli "$@" +then + printf "lc: linear-cli failed\n" >&2 + lc "$@" --help 2>&1 + exit 1 +fi diff --git a/lib/linear/cli/caller.rb b/lib/linear/cli/caller.rb index 4b047bf..0743ca6 100644 --- a/lib/linear/cli/caller.rb +++ b/lib/linear/cli/caller.rb @@ -24,6 +24,7 @@ def self.prepended(mod) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize exit 1 rescue NotFoundError => e logger.error e.message + exit 66 rescue StandardError => e logger.error e.message logger.error e.backtrace.join("\n") if Rubyists::Linear.verbosity.positive? diff --git a/lib/linear/commands/issue/update.rb b/lib/linear/commands/issue/update.rb index d4f5609..a6ea9d2 100644 --- a/lib/linear/commands/issue/update.rb +++ b/lib/linear/commands/issue/update.rb @@ -25,6 +25,7 @@ class Update option :reason, type: :string, aliases: ['--butwhy'], desc: 'Reason for closing the issue' def call(issue_ids:, **options) + prompt.error('You should provide at least one issue ID') && raise(SmellsBad) if issue_ids.empty? logger.debug('Updating issues', issue_ids:, options:) Rubyists::Linear::Issue.find_all(issue_ids).each do |issue| update_issue(issue, **options)