================================================================================
Test simple def
================================================================================
def a [] {}
--------------------------------------------------------------------------------

(source_file
  (function_definition
    (identifier)
    (signature)
    (block)))

================================================================================
Test simple exported def
================================================================================
export def a [] {}
--------------------------------------------------------------------------------

(source_file
  (function_definition
    (identifier)
    (signature)
    (block)))

================================================================================
Test def with full flag
================================================================================
def cmd [
    --command(-c): string # The command to run
    --interval(-i): duration # The interval duration
    ] { }
--------------------------------------------------------------------------------

(source_file
  (function_definition
    (identifier)
    (signature
      (flag
        (flag_name)
        (flag_shorthand_name)
        (type))
      (comment)
      (flag
        (flag_name)
        (flag_shorthand_name)
        (type))
      (comment))
    (block)))
