about summary refs log tree commit diff stats
path: root/home-manager/soispha/config/neovim/nixvim/plugins/lf-nvim/lua/lf-nvim.lua
blob: 8317a673db264e10a84fe7050d59e883f50b79a2 (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
39
40
41
42
43
local fn = vim.fn

-- Defaults
require("lf").setup({
    default_action = "drop", -- default action when `Lf` opens a file
    -- TODO document these mappings:
    default_actions = {    -- default action keybindings
        ["<C-t>"] = "tabedit",
        ["<C-x>"] = "split",
        ["<C-v>"] = "vsplit",
        ["<C-o>"] = "tab drop",
    },

    winblend = 10,                                 -- psuedotransparency level
    dir = "",                                      -- directory where `lf` starts ('gwd' is git-working-directory, ""/nil is CWD)
    direction = "float",                           -- window type: float horizontal vertical
    border = "rounded",                            -- border kind: single double shadow curved
    height = fn.float2nr(fn.round(0.75 * vim.o.lines)), -- height of the *floating* window
    width = fn.float2nr(fn.round(0.75 * vim.o.columns)), -- width of the *floating* window
    escape_quit = true,                            -- map escape to the quit command (so it doesn't go into a meta normal mode)
    focus_on_open = true,                          -- focus the current file when opening Lf (experimental)
    mappings = true,                               -- whether terminal buffer mapping is enabled
    tmux = false,                                  -- tmux statusline can be disabled on opening of Lf
    default_file_manager = true,                   -- make lf default file manager
    disable_netrw_warning = true,                  -- don't display a message when opening a directory with `default_file_manager` as true
    highlights = {                                 -- highlights passed to toggleterm
        Normal = { link = "Normal" },
        NormalFloat = { link = 'Normal' },
        FloatBorder = { guifg = "<VALUE>", guibg = "<VALUE>" },
    },

    -- Layout configurations
    layout_mapping = "<M-u>", -- resize window with this key
    views = {               -- window dimensions to rotate through
        { width = 0.800, height = 0.800 },
        { width = 0.600, height = 0.600 },
        { width = 0.950, height = 0.950 },
        { width = 0.500, height = 0.500, col = 0,   row = 0 },
        { width = 0.500, height = 0.500, col = 0,   row = 0.5 },
        { width = 0.500, height = 0.500, col = 0.5, row = 0 },
        { width = 0.500, height = 0.500, col = 0.5, row = 0.5 },
    }
})