Closed vushu closed 2 years ago
It isn't trivial to add this feature and I think I need more time to make sure things are working properly, @WebFreak001 thanks for the feedback, should I maybe close this PR and maybe create a PR later on?
Thank you so much for improving DCD!
but not for string type since DSymbol doesn't store string which i find peculiar, but it needs some investigation.
Could the reason rather be that D's pre-defined string-types are defined in druntime's object.d
as
alias string = immutable(char)[];
alias wstring = immutable(wchar)[];
alias dstring = immutable(dchar)[];
meaning we only need to support arrays in order to make D string
s work?
@nordlow you welcome! I see UFCS is a feature people request for 9 years ago, so it's taken long time, before we got a little bit of UFCS completion into DCD.
I hope we will reach a point where we fully support completion for UFCS.
About object.d, I don't know, could be, but I will investigate it.
Otherwise, LGTM.
Wow that's pretty impressive, thanks for your work
I tested it, so far it works very nicely, except for generics, but that's to be expected for now
One issue:
Label detail information is lost
Function should be displayed this way (serve-d)
Same thing for when inside the parameters, i'll try to investigate on serve-d side
@ryuukk thanks! Yeah It still needs a lot of work :), I probably need to fix the labels, before going to do function chaining.
Why the closing?
I closed it, since there are things I realized was missing and it proably needs more work.
I have added some UFCS function chaining. meaning you can get UFCS completion for functions based on it's return type. This only works for for concrete types: struct, classes, int, bool, long, float, etc, but not for string type since DSymbol doesn't store string which i find peculiar, but it needs some investigation.
@nordlow do you mind looking at it when you have time? Thanks
@WebFreak001 do you also mind looking at it and elaborate what you meant earlier thanks. :)