Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add noir_lsp_wasm as a WASI implementation of the LSP #2769

Closed
wants to merge 31 commits into from

Conversation

phated
Copy link
Contributor

@phated phated commented Sep 20, 2023

Description

Problem*

Resolves

Summary*

This is a draft version of the LSP compiled to the WASI target that can run in the vscode-wasm harness. It applies various workarounds to avoid wasm-bindgen and to ensure async-lsp code works correctly in a WASI environment.

Documentation

  • This PR requires documentation updates when merged.

    • I will submit a noir-lang/docs PR.
    • I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@phated phated requested a review from kobyhallx September 20, 2023 23:07
Base automatically changed from phated/lsp-blackbox-solver to master September 21, 2023 12:52
* master: (85 commits)
  feat: Add noir types package (#2893)
  chore: add scripts for testing (#2890)
  chore(noir-js): Add program API (#2856)
  feat(traits): multi module support for traits (#2844)
  chore(noir): Release (master) (#2879)
  chore: set up noir_js in integration tests (#2871)
  chore!: update to `bb` version 0.7.3 (#2729)
  chore: remove additional yarn install in `acvm_js` (#2885)
  chore: remove messagepack serialization logic (#2865)
  chore: improve workspace clean (#2870)
  fix: finer bit size in bound constrain (#2869)
  feat: Contract events in artifacts (#2873)
  chore: remove leftover files from `acvm-repo` (#2861)
  chore: miscellaneous ACVM fixups (#2864)
  chore(noir): Release (master) (#2875)
  fix: Remove cast for field comparisons in brillig (#2874)
  fix: remove duplication of code to load stdlib files (#2868)
  chore(noir_js): remove unnecessary input validation in JS (#2841)
  chore: build yarn packages in parallel (#2867)
  chore(ci): remove `toml2json` dependency (#2862)
  ...
* master:
  chore: add prettier config (#2894)
* master:
  fix: force recompilation when `output_debug` flag is set. (#2898)
* master:
  chore: refactor integration test (#2901)
  feat(acvm_js): export black box solver functions (#2812)
  chore: add standard linting setup to all crates (#2900)
  chore: use Noir number in release PR (#2905)
  chore: clippy fixes (#2897)
  chore: use workspace rust version in `backend-interface` crate (#2896)
* master:
  chore: pass in file reader to `FileManager` at runtime (#2649)
@Savio-Sou
Copy link
Collaborator

Step towards noir-lang/vscode-noir#37.

TomAFrench and others added 8 commits October 25, 2023 14:18
* master: (61 commits)
  feat: Add generic count check for trait methods (#3382)
  feat!: avoid integer overflows (#2713)
  chore: Add a workflow to build with feature flag (#3378)
  chore: fix for-loop in aztec-library (#3377)
  feat!: return Pedersen structure in stdlib (#3190)
  feat: Manage breakpoints and allow restarting a debugging session (#3325)
  chore: small driver refactors (#3375)
  fix: fixing versioning workflow (#3296)
  feat!: noir-wasm outputs debug symbols (#3317)
  chore: build acvm_js for integration tests in parallel (#3368)
  chore: replace bash with `@actions/github-script` (#3369)
  feat(noir_js): allow providing foreign call handlers in noirJS (#3294)
  feat: Allow traits to have generic functions (#3365)
  chore(ci): ensure that acir artifacts are published on master (#3367)
  chore: cleanup CI workflows to be more consistent (#3366)
  fix: Use pedersen_hash for merkle tree (#3357)
  chore: format `for` stmt (#3333)
  fix!: move mimc to hash submodule (#3361)
  fix: remove sha2_block test (#3360)
  chore: deduplicate dependencies across the workspace (#3356)
  ...
* master:
  chore: bump cargo dependencies (#3402)
  fix(aztec_nr): serialise arrays of structs (#3401)
* master:
  chore: update `async-lsp` to v0.1.0 (#3489)
  fix: adding proving key initialization (#3322)
  chore(fmt): don't lose line breaks between comments (#3505)
  feat: Add LSP command to profile opcodes in vscode (#3496)
  chore: format integration tests (#3399)
  chore: Refactor parser tests (with concat!()) (#3500)
  chore: format function signature (#3495)
  chore: update `self_cell` to v1.0.2 (#3487)
  chore: Fix broken link (#3497)
  chore: update array formatting style (#3486)
  chore(fmt): add fn_call_width (#3480)
  chore: Fix undesirable line break before '{' in function signature with comments (#3473)
  fix: apply predicate to over/underflow checks (#3494)
* master: (285 commits)
  feat: Add `assert_max_bit_size` method to `Field` (#4016)
  fix: fixup exports from `noir_wasm` (#4022)
  chore(ci): fix docker CI (#4014)
  feat(lsp): goto trait method declaration (#3991)
  chore: add action to check for dead links (#3992)
  chore: improve cspell setup (#3985)
  feat: Add dependency resolver for `noir_wasm` and implement `FileManager` for consistency with native interface (#3891)
  chore(docs): devcontainer docs (#4007)
  chore(ci): disable commit comments on docs publishing (#3998)
  feat: simplify chains of casts to be all in terms of the original `ValueId` (#3984)
  chore: quiet down aztec-bot! (#4006)
  chore: force public functions for trait implementation (#3986)
  feat: docker testing flow (#3895)
  feat: decompose `Instruction::Constrain` into multiple more basic constraints (#3892)
  feat: remove truncation from brillig casts (#3997)
  chore: add test case showing reexports (#4001)
  feat: remove truncations which can be seen to be noops using type information (#3953)
  chore: remove homemade keccakf1600 implementation (#3996)
  feat!: Breaking changes from aztec-packages (#3955)
  chore(docs): small grammar fix on the landing page (#3989)
  ...
@TomAFrench TomAFrench closed this Jul 3, 2024
@TomAFrench TomAFrench deleted the phated/lsp-wasm branch November 20, 2024 12:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants