{"id":28744602,"url":"https://github.com/pathmann/tabline-labels.nvim","last_synced_at":"2025-06-16T12:03:38.928Z","repository":{"id":297226600,"uuid":"995928463","full_name":"pathmann/tabline-labels.nvim","owner":"pathmann","description":"Neovim plugin to customize tab labels with smart path shrinking, minimal and fully configurable","archived":false,"fork":false,"pushed_at":"2025-06-04T12:18:35.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-04T19:47:16.584Z","etag":null,"topics":["lua","neovim","neovim-plugin","nvim"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pathmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-04T07:57:28.000Z","updated_at":"2025-06-04T12:18:36.000Z","dependencies_parsed_at":"2025-06-04T19:47:20.632Z","dependency_job_id":"587f9782-7991-4de4-ac02-b256e0e7face","html_url":"https://github.com/pathmann/tabline-labels.nvim","commit_stats":null,"previous_names":["pathmann/tabline-labels.nvim"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pathmann/tabline-labels.nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pathmann%2Ftabline-labels.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pathmann%2Ftabline-labels.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pathmann%2Ftabline-labels.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pathmann%2Ftabline-labels.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pathmann","download_url":"https://codeload.github.com/pathmann/tabline-labels.nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pathmann%2Ftabline-labels.nvim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260156657,"owners_count":22967221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lua","neovim","neovim-plugin","nvim"],"created_at":"2025-06-16T12:01:26.296Z","updated_at":"2025-06-16T12:03:38.913Z","avatar_url":"https://github.com/pathmann.png","language":"Lua","readme":"# tabline-labels.nvim\n\n\u003e 🏷️ A simple, customizable plugin to control how tab labels are displayed in Neovim's native tabline.\n\n---\n\n## ✨ Features\n\n- Customize how file paths appear in tab labels\n- Optionally strip the current working directory from paths\n- Shrink intermediate path segments (e.g. `~/P/s/t/s/s/main.cpp`)\n- Fully extensible render logic via user-defined functions\n- Lightweight and Lua-native — no dependencies\n\n---\n\n## 📦 Installation\n\nUsing [lazy.nvim](https://github.com/folke/lazy.nvim):\n```lua\n{\n  \"pathmann/tabline-labels.nvim\",\n  config = function()\n    require(\"tabline-labels\").setup()\n  end\n}\n```\n\n---\n\n## ⚙️ Configuration\n\n```lua\nrequire(\"tabline-labels\").setup({\n  remove_cwd = true,  -- Remove the current working directory prefix from paths\n\n  -- Customize which path sections get shrinked\n  should_shrink_section = function(index, total)\n    -- shrink all but the final path part \n    return index ~= total\n  end,\n\n  -- Optional: override how each tab is rendered\n  -- render = function(opts) return \"...\" end\n\n  -- Optional: override the entire tabline rendering\n  -- render_full = function() return \"...\" end\n})\n```\n\n---\n\n## 🔌 Advanced Usage\n\nYou can override the render function per-tab like this:\n\n```lua\nrender = function(opts)\n  return vim.fn.fnamemodify(opts.bufname, \":t\") -- just the filename\nend\n```\n\nOr override the full render logic:\n\n```lua\nrender_full = function()\n  return \"%#TabLineSel# My Custom Tabline %#TabLineFill#\"\nend\n```\n\n---\n\n## 💡 Why?\n\nNeovim's default tabline shows the full path to each file, which can become cluttered. This plugin makes it easier to:\n\n- See the file name and context (e.g. last directory)\n- Avoid overly long or unreadable tab titles\n- Customize your tabline without needing to replace it entirely with bufferline-like plugins\n\n---\n\n## ✅ Requirements\n\n- Neovim 0.7+\n- A tabline setup using native tabs (not buffers)\n\n---\n\n## 📄 License\n\nMIT\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpathmann%2Ftabline-labels.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpathmann%2Ftabline-labels.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpathmann%2Ftabline-labels.nvim/lists"}