So I was thinking about what to do next. From my point of view, there are 3 (or 4) areas that need improvement before I consider U++ "perfect":
1. Improve unicode support
That means a) add ability to handle complete unicode encoding, b) start using layout engines for more exotic languages, like right-to-left.
2. Improve Assist
This mostly means to implement expression parsing / type evaluation and then start supporting newer C++ language features.
3. Implement Dwarf/Linux debugger
Win32 clang can produce dwarf debug info as well as of it is produced by linux toolchains. Supporting dwarf in internal debugger would bring support to U++ types in linux and probably improve the quality of debugging in Win32 clang as well.
Now the simplest thing in the list is 1a, which IMO can be translated to "change wchar to 32 bits". I plan to start working on it today, but before I do:
Can you see any problems with this step? (Apart from implementation). Is any of your code principally bound to 16 bit wchar?
I believe that only places where this matters is when calling Win32 API. And that can be fixed easily (there are/will be UTF16/UTF32 functions).
2. Improve Assist
This mostly means to implement expression parsing / type evaluation and then start supporting newer C++ language features.
The thing I personally would like to see, is some information when and why (file name, line) code assist stopped parsing source code.
It happened many times that at some point code completion stopped working and I had no time to undo the changes to check what part of code was the cause.
2. Improve Assist
This mostly means to implement expression parsing / type evaluation and then start supporting newer C++ language features.
The thing I personally would like to see, is some information when and why (file name, line) code assist stopped parsing source code.
It happened many times that at some point code completion stopped working and I had no time to undo the changes to check what part of code was the cause.
If you activate Verbose mode, some errors are printed on console during "rescan all".