echarts.activate: extension provides completion when matched case occur
echarts.deactivate: extension never show completion
PS: From 0.1.2, extension won't provide completion at first, because JS file may not import ECharts. User need to execute echarts.activate at command panel.
Example
Problems
~~All options information were received by ajax, useless when there were no Internet.~~ Cache response data (Update: json file store at local)
~~Due to Apache server response speed, sometime connection timeout.~~(Trying Netlify, but JSON files are so big and may have other known issues)(Update: json file store at local)
~~Use closest node to determine CompletionItem which sometime is inaccurate.~~ Solution: Use acorn to generate AST and find closest node by using acorn-walk
~~Don't support completion when object inside object~~ Find out all ancestors option
All options must be in one root object (There is nothing I can do about it, it has to be :man_shrugging:)
Suggestion
For the purpose of functionnality, I strongly recommend that putting ECharts option object at seperated js file, and put options in same object.
(Actually, this will reduce losts of work, make my life much easy :stuck_out_tongue_winking_eye:)
I want to thanks David Sherret for doing an amazing project ts-ast-viewer. I have took the core function getDescendantAtRange to this project which can find out which node the cursor in.
TODO
[x] Downgrade
[x] Optimization
[x] Object inside Object ex. title.textStyle
[ ] Replace Apache api (WIP, trying Netlify and reduce json file size)
[x] base on option value type to provide helpful snippet text.