summaryrefslogtreecommitdiff
path: root/pkgs/old-neovim/config/lua/autocommands.lua
blob: 85a58c62aa85bd7b0b5a8188d4dc01715944bdab (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
-- Autocommands

-- Use relative line number in normal mode and absolute in insert mode
vim.opt.number = true
local numbertoggle = vim.api.nvim_create_augroup("numbertoggle", {})
vim.api.nvim_create_autocmd(
  { "BufEnter", "FocusGained", "InsertLeave", "WinEnter", "CmdlineLeave" },
  {
     group = numbertoggle,
     callback = function()
       if vim.opt.number and vim.api.nvim_get_mode() ~= "i" then
          vim.opt.relativenumber = true
       end
     end,
  }
)

vim.api.nvim_create_autocmd(
  { "BufLeave", "FocusLost", "InsertEnter", "WinLeave", "CmdlineEnter" },
  {
     group = numbertoggle,
     callback = function()
       if vim.opt.number then
          vim.opt.relativenumber = false
          vim.cmd("redraw")
       end
     end,
  }
)

 -- start terminal in insert mode
vim.api.nvim_create_autocmd("TermOpen", {
  callback = function()
    vim.cmd "startinsert!"
  end,
})