As I recently tried to test (=mess around with) some advanced D templating techniques I found several issues regarding the completion..and fixed plenty of ‘em:
- When getting unfiltered method overloads, it somehow handled rather the method’s base type than the actual method.. fixed that.
- Do not show ufcs items for void’s
- Implemented smarter handling of type tuples.
- Reworked parameter-argument test for method symbol resolution which is used for parameter insight
- Reworked node scan + created tests for it. Scans will perform faster & more consistent now.
- On UFCS completion, the first argument will be skipped in the param insight
- Disabled display of initializers in completion lists & restricted node string length to 40 chars.
- Fixed nested comment highlighting.
- Improved ufcs caching & displaying performance. Removed possible source of mem leaks by using WeakReferences.
I also found an issue with an infinite loop that might occur somewhere..I recently wasn’t able to reproduce this issue, so in the case you find a consistent trigger for >=100% CPU usage, please tell me and I try to fix it asap!