Example:
defmodule Foo do
@moduledoc """
Whoops
Something
Bar"""
@it true
@doc """correct
"""
def baz, do: @it
end
Currently shows highlighting that indicates the moduledoc multi-line string stops at Bar""" in highlighting, but in fact it ends the line before def baz at the """ on that line.
This is probably because the syntax file is missing the ^ anchor for the end attribute:
|
{ |
|
"begin": "@(module|type)?doc\\s*(~s)?\"\"\"", |
|
"comment": "@doc with interpolated heredocs", |
|
"end": "\\s*\"\"\"", |
|
"name": "comment.documentation.heredoc.elixir", |
|
"patterns": [ |
|
{ |
|
"include": "#interpolated_elixir" |
|
}, |
|
{ |
|
"include": "#escaped_char" |
|
} |
|
] |
|
}, |
This is potentially an issue for some other cases of """, in that all the end attributes should likely have the ^ anchor to ensure the entire proceeding line is empty. It appears that only the 2 moduledoc entries are missing the ^.
Example:
Currently shows highlighting that indicates the
moduledocmulti-line string stops atBar"""in highlighting, but in fact it ends the line beforedef bazat the"""on that line.This is probably because the syntax file is missing the
^anchor for theendattribute:vscode-elixir-ls/syntaxes/elixir.json
Lines 31 to 44 in d60e7b7
This is potentially an issue for some other cases of
""", in that all theendattributes should likely have the^anchor to ensure the entire proceeding line is empty. It appears that only the 2moduledocentries are missing the^.