Skip to content

Commit

Permalink
chore: let add_definition_location take a Location (noir-lang/noir#…
Browse files Browse the repository at this point in the history
…7185)

fix(LSP): correct signature for assert and assert_eq (noir-lang/noir#7184)
chore(experimental): Prevent enum panics by returning Options where possible instead of panicking (noir-lang/noir#7180)
feat(experimental): Construct enum variants in expressions (noir-lang/noir#7174)
feat: add `noir-inspector` (noir-lang/noir#7136)
fix: ensure canonical bits decomposition (noir-lang/noir#7168)
fix: Keep `inc_rc` for array inputs during preprocessing  (noir-lang/noir#7163)
fix(docs): Update broken links to EC lib (noir-lang/noir#7141)
feat: inline simple functions (noir-lang/noir#7160)
feat(ssa): Expand feature set of the Brillig constraint check (noir-lang/noir#7060)
fix(ssa): Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169)
fix: `Function::is_no_predicates` always returned false for brillig f… (noir-lang/noir#7167)
chore(refactor): Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156)
chore: let `Function::inlined` take a `should_inline_call` function (noir-lang/noir#7149)
chore: add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981)
fix: LSP hover over function with `&mut self` (noir-lang/noir#7155)
feat(brillig): Set global memory size at program compile time (noir-lang/noir#7151)
feat: LSP autocomplete module declaration (noir-lang/noir#7154)
feat(ssa): Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153)
feat: LSP chain inlay hints (noir-lang/noir#7152)
chore: turn on overflow checks in CI rust tests (noir-lang/noir#7145)
fix(ssa): Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140)
fix: preserve types when reading from calldata arrays (noir-lang/noir#7144)
feat: Resolve enums & prepare type system (noir-lang/noir#7115)
feat: `loop` must have at least one `break` (noir-lang/noir#7126)
feat: parse globals in SSA parser (noir-lang/noir#7112)
fix: allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124)
fix: avoid creating unnecessary memory blocks (noir-lang/noir#7114)
chore: relax threshold for reporting regressions (noir-lang/noir#7130)
fix: proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125)
fix: Prevent overlapping associated types impls (noir-lang/noir#7047)
feat: unconstrained optimizations for BoundedVec (noir-lang/noir#7119)
chore: mark libs good (noir-lang/noir#7123)
chore: remove comments for time/memory benchmarks (noir-lang/noir#7121)
fix: don't always use an exclusive lock in `nargo check` (noir-lang/noir#7120)
feat(ssa): Pass to preprocess functions (noir-lang/noir#7072)
chore: Formatting issues / minor errors in the docs (noir-lang/noir#7105)
fix: defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100)
feat: Parser and formatter support for `enum`s (noir-lang/noir#7110)
feat(brillig): SSA globals code gen (noir-lang/noir#7021)
feat: `loop` keyword in runtime and comptime code (noir-lang/noir#7096)
chore: Add benchmarking dashboard (noir-lang/noir#7068)
feat(experimental): try to infer lambda argument types inside calls (noir-lang/noir#7088)
feat(ssa): Add flag to DIE pass to be able to keep `store` instructions (noir-lang/noir#7106)
chore: Cookbook Onboard integration (noir-lang/noir#7044)
chore: lock to ubuntu 22.04 (noir-lang/noir#7098)
fix: Remove unused brillig functions (noir-lang/noir#7102)
chore(ssa): Use correct prefix when printing array values in global space (noir-lang/noir#7095)
  • Loading branch information
AztecBot committed Jan 27, 2025
2 parents feee294 + 09f355a commit f56fe2d
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions noir/noir-repo/tooling/lsp/src/requests/hover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1431,6 +1431,85 @@ mod hover_tests {
" two::Color
Red(Field)
---
Like a tomato"
));
}

#[test]
async fn hover_on_trait_impl_method_uses_docs_from_trait_method() {
let hover_text =
get_hover_text("workspace", "two/src/lib.nr", Position { line: 92, character: 8 })
.await;
assert!(hover_text.contains("Some docs"));
}

#[test]
async fn hover_on_function_with_mut_self() {
let hover_text =
get_hover_text("workspace", "two/src/lib.nr", Position { line: 96, character: 10 })
.await;
assert!(hover_text.contains("fn mut_self(&mut self)"));
}

#[test]
async fn hover_on_empty_enum_type() {
let hover_text =
get_hover_text("workspace", "two/src/lib.nr", Position { line: 100, character: 8 })
.await;
assert!(hover_text.contains(
" two
enum EmptyColor {
}
---
Red, blue, etc."
));
}

#[test]
async fn hover_on_non_empty_enum_type() {
let hover_text =
get_hover_text("workspace", "two/src/lib.nr", Position { line: 103, character: 8 })
.await;
assert!(hover_text.contains(
" two
enum Color {
Red(Field),
}
---
Red, blue, etc."
));
}

#[test]
async fn hover_on_enum_variant() {
let hover_text =
get_hover_text("workspace", "two/src/lib.nr", Position { line: 105, character: 6 })
.await;
assert!(hover_text.contains(
" two::Color
Red(Field)
---
Like a tomato"
));
}

#[test]
async fn hover_on_enum_variant_in_call() {
let hover_text =
get_hover_text("workspace", "two/src/lib.nr", Position { line: 109, character: 12 })
.await;
assert!(hover_text.contains(
" two::Color
Red(Field)
---
Like a tomato"
Expand Down

0 comments on commit f56fe2d

Please sign in to comment.