   options = nopt knownOpts, shortHands, process.argv, 2
   sources = options.argv.remain or= []
 
+  if options.no_comments is true and options.show_src_lineno is true
+    console.warn "You cannot combine -l and -X"
+    return process.exit 1
+
   # nopt trim string values, copy it manually from argv.cooked
   index = options.argv.cooked.indexOf "--indent"
   if index isnt -1 and options.argv.cooked.length >= index

usage = ->
  console.warn BANNER + "\n"
  console.warn "options:"
  for arg, type of knownOpts
    console.warn "--#{arg} #  #{description[arg]}"
  console.warn "\nshorcuts:"
  for short, long of shortHands
    console.warn "-#{short} = #{inspect long}"
  process.exit 0


shortHands =
  v: ["--version"]
  V: ["--verbose"]
  X: ["--no_comments"]
  l: ["--show_src_lineno"]
  h: ["--help"]
  i4: ["--indent", "    "]
  it: ["--indent", "\t"]
