=================================================
Basics
=================================================

# comment

$variable = value # inline comment

section {
  key = not a ##comment
}

section:device {
  key =
}

---

(configuration
  (comment)
  (declaration
    (variable)
    (string)
    (comment))
  (section
    (name)
    (assignment
      (name)
      (string)))
  (section
    (name)
    device: (device_name)
    (assignment
      (name))))

=================================================
Data types
=================================================

boolean = true
number = 1.2
vec2 = 1 2
string = hyprland
color_hex = 0xffffff
color_rgb = rgb(000fff)
color_rgb2 = rgb(122, 176, 91, 0.1)
gradient = rgb(000fff) 0xfff000 45deg
mod = SUPER
variable = $variable
keyword = str, 1, 4, true

---

(configuration
  (assignment
    (name)
    (boolean))
  (assignment
    (name)
    (number))
  (assignment
    (name)
    (vec2
      (number)
      (number)))
  (assignment
    (name)
    (string))
  (assignment
    (name)
    (color
      (legacy_hex
        (hex))))
  (assignment
    (name)
    (color
      (rgb
        (hex))))
  (assignment
    (name)
      (color
        (rgb
          (number_tuple
            (number)
            (number)
            (number)
            (number)))))
  (assignment
    (name)
    (gradient
      (color
        (rgb
          (hex)))
      (color
        (legacy_hex
          (hex)))
      (angle)))
  (assignment
    (name)
    (mod))
  (assignment
    (name)
    (variable))
  (keyword
    (name)
    (params
      (string)
      (number)
      (number)
      (boolean))))

