diff --git a/internal/buffer/buffer.go b/internal/buffer/buffer.go index 0ad09a7e..a89edc99 100644 --- a/internal/buffer/buffer.go +++ b/internal/buffer/buffer.go @@ -9,6 +9,7 @@ import ( "io/ioutil" "log" "os" + "path" "path/filepath" "strconv" "strings" @@ -363,13 +364,17 @@ func (b *Buffer) Fini() { // GetName returns the name that should be displayed in the statusline // for this buffer func (b *Buffer) GetName() string { - if b.name == "" { + name := b.name + if name == "" { if b.Path == "" { return "No name" } - return b.Path + name = b.Path } - return b.name + if b.Settings["basename"].(bool) { + return path.Base(name) + } + return name } //SetName changes the name for this buffer diff --git a/internal/display/statusline.go b/internal/display/statusline.go index c55be988..c84215db 100644 --- a/internal/display/statusline.go +++ b/internal/display/statusline.go @@ -3,7 +3,6 @@ package display import ( "bytes" "fmt" - "path" "regexp" "strconv" "strings" @@ -32,9 +31,6 @@ type StatusLine struct { var statusInfo = map[string]func(*buffer.Buffer) string{ "filename": func(b *buffer.Buffer) string { - if b.Settings["basename"].(bool) { - return path.Base(b.GetName()) - } return b.GetName() }, "line": func(b *buffer.Buffer) string { diff --git a/runtime/help/options.md b/runtime/help/options.md index 6ce5f4be..709bd5da 100644 --- a/runtime/help/options.md +++ b/runtime/help/options.md @@ -44,8 +44,8 @@ Here are the available options: default value: `true` -* `basename`: in the infobar, show only the basename of the file being edited - rather than the full path. +* `basename`: in the infobar and tabbar, show only the basename of the file + being edited rather than the full path. default value: `false`