Yes it is an attractive option. However it would mean that the code tree would reflect not the content itself but its decoration (highlighting). And while indeed this approach would cover all languages it would be limited by the nature with no room for extendibility.
Instead of this, I wanted to give a completely working infrastructure with the default mapping that anyone could integrate with a custom tree building algorithm even for the content that has no associated highlighting.
The plugin comes with:
Python mapper. Very simple (~70 lines) indent based mapper that deliberately limits mapping depth to 2-levels of nesting. While syntax highlight would go all the way, producing extra mapping noise.
Text mapper. A sample for building a pure content based mapper, which has no associated highlighting. This mapper builds the map of text lines. Similarly one can adjust it to map the paragraphs or logical sections (header vs footer)
C# mapper. A comprehensive mapping that goes beyond regex analysis and relies on true Type System analysis (Roslyn). This mapper as an adapter only (integration layer) and will fully function only when I release CS-Script plugin (in a week or so). This plugin is a port of Notepad++ plugin for C# intellisense and C# script execution.
Anyway, ideally I see CodeMap as a shell, which is used by others to integrate other custom (e.g. domain specific) mappers. One of the best examples of which would be a universal mapper based on your idea - "the symbols as parsed by ST" with a possibility to switch to dedicated mappers via settings when required.
I would be happy to include any mappers contributed by the community directly to the package.
A mapper is an incredibly simple generic Python routine that takes a file path as an input, analyeses the file content and returns a map text where each line represents a map item in the following format:
<item title>:<item position in source code>
This is the mapper sample: https://github.com/oleg-shilo/sublime-codemap/blob/master/custom_mappers/code_map.txt.py