# CLI ModulemoduleMiddleman::Cli# Server thor taskclassServer<Thorcheck_unknown_options!namespace:serverdesc'server [options]','Start the preview server'method_option:environment,aliases: '-e',default: ENV['MM_ENV']||ENV['RACK_ENV']||'development',desc: 'The environment Middleman will run under'method_option:host,type: :string,aliases: '-h',default: '0.0.0.0',desc: 'Bind to HOST address'method_option:port,aliases: '-p',default: '4567',desc: 'The port Middleman will listen on'method_option:verbose,type: :boolean,default: false,desc: 'Print debug messages'method_option:instrument,type: :string,default: false,desc: 'Print instrument messages'method_option:disable_watcher,type: :boolean,default: false,desc: 'Disable the file change and delete watcher process'method_option:profile,type: :boolean,default: false,desc: 'Generate profiling report for server startup'method_option:reload_paths,type: :string,default: false,desc: 'Additional paths to auto-reload when files change'method_option:force_polling,type: :boolean,default: false,desc: 'Force file watcher into polling mode'method_option:latency,type: :numeric,aliases: '-l',default: 0.25,desc: 'Set file watcher latency, in seconds'# Start the serverdefserverrequire'middleman-core'require'middleman-core/preview_server'unlessENV['MM_ROOT']puts'== Could not find a Middleman project config.rb'puts'== Treating directory as a static site to be served'ENV['MM_ROOT']=Dir.pwdENV['MM_SOURCE']=''endparams={port: options['port'],host: options['host'],environment: options['environment'],debug: options['verbose'],instrumenting: options['instrument'],disable_watcher: options['disable_watcher'],reload_paths: options['reload_paths'],force_polling: options['force_polling'],latency: options['latency']}puts'== The Middleman is loading'::Middleman::PreviewServer.start(params)endenddefself.exit_on_failure?trueend# Map "s" to "server"Base.map('s'=>'server')end