Design the Searcher (Autocomplete) #713
Labels
--breaking
Important: a change that will break a public API or user-facing behaviour
-tooling
Category: tooling
p-medium
Should be completed in the next few sprints
w-docs
Website: Documentation
Summary
One of the key pillars of Enso Studio's usability is the intelligent nature of its searcher. The searcher can be thought of as autocomplete on steroids. It takes into account obvious things like the location in code and the contextual type, but also more user-focused things such as unimported symbols, searching within documentation, and so on.
Value
We will be able to provide well-ranked candidate completions to Enso Studio for use in the searcher.
Specification
The design for the searcher should be coherent with the needs to operate within the LSP Completion functionality. We can also consider applying elements of the work-in-progress LSIF specification to help provide rapid completions while the language server spools up.
5
,foo : 5 -> String
scores higher thanbar : Nat -> Dynamic
, scores higher thanbaz : Any -> Any
. This should be done by heuristics initially, and later by querying the typechecker for subsumption relationships (the notion of specificity discussed in the types design document).tags
section of the documentation should also be used to rank candidates.Acceptance Criteria & Test Cases
The text was updated successfully, but these errors were encountered: