wfxr/code-minimap

Smart identation, keywords.

Shuraken007 opened this issue · 0 comments

Hello, I tried to use vim plugin and founded, that usefull information is lost with compression.

Here is some structure block in file:
image
image

vscode minimap:
image

code-minimap with compression 1:1
image

compression: H:0.25; V:0.5
image

really - this block not recognizable, and this kills 90% of minimap sense I think.

Block is worser and worser recognizable with more compression.

I suggest smart identiation blocks rendering.

  • Don't compress/remove start / end block
    Try to add block start on first place of block start
    and block end on last place of block end.

I mean
start:
image
End:
image

Also first / second level identation should have fixed shift, not depending on compression. As example 2 dots, not one or zero.
here is one as example, and it's not recognizable.
image

The aim is to quickly recognize first / second identation level structures / functions / classes / functions, defined in classes.

Does it possible to remove newlines between blocks? (suppose that not?).

Also probably it's would be good to add some marks by keywords?
As example: shift all output on one symbol. And use free column for marks.
We pass some dictionary to program: {'class': 'c', 'function': 'f'}, e.t.c.
And you add this marks at first free column.
Probably some patterns for structures ? like {'{' : "\w+ = {", '}': "}"}

image

Also it would be good to add some custom symbols for fixed line numbers.
Smth like
{bookmark_glyph: [129, 160, 569], breakpoint_glyph: [69, 129, 489]
where bookmark_glyph, breakpoint_glyph are utf-8 font glyphs
And you added this glyphs for specifief lines numbers, not compressiong them.