summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/function.lua
blob: d0327fd683c40f3085ca0257ba86b538c72b6735 (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
--------------------------------------------------------------------------
-- tmux / nvim pane unification

function navigate_nvim(direction)
    vim.cmd('wincmd ' .. direction)
end

function navigate_l_nvim() navigate_nvim('h') end
function navigate_r_nvim() navigate_nvim('l') end
function navigate_u_nvim() navigate_nvim('k') end
function navigate_d_nvim() navigate_nvim('j') end

tmux_map = { ['h'] = 'L', ['j'] = 'D', ['k'] = 'U', ['l'] = 'R' }

function navigate_tmux(direction)
    local socket = vim.fn.split(vim.env.TMUX, ',')[1]

    local winnr = vim.fn.winnr()
    navigate_nvim(direction)
    local notmove = (winnr == vim.fn.winnr())

    if notmove then
        vim.fn.system("tmux -S " .. socket .. " select-pane -" .. tmux_map[direction])
    end
end

function navigate_l_tmux() navigate_tmux('h') end
function navigate_r_tmux() navigate_tmux('l') end
function navigate_u_tmux() navigate_tmux('k') end
function navigate_d_tmux() navigate_tmux('j') end

--------------------------------------------------------------------------
-- autoformatting