     @parseArguments()
 
   # Quick help message
-  help: ->
-    h = []
-    h.push 'Usage: autoprefixer [OPTION...] FILES'
-    h.push ''
-    h.push 'Parse CSS files and add prefixed properties and values.'
-    h.push ''
-    h.push 'Options:'
-    h.push '  -b, --browsers BROWSERS  add prefixes for selected browsers'
-    h.push '  -o, --output FILE        set output CSS file'
-    h.push '  -i, --inspect            show selected browsers and properties'
-    h.push '  -h, --help               show help text'
-    h.push '  -v, --version            print program version'
-    h.join("\n")
+  help: -> '''
+    Usage: autoprefixer [OPTION...] FILES
+
+    Parse CSS files and add prefixed properties and values.
+
+    Options:
+      -b, --browsers BROWSERS  add prefixes for selected browsers
+      -o, --output FILE        set output CSS file
+      -i, --inspect            show selected browsers and properties
+      -h, --help               show help text
+      -v, --version            print program version
+    '''
 
   # Options description
-  desc: ->
-    h = []
-    h.push 'Files:'
-    h.push "  By default, prefixed CSS will rewrite original files."
-    h.push "  If you didn't set input files, " +
-           "autoprefixer will read from stdin stream."
-    h.push "  Output CSS will be written to stdout stream on " +
-           "`-o -' argument or stdin input."
-    h.push ''
-    h.push 'Browsers:'
-    h.push '  Separate browsers by comma. For example, ' +
-           "`-b \"> 1%, opera 12\"."
-    h.push "  You can set browsers by global usage statictics: " +
-           "`-b \"> 1%\"'"
-    h.push "  or last version: `-b \"last 2 versions\"' (by default)."
-    h.join("\n")
+  desc: -> '''
+    Files:
+      By default, prefixed CSS will rewrite original files.
+      If you didn't set input files, autoprefixer will +
+        read from stdin stream.
+      Output CSS will be written to stdout stream on +
+        `-o -' argument or stdin input.
+
+    Browsers:
+      Separate browsers by comma. For example, `-b "> 1%, opera 12"'.
+      You can set browsers by global usage statictics: `-b \"> 1%\"'.
+      or last version: `-b "last 2 versions"' (by default).
+    '''
+    .replace(/\+\s+/g, '')
 
   # Print to stdout
   print: (str) ->


    updater.run()

  # Mark that there is another asyn work
  startWork: ->
    @waiting += 1


    while args.length > 0
      arg = args.shift()

      switch arg
        when '-h', '--help'
          @command = 'showHelp'

        when '-v', '--version'
          @command = 'showVersion'

        when '-i', '--inspect'
          @command = 'inspect'

        when '-u', '--update'
          @command = 'update'

        when '-b', '--browsers'
          @requirements = args.shift().split(',').map (i) -> i.trim()

        when '-o', '--output'
          @outputFile = args.shift()

        else
          if arg.match(/^-\w$/) || arg.match(/^--\w[\w-]+$/)
            @command = undefined

            @error "autoprefixer: Unknown argument #{ arg }"
            @error ''
            @error @help()

          else
            @inputFiles.push(arg)

    return

  # Print help
  showHelp: (done) ->
