Open
Description
Rough outline of what work to do in what order:
- Type based completion for function arguments Completion snippet support #668
- Complete booleans, options, variant constructors Completion snippet support #668
- Type based completion for JSX props complete JSX prop values #667
- Support snippets in completion items Completion snippet support #668
- Complete polyvariants Complete polyvariants #669
- Complete record construction Nested expression completion #682
- Complete tuples Completion snippet support #668
- Complete nested expressions when constructing values Nested expression completion #682
- Complete patterns in switches Initial pattern completion #670
- Complete patterns when destructing Initial pattern completion #670
- Expand completion option items when appropriate.
Some(_)
->Some(true)
andSome(false)
for example expand options in typed expr/pattern completion #690 - Piggy back on
Ppat_any
(_
) to trigger completion Let ppat_any trigger completion in patterns #692 - Support inline records in completion support completing in/through inline records in variant payloads #695
- Handle optional record fields Handle optional fields in completion #691
- Complete functions (insert empty function) complete function snippets #701
- Complete lowercase jsx props too typed expression completion for lowercase JSX tags #702
- Complete using type annotations [WIP] Annotated completions #711
- "Seen idents" for more patterns
- Leverage "filterText" to ensure module names aren't included when filtering completion list (unless only searching for modules)
- Do not add "any" when inserting variant payloads in expressions
Things to figure out
-
Qualify JSX V3 constructorsNot doing this, let people upgrade to jsx v4 to fix it - Fix
insertText
not being used unless there's snippet support - Figure out more instances where we want to do typed expr or pattern completion
Future
- Figure out when to expand options in JSX props (read more in description of complete JSX prop values #667). Will need to parse the React component
make
function and look whether prop is optional or not.
Metadata
Metadata
Assignees
Labels
No labels