<NME> Comments.txt
<BEF> Elm File
  PsiComment(LINE_COMMENT)('-- this is a line comment')
  PsiWhiteSpace('\n')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('n')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
      PsiElement(NUMBER_LITERAL)('42')
  PsiWhiteSpace(' ')
  PsiComment(LINE_COMMENT)('-- this is also a line comment')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  PsiWhiteSpace('\n')
  PsiComment(BLOCK_COMMENT)('{- this is a block comment.\nIt can span multiple lines\n-}')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('foo')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
      PsiElement(NUMBER_LITERAL)('42')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  PsiComment(BLOCK_COMMENT)('{- block comments can also be on a single line -}')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('bar')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
      PsiElement(NUMBER_LITERAL)('99')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  PsiComment(BLOCK_COMMENT)('{- block comments can be\n    {- nested -}\nlike this\n-}')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('baz')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
      PsiElement(NUMBER_LITERAL)('0')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  PsiWhiteSpace('\n')
  PsiComment(BLOCK_COMMENT)('{-| this is a doc comment.\nIt can span multiple lines\n-}')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('foo2')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
      PsiElement(NUMBER_LITERAL)('42')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  PsiComment(BLOCK_COMMENT)('{-| doc comments can also be on a single line -}')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('bar2')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
      PsiElement(NUMBER_LITERAL)('99')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  PsiComment(BLOCK_COMMENT)('{-| doc comments can contain block comments\n    {- nested -}\nand everything is still ok\n-}')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('baz2')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
      PsiElement(NUMBER_LITERAL)('0')

<MSG> Allow separate highlight colors for line, block, and doc comments (#593)

I added a new `DOC_COMMENT` token type and used the default language colors for all comment types. This changes the default color of doc comments on some themes to match other languages.

Fixes #592
<DFF> @@ -52,7 +52,7 @@ Elm File
   PsiElement(VIRTUAL_END_DECL)('\n')
   PsiWhiteSpace('\n')
   PsiWhiteSpace('\n')
-  PsiComment(BLOCK_COMMENT)('{-| this is a doc comment.\nIt can span multiple lines\n-}')
+  PsiComment(DOC_COMMENT)('{-| this is a doc comment.\nIt can span multiple lines\n-}')
   PsiWhiteSpace('\n')
   ElmValueDeclaration(VALUE_DECLARATION)
     ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
@@ -64,7 +64,7 @@ Elm File
       PsiElement(NUMBER_LITERAL)('42')
   PsiElement(VIRTUAL_END_DECL)('\n')
   PsiWhiteSpace('\n')
-  PsiComment(BLOCK_COMMENT)('{-| doc comments can also be on a single line -}')
+  PsiComment(DOC_COMMENT)('{-| doc comments can also be on a single line -}')
   PsiWhiteSpace('\n')
   ElmValueDeclaration(VALUE_DECLARATION)
     ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
@@ -76,7 +76,7 @@ Elm File
       PsiElement(NUMBER_LITERAL)('99')
   PsiElement(VIRTUAL_END_DECL)('\n')
   PsiWhiteSpace('\n')
-  PsiComment(BLOCK_COMMENT)('{-| doc comments can contain block comments\n    {- nested -}\nand everything is still ok\n-}')
+  PsiComment(DOC_COMMENT)('{-| doc comments can contain block comments\n    {- nested -}\nand everything is still ok\n-}')
   PsiWhiteSpace('\n')
   ElmValueDeclaration(VALUE_DECLARATION)
     ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
@@ -85,4 +85,4 @@ Elm File
     PsiElement(EQ)('=')
     PsiWhiteSpace(' ')
     ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
-      PsiElement(NUMBER_LITERAL)('0')
\ No newline at end of file
+      PsiElement(NUMBER_LITERAL)('0')

Allow separate highlight colors for line, block, and doc comments (#593)