Skip to content
This repository was archived by the owner on Oct 8, 2025. It is now read-only.

Conversation

@mhanberg
Copy link
Collaborator

@mhanberg mhanberg commented Jun 17, 2023

Introduce the "extension" concept and creates the ElixirExtension, which
provides Elixir compiler diagnostics.

TODO: Correct the column information on the diagnostics. I think there
are some commits on main that fix some of this. But there are Tokenizer
diagnostics that need some massaging as well.

The interface for extensions also needs to to be finalized.

Extension diagram

sequenceDiagram
    NextLS->>ExtensionFoo: start_child
    NextLS->>ExtensionBar: start_child
    NextLS->>NextLS.Runtime: start_child
    NextLS-->>Task.Supervisor: wait for runtime
    loop Until Runtime Ready
      Task.Supervisor->>NextLS.Runtime: ready?
      NextLS.Runtime->>Task.Supervisor: no
    end
    NextLS.Runtime->>Task.Supervisor: yes
    Task.Supervisor-->>NextLS: ready!
    NextLS-->>Task.Supervisor: ask to compile
    Task.Supervisor->>NextLS.Runtime: compile
    par Runtime to ExtensionFoo
      NextLS.Runtime->>ExtensionFoo: broadcast compiler diagnostics
      ExtensionFoo->>DiagnosticCache: put
      ExtensionFoo->>NextLS: publish1
    and Runtime to ExtensionBar
      NextLS.Runtime->>ExtensionBar: broadcast compiler diagnostics
      ExtensionBar->>DiagnosticCache: put
      ExtensionBar->>NextLS: publish2
    end
    NextLS->>Editor: PublishDiagnostics2
    NextLS->>Editor: PublishDiagnostics1
Loading

@mhanberg
Copy link
Collaborator Author

Current dependencies on/for this PR:

This comment was auto-generated by Graphite.

@mhanberg mhanberg force-pushed the 2023-06-17-elixir-diagnostics branch from 639f59f to 43bace3 Compare June 18, 2023 05:35
Introduce the "extension" concept and creates the ElixirExtension, which
provides Elixir compiler diagnostics.

TODO: Correct the column information on the diagnostics. I think there
are some commits on main that fix some of this. But there are Tokenizer
diagnostics that need some massaging as well.

The interface for extensions also needs to to be finalized.
@mhanberg mhanberg force-pushed the 2023-06-17-elixir-diagnostics branch from 43bace3 to 665a8a4 Compare June 18, 2023 05:36
@mhanberg mhanberg merged commit fafb2ca into main Jun 18, 2023
@mhanberg mhanberg deleted the 2023-06-17-elixir-diagnostics branch June 18, 2023 05:45
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants