One of the important issues still open is “support for C# 6/7 syntax”. The thing is, Ammy needs to actually parse local project source files to run its’ own typing mechanism. We can’t reliably get types from generated assembly because Ammy compilation happens before the main compiler or even XAML compilation passes. Luckily, Nitra, the framework that Ammy is built on top of, has a C# parser that can be used for such purposes. It can parse C# files and even provide typed AST for top declarations. The only issue was that it only supported C# up to version 5. So any file, containing C# 6 or 7 features couldn’t be parsed, which resulted in unexpected errors in Ammy compilation.
So, I’ve started working on modern C# support, and with the huge help from VladD2, Nitra can now successfully parse new syntax. All of C# 6 syntax is supported, while 7 is only somewhat working. Things like pattern matching and local functions will still cause problems, but only if you have them near Attached Properties that you need. Hopefully, we will be able to finish C# 7 features soon.
Don’t forget yo update your Ammy packages to the new version. Especially if you had issues with locally defined Attached Properties or similar stuff.
By the way, check out Nitra, which is a really powerful tool for creating your own languages. If you have any questions, you can contact me directly on Gitter. Or you can join Nitra’s channel and ask VladD2 directly.