tmhedberg/SimpylFold

misfold with multiline string

Closed this issue · 1 comments

    @FirstArgumentIsPodcastURL
    def episodes(self, url=None):
        output = []
        for podcast in self._model.get_podcasts():
            podcast_printed = False
            if url is None or podcast.url == url:
                episodes = self._episodesList(podcast)
                episodes = u'\n      '.join(episodes)
                output.append(u"""
    Episodes from %s:
      %s
""" % (podcast.url, episodes))

        self._pager(u'\n'.join(output))
        return True

this method is within a class, the class fold is broken till this line.

Acknowledged. This is one of many "unusual" cases that the plugin doesn't handle because it relies on indentation cues to decide where folds should begin and end rather than actually parsing the Python grammar. Writing a proper parser in Vim's scripting language isn't realistic, so cases such as this one will always exist. In the interest of keeping the code simple, I don't intend to address them unless they are very common.