wfxr / minimap.vim

📡 Blazing fast minimap / scrollbar for vim, powered by code-minimap written in Rust.
MIT License
1.19k stars 23 forks source link

Add visual borders to range using underline text for text above and last line of range #166

Closed pagerc closed 1 year ago

pagerc commented 2 years ago

Instead of highlighting currently visible range text, I'd like to have the currently visible range area underlined at the start and end to create a line border for the visible area.

Middle of file:

____________________
text
cursor text
text
____________________

Top of file:

cursor text
text
text
____________________

Bottom of file:

____________________
text
text
cursor text
ZNielsen commented 2 years ago

Would you mind sharing some more details on the feature request? I'm not sure I fully understand.

pagerc commented 2 years ago

It's to use horizontal rules to delineate the visible range instead of a highlight group for every line in the visible range.

If I set the current highlight group to underline the visible range, it draws a ton of underlines. I just want a horizontal rule before the visible area and at the end of the visible area. If I'm at the top of the file, I only need the bottom horizontal rule and if I'm at the bottom of the file, I only need the upper rule.

Because horizontal rules would eat a dedicate line, it should be possible to just apply the underline property to the line just above/outside the visible area and the last line of the visible area to fake horizontal rules of the currently visible content.

Does that clarify the intention?

ZNielsen commented 2 years ago

It does, thank you for the explanation.

Unfortunately, this does not mesh super well with how the minimap modes are implemented. It would probably be possible to use the first/last range lines in the table to apply the highlight group to. That's not going to be very high on my priority list, but that sounds like a super attainable PR if you wanted to take a crack at it!

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.