SHELL_SCRIPT
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(STRING_CONTENT)('foo\nbar')
        PsiElement(CLOSE_QUOTE)('"')
  PsiElement(\n)('\n')
  PsiComment(Comment)('#foo')
  PsiElement(\n)('\n')
  PsiComment(Comment)('#bar')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    GENERIC_COMMAND_DIRECTIVE
      LITERAL
        PsiElement(word)('echo')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(RAW_STRING)(''foo\nbar'')
  PsiWhiteSpace('    ')
  PsiComment(Comment)('# No difference yet.')
  PsiElement(\n)('\n')
  PsiComment(Comment)('#foo')
  PsiElement(\n)('\n')
  PsiComment(Comment)('#bar')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    GENERIC_COMMAND_DIRECTIVE
      LITERAL
        PsiElement(word)('echo')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('foo\\nbar')
  PsiWhiteSpace('     ')
  PsiComment(Comment)('# Newline escaped.')
  PsiElement(\n)('\n')
  PsiComment(Comment)('#foobar')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    GENERIC_COMMAND_DIRECTIVE
      LITERAL
        PsiElement(word)('echo')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(STRING_CONTENT)('foo\\nbar')
        PsiElement(CLOSE_QUOTE)('"')
  PsiWhiteSpace('     ')
  PsiComment(Comment)('# Same here, as \ still interpreted as escape within weak quotes.')
  PsiElement(\n)('\n')
  PsiComment(Comment)('#foobar')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    GENERIC_COMMAND_DIRECTIVE
      LITERAL
        PsiElement(word)('echo')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(RAW_STRING)(''foo\\nbar'')
  PsiWhiteSpace('     ')
  PsiComment(Comment)('# Escape character \ taken literally because of strong quoting.')
  PsiElement(\n)('\n')
  PsiComment(Comment)('#foo\')
  PsiElement(\n)('\n')
  PsiComment(Comment)('#bar')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  PsiComment(Comment)('# Examples suggested by Stéphane Chazelas.')
  PsiElement(\n)('\n')
  PsiComment(Comment)('# https://tldp.org/LDP/abs/html/escapingsection.html')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    GENERIC_COMMAND_DIRECTIVE
      LITERAL
        PsiElement(word)('\\ntest')
  PsiWhiteSpace('                        ')
  PsiComment(Comment)('#lineContinuation')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    ASSIGNMENT_COMMAND
      LITERAL
        PsiElement(word)('myVar')
      PsiElement(=)('=')
      NUMBER
        PsiElement(int)('42')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      SIMPLE_COMMAND_ELEMENT
        PsiElement($)('$')
        ARITHMETIC_EXPANSION
          PsiElement(()('(')
          PsiElement(()('(')
          LITERAL_EXPRESSION
            PsiElement(word)('\\nmy\\nVar')
          PsiElement())(')')
          PsiElement())(')')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      SIMPLE_COMMAND_ELEMENT
        PsiElement($)('$')
        SHELL_PARAMETER_EXPANSION
          PsiElement({)('{')
          PsiElement(word)('\\nmy\\nVar')
          PsiElement(})('}')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    EVAL_COMMAND
      PsiElement(eval)('eval')
      PsiWhiteSpace(' \\n')
      PsiElement(EVAL_CONTENT)('t\\ne\\nst')