neovimhaskell/haskell-vim

Quasiquotation not recognized if function qualified

moll opened this issue · 9 comments

moll commented

Hey,

I noticed quasiquotations are not highlighted properly if their function is qualified. For example:

usage = [Docopt.docopt|
Usage: foo [options] <file>
|]

Cheers and thanks in advance for fixing this!

Good catch! I've pushed a commit, hopefully this fixes your issues.

moll commented

Thanks, it did!

Looking at the regexp however, I'm suspecting it might break again should more exotic characters appear in the quoter identifier — how about making it more liberal and taking any valid identifier character?

Let's cross that bridge when we get there. I'm somewhat reluctant to be too lax about some of the regexes since things are very likely to break in unexpected ways.

moll commented

Kay. Though I do recommend tests for ensuring stuff doesn't break. ;-)

If you know a good way to test VimL: patches welcome!

moll commented

For an example how to test active logic, please see my Node.vim: https://github.com/moll/vim-node. I haven't done any testing on syntax, but worst case I think one could just get the syntax group under a cursor and assert on that.

If you are willing to set up a minimal test environment I'd be more than happy to accept your help. "Patches welcome" wasn't a joke, I appreciate any help I can get.

moll commented

Of course. My own OSS responsibilities take precedence right now, but once I end up doing Vim syntax work and set up a harness, I'll be sure to let you know or copy-paste some here. :)

You are awesome, thanks in advance :)