// Copyright 2019 The Hugo Authors. All rights reserved.//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.// Package commands defines and implements command-line commands and flags// used by Hugo. Commands and flags are implemented using Cobra.packagecommandsimport("context""fmt""io/ioutil""os/signal""runtime/pprof""runtime/trace""sync/atomic""github.com/gohugoio/hugo/hugofs""github.com/gohugoio/hugo/resources/page""github.com/pkg/errors""github.com/gohugoio/hugo/common/herrors""github.com/gohugoio/hugo/common/loggers""github.com/gohugoio/hugo/common/terminal""syscall""github.com/gohugoio/hugo/hugolib/filesystems""golang.org/x/sync/errgroup""os""path/filepath""runtime""strings""time""github.com/gohugoio/hugo/config"flag"github.com/spf13/pflag""github.com/fsnotify/fsnotify""github.com/gohugoio/hugo/helpers""github.com/gohugoio/hugo/hugolib""github.com/gohugoio/hugo/livereload""github.com/gohugoio/hugo/watcher""github.com/spf13/afero""github.com/spf13/cobra""github.com/spf13/fsync"jww"github.com/spf13/jwalterweatherman")// The Response value from Execute.typeResponsestruct{// The build Result will only be set in the hugo build command.Result*hugolib.HugoSites// Err is set when the command failed to execute.Errerror// The command that was executed.Cmd*cobra.Command}// IsUserError returns true is the Response error is a user error rather than a// system error.func(rResponse)IsUserError()bool{returnr.Err!=nil&&isUserError(r.