{"id":27216132,"url":"https://github.com/oxy2dev/bars.nvim","last_synced_at":"2025-04-10T04:57:55.328Z","repository":{"id":254333586,"uuid":"828239135","full_name":"OXY2DEV/bars.nvim","owner":"OXY2DEV","description":"A starting point/guide for creating custom statusline, statuscolumn, tabline \u0026 winbar for Neovim.","archived":false,"fork":false,"pushed_at":"2025-04-02T17:07:30.000Z","size":24504,"stargazers_count":76,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T18:23:50.320Z","etag":null,"topics":[],"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/OXY2DEV.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2024-07-13T14:29:37.000Z","updated_at":"2025-04-02T17:07:34.000Z","dependencies_parsed_at":"2024-08-22T21:24:22.834Z","dependency_job_id":"25ea4eed-fa71-4d25-91c1-70b437b1ff7c","html_url":"https://github.com/OXY2DEV/bars.nvim","commit_stats":null,"previous_names":["oxy2dev/bars-n-lines.nvim","oxy2dev/bars.nvim"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OXY2DEV%2Fbars.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OXY2DEV%2Fbars.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OXY2DEV%2Fbars.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OXY2DEV%2Fbars.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OXY2DEV","download_url":"https://codeload.github.com/OXY2DEV/bars.nvim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161264,"owners_count":21057554,"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":[],"created_at":"2025-04-10T04:57:54.595Z","updated_at":"2025-04-10T04:57:55.307Z","avatar_url":"https://github.com/OXY2DEV.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 bars.nvim\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"Neovim\" src=\"https://img.shields.io/badge/Neovim-000?style=for-the-badge\u0026logo=neovim\u0026logoColor=A6E3A1\u0026color=1E1E2E\"\u003e\n    \u003cimg alt=\"Repo size\" src=\"https://img.shields.io/github/languages/code-size/OXY2DEV/bars.nvim?style=for-the-badge\u0026logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDYuNy4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0%2BPHBhdGggc3Ryb2tlPSIjQ0JBNkY3IiBmaWxsPSIjQ0JBNkY3IiBkPSJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDI4OCAwIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02NGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzODQgMCA5NiAwem0wIDM4NGwyNTYgMCAwIDY0TDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMzItMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwxOTIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnptMTYgNDhsMTkyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE5MiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2eiIvPjwvc3ZnPg%3D%3D\u0026logoColor=CBA6F7\u0026labelColor=1e1e2e\u0026color=B4BEFE\"\u003e\n    \u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/OXY2DEV/bars.nvim?include_prereleases\u0026sort=semver\u0026display_name=release\u0026style=for-the-badge\u0026logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDYuNy4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0%2BPHBhdGggZmlsbD0iI0Y1RTBEQyIgc3Ryb2tlPSIjRjVFMERDIiBkPSJNMzQ1IDM5LjFMNDcyLjggMTY4LjRjNTIuNCA1MyA1Mi40IDEzOC4yIDAgMTkxLjJMMzYwLjggNDcyLjljLTkuMyA5LjQtMjQuNSA5LjUtMzMuOSAuMnMtOS41LTI0LjUtLjItMzMuOUw0MzguNiAzMjUuOWMzMy45LTM0LjMgMzMuOS04OS40IDAtMTIzLjdMMzEwLjkgNzIuOWMtOS4zLTkuNC05LjItMjQuNiAuMi0zMy45czI0LjYtOS4yIDMzLjkgLjJ6TTAgMjI5LjVMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmwxNDkuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43bDE2OCAxNjhjMjUgMjUgMjUgNjUuNSAwIDkwLjVMMjc3LjMgNDQyLjdjLTI1IDI1LTY1LjUgMjUtOTAuNSAwbC0xNjgtMTY4QzYuNyAyNjIuNyAwIDI0Ni41IDAgMjI5LjV6TTE0NCAxNDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiLz48L3N2Zz4%3D\u0026labelColor=1E1E2E\u0026color=45475A\"\u003e\n\u003c/div\u003e\n\n\u003cimg src=\"https://github.com/OXY2DEV/bars.nvim/blob/images/v2/repo/bars-tokyonight.png\"\u003e\n\u003cimg src=\"https://github.com/OXY2DEV/bars.nvim/blob/images/v2/repo/bars-onedark.png\"\u003e\n\u003cimg src=\"https://github.com/OXY2DEV/bars.nvim/blob/images/v2/repo/bars-desktop.png\"\u003e\n\nA starting point/guide for creating custom statusline, statuscolumn, tabline \u0026 winbar for Neovim.\n\n\u003e `bars.nvim` is NOT a plugin, if it wasn't clear. It's just a reference manual.\n\n## 📖 Table of contents\n\n- [✨ Features](#-features)\n- [📚 Requirements](#-requirements)\n- [💡 Guide](#-guide)\n- [📐 Installation](#-installation)\n- [🧭 Configuration](#-configuration)\n- [🧰 Commands](#-commands)\n\n## ✨ Features\n\n- Actually fast,\n    - Termux: average: `7ms`, lowest: `5ms`.\n    - MacOS: average: `2ms`, lowest: `1.8ms`.\n\n- Fully customisable.\n- Per-window configuration.\n- Ability to toggle various bars/lines via commands.\n\n## 📚 Requirements\n\n- 0.10.4 or higher recommended.\n\n\u003e[!NOTE]\n\u003e The version requirement varies for different parts of `bars.nvim`.\n\n- Nerd font \u003e= 3.0.0\n- Git(`branch` in statusline).\n- Tree-sitter parser(`node` in winbar).\n\n## 💡 Guide\n\nGuide for creating your own custom statusline, statuscolumn, tabline \u0026 winbar are given below,\n\n- [Statuscolumn](https://github.com/OXY2DEV/bars.nvim/wiki/Guide_Statuscolumn)\n- [Statusline](https://github.com/OXY2DEV/bars.nvim/wiki/Guide_Statusline)\n- [Winbar](https://github.com/OXY2DEV/bars.nvim/wiki/Guide_Winbar)\n- [Tabline](https://github.com/OXY2DEV/bars.nvim/wiki/Guide_Tabline)\n\n## 📐 Installation\n\n### 🧩 Vim-plug\n\nAdd this to your plugin list.\n\n```vim\nPlug \"OXY2DEV/bars.nvim\"\n```\n\n### 💤 lazy.nvim\n\n\u003e[!NOTE]\n\u003e Lazy loading is NOT needed for this!\n\nFor `plugins.lua` users,\n\n```lua\n{\n    \"OXY2DEV/bars.nvim\",\n},\n```\n\nFor `plugins/bars.lua`,\n\n```lua\nreturn {\n    \"OXY2DEV/bars.nvim\",\n};\n```\n\n## 🦠 mini.deps\n\n```lua\nlocal MiniDeps = require(\"mini.deps\");\n\nMiniDeps.add({\n    source = \"OXY2DEV/bars.nvim\"\n});\n```\n\n### 🌒 Rocks.nvim\n\n\u003e[!WARNING]\n\u003e `luarocks package` may sometimes be a bit behind `main`.\n\n```vim\n:Rocks install bars.nvim\n```\n\n### 📥 GitHub release\n\nTagged releases can be found in the [release page](https://github.com/OXY2DEV/bars.nvim/releases).\n\n\u003e[!NOTE]\n\u003e `Github releases` may sometimes be slightly behind `main`.\n\n## 🧭 Configuration\n\n`bars.nvim` can be configured in 2 ways,\n\n1. Via the `setup()` function.\n\n```lua\nrequire(\"bars\").setup({\n    global = false\n});\n```\n\n2. Via the modules own setup function.\n\n```lua\nrequire(\"bars.statusline\").setup({\n    ignore_filwtypes = { \"help\" }\n});\n```\n\nCheck the [wiki](https://github.com/OXY2DEV/bars.nvim/wiki/Home) to learn about all the configuration options!\n\nUsage instructions for different modules,\n\n- [Statuscolumn](https://github.com/OXY2DEV/bars.nvim/wiki/Usage_Statuscolumn)\n- [Statusline](https://github.com/OXY2DEV/bars.nvim/wiki/Usage_Statusline)\n- [Winbar](https://github.com/OXY2DEV/bars.nvim/wiki/Usage_Winbar)\n- [Tabline](https://github.com/OXY2DEV/bars.nvim/wiki/Usage_Tabline)\n\n## 🧰 Commands\n\n`bars.nvim` provides a single command `:Bars` which has **sub-commands** that can be used to do different things.\n\n```\nUSAGE,\n    :Bars\n\n    :Bars [sub-command]\n\n    :Bars [sub-command] [modifier]\n\n    :Bars [sub-command] [modifier] [window_1] [window_2] ..\n\nEXAMPLE,\n    :Bars toggle ? 1000\n```\n\nThe sub-commands are given below,\n\n\n| Sub-command | Description                                                       |\n|-------------|-------------------------------------------------------------------|\n| Toggle      | Used to toggle statusline, statuscolumn etc. **globally**.        |\n| Enable      | Used to enable statusline, statuscolumn etc. **globally**.        |\n| Disable     | Used to disable statusline, statuscolumn etc. **globally**.       |\n| toggle      | Used to toggle statusline, statuscolumn etc. of given window(s).  |\n| enable      | Used to enable statusline, statuscolumn etc. of given window(s).  |\n| disable     | Used to disable statusline, statuscolumn etc. of given window(s). |\n| clean       | Cleans up cached values of deleted windows.                       |\n| update      | Updates the module's configuration ID of given window.            |\n\n\nAll the sub-commands support **modifier** to specify which modules should be affected by the command.\n\n\u003e[!TIP]\n\u003e If you want to run a sub-command on the current window then you can ignore the modifier.\n\u003e\n\u003e ```vim\n\u003e \" Toggles all bars \u0026 lines for the current window.\n\u003e :Bars toggle\n\u003e ```\n\nModifiers are given below,\n\n| Modifier     | Description                       |\n|--------------|-----------------------------------|\n| all          | Affects all modules.              |\n| ?            | Prompt which module(s) to affect. |\n| statusline   | Self-explanatory.                 |\n| statuscolumn | Self-explanatory.                 |\n| tabline      | Self-explanatory.                 |\n| winbar       | Self-explanatory.                 |\n\nYou can add any number of windows after the modifier to specify which windows to run the command on.\n\n\u003e[!TIP]\n\u003e Cmdline completion are provided for all sub-commands/modifiers/windows!\n\n## 🎨 Highlight groups\n\n`bars.nvim` comes with the following highlight groups,\n\n- BarsFoldClose1\n- BarsFoldOpen1\n- BarsFoldClose2\n- BarsFoldOpen2\n- BarsFoldClose3\n- BarsFoldOpen3\n- BarsFoldClose4\n- BarsFoldOpen4\n- BarsFoldClose5\n- BarsFoldOpen5\n- BarsFoldClose6\n- BarsFoldOpen6\n\n- BarsLineNr\n- BarsWrap1\u003c1..10\u003e\n- BarsVirtual2\u003c1..10\u003e\n\n- BarsNormal\u003c1..10\u003e\n- BarsInsert\u003c1..10\u003e\n- BarsVisual\u003c1..10\u003e\n- BarsVisualLine\u003c1..10\u003e\n- BarsVisualBlock\u003c1..10\u003e\n- BarsCommand\u003c1..10\u003e\n\n- BarsNormal\n- BarsInsert\n- BarsVisual\n- BarsVisualLine\n- BarsVisualBlock\n- BarsCommand\n\n- BarsFt\n- BarsFt0\n- BarsFt1\n- BarsFt2\n- BarsFt3\n- BarsFt4\n- BarsFt5\n- BarsFt6\n\n- BarsGit\n\n- BarsRuler\n- BarsRulerVisual\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxy2dev%2Fbars.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foxy2dev%2Fbars.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxy2dev%2Fbars.nvim/lists"}