diff --git a/src/fennel-ls/analyzer.fnl b/src/fennel-ls/analyzer.fnl index e0e8f5d..03e19da 100644 --- a/src/fennel-ls/analyzer.fnl +++ b/src/fennel-ls/analyzer.fnl @@ -100,7 +100,8 @@ find the definition `10`, but if `opts.stop-early?` is set, it would find (not (varg? ?definition)) (= 1 (or 1 ?multival)) (not (sym? ?definition)) - (= 0 (length stack))) + (= 0 (length stack)) + (= nil (?. ?keys 1))) definition (search-multival server file ?definition (stack-add-keys! stack ?keys) (or ?multival 1) opts)))) diff --git a/test/hover.fnl b/test/hover.fnl index b2520c3..888c891 100644 --- a/test/hover.fnl +++ b/test/hover.fnl @@ -190,7 +190,14 @@ except that it sets a new message handler `msgh`.") #($:find "eat your files") {:libraries {:evil true}}) true false - _ true))) + _ true)) + nil) + +(fn test-destructure [] + (check "(local {: field} {:field {:foo :bar}}) + field|" + "```fnl\n{:foo :bar}\n```") + nil) {: test-literals : test-builtins @@ -202,4 +209,5 @@ except that it sets a new message handler `msgh`.") : test-multival : test-macro : test-reader - : test-libraries} + : test-libraries + : test-destructure}