diff --git a/cmd/micro/tab.go b/cmd/micro/tab.go index ddf8efd7..d4d4d498 100644 --- a/cmd/micro/tab.go +++ b/cmd/micro/tab.go @@ -31,6 +31,9 @@ func CurView() *View { } func DisplayTabs() { + if len(tabs) <= 1 { + return + } str := "" for i, t := range tabs { if i == curTab { diff --git a/cmd/micro/view.go b/cmd/micro/view.go index 612dd6a4..6ecce7c9 100644 --- a/cmd/micro/view.go +++ b/cmd/micro/view.go @@ -99,7 +99,7 @@ func NewView(buf *Buffer) *View { func NewViewWidthHeight(buf *Buffer, w, h int) *View { v := new(View) - v.x, v.y = 0, 1 + v.x, v.y = 0, 0 v.widthPercent = w v.heightPercent = h @@ -123,8 +123,11 @@ func NewViewWidthHeight(buf *Buffer, w, h int) *View { func (v *View) Resize(w, h int) { // Always include 1 line for the command line at the bottom h-- - // Include one line for the tab bar at the top - h-- + if len(tabs) > 1 { + // Include one line for the tab bar at the top + h-- + v.y = 1 + } v.width = int(float32(w) * float32(v.widthPercent) / 100) // We subtract 1 for the statusline v.height = int(float32(h) * float32(v.heightPercent) / 100) diff --git a/runtime/plugins/go/go.lua b/runtime/plugins/go/go.lua index 6ea14cd0..094fb653 100644 --- a/runtime/plugins/go/go.lua +++ b/runtime/plugins/go/go.lua @@ -9,7 +9,7 @@ MakeCommand("goimports", "go_goimports") MakeCommand("gofmt", "go_gofmt") function go_onSave() - if views[mainView+1].Buf.FileType == "Go" then + if CurView().Buf.FileType == "Go" then if GetOption("goimports") then go_goimports() elseif GetOption("gofmt") then @@ -19,21 +19,21 @@ function go_onSave() end function go_gofmt() - views[mainView+1]:Save() - local handle = io.popen("gofmt -w " .. views[mainView+1].Buf.Path) + CurView():Save() + local handle = io.popen("gofmt -w " .. CurView().Buf.Path) local result = handle:read("*a") handle:close() - views[mainView+1]:ReOpen() + CurView():ReOpen() end function go_goimports() - views[mainView+1]:Save() - local handle = io.popen("goimports -w " .. views[mainView+1].Buf.Path) + CurView():Save() + local handle = io.popen("goimports -w " .. CurView().Buf.Path) local result = go_split(handle:read("*a"), ":") handle:close() - views[mainView+1]:ReOpen() + CurView():ReOpen() end function go_split(str, sep) diff --git a/runtime/plugins/linter/linter.lua b/runtime/plugins/linter/linter.lua index 9767da5d..be7fe76f 100644 --- a/runtime/plugins/linter/linter.lua +++ b/runtime/plugins/linter/linter.lua @@ -4,15 +4,15 @@ end function linter_onSave() if GetOption("linter") then - local ft = views[mainView+1].Buf.FileType - local file = views[mainView+1].Buf.Path + local ft = CurView().Buf.FileType + local file = CurView().Buf.Path local devnull = "/dev/null" if OS == "windows" then devnull = "NUL" end if ft == "Go" then linter_lint("gobuild", "go build -o " .. devnull, "%f:%l: %m") - linter_lint("golint", "golint " .. views[mainView+1].Buf.Path, "%f:%l:%d+: %m") + linter_lint("golint", "golint " .. CurView().Buf.Path, "%f:%l:%d+: %m") elseif ft == "Lua" then linter_lint("luacheck", "luacheck --no-color " .. file, "%f:%l:%d+: %m") elseif ft == "Python" then @@ -27,12 +27,12 @@ function linter_onSave() linter_lint("jshint", "jshint " .. file, "%f: line %l,.+, %m") end else - views[mainView+1]:ClearAllGutterMessages() + CurView():ClearAllGutterMessages() end end function linter_lint(linter, cmd, errorformat) - views[mainView+1]:ClearGutterMessages(linter) + CurView():ClearGutterMessages(linter) local handle = io.popen("(" .. cmd .. ")" .. " 2>&1") local lines = linter_split(handle:read("*a"), "\n") @@ -44,8 +44,8 @@ function linter_lint(linter, cmd, errorformat) line = line:match("^%s*(.+)%s*$") if string.find(line, regex) then local file, line, msg = string.match(line, regex) - if linter_basename(views[mainView+1].Buf.Path) == linter_basename(file) then - views[mainView+1]:GutterMessage(linter, tonumber(line), msg, 2) + if linter_basename(CurView().Buf.Path) == linter_basename(file) then + CurView():GutterMessage(linter, tonumber(line), msg, 2) end end end