{"id":23201201,"url":"https://github.com/jonasleonhard/broil","last_synced_at":"2025-08-18T23:33:10.137Z","repository":{"id":234503401,"uuid":"756029170","full_name":"JonasLeonhard/broil","owner":"JonasLeonhard","description":"Broil.nvim - Edit and search your directory tree like a buffer. The explosive mixture of broot and oil you never knew you needed!.","archived":false,"fork":false,"pushed_at":"2024-12-13T09:42:24.000Z","size":221,"stargazers_count":5,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-13T10:40:19.946Z","etag":null,"topics":["lua","neovim","neovim-plugin","nvim","nvim-plugin"],"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/JonasLeonhard.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}},"created_at":"2024-02-11T19:20:07.000Z","updated_at":"2024-12-13T09:42:28.000Z","dependencies_parsed_at":"2024-06-18T15:56:02.626Z","dependency_job_id":"345be7ff-1831-4a56-a69f-9edf98eb4d11","html_url":"https://github.com/JonasLeonhard/broil","commit_stats":null,"previous_names":["jonasleonhard/broil"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonasLeonhard%2Fbroil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonasLeonhard%2Fbroil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonasLeonhard%2Fbroil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonasLeonhard%2Fbroil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonasLeonhard","download_url":"https://codeload.github.com/JonasLeonhard/broil/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230292738,"owners_count":18203650,"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","nvim-plugin"],"created_at":"2024-12-18T15:14:17.410Z","updated_at":"2024-12-18T15:14:20.009Z","avatar_url":"https://github.com/JonasLeonhard.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Broil\nFuzzy Search your directory tree.\n\n⚠️ This Plugin is in Beta. So expect stuff to not 100% work and expect breaking changes at any point.\ntested on: Latest master branch version of neovim, (Macos \u0026 Linux)\n\n# Features\n\n## Tree View \u0026 Fuzzy Search\nFuzzy search using using \u003ca href=\"https://github.com/nvim-telescope/telescope-fzf-native.nvim?tab=readme-ov-file#telescope-fzf-nativenvim\"\u003etelescope-fzf-native\u003c/a\u003e:\n\nhttps://github.com/JonasLeonhard/broil/assets/54074887/5a9400a9-624c-4c60-9740-5b9e7082e85c\n\nBroil supports the fzf syntax of telescope-fzf-native:\n...From their readme: **fzf-native** is a `c` port of **[fzf][fzf]**. It only covers the algorithm and\nimplements few functions to support calculating the score.\n\nThis means that the [fzf syntax](https://github.com/junegunn/fzf#search-syntax)\nis supported:\n\n| Token     | Match type                 | Description                          |\n| --------- | -------------------------- | ------------------------------------ |\n| `sbtrkt`  | fuzzy-match                | Items that match `sbtrkt`            |\n| `'wild`   | exact-match (quoted)       | Items that include `wild`            |\n| `^music`  | prefix-exact-match         | Items that start with `music`        |\n| `.mp3$`   | suffix-exact-match         | Items that end with `.mp3`           |\n| `!fire`   | inverse-exact-match        | Items that do not include `fire`     |\n| `!^music` | inverse-prefix-exact-match | Items that do not start with `music` |\n| `!.mp3$`  | inverse-suffix-exact-match | Items that do not end with `.mp3`    |\n\n## Toggle Open Directory to your File explorer\n\nDo you want to edit the current tree directory? You can press Ctrl-z to switch the current directory tree-view to netrw (or any other file explorer like Oil - see config.netrw_command).\n\n## Terminal Commands\n\n- run any terminal command like touch, mkdir, ls, chmod and see the output\n\nSome chars combinations in the terminal mode get autofilled:\n- \"%\u003cspace\u003e\" = path of the currently selected node\n- \"%n\u003cspace\u003e\" = name of the currently selected node\n- \".\u003cspace\u003e\" = path of the currently opened tree view\n\nhttps://github.com/JonasLeonhard/broil/assets/54074887/18c71a52-4862-4e93-9082-d288853f71c2\n\n## Content Search\n\nSearch by filecontents using regex that would work in vims string:find('yoursearch')\n\nhttps://github.com/JonasLeonhard/broil/assets/54074887/e2cabe68-4648-447b-bc28-ff65a628c22f\n\n## Settings\n- Change the search mode (fuzzy searching via file/dir names, or by file contents in the current tree dir)\n- show / hide hidden dot files and directories\n- Sorting by type\n- Sorting alphabetically\n- Sorting by size\n- Sorting by children_count\n- Sort the above (sort order) ascending and descending\n- Fuzzy case mode (smart_case, ignore_case, respect_case)\n- Toggle Fuzzy Search\n\n## default Keybindy:\n- gg and g\n- C-j, C-k, j, k, C-u, C-d - movement \u0026 scrolling\n- C-l or CR - Open selected\n- C-h - go dir up\n- C-w k - change window up\n- C-w j - change window down\n- C-w l - change window right\n- C-w h - change window left\n- C-q - close window\n- \":\" in search prompt to run shell command\n- C-c show config\n- C-z toggle between netrw \u0026 broil view.\n\n# Configuration\n\n\u003cdetails\u003e\n  \u003csummary\u003eLazy\u003c/summary\u003e\n\n```lua\nreturn {\n  'JonasLeonhard/broil',\n  dependencies = {\n    \"nvim-lua/plenary.nvim\",\n    \"nvim-tree/nvim-web-devicons\",\n    {\n      'nvim-telescope/telescope-fzf-native.nvim',\n      cond = function()\n        return vim.fn.executable 'make' == 1\n      end,\n      build =\n      'make'\n    }\n  },\n  opts = {\n    -- ... you can find more opts in \":h broil\" or lua/broil/config.lua\n    -- netrw_command = \"Oil \" -- this switches the current tree-view to netrw\n    -- if you are using Oil: add this \u003cCtrl-z\u003e keybind to the oil configuration to switch back to broils tree-view:\n    -- -- in oil.nvim keymaps\n    -- [\"\u003cC-z\u003e\"] = {\n    --   desc = \"Toggle Broil\",\n    --   callback = function()\n    --     local oil = require(\"oil\");\n    --     local broil = require(\"broil\")\n    --     local current_dir = oil.get_current_dir()\n    --     oil.close()\n    --     broil.open(current_dir)\n    --   end\n    -- }\n  },\n  keys = {\n    {\n      '\u003cleader\u003eo',\n      \"\u003ccmd\u003elua require('broil').open()\u003ccr\u003e\", -- opens current %:h or cwd by default\n      desc = 'Broil open',\n    },\n    {\n      '\u003cleader\u003eO',\n      \"\u003ccmd\u003elua require('broil').open(vim.fn.getcwd())\u003ccr\u003e\",\n      desc = 'Broil open cwd',\n    },\n  }\n}\n```\n\u003c/details\u003e\n\n# Highlights\n\nWant your own color Scheme?\n```lua\n-- highlights (set these after broil init was already called)\nvim.api.nvim_command(\"highlight BroilPreviewMessageFillchar guifg=#585b70\")\nvim.api.nvim_command(\"highlight BroilPreviewMessage guifg=#b4befe\")\nvim.api.nvim_command(\"highlight BroilSearchTerm guifg=#f9e2af\")\nvim.api.nvim_command(\"highlight BroilDirLine guifg=#89b4fa\")\nvim.api.nvim_command(\"highlight BroilPruningLine guifg=#a6adc8\")\nvim.api.nvim_command(\"highlight BroilRelativeLine guifg=#74c7ec\")\nvim.api.nvim_command(\"highlight BroilInactive guifg=#a6adc8\")\nvim.api.nvim_command(\"highlight BroilActive guifg=#f2cdcd\")\nvim.api.nvim_command(\"highlight BroilSearchIcon guifg=#bac2de\")\n```\n\n# Contributing\nWant to help me make this plugin better? Create a pull request!\n\n# License\nMIT\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonasleonhard%2Fbroil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonasleonhard%2Fbroil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonasleonhard%2Fbroil/lists"}