GtBridge.Eval.Preamble (gt_bridge v0.17.2)

Copy Markdown View Source

I prime an evaluation session with a module's preamble (alias / import / require declarations) so completion + eval work in the module's namespace context.

GT-side editor coders call editor_session/2 once on open; subsequent completion + eval requests in that session see the same env state.

Summary

Functions

I return the alias/import/require lines from a module's source.

I create or return an eval session with a module's preamble loaded.

Functions

directives(mod)

@spec directives(module()) :: [String.t()]

I return the alias/import/require lines from a module's source.

editor_session(mod, sid)

@spec editor_session(module(), String.t()) :: String.t()

I create or return an eval session with a module's preamble loaded.

Walks the source file's use/import/alias/require lines and evals them into the session's env, so completion works in context. Returns the session ID.