feat(adapters): JS/TS and Python adapters with native locations (#12) - #17
Merged
Merged
Conversation
JS console.warn now emits warning kind (was stdout, rendered grey). Renderer maps warning to highlights.warning (DiagnosticWarn) and error/stderr to DiagnosticError, stdout to Comment; mapping lives only in renderer. Python helper labels prints during exception handling as error diagnostics via native exc_info with unchanged sources and native frame locations. Harden renderer/adapter specs with highlight-group assertions.
…irst decoding Preserve project-relative resolution by creating adapter source files in the run cwd (with OS-temp fallback) and prepending the source dir to sys.path. Decode nonce-authenticated framed records before legacy wrapper-noise filtering. Map native JS syntax-error path:line preambles (helper + Lua fallback) and omit null coordinates instead of emitting JSON null, which vim.NIL failed to validate and silently dropped events. Preserve explicit Python print end= terminators. Add integration tests for imports, noise survival, syntax locations, end=, and padded-selection extmark rows.
Project-local source files use run-unique leaf names (never tempname basenames) with O_EXCL wx creation, retrying on collision: pre-existing user files can never be truncated. Falls back to existence-checked creation where luv predates wx, and to the OS temp dir when the project dir is unusable. Adds collision and uniqueness regression tests.
Generate run-unique leaf names from pid + hrtime + monotonic counter instead of reseeding the process-global RNG. Uniqueness never depended on randomness; the exclusive-create loop remains the safety net.
Google's Chrome repo intermittently serves inconsistent metadata (Hash Sum mismatch), failing dependency setup on Ubuntu runners before any test runs. It is unrelated to our dependencies.
Prints exit code, captured streams, node version, and temp file readability when the project-relative import test sees unexpected event counts. Revert once root-caused.
The Chrome repo lives under varying list filenames per image; the first fix only removed one name. Grep out every source referencing dl.google.com so a broken upstream mirror cannot fail Ubuntu setup.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #12.
Replace legacy JS/TS and Python wrappers with runtime-specific adapters executing user source unchanged, using native call-site/frame locations and a spoof-proof framed event protocol.
What changed:
Tests: