Tente mudar:
foldingStartMarker = '/\*|^#|^\*|^\b|^\.';
Para:
foldingStartMarker = '/\*|^#|^\*|^\b|^\s*\.';
Isso permite um número arbitrário de espaços entre o início da linha e o primeiro .
para o ponto inicial de dobra.
O ponto final é mais complicado. Receio não ter uma boa expressão de ponto final para você. Parece que é semelhante ao python, onde os blocos são agrupados por nível de recuo. Gostaria de saber se o pacote Python poderia ajudar aqui? Eles iniciam e terminam expressões de dobra para Python são:
foldingStartMarker = '(/\*|\{|\()';
foldingStopMarker = '(\*/|\}|\))';
Não tenho certeza se isso funcionaria para você ou não.