================================================================================
Test temp.nu
================================================================================
# Convert Fahrenheit to Celcius
def a_command [
     fahren:number # Degrees Fahrenheit
    ] {
    # (100°F − 32) × 5/9 = 37.778°C
    # let celcius = ($fahren - 32) * 5 / 9
    build-string $fahren ' °F is ' $celcius ' °C'
}
 
temp k-to-c 100
echo (char nl)
--------------------------------------------------------------------------------

(source_file
  (comment)
  (function_definition
    (identifier)
    (signature
      (parameter
        (identifier)
        (type))
      (comment))
    (block
      (comment)
      (comment)
      (command
        (identifier)
        (value_path
          (identifier))
        (string)
        (value_path
          (identifier))
        (string))))
  (command
    (identifier)
    (identifier)
    (number_literal))
  (command
    (identifier)
    (cmd_invocation
      (command
        (identifier)
        (identifier)))))

================================================================================
Parse command_substitution
================================================================================
echo (char nl)
--------------------------------------------------------------------------------

(source_file
  (command
    (identifier)
    (cmd_invocation
      (command
        (identifier)
        (identifier)))))

================================================================================
Parse shorthand flag
================================================================================
ansi -e $ansi_str
--------------------------------------------------------------------------------

(source_file
  (command
    (identifier)
    (flag_arg)
    (value_path
      (identifier))))

================================================================================
Parse predicate command
================================================================================
echo ($separator | empty?)
--------------------------------------------------------------------------------

(source_file
  (command
    (identifier)
    (cmd_invocation
      (value_path
        (identifier))
      (command
        (identifier)))))

================================================================================
Parse alias
================================================================================
alias fmt_error = ansi -e "31;1m"
--------------------------------------------------------------------------------

(source_file
  (alias
    (identifier)
    (command
      (identifier)
      (flag_arg)
      (string))))

================================================================================
Parse escaped string
================================================================================
split row '\'
--------------------------------------------------------------------------------

(source_file
  (command
    (identifier)
    (identifier)
    (string)))

================================================================================
Parse multiply
================================================================================
let pos_y = 0.995 * $resolution_y
--------------------------------------------------------------------------------

(source_file
  (variable_declaration
    (identifier)
    (binary_expression
      (number_literal)
      (value_path
        (identifier)))))
