2 problems about Contextual kerning and positional alternates

I’m making an abugida font which the vowels’ width is 0. I’m trying to adjust the kerning of the lowercase L after the vowels and a few other special letters. But the Contextual kerning code doesn’t work.
pos l [a e i o u] [n m c_h.liga]' -40;.
After checking this many times in InDesign it still did.

I switched calt , made three new glyphs, n.001 m.001 c_h.liga.001.
sub l [a e i o u] [n m c_h.liga]' by [n.001 m.001 c_h.liga.001 ]
But there is a new problem: m and n are valid, but not c_h.liga.

—update—

I check fonts in InDesign but some of the calt feature didn’t work. just like
there is my code:

sub @AA' @AA by @AA2;

lookup INITIAL {
ignore sub @AllLetters @AA';

sub @AA' by a.init @AA;
} INITIAL;

sub a.init @AA s' by s.001;
sub l @AA [m n]' by [m.001 n.001];

in Glyphs, every thing goes well, in InDesign, the INITIAL part didn’t work and the other parts works.
This has been tormenting me for two days. Please help !!!

sub @AA' by a.init @AA; is a one-to-many substitution, which is supported in InDesign only if you switch to the world-ready composer.

sorry, I have switched to the world-ready composer. but still no works…