Add 'scrollbarchar' option (#2342)

This lets you specify a character that will get used for rendering the
scrollbar.

Co-authored-by: Zachary Yedidia <zyedidia@gmail.com>
This commit is contained in:
Christian Muehlhaeuser 2023-07-08 23:02:01 +02:00 committed by GitHub
parent 9593c2a720
commit ffa7f987b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 1 deletions

View File

@ -353,6 +353,9 @@ var DefaultGlobalOnlySettings = map[string]interface{}{
"multiopen": "tab",
"parsecursor": false,
"paste": false,
"savehistory": true,
"scrollbarchar": "|",
"sucmd": "sudo",
"pluginchannels": []string{"https://raw.githubusercontent.com/micro-editor/plugin-channel/master/channel.json"},
"pluginrepos": []string{},
"savehistory": true,

View File

@ -767,8 +767,14 @@ func (w *BufWindow) displayScrollBar() {
scrollBarStyle = style
}
scrollBarChar := config.GetGlobalOption("scrollbarchar").(string)
if util.CharacterCountInString(scrollBarChar) != 1 {
scrollBarChar = "|"
}
scrollBarRune := []rune(scrollBarChar)
for y := barstart; y < util.Min(barstart+barsize, w.Y+w.bufHeight); y++ {
screen.SetContent(scrollX, y, '|', nil, scrollBarStyle)
screen.SetContent(scrollX, y, scrollBarRune[0], nil, scrollBarStyle)
}
}
}

View File

@ -311,6 +311,10 @@ Here are the available options:
default value: `false`
* `scrollbarchar`: specifies the character used for displaying the scrollbar
default value: `|`
* `scrollmargin`: margin at which the view starts scrolling when the cursor
approaches the edge of the view.