There are some things that I think should first be addressed.
Filetype detection. I've started on this in my fork, but I haven't gotten it perfect yet.
Iron out some bugs. There are some odd bugs that show up when certain syntax is involved. I can find some files in the Perl 6 test suite which are prone to trigger it. What happens is that the highlighting will look completely off until the cursor travels over the element that's causing the trouble. A related problem is that doing anything other then scrolling line-by-line from the beginning of the file can screw up the highlighting. This includes using pageup/pagedown a lot, as well as opening the file some screenfuls down from the beginning. I /think/ this can be fixed, because when I first started working on the Pod highlighting this happened a lot, but now I can start anywhere in a Pod file and hit pageup/down at will without screwing up the highlighting.
Improve performance. Some tradeoffs and/or cleverness need to be employed to make it faster. It might also make sense to make more parts of the highlighting optional.
You can see for yourself by opening a relatively long Perl 6 file and trying to scroll. The CPU usage will be higher than when scrolling through e.g. Perl 5 code and it might even be noticably slower (it is on my 1.7GHz Pentium M laptop). This is of course due the sheer amount and complexity of the regular expressions found in the syntax file. It's certainly the longest one I know of. :)
For a crude example of this, try opening t/spec/S02-literals/quoting.t from the pugs repo and doing ":let perl6_extended_q=1" and then ":set ft=perl6". It takes a few seconds just to load on my machine.
So you're going strictly off of user perception right now, it sounds like. Are there any metrics we can work on so that when we work on speeding it up we can quantify it?
mauke has been maintaining a version of perl.vim for a few years. If you are the official maintainer now, I believe you should at least use his latest version as a base. It's much better than the one currently provided by vim. See http://www.vim.org/scripts/script.php?script_id=2300 [vim.org]
In addition, I noticed a perl6.vim in your repository. It seems to be an outdated version of the syntax file in the pugs repository. That file has seen vast amounts of improvements (by me) since then. You can find it at http://svn.pugscode.org/pugs/util/perl6.vim [pugscode.org]
There are some things that I think should first be addressed.
Filetype detection. I've started on this in my fork, but I haven't gotten it perfect yet.
Iron out some bugs. There are some odd bugs that show up when certain syntax is involved. I can find some files in the Perl 6 test suite which are prone to trigger it. What happens is that the highlighting will look completely off until the cursor travels over the element that's causing the trouble. A related problem is that doing anything other then scrolling line-by-line from the beginning of the file can screw up the highlighting. This includes using pageup/pagedown a lot, as well as opening the file some screenfuls down from the beginning. I /think/ this can be fixed, because when I first started working on the Pod highlighting this happened a lot, but now I can start anywhere in a Pod file and hit pageup/down at will without screwing up the highlighting.
Improve performance. Some tradeoffs and/or cleverness need to be employed to make it faster. It might also make sense to make more parts of the highlighting optional.
How does one measure performance? Why do you say performance needs to be improved?
You can see for yourself by opening a relatively long Perl 6 file and trying to scroll. The CPU usage will be higher than when scrolling through e.g. Perl 5 code and it might even be noticably slower (it is on my 1.7GHz Pentium M laptop). This is of course due the sheer amount and complexity of the regular expressions found in the syntax file. It's certainly the longest one I know of. :)
For a crude example of this, try opening t/spec/S02-literals/quoting.t from the pugs repo and doing ":let perl6_extended_q=1" and then ":set ft=perl6". It takes a few seconds just to load on my machine.
So you're going strictly off of user perception right now, it sounds like. Are there any metrics we can work on so that when we work on speeding it up we can quantify it?
I don't know of any, but it would be nice to have some.
We can use this for now:
That's fantastic, hinrik. Thank you very much.