Important
Please be careful while choosing between stable
and latest
version.
stable
branch updates on releases.stable
version documentation might be different.main
branch updates frequently(can have bugs).
Note
Please refer to stable
version documentation page. Latest version documentation might not be compatible for stable version.
Lazy.nvim (recommended)
{
"A7Lavinraj/fyler.nvim",
dependencies = { "nvim-mini/mini.icons" },
branch = "stable",
---@module 'fyler'
---@type FylerSetupOptions
opts = {}
}
Mini.deps
add({
source = "A7Lavinraj/fyler.nvim",
depends = { "nvim-mini/mini.icons" },
checkout = "stable",
})
Lazy.nvim (recommended)
You can use default setup with mini.icons
{
"A7Lavinraj/fyler.nvim",
dependencies = { "nvim-mini/mini.icons" },
---@module 'fyler'
---@type FylerSetupOptions
opts = {}
}
Or change to nvim-web-devicons
{
"A7Lavinraj/fyler.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
---@module 'fyler'
---@type FylerSetupOptions
opts = { icon_provider = "nvim_web_devicons" }
}
Mini.deps
add({
source = "A7Lavinraj/fyler.nvim",
depends = { "nvim-mini/mini.icons" },
})
add({
source = "A7Lavinraj/fyler.nvim",
depends = { "nvim-tree/nvim-web-devicons" },
})
(Default configuration)
local defaults = {
-- Changes explorer closing behaviour when a file get selected
close_on_select = true,
-- Changes explorer behaviour to auto confirm simple edits
confirm_simple = false,
-- Changes explorer behaviour to hijack NETRW
default_explorer = false,
-- Changes git statuses visibility
git_status = {
enabled = true,
symbols = {
Untracked = "●",
Added = "✚",
Modified = "●",
Deleted = "✖",
Renamed = "➜",
Copied = "C",
Conflict = "‼",
Ignored = "○",
},
},
hooks = {
on_delete = nil, -- function(path) end
on_rename = nil, -- function(src_path, dst_path) end
on_highlight = nil -- function(hl_groups, palette) end
},
-- Custom icons for various directory states
icon = {
directory_collapsed = nil,
directory_empty = nil,
directory_expanded = nil,
},
-- Changes icon provider
icon_provider = "mini_icons",
-- Changes Indentation marker properties
indentscope = {
enabled = true,
group = "FylerIndentMarker",
marker = "│",
},
-- Changes mappings for associated view
mappings = {
["q"] = "CloseView",
["<CR>"] = "Select",
["<C-t>"] = "SelectTab",
["|"] = "SelectVSplit",
["-"] = "SelectSplit",
["^"] = "GotoParent",
["="] = "GotoCwd",
["."] = "GotoNode",
["#"] = "CollapseAll",
["<BS>"] = "CollapseNode",
},
-- Auto current buffer tracking
track_current_buffer = true,
win = {
-- Changes window border
border = "single",
-- Changes buffer options
buf_opts = {
-- buffer options
},
-- Changes window kind
kind = "replace",
-- Changes window kind preset
kind_presets = {
-- values can be "(0,1]rel" or "{1...}abs"
-- <preset_name> = {
-- height = "",
-- width = "",
-- top = "",
-- left = ""
-- }
-- replace = {},
},
-- Changes window options
win_opts = {
-- window options
},
},
}
You can either open Fyler by Fyler
command
:Fyler " Open with default options
:Fyler kind=<kind> " Open with specific window kind
:Fyler dir=<path> " Open with specific directory
Or using lua api
local fyler = require("fyler")
-- Open with default options
fyler.open()
-- Open with specific directory
fyler.open({ dir = "~/" })
-- Open with specific kind
fyler.open({ kind = "split_left_most" })
- Basic operations
CREATE | DELETE | MOVE | COPY
- GIT integration
- Indentation guides
- LSP integration
- NETRW Hijacking
- Public APIs
- Track current buffer
- User command
- File system watching
- Fuzzy finding
- SSH integration
- Search for existing issues
- If related issue is not there then open a new one
- Please read the CONTRIBUTING.md