package main
import (
+ "path"
"strconv"
)
// Display draws the statusline to the screen
func (sline *Statusline) Display() {
+ if messenger.hasPrompt && !GetGlobalOption("infobar").(bool) {
+ return
+ }
+
// We'll draw the line at the lowest line in the view
y := sline.view.Height + sline.view.y
file := sline.view.Buf.GetName()
+ if sline.view.Buf.Settings["basename"].(bool) {
+ file = path.Base(file)
+ }
// If the buffer is dirty (has been modified) write a little '+'
if sline.view.Buf.Modified() {
file += " " + sline.view.Buf.Settings["fileformat"].(string)
rightText := ""
- if len(kmenuBinding) > 0 {
- if globalSettings["keymenu"].(bool) {
- rightText += kmenuBinding + ": hide bindings"
- } else {
- rightText += kmenuBinding + ": show bindings"
- }
- }
- if len(helpBinding) > 0 {
+ if !sline.view.Buf.Settings["hidehelp"].(bool) {
if len(kmenuBinding) > 0 {
- rightText += ", "
+ if globalSettings["keymenu"].(bool) {
+ rightText += kmenuBinding + ": hide bindings"
+ } else {
+ rightText += kmenuBinding + ": show bindings"
+ }
}
- if sline.view.Type == vtHelp {
- rightText += helpBinding + ": close help"
- } else {
- rightText += helpBinding + ": open help"
+ if len(helpBinding) > 0 {
+ if len(kmenuBinding) > 0 {
+ rightText += ", "
+ }
+ if sline.view.Type == vtHelp {
+ rightText += helpBinding + ": close help"
+ } else {
+ rightText += helpBinding + ": open help"
+ }
}
+ rightText += " "
}
- rightText += " "
statusLineStyle := defStyle.Reverse(true)
if style, ok := colorscheme["statusline"]; ok {
// Maybe there is a unicode filename?
fileRunes := []rune(file)
+
+ if sline.view.Type == vtTerm {
+ fileRunes = []rune(sline.view.term.title)
+ rightText = ""
+ }
+
viewX := sline.view.x
if viewX != 0 {
screen.SetContent(viewX, y, ' ', nil, statusLineStyle)