elixir-lsp / elixir-lsp/vscode-elixir-ls

highlighting of multiline strings treats any `"""` as the end of the string instead of ending a multi-line string on a `"""` that only has whitespace proceeding it

Open
#509 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
599
Forks
108
PR merge metrics
No merged PRs in 30d

Description

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: https://github.com/elixir-lsp/vscode-elixir-ls/blob/d60e7b7710e3861f02cdfbdfc81297b2a638f108/syntaxes/elixir.json#L31-L44

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 `^`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.