Okay, so I was scrolling through this because that's what I like to do with my free time, and I noticed that the stuff in that file doesn't always exactly match the outputs of Showdown!'s /ds command. For example, /ds automatically excludes CAP Pokemon (and Missingno., no idea why it's even there in the first place), includes pre-evolution moves (it says Butterfree learns iron defense even though the learnsets file says otherwise), and includes moves only learned from sketch. What are all of those exceptions or adjustments that /ds makes after reading that file? Or does it not read that file at all and get its information from somewhere else?
learnsets.jsis basically a dump of the list of moves that a given Pokémon be taught and how and in which generation(s). However Pokémon can have access to moves that they can't be taught directly, either via learning from a prior evolution, being hatched from an egg with a specific egg move, or from an event distribution, and in the case of Smeargle, by using the Sketch move in battle, although in the case of being hatched from an egg, some of those also have entries in
/dscommand takes all of these things into account when searching for matching Pokémon, and even makes sure that the moves are compatible (i.e. not mixing moves from, say, two different events).
Unfortunately you can't search both CAP and standard Pokémon at the same time.