https://github.com/rid1fz/breadcrumb.nvim
A simple breadcrumb for neovim winbar
https://github.com/rid1fz/breadcrumb.nvim
lua neovim
Last synced: 4 months ago
JSON representation
A simple breadcrumb for neovim winbar
- Host: GitHub
- URL: https://github.com/rid1fz/breadcrumb.nvim
- Owner: Rid1FZ
- Created: 2025-01-29T14:56:26.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-06T20:12:14.000Z (about 1 year ago)
- Last Synced: 2025-08-17T14:49:40.582Z (6 months ago)
- Topics: lua, neovim
- Language: Lua
- Homepage:
- Size: 70.3 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# breadcrumb.nvim
This repository is a fork of [loctvl842/breadcrumb.nvim](https://github.com/loctvl842/breadcrumb.nvim)
## đŠ Installation
### Lazy.nvim
```lua
{
"Rid1FZ/breadcrumb.nvim",
dependencies = {
"nvim-tree/nvim-web-devicons",
},
config = function()
require("breadcrumb").setup({})
end
}
```
## âïž Configuration
```lua
require("breadcrumb").setup({
disabled_filetype = {
"NeogitCommitMessage",
"netrw",
"help",
"startify",
"dashboard",
"lazy",
"neo-tree",
"neogitstatus",
"NvimTree",
"Trouble",
"alpha",
"lir",
"Outline",
"git",
"spectre_panel",
"toggleterm",
"DressingSelect",
"Jaq",
"harpoon",
"dap-repl",
"dap-terminal",
"dapui_console",
"dapui_hover",
"lab",
"notify",
"noice",
"neotest-summary",
"terminal",
"mason",
"",
},
icons = {
Namespace = "ó° ",
Text = "ó°ż ",
Method = "ó°§ ",
Function = "ó° ",
Constructor = "ïŁ ",
Field = "î ",
Variable = "ó°« ",
Class = "ó° ± ",
Interface = "ïš ",
Module = "ï ",
Property = "ó°ą ",
Unit = "ó° ",
Value = "ó° ",
Enum = "ï
",
Keyword = "ó° ",
Snippet = "ï ",
Color = "ó° ",
File = "ó° ",
Reference = "ó° ",
Folder = "ó° ",
EnumMember = "ï
",
Constant = "ó°ż ",
Struct = "ó°
",
Event = "ï§ ",
Operator = "ó° ",
TypeParameter = "ó° ",
Table = "ï ",
Object = "ó°
© ",
Tag = "ï« ",
Array = "îȘ ",
Boolean = "ï ",
Number = "ï ",
Null = "ó°ą ",
String = "îź ",
Calendar = "ïł ",
Watch = "ó°„ ",
Package = "î€ ",
Copilot = "ï ",
Codeium = "ï ",
TabNine = "ï§ ",
},
color_icons = true,
separator = "ï",
depth_limit = 0,
depth_limit_indicator = "..",
highlight_group = {
component = "BreadcrumbText",
separator = "BreadcrumbSeparator",
},
})
```
To have **breadcrumb**, it must be attached to lsp server.
Example:
```lua
local breadcrumb = require("breadcrumb")
local on_attach = function(client, bufnr)
if client.server_capabilities.documentSymbolProvider then
breadcrumb.attach(client, bufnr)
end
end
```
## đ Usage
- We can turn on `breadcrumb` by put this in the config file:
```lua
require("breadcrumb").init()
```
- Using method `get_breadcrumb()` combine with status line plugin for example `lualine`
```lua
local breadcrumb = require("breadcrumb")
local config = {
winbar = {
lualine_a = {},
lualine_b = {},
lualine_c = { breadcrumb.get_breadcrumb },
lualine_x = {},
lualine_y = {},
lualine_z = {},
},
inactive_winbar = {
lualine_a = {},
lualine_b = {},
lualine_c = { breadcrumb.get_inactive_breadcrumb },
lualine_x = {},
lualine_y = {},
lualine_z = {},
},
}
lualine.setup(config)
```
## Command
- `BreadcrumbEnable` command to enable `breadcrumb`
- `BreadcrumbDisable` command to disable `breadcrumb`