Improve content assist - phase 2
Improve content assist processor to provide better/more relevant suggestions
Use cases for proposing:
- add more meaningful template text when proposing HTML tags
- fields/functions of structured types after a variable/constant etc. + "."
- fields/functions of structured types after a function call + "."
- component operations, e.g. MyComp.create/done/stop etc.
- port operations, e.g. MyPort.start/stop/send/receive etc.
- timer operations, e.g. MyTimer.start/stop/read/running/timeout
- all/any timer/component/port operations
- testcases after 'execute('
- verdicts after 'setverdict('
- in doc comments, 'deprecated' after '@status'
- for 'create', find out the context (component or constructor) and provide the correct proposals
-
encoding related proposals
- encoding types
- fields after 'variant('
- encoding attributes
-
after class 'extends' propose potential base classes considering the following:
- don't propose the class itself
- don't propose classes that are already listed in the 'extends' list
- if a non-trait class is already listed, only propose trait classes
- don't propose final classes that cannot be extended
- single assignments, (eg. x := )
Generic tasks:
- if the user started to type and asks for proposals, the proposals could contain symbols from any known modules from the project (also the import statement could be added automatically)