aboutsummaryrefslogtreecommitdiff
path: root/lua/config/statusline.lua
blob: aad6564b5d4d798071387638344a8344bbf6175c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
local function spell()
  if vim.o.spell then
    return "[SPELL]"
  end

  return ""
end

local function trailing_space()
  local trailing_space_pos = vim.b.trailing_whitespace_pos

  local msg = ""
  if #trailing_space_pos > 0 then
    -- Note that lua index is 1-based, not zero based!!!
    local line = trailing_space_pos[1][1]
    msg = string.format("[%d]trailing", line)
  end

  return msg
end

require("lualine").setup({
  options = {
    icons_enabled = true,
    theme = "auto",
    component_separators = { left = "", right = "" },
    section_separators = { left = "", right = "" },
    disabled_filetypes = {},
    always_divide_middle = true,
  },
  sections = {
    lualine_a = { "mode" },
    lualine_b = { "branch", "diff" },
    lualine_c = {
      {
        spell,
        color = "Cursor"
      },
      "filename"
    },
    lualine_x = {
      "encoding",
      {
        "fileformat",
        symbols = {
          unix = "unix",
          dos = "win",
          mac = "mac",
        },
      },
      "filetype",
    },
    lualine_y = { "progress" },
    lualine_z = {
      "location",
      {
        "diagnostics",
        sources = { "nvim_lsp" }
      },
      {
        trailing_space,
        color = "WarningMsg"
      }
    },
  },
  inactive_sections = {
    lualine_a = {},
    lualine_b = {},
    lualine_c = { "filename" },
    lualine_x = { "location" },
    lualine_y = {},
    lualine_z = {},
  },
  tabline = {},
  extensions = {'quickfix', 'fugitive'},
})