summary refs log tree commit diff
path: root/.vim/plugin/auto.lua
blob: ab4e15975247e826a610897ce53e617777caddfa (plain) (blame)
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
local augroup = vim.api.nvim_create_augroup
local autocmd = vim.api.nvim_create_autocmd

do
  local group = augroup('EasyQuit', { clear = true })
  autocmd('FileType', {
    pattern = {
      'help',
      'qf',
      'dap-float',
      'gitsigns-blame',
      'git',
    },
    callback = function()
      vim.keymap.set('n', 'q', '<cmd>close<cr>', { silent = true, buffer = 0 })
    end,
    group = group,
  })
  autocmd('FileType', {
    pattern = { 'gitgraph' },
    callback = function()
      vim.keymap.set('n', 'q', '<cmd>bdel!<cr>', { silent = true, buffer = 0 })
    end,
    group = group,
  })
  autocmd('FileType', {
    pattern = { 'DiffviewFiles' },
    callback = function()
      vim.keymap.set('n', 'q', '<cmd>tabclose<cr>', { silent = true, buffer = 0 })
    end,
    group = group,
  })
  autocmd('TermClose', {
    pattern = { 'term://*' },
    command = [[ if !v:event.status | exe 'bdelete! '..expand('<abuf>') | endif ]],
    group = group,
  })
end