<commit_before>local package = { -- For 'wbthomason/packer.nvim'
    'kyazdani42/nvim-tree.lua',
    requires = { { 'kyazdani42/nvim-web-devicons' }, },
}

local config = function()
    require("nvim-tree").setup({
        auto_reload_on_write = false,
        hijack_cursor = true,
        sort_by = "case_sensitive",
        view = {
            adaptive_size = false,
            width = 33,
            height = 30,
            side = "left",
            mappings = {
                custom_only = true,
                list = {
                    { key = { "<CR>", "o", "<2-LeftMouse>" }, action = "edit" },
                    { key = "<C-e>", action = "edit_in_place" },
                    { key = "O", action = "edit_no_picker" },
                    { key = { "<C-]>", "<2-RightMouse>" }, action = "cd" },
                    { key = "v", action = "vsplit" }, -- <C-v>
                    { key = "s", action = "split" }, -- <C-s>
                    { key = "<C-t>", action = "tabnew" },
                    { key = "<", action = "prev_sibling" },
                    { key = ">", action = "next_sibling" },
                    { key = "P", action = "parent_node" },
                    { key = "<BS>", action = "close_node" },
                    { key = "<Tab>", action = "preview" },
                    { key = "K", action = "first_sibling" },
                    { key = "J", action = "last_sibling" },
                    { key = "I", action = "toggle_git_ignored" },
                    -- { key = "H", action = "toggle_dotfiles" },
                    { key = "U", action = "toggle_custom" },
                    { key = "r", action = "refresh" },
                    { key = "a", action = "create" },
                    { key = "d", action = "remove" },
                    { key = "D", action = "trash" },
                    -- { key = "r", action = "rename" },
                    { key = "<C-r>", action = "full_rename" },
                    { key = "x", action = "cut" },
                    { key = "c", action = "copy" },
                    { key = "p", action = "paste" },
                    { key = "y", action = "copy_name" },
                    { key = "Y", action = "copy_path" },
                    { key = "gy", action = "copy_absolute_path" },
                    { key = "[e", action = "prev_diag_item" },
                    { key = "[c", action = "prev_git_item" },
                    { key = "]e", action = "next_diag_item" },
                    { key = "]c", action = "next_git_item" },
                    { key = "-", action = "dir_up" },
                    { key = "<C-s>", action = "system_open" }, -- s
                    { key = "f", action = "live_filter" },
                    { key = "F", action = "clear_live_filter" },
                    { key = "q", action = "close" },
                    { key = "W", action = "collapse_all" },
                    { key = "E", action = "expand_all" },
                    { key = "S", action = "search_node" },
                    { key = ".", action = "run_file_command" },
                    { key = "<C-k>", action = "toggle_file_info" },
                    { key = "g?", action = "toggle_help" },
                    { key = "m", action = "toggle_mark" },
                    { key = "bmv", action = "bulk_move" },
                },
            },
        },
        renderer = {
            group_empty = true,
        },
        filters = {
            dotfiles = false,
            custom = { -- vim regex (|string-match|).
                '\\.pyc$', '\\.pyo$', '\\.egg$', '__pycache__', '\\.beam$',
                '\\.obj$', '\\.o$', '\\.out$', '\\.so$', '\\.test$',
                '^\\.git$', '^\\.svn$', '^\\.hg$',
            },
        },
        git = {
            enable = false,
            ignore = false,
            show_on_dirs = false,
        }
        -- actions = { expand_all = { exclude = { '.git', '__pycache__', '.svn', '.hg'}, }, },
    })

    local vimbatch = require('lib').vimbatch
    vimbatch.keymaps({
        { mode = 'n', lhs = '<leader>n', rhs = ':NvimTreeToggle<CR>', opts = { remap = true } },
    })

    vim.api.nvim_create_autocmd("BufEnter", {
        nested = true,
        callback = function()
            if #vim.api.nvim_list_wins() == 1 and vim.api.nvim_buf_get_name(0):match("NvimTree_") ~= nil then
                vim.cmd "quit"
            end
        end
    })
end


return {
    package = package,
    config = config,
}<commit_msg>To believe your own thought, to believe that what is true for you in your private heart is true for all men -- that is genius. 		-- <NAME><commit_after>local package = { -- For 'wbthomason/packer.nvim'
    'kyazdani42/nvim-tree.lua',
    requires = { { 'kyazdani42/nvim-web-devicons' }, },
}

local config = function()
    require("nvim-tree").setup({
        open_on_tab = true,
        open_on_setup = true,
        auto_reload_on_write = false,
        hijack_cursor = true,
        sort_by = "case_sensitive",
        filesystem_watchers = {
            enable = true,
            debounce_delay = 800, -- ms
        },
        view = {
            adaptive_size = false,
            width = 33,
            height = 30,
            side = "left",
            mappings = {
                custom_only = true,
                list = {
                    { key = { "<CR>", "o", "<2-LeftMouse>" }, action = "edit" },
                    { key = "<C-e>", action = "edit_in_place" },
                    { key = "O", action = "edit_no_picker" },
                    { key = { "<C-]>", "<2-RightMouse>" }, action = "cd" },
                    { key = "v", action = "vsplit" }, -- <C-v>
                    { key = "s", action = "split" }, -- <C-s>
                    { key = "<C-t>", action = "tabnew" },
                    { key = "<", action = "prev_sibling" },
                    { key = ">", action = "next_sibling" },
                    { key = "P", action = "parent_node" },
                    { key = "<BS>", action = "close_node" },
                    { key = "<Tab>", action = "preview" },
                    { key = "K", action = "first_sibling" },
                    { key = "J", action = "last_sibling" },
                    { key = "I", action = "toggle_git_ignored" },
                    -- { key = "H", action = "toggle_dotfiles" },
                    { key = "U", action = "toggle_custom" },
                    { key = "r", action = "refresh" },
                    { key = "a", action = "create" },
                    { key = "d", action = "remove" },
                    { key = "D", action = "trash" },
                    -- { key = "r", action = "rename" },
                    { key = "<C-r>", action = "full_rename" },
                    { key = "x", action = "cut" },
                    { key = "c", action = "copy" },
                    { key = "p", action = "paste" },
                    { key = "y", action = "copy_name" },
                    { key = "Y", action = "copy_path" },
                    { key = "gy", action = "copy_absolute_path" },
                    { key = "[e", action = "prev_diag_item" },
                    { key = "[c", action = "prev_git_item" },
                    { key = "]e", action = "next_diag_item" },
                    { key = "]c", action = "next_git_item" },
                    { key = "-", action = "dir_up" },
                    { key = "<C-s>", action = "system_open" }, -- s
                    { key = "f", action = "live_filter" },
                    { key = "F", action = "clear_live_filter" },
                    { key = "q", action = "close" },
                    { key = "W", action = "collapse_all" },
                    { key = "E", action = "expand_all" },
                    { key = "S", action = "search_node" },
                    { key = ".", action = "run_file_command" },
                    { key = "<C-k>", action = "toggle_file_info" },
                    { key = "g?", action = "toggle_help" },
                    { key = "m", action = "toggle_mark" },
                    { key = "bmv", action = "bulk_move" },
                },
            },
        },
        renderer = {
            group_empty = true,
        },
        filters = {
            dotfiles = false,
            custom = { -- vim regex (|string-match|).
                '\\.pyc$', '\\.pyo$', '\\.egg$', '__pycache__', '\\.beam$',
                '\\.obj$', '\\.o$', '\\.out$', '\\.so$', '\\.test$',
                '^\\.git$', '^\\.svn$', '^\\.hg$',
            },
        },
        git = {
            enable = false,
            ignore = false,
            show_on_dirs = false,
        }
        -- actions = { expand_all = { exclude = { '.git', '__pycache__', '.svn', '.hg'}, }, },
    })

    local vimbatch = require('lib').vimbatch
    vimbatch.keymaps({
        { mode = 'n', lhs = '<leader>n', rhs = ':NvimTreeToggle<CR>', opts = { remap = true } },
    })

    -- Exit Vim if Tree is the only window remaining in the only tab.
    vim.api.nvim_create_autocmd("BufEnter", {
        nested = true,
        callback = function()
            if vim.fn.tabpagenr('$') == 1 and vim.fn.winnr('$') == 1 and
                vim.api.nvim_buf_get_name(0):match("NvimTree_") ~= nil then
                vim.cmd("quit")
            end
        end
    })
    -- Close the tab if Tree is the only window remaining in it.
    vim.api.nvim_create_autocmd("BufEnter", {
        nested = true,
        callback = function()
            if vim.fn.winnr('$') == 1 and
                vim.api.nvim_buf_get_name(0):match("NvimTree_") ~= nil then
                vim.cmd("quit")
            end
        end
    })
end


return {
    package = package,
    config = config,
}
{'fraction_non_alphanumeric': 0.1787766830870279, 'fraction_numerical': 0.003078817733990148, 'mean_word_length': 1.2335548934219573, 'pattern_counts': {'":': 0, '<': 36, '<?xml version=': 0, '>': 36, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7545613', 'n_tokens_mistral': 3081, 'n_tokens_neox': 2921, 'n_words': 653}