================================================================================
Command alone
================================================================================

com
command

--------------------------------------------------------------------------------

(script_file
  (command_statement)
  (command_statement))

================================================================================
Command with name
================================================================================

com List
command ListCmd

--------------------------------------------------------------------------------

(script_file
  (command_statement
    name: (command_name))
  (command_statement
    name: (command_name)))

================================================================================
Command with repl
================================================================================

command Test call Test()
command ListCmd Echo error

--------------------------------------------------------------------------------

(script_file
  (command_statement
    name: (command_name)
    repl: (command))
  (command_statement
    name: (command_name)
    repl: (command)))

================================================================================
Command with attribute
================================================================================

command -nargs=1 Error echo "There is an error"
com -range Test echo ""
com -range=% Test echo ""
com -register Test echo ""
com -nargs=* -bang -complete=customlist,EditFileComplete Test call Test()
command -nargs=* -complete=file -bang Termdebug call s:StartDebug(<bang>0, <f-args>)
command -nargs=+ -complete=file -bang TermdebugCommand call s:StartDebugCommand(<bang>0, <f-args>)

--------------------------------------------------------------------------------

(script_file
  (command_statement
    (command_attribute
      val: (integer_literal))
    name: (command_name)
    repl: (command))
  (command_statement
    (command_attribute)
    name: (command_name)
    repl: (command))
  (command_statement
    (command_attribute
      val: (pattern_multi))
    name: (command_name)
    repl: (command))
  (command_statement
    (command_attribute)
    name: (command_name)
    repl: (command))
  (command_statement
    (command_attribute
      val: (pattern_multi))
    (command_attribute)
    (command_attribute
      val: (behavior
        val: (identifier)))
    name: (command_name)
    repl: (command))
  (command_statement
    (command_attribute
      val: (pattern_multi))
    (command_attribute
      val: (behavior))
    (command_attribute)
    name: (command_name)
    repl: (command))
  (command_statement
    (command_attribute
      val: (pattern_multi))
    (command_attribute
      val: (behavior))
    (command_attribute)
    name: (command_name)
    repl: (command)))
