Complete src/ExhaustiveSwitch.res 8:24
XXX Not found!
Completable: CexhaustiveSwitch Value[withSomeVarian]
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
ContextPath Value[withSomeVarian]
Path withSomeVarian
[{
    "label": "withSomeVariant",
    "kind": 12,
    "tags": [],
    "detail": "someVariant",
    "documentation": {"kind": "markdown", "value": "```rescript\ntype someVariant = One | Two | Three(option<bool>)\n```"}
  }, {
    "label": "withSomeVariant (exhaustive switch)",
    "kind": 15,
    "tags": [],
    "detail": "insert exhaustive switch for value",
    "documentation": null,
    "filterText": "withSomeVariant",
    "insertText": "withSomeVariant {\n   | One => ${1:failwith(\"todo\")}\n   | Two => ${2:failwith(\"todo\")}\n   | Three(_) => ${3:failwith(\"todo\")}\n   }",
    "insertTextFormat": 2
  }]

Complete src/ExhaustiveSwitch.res 11:21
XXX Not found!
Completable: CexhaustiveSwitch Value[withSomePol]
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
ContextPath Value[withSomePol]
Path withSomePol
[{
    "label": "withSomePoly",
    "kind": 12,
    "tags": [],
    "detail": "somePolyVariant",
    "documentation": null
  }, {
    "label": "withSomePoly (exhaustive switch)",
    "kind": 15,
    "tags": [],
    "detail": "insert exhaustive switch for value",
    "documentation": null,
    "filterText": "withSomePoly",
    "insertText": "withSomePoly {\n   | #\"switch\" => ${1:failwith(\"todo\")}\n   | #one => ${2:failwith(\"todo\")}\n   | #three(_) => ${3:failwith(\"todo\")}\n   | #two => ${4:failwith(\"todo\")}\n   | #\"exotic ident\" => ${5:failwith(\"todo\")}\n   }",
    "insertTextFormat": 2
  }]

Complete src/ExhaustiveSwitch.res 14:17
XXX Not found!
Completable: CexhaustiveSwitch Value[someBoo]
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
ContextPath Value[someBoo]
Path someBoo
[{
    "label": "someBool",
    "kind": 12,
    "tags": [],
    "detail": "bool",
    "documentation": null
  }, {
    "label": "someBool (exhaustive switch)",
    "kind": 15,
    "tags": [],
    "detail": "insert exhaustive switch for value",
    "documentation": null,
    "filterText": "someBool",
    "insertText": "someBool {\n   | true => ${1:failwith(\"todo\")}\n   | false => ${2:failwith(\"todo\")}\n   }",
    "insertTextFormat": 2
  }]

Complete src/ExhaustiveSwitch.res 17:16
XXX Not found!
Completable: CexhaustiveSwitch Value[someOp]
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
ContextPath Value[someOp]
Path someOp
[{
    "label": "someOpt",
    "kind": 12,
    "tags": [],
    "detail": "option<bool>",
    "documentation": null
  }, {
    "label": "someOpt (exhaustive switch)",
    "kind": 15,
    "tags": [],
    "detail": "insert exhaustive switch for value",
    "documentation": null,
    "filterText": "someOpt",
    "insertText": "someOpt {\n   | Some($1) => ${2:failwith(\"todo\")}\n   | None => ${3:failwith(\"todo\")}\n   }",
    "insertTextFormat": 2
  }]

Xform src/ExhaustiveSwitch.res 30:13
posCursor:[30:13] posNoWhite:[30:12] Found expr:[30:3->30:17]
posCursor:[30:13] posNoWhite:[30:12] Found expr:[30:10->30:17]
Completable: Cpath Value[x]->
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
ContextPath Value[x]->
ContextPath Value[x]
Path x
CPPipe env:ExhaustiveSwitch
CPPipe type path:rcrd
CPPipe pathFromEnv: found:true

Xform src/ExhaustiveSwitch.res start: 33:3, end: 33:10
found selection: [33:3->33:10] -> [33:6->33:10]
XXX Not found!
Completable: Cpath Value[getV](Nolabel)
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
ContextPath Value[getV](Nolabel)
ContextPath Value[getV]
Path getV
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
Hit: Exhaustive switch

TextDocumentEdit: ExhaustiveSwitch.res
{"start": {"line": 33, "character": 3}, "end": {"line": 33, "character": 10}}
newText:
   <--here
   switch x->getV {
   | One => failwith("TODO")
   | Two => failwith("TODO")
   | Three(_) => failwith("TODO")
   }

Xform src/ExhaustiveSwitch.res 36:4
XXX Not found!
Completable: Cpath Value[vvv]
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
ContextPath Value[vvv]
Path vvv
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
Hit: Exhaustive switch

TextDocumentEdit: ExhaustiveSwitch.res
{"start": {"line": 36, "character": 3}, "end": {"line": 36, "character": 6}}
newText:
   <--here
   switch vvv {
   | None => failwith("TODO")
   | Some(_) => failwith("TODO")
   | Some(One) => failwith("TODO")
   | Some(Two) => failwith("TODO")
   | Some(Three(_)) => failwith("TODO")
   }


Complete src/ExhaustiveSwitch.res 40:24
XXX Not found!
Completable: CexhaustiveSwitch Value[withSomeVarian]
Package opens Pervasives.JsxModules.place holder
Resolved opens 1 pervasives
ContextPath Value[withSomeVarian]
Path withSomeVarian
[{
    "label": "withSomeVariant",
    "kind": 12,
    "tags": [],
    "detail": "someVariant",
    "documentation": {"kind": "markdown", "value": "```rescript\ntype someVariant = One | Two | Three(option<bool>)\n```"}
  }, {
    "label": "withSomeVariant (exhaustive switch)",
    "kind": 15,
    "tags": [],
    "detail": "insert exhaustive switch for value",
    "documentation": null,
    "filterText": "withSomeVariant",
    "insertText": "withSomeVariant {\n   | One => ${1:%todo}\n   | Two => ${2:%todo}\n   | Three(_) => ${3:%todo}\n   }",
    "insertTextFormat": 2
  }]


