{"id":30025007,"url":"https://github.com/metafates/muffin.nvim","last_synced_at":"2025-10-06T01:44:39.666Z","repository":{"id":303296867,"uuid":"1013319748","full_name":"metafates/muffin.nvim","owner":"metafates","description":"🧁 Neovim plugin that provides breadcrumbs-like navigation","archived":false,"fork":false,"pushed_at":"2025-07-07T17:56:59.000Z","size":23,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-06T07:43:00.375Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/metafates.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-07-03T17:44:28.000Z","updated_at":"2025-08-05T01:39:22.000Z","dependencies_parsed_at":"2025-07-06T21:41:34.948Z","dependency_job_id":"426901fa-064b-4f29-8e0f-d3e23dc00794","html_url":"https://github.com/metafates/muffin.nvim","commit_stats":null,"previous_names":["metafates/muffin.nvim"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/metafates/muffin.nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metafates%2Fmuffin.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metafates%2Fmuffin.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metafates%2Fmuffin.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metafates%2Fmuffin.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metafates","download_url":"https://codeload.github.com/metafates/muffin.nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metafates%2Fmuffin.nvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278547876,"owners_count":26004773,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-08-06T07:42:53.961Z","updated_at":"2025-10-06T01:44:39.661Z","avatar_url":"https://github.com/metafates.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# muffin.nvim\n\nA popup window that provides breadcrumbs-like navigation in keyboard-centric manner.\nInspired by [hasansujon786/nvim-navbuddy].\n\n![demo](https://github.com/user-attachments/assets/ead54ffa-ce05-48aa-abc8-fbe8330420be)\n\n## Install\n\nWith [echasnovski/mini.deps]:\n\n```lua\nMiniDeps.add(\"metafates/muffin.nvim\")\n\nMuffin.setup()\n```\n\nWith [folke/lazy.nvim]:\n\n```lua\n{\n    \"metafates/muffin.nvim\",\n    opts = {}\n}\n```\n\nInstalling [echasnovski/mini.icons] is suggested to show icons and enable highlighting.\n\nSee [mini.icons installation](https://github.com/echasnovski/mini.icons?tab=readme-ov-file#installation).\n\n## Usage\n\nMuffin provides the following functions:\n\n```lua\n--- Opens a popup with document symbols.\n--- No-op if already open.\nfunction Muffin.open() ... end\n\n--- Closes the current popup.\n--- No-op if already closed.\n---@return boolean closed Indicates if popup was closed.\nfunction Muffin.close() ... end\n\n--- Opens a popup if it was not opened, closes otherwise.\nfunction Muffin.toggle() ... end\n```\n\nYou may want to set a bind for toggling this popup:\n\n```lua\nvim.keymap.set(\"n\", \"T\", function()\n    Muffin.toggle()\nend, { desc = \"Toggle Muffin popup\" })\n```\n\n### Keys\n\nWhen popup is opened, you can use the following keys for certain actions:\n\n| Key | Action |\n| --- | ------ |\n| \u003ckbd\u003ec\u003c/kbd\u003e | Toggle comment on selected symbol |\n| \u003ckbd\u003ef\u003c/kbd\u003e | Toggle fold on selected symbol |\n| \u003ckbd\u003eq\u003c/kbd\u003e | Close popup |\n| \u003ckbd\u003eh\u003c/kbd\u003e | Go back |\n| \u003ckbd\u003egh\u003c/kbd\u003e | Go back to root symbol |\n| \u003ckbd\u003el\u003c/kbd\u003e | Go forward |\n| \u003ckbd\u003egl\u003c/kbd\u003e | Go forward to the innermost symbol |\n| \u003ckbd\u003ereturn\u003c/kbd\u003e or \u003ckbd\u003eo\u003c/kbd\u003e | Close popup and leave cursor at selected symbol |\n\nYou can't rebind these keys _yet_.\n\n## To do\n\n- [ ] More actions. For example copying and reordering.\n- [ ] Allow rebinding built-in keys.\n\n[echasnovski/mini.icons]: https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-icons.md\n[folke/lazy.nvim]: https://github.com/folke/lazy.nvim\n[echasnovski/mini.deps]: https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-deps.md\n[hasansujon786/nvim-navbuddy]: https://github.com/hasansujon786/nvim-navbuddy\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetafates%2Fmuffin.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetafates%2Fmuffin.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetafates%2Fmuffin.nvim/lists"}