Currently we set intellisense node through the client as ctx.setSmartCellEditorIntellisenseNode(node, cookie), but if there are multiple clients we run this for each of them, which doesn't really make sense. I added a new option to the smart cell init configuration, so we can do {:ok, ctx, [editor: [..., intellisense_node: ...]]}, which sets the initial value. Then, it can be updated with a new API reconfigure_smart_cell(ctx, editor: [intellisense_node: ...]).
I also added an option to programmatically set the smart cell source with reconfigure_smart_cell(ctx, editor: [source: ...]).
Currently we set intellisense node through the client as
ctx.setSmartCellEditorIntellisenseNode(node, cookie)
, but if there are multiple clients we run this for each of them, which doesn't really make sense. I added a new option to the smart cell init configuration, so we can do{:ok, ctx, [editor: [..., intellisense_node: ...]]}
, which sets the initial value. Then, it can be updated with a new APIreconfigure_smart_cell(ctx, editor: [intellisense_node: ...])
.I also added an option to programmatically set the smart cell source with
reconfigure_smart_cell(ctx, editor: [source: ...])
.