=====================================
single line
=====================================

'Hello, 123!'

---

(source
  (charlist
    (quoted_content)))

=====================================
multiple lines
=====================================

'line 1
line 2'

---

(source
  (charlist
    (quoted_content)))

=====================================
interpolation
=====================================

'hey #{name}!'
'hey #{
  name
}!'
'##{name}#'

---

(source
  (charlist
    (quoted_content)
    (interpolation
      (identifier))
    (quoted_content))
  (charlist
    (quoted_content)
    (interpolation
      (identifier))
    (quoted_content))
  (charlist
    (quoted_content)
    (interpolation
      (identifier))
    (quoted_content)))

=====================================
nested interpolation
=====================================

'this is #{'number #{1}'}!'

---

(source
  (charlist
    (quoted_content)
    (interpolation
      (charlist
        (quoted_content)
        (interpolation
          (integer))))
    (quoted_content)))

=====================================
escape sequence
=====================================

'_\'_\n_\t_\r_\e_\\_\1_\x3f_\u0065\u0301_'

---

(source
  (charlist
    (quoted_content)
    (escape_sequence)
    (quoted_content)
    (escape_sequence)
    (quoted_content)
    (escape_sequence)
    (quoted_content)
    (escape_sequence)
    (quoted_content)
    (escape_sequence)
    (quoted_content)
    (escape_sequence)
    (quoted_content)
    (escape_sequence)
    (quoted_content)
    (escape_sequence)
    (quoted_content)
    (escape_sequence)
    (escape_sequence)
    (quoted_content)))

=====================================
escaped interpolation
=====================================

'\#{1}'

---

(source
  (charlist
    (escape_sequence)
    (quoted_content)))

=====================================
heredoc / charlist
=====================================

'''
text
with 'quotes'
'''

---

(source
  (charlist
    (quoted_content)))

=====================================
heredoc / interpolation
=====================================

'''
hey #{name}!
'''

---

(source
  (charlist
    (quoted_content)
    (interpolation
      (identifier))
    (quoted_content)))

=====================================
heredoc / nested interpolation
=====================================

'''
this is #{
  '''
  number #{1}
  '''
}!
'''

---

(source
  (charlist
    (quoted_content)
    (interpolation
      (charlist
        (quoted_content)
        (interpolation
          (integer))
        (quoted_content)))
    (quoted_content)))

=====================================
heredoc / escaped delimiter
=====================================

'''
\'''
'''

'''
\'\'\'
'''

---

(source
  (charlist
    (quoted_content)
    (escape_sequence)
    (quoted_content))
  (charlist
    (quoted_content)
    (escape_sequence)
    (escape_sequence)
    (escape_sequence)
    (quoted_content)))

=====================================
heredoc / escaped interpolation
=====================================

'''
\#{1}
'''

---

(source
  (charlist
    (quoted_content)
    (escape_sequence)
    (quoted_content)))
