[
  {
    "path": ".github/ISSUE_TEMPLATE/bug-report.yml",
    "content": "name: Bug report\ndescription: Report a problem to help us improve\ntitle: \"[BUG] \"\nlabels: [bug]\nbody:\n  - type: checkboxes\n    id: guidelines\n    attributes:\n      label: Report guidelines\n      options:\n        - label: I have updated 'fyler.nvim' to latest version of the `main` branch\n          required: true\n  - type: dropdown\n    id: branch\n    attributes:\n      label: \"Branch\"\n      description: \"Choose branch in which you encounter this bug\"\n      options:\n        - main\n        - stable\n    validations:\n      required: true\n  - type: dropdown\n    id: os\n    attributes:\n      label: \"OS\"\n      description: \"Choose your OS\"\n      options:\n        - Linux\n        - MacOS\n        - Windows\n    validations:\n      required: true\n  - type: input\n    id: nvim-version\n    attributes:\n      label: \"Neovim version\"\n      description: \"Write the latest Neovim version on which you can reproduce the problem\"\n    validations:\n      required: true\n  - type: textarea\n    id: description\n    attributes:\n      label: \"Description\"\n      description: \"A short description of a problem; include expected behavior\"\n    validations:\n      required: true\n  - type: textarea\n    id: reproduction\n    attributes:\n      label: \"Reproduction\"\n      description: \"Steps to reproduce the issue.\"\n    validations:\n      required: true\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: false\ncontact_links:\n  - name: Question\n    url: https://github.com/A7Lavinraj/fyler.nvim/discussions\n    about: Usage questions and support requests are answered in the discussions\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature-request.yml",
    "content": "name: Feature request\ndescription: Describe a feature you would like to see\ntitle: \"[FEAT] \"\nlabels: [feature request]\nbody:\n  - type: textarea\n    id: description\n    attributes:\n      label: \"Description\"\n      description: \"A short description of a feature request\"\n    validations:\n      required: true\n"
  },
  {
    "path": ".github/pull_request_template.md",
    "content": "- [ ] I have read and follow [CONTRIBUTING.md](https://github.com/A7Lavinraj/fyler.nvim/blob/main/CONTRIBUTING.md)\n"
  },
  {
    "path": ".github/workflows/ci.yaml",
    "content": "name: CI\non:\n  - push\n  - pull_request\njobs:\n  format:\n    name: Formatting\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: JohnnyMorganz/stylua-action@v3\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          version: latest\n          args: --color always --check lua/\n  lint:\n    name: Linting\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: Swatinem/rust-cache@v2\n      - uses: taiki-e/install-action@v2\n        with:\n          tool: selene\n      - name: run linters\n        run: make lint\n  test:\n    name: Testing\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: folke/github/neovim@main\n      - name: Running tests\n        run: make test\n"
  },
  {
    "path": ".gitignore",
    "content": "# Temporary test directory\n.temp\n\n# Quick testing directory for local development\n.scratch\n\n# Take notes for any potential thing to remember\n.notes\n\n# Docs helptags file\ndoc/tags\n"
  },
  {
    "path": ".luarc.json",
    "content": "{\n    \"$schema\": \"https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json\",\n    \"diagnostics.disable\": [ \"redefined-local\" ],\n    \"diagnostics.globals\": [ \"vim\" ],\n    \"workspace.checkThirdParty\": false,\n    \"runtime.version\": \"LuaJIT\"\n}\n"
  },
  {
    "path": ".markdownlint.json",
    "content": "{\n  \"MD033\": false,\n  \"MD041\": false,\n  \"MD013\": false\n}\n"
  },
  {
    "path": ".stylua.toml",
    "content": "collapse_simple_statement = \"Always\"\ncolumn_width = 120\nindent_type = \"Spaces\"\nindent_width = 2\nline_endings = \"Unix\"\nquote_style = \"AutoPreferDouble\"\nsyntax = \"LuaJIT\"\n\n[sort_requires]\nenabled = true\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing Guide\n\nWe welcome contributions! Here's how to get started:\n\n## Getting Started\n\n- Fork the repository\n- Clone your fork locally:  \n\n```sh\ngit clone https://github.com/your-username/repo-name.git\n```\n\n- Create a new branch:  \n\n```sh\ngit checkout -b my-feature-branch\n```\n\n## Development\n\n- Add cloned repository to neovim runtime path\n\n## Pull Requests\n\n1. Keep PRs focused on a single feature/bugfix\n2. Write clear commit messages\n3. Update documentation if needed\n4. Ensure tests pass\n\n## Code Style\n\n- Follow existing code conventions\n- Keep code clean\n- Use descriptive variable names\n\n## Reporting Issues\n\nInclude:\n\n- Expected vs. Actual behavior\n- Steps to reproduce\n\nThank you for contributing!\n"
  },
  {
    "path": "LICENSE",
    "content": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [2025] [Lavin Raj Mohan]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "Makefile",
    "content": ".SILENT:\n\n.PHONY: init\ninit: format lint test doc\n\n.PHONY: deps\ndeps:\n\t@if [ ! -d .temp/deps/mini.test ]; then \\\n\t\techo \"Cloning mini.test\"; \\\n\t\tgit clone --depth=1 --single-branch https://github.com/nvim-mini/mini.test .temp/deps/mini.test; \\\n\tfi\n\t@if [ ! -d .temp/deps/mini.icons ]; then \\\n\t\techo \"Cloning mini.icons\"; \\\n\t\tgit clone --depth=1 --single-branch https://github.com/nvim-mini/mini.icons .temp/deps/mini.icons; \\\n\tfi\n\t@if [ ! -d .temp/deps/mini.doc ]; then \\\n\t\techo \"Cloning mini.doc\"; \\\n\t\tgit clone --depth=1 --single-branch https://github.com/nvim-mini/mini.doc .temp/deps/mini.doc; \\\n\tfi\n\n.PHONY: format\nformat:\n\t@printf \"\\033[34mFYLER.NVIM - Code Formatting\\033[0m\\n\"\n\t@stylua . 2>/dev/null && printf \"\\033[32mCode formatted\\033[0m\\n\\n\" || (printf \"\\033[31mFormatting failed\\033[0m\\n\\n\"; exit 1)\n\n.PHONY: lint\nlint:\n\t@printf \"\\033[34mFYLER.NVIM - Code Linting\\033[0m\\n\"\n\t@selene --config selene/config.toml lua 2>/dev/null && printf \"\\033[32mLinting passed\\033[0m\\n\\n\" || (printf \"\\033[31mLinting failed\\033[0m\\n\\n\"; exit 1)\n\n.PHONY: test\ntest: deps\n\t@printf \"\\033[34mFYLER.NVIM - Running Tests\\033[0m\\n\"\n\t@nvim --headless --clean --noplugin -u tests/minimal_init.lua -l bin/run_tests.lua\n\n.PHONY: test_debug\ntest_debug:\n\t@make test DEBUG=1\n\n.PHONY: doc\ndoc: deps\n\t@printf \"\\n\\033[34mFYLER.NVIM - Generating vim docs\\033[0m\\n\"\n\t@nvim --headless --clean --noplugin -l bin/gen_vimdoc.lua\n"
  },
  {
    "path": "README.md",
    "content": "<div align=\"center\">\n  <h1>Fyler.nvim</h1>\n  <table>\n    <tr>\n      <td>\n        <strong>A file manager for <a href=\"https://neovim.io\">Neovim</a></strong>\n      </td>\n    </tr>\n  </table>\n  <div>\n    <img\n      alt=\"License\"\n      src=\"https://img.shields.io/github/license/A7Lavinraj/fyler.nvim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41\"\n    />\n    <img\n      alt=\"Stars\"\n      src=\"https://img.shields.io/github/stars/A7Lavinraj/fyler.nvim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41\"\n    />\n  </div>\n</div>\n\n<br>\n\n<div align=\"center\">\n  <img\n    width=\"1920\"\n    height=\"1080\"\n    alt=\"image\"\n    src=\"https://github.com/user-attachments/assets/036ebf84-0053-4930-ae91-c0ae95bb417d\"\n  />\n</div>\n\n## Installation\n\n> [!IMPORTANT]\n>\n> Both **Stable** and **Latest** versions are explained on the\n> [WIKI PAGE](https://github.com/A7Lavinraj/fyler.nvim/wiki/installation) in details.\n\n#### Stable\n\n```lua\n{\n  \"A7Lavinraj/fyler.nvim\",\n  dependencies = { \"nvim-mini/mini.icons\" },\n  branch = \"stable\",  -- Use stable branch for production\n  lazy = false, -- Necessary for `default_explorer` to work properly\n  opts = {}\n}\n```\n\n#### Latest\n\n```lua\n{\n  \"A7Lavinraj/fyler.nvim\",\n  dependencies = { \"nvim-mini/mini.icons\" },\n  lazy = false, -- Necessary for `default_explorer` to work properly\n  opts = {}\n}\n```\n\n## Usage\n\nYou can either open fyler by using the `Fyler` command:\n\n```vim\n:Fyler             \" Open the finder\n:Fyler dir=<cwd>   \" Use a different directory path\n:Fyler kind=<kind> \" Open specified window kind directly\n\n\" Map it to a key\nnnoremap <leader>e <cmd>Fyler<cr>\n```\n\n```lua\n-- Or via lua api\nvim.keymap.set(\"n\", \"<leader>e\", \"<cmd>Fyler<cr>\", { desc = \"Open Fyler View\" })\n```\n\nOr using the lua api:\n\n```lua\nlocal fyler = require('fyler')\n\n-- open using defaults\nfyler.open()\n\n-- open as a left most split\nfyler.open({ kind = \"split_left_most\" })\n\n-- open with different directory\nfyler.open({ dir = \"~\" })\n\n-- You can map this to a key\nvim.keymap.set(\"n\", \"<leader>e\", fyler.open, { desc = \"Open fyler View\" })\n\n-- Wrap in a function to pass additional arguments\nvim.keymap.set(\n    \"n\",\n    \"<leader>e\",\n    function() fyler.open({ kind = \"split_left_most\" }) end,\n    { desc = \"Open Fyler View\" }\n)\n```\n\n> [!NOTE]\n> Run `:help fyler.nvim` OR visit [wiki pages](https://github.com/A7Lavinraj/fyler.nvim/wiki) for more detailed explanation and live showcase.\n\n### Credits\n\n- [**GrugFar**](https://github.com/MagicDuck/grug-far.nvim)\n- [**Mini.files**](https://github.com/nvim-mini/mini.files)\n- [**Neogit**](https://github.com/NeogitOrg/neogit)\n- [**Nvim-window-picker**](https://github.com/s1n7ax/nvim-window-picker)\n- [**Oil**](https://github.com/stevearc/oil.nvim)\n- [**Snacks**](https://github.com/folke/snacks.nvim)\n- [**Telescope**](https://github.com/nvim-telescope/telescope.nvim)\n\n---\n\n<h4 align=\"center\">Built with ❤️ for the Neovim community</h4>\n<a href=\"https://github.com/A7Lavinraj/fyler.nvim/graphs/contributors\">\n  <img\n    src=\"https://contrib.rocks/image?repo=A7Lavinraj/fyler.nvim&max=750&columns=20\"\n    alt=\"contributors\"\n  />\n</a>\n"
  },
  {
    "path": "bin/gen_vimdoc.lua",
    "content": "vim.opt.runtimepath:prepend(vim.fn.getcwd())\nvim.opt.runtimepath:prepend(vim.fs.joinpath(vim.fn.getcwd(), \".temp\", \"deps\", \"mini.doc\"))\n\nlocal minidoc = require(\"mini.doc\")\n\nminidoc.setup()\n\nminidoc.generate(\n  {\n    \"lua/fyler.lua\",\n    \"lua/fyler/config.lua\",\n  },\n  \"doc/fyler.txt\",\n  {\n    hooks = {\n      file = function() end,\n      sections = {\n        [\"@signature\"] = function(s) s:remove() end,\n        [\"@return\"] = function(s) s.parent:clear_lines() end,\n        [\"@alias\"] = function(s) s.parent:clear_lines() end,\n        [\"@class\"] = function(s) s.parent:clear_lines() end,\n        [\"@param\"] = function(s) s.parent:clear_lines() end,\n      },\n    },\n  }\n)\n"
  },
  {
    "path": "bin/run_tests.lua",
    "content": "require(\"mini.test\").run({\n  execute = { stop_on_error = true },\n  collect = {\n    find_files = function() return vim.fn.globpath(\"tests\", \"**/test_*.lua\", true, true) end,\n    filter_cases = vim.env.FILTER and function(case)\n      local desc = vim.deepcopy(case.desc)\n      table.remove(desc, 1)\n      desc[#desc + 1] = vim.inspect(case.args, { newline = \"\", indent = \"\" })\n      return table.concat(desc, \" \"):match(vim.env.FILTER)\n    end,\n  },\n})\n"
  },
  {
    "path": "doc/fyler.txt",
    "content": "                                                                    *fyler.nvim*\nINTRODUCTION\n\nFyler.nvim is a Neovim file manager plugin based on buffer-based file editing.\n\nWhy choose Fyler.nvim over |oil.nvim|?\n- Provides a tree view.\n- Users can have a full overview of their project without going back and forth\n  between directories.\n\nGETTING STARTED\n\n1. Fyler must be setup correctly before use.\n\nUSAGE\n\nFyler can be used through commands or the Lua API.\n\nCOMMANDS\n\n:Fyler dir=... kind=...\n\nParameters:\ndir    Path to the directory to open\nkind   Display method, one of:\n       - `float`\n       - `replace`\n       - `split_above`\n       - `split_above_all`\n       - `split_below`\n       - `split_below_all`\n       - `split_left`\n       - `split_left_most`\n       - `split_right`\n       - `split_right_most`\n\nLUA API\n\n>lua\n    local fyler = require(\"fyler\")\n\n    -- Opens finder view with given options\n    fyler.open({ dir = \"...\", kind = \"...\" })\n\n    -- Toggles finder view with given options\n    fyler.toggle({ dir = \"...\", kind = \"...\" })\n\n    -- Focuses finder view\n    fyler.focus()\n\n    -- Focuses given file path or alternate buffer\n    fyler.navigate(\"...\")\n<\n\n------------------------------------------------------------------------------\n                                                                  *fyler.config*\nCONFIGURATION\n\nTo setup Fyler put following code anywhere in your neovim runtime:\n\n>lua\n  require(\"fyler\").setup()\n<\n\nCONFIGURATION.DEFAULTS\n\nTo know more about plugin customization. visit:\n`https://github.com/A7Lavinraj/fyler.nvim/wiki/configuration`\n\n>lua\n  function config.defaults()\n    return {\n      -- Hooks are functions automatically called for corresponding events:\n      -- hooks.on_delete:    function(path: string)\n      -- hooks.on_rename:    function(src: string, dst: string)\n      -- hooks.on_highlight: function(src: string, dst: string)\n      hooks = {},\n      -- Integration is a way to hijack generic plugin calls.\n      integrations = {\n        icon = \"mini_icons\",\n        winpick = \"none\",\n      },\n      -- View is a plugin component with dedicated window, UI and config\n      views = {\n        finder = {\n          -- Automatically closes after open a file\n          close_on_select = true,\n          -- Skip confirmation for simple operations\n          confirm_simple = false,\n          -- Disables NETRW and take over\n          default_explorer = false,\n          -- Move to trash instead of permanent delete - MACOS not supported\n          delete_to_trash = false,\n          -- Define order of information columns\n          columns_order = { \"link\", \"permission\", \"size\", \"git\", \"diagnostic\" },\n          -- Define configuration fo each available information column\n          columns = {\n            git = {\n              enabled = true,\n              symbols = {\n                Untracked = \"?\",\n                Added = \"A\",\n                Modified = \"M\",\n                Deleted = \"D\",\n                Renamed = \"R\",\n                Copied = \"C\",\n                Conflict = \"!\",\n                Ignored = \" \",\n              },\n            },\n            diagnostic = {\n              enabled = true,\n              symbols = {\n                Error = \"E\",\n                Warn = \"W\",\n                Info = \"I\",\n                Hint = \"H\",\n              },\n            },\n            link = {\n              enabled = true,\n            },\n            permission = {\n              enabled = true,\n            },\n            size = {\n              enabled = true,\n            },\n          },\n          -- Overrides directory icons for vairous state\n          icon = {\n            directory_empty = nil,\n            directory_expanded = nil,\n            directory_collapsed = nil,\n          },\n          -- Defines indentation guides config\n          indentscope = {\n            enabled = true,\n            markers = {\n              { \"│\", \"FylerIndentMarker\" },\n              { \"└\", \"FylerIndentMarker\" },\n            },\n          },\n          -- Defines key mapping\n          mappings = {\n            [\"q\"] = \"CloseView\",\n            [\"<CR>\"] = \"Select\",\n            [\"<C-t>\"] = \"SelectTab\",\n            [\"|\"] = \"SelectVSplit\",\n            [\"-\"] = \"SelectSplit\",\n            [\"^\"] = \"GotoParent\",\n            [\"=\"] = \"GotoCwd\",\n            [\".\"] = \"GotoNode\",\n            [\"#\"] = \"CollapseAll\",\n            [\"<BS>\"] = \"CollapseNode\",\n          },\n          -- Defines key mapping options\n          mappings_opts = {\n            nowait = false,\n            noremap = true,\n            silent = true,\n          },\n          -- Automatically focus file in the finder UI\n          follow_current_file = true,\n          -- Automatically updated finder on file system events\n          watcher = {\n            enabled = false,\n          },\n          win = {\n            border = vim.o.winborder == \"\" and \"single\" or vim.o.winborder,\n            buf_opts = {\n              bufhidden = \"hide\",\n              buflisted = false,\n              buftype = \"acwrite\",\n              expandtab = true,\n              filetype = \"fyler\",\n              shiftwidth = 2,\n              syntax = \"fyler\",\n              swapfile = false,\n            },\n            kind = \"replace\",\n            kinds = {\n              float = {\n                height = \"70%\",\n                width = \"70%\",\n                top = \"10%\",\n                left = \"15%\",\n              },\n              replace = {},\n              split_above = {\n                height = \"70%\",\n              },\n              split_above_all = {\n                height = \"70%\",\n                win_opts = {\n                  winfixheight = true,\n                },\n              },\n              split_below = {\n                height = \"70%\",\n              },\n              split_below_all = {\n                height = \"70%\",\n                win_opts = {\n                  winfixheight = true,\n                },\n              },\n              split_left = {\n                width = \"30%\",\n              },\n              split_left_most = {\n                width = \"30%\",\n                win_opts = {\n                  winfixwidth = true,\n                },\n              },\n              split_right = {\n                width = \"30%\",\n              },\n              split_right_most = {\n                width = \"30%\",\n                win_opts = {\n                  winfixwidth = true,\n                },\n              },\n            },\n            win_opts = {\n              concealcursor = \"nvic\",\n              conceallevel = 3,\n              cursorline = false,\n              number = false,\n              relativenumber = false,\n              signcolumn = \"no\",\n              winhighlight = \"Normal:FylerNormal,NormalNC:FylerNormalNC\",\n              wrap = false,\n            },\n          },\n        },\n      },\n    }\n  end\n\n<\n------------------------------------------------------------------------------\n                                                                   *fyler.setup*\nINTEGRATIONS.ICON\n\nIcon provider for file and directory icons.\n\n>lua\n  integrations = {\n    icon = \"mini_icons\",        -- nvim-mini/mini.icons (default)\n    icon = \"nvim_web_devicons\", -- nvim-tree/nvim-web-devicons\n    icon = \"vim_nerdfont\",      -- lambdalisue/vim-nerdfont\n    icon = \"none\",              -- disable icons\n  }\n<\n\nINTEGRATIONS.WINPICK\n\nWindow picker for selecting which window to open files in (split kinds).\n\n>lua\n  integrations = {\n    -- Use winpick = \"<provider>\" or { provider = \"<provider>\", opts = {} }\n    winpick = \"none\",\n    winpick = \"snacks\",\n    winpick = \"builtin\",\n    winpick = \"nvim-window-picker\",\n    winpick = function(win_filter, on_submit, opts)\n      -- custom logic...\n    end)\n  }\n<\n\nCustom winpick function example:\n\n>lua\n  integrations = {\n    winpick = function(win_filter, on_submit, opts)\n      on_submit(require(\"window-picker\").pick_window())\n    end,\n    opts = {}, -- this is what is passed as opts to the above function\n  }\n<\n\n vim:tw=78:ts=8:noet:ft=help:norl:"
  },
  {
    "path": "lua/fyler/autocmds.lua",
    "content": "local M = {}\n\nlocal augroup = vim.api.nvim_create_augroup(\"fyler_augroup_global\", { clear = true })\n\nfunction M.setup(config)\n  local fyler = require(\"fyler\")\n  local helper = require(\"fyler.views.finder.helper\")\n  local util = require(\"fyler.lib.util\")\n  local Path = require(\"fyler.lib.path\")\n\n  config = config or {}\n\n  if config.values.views.finder.default_explorer then\n    -- Disable NETRW plugin\n    vim.g.loaded_netrw = 1\n    vim.g.loaded_netrwPlugin = 1\n\n    -- Clear NETRW auto commands if NETRW loaded before disable\n    vim.cmd(\"silent! autocmd! FileExplorer *\")\n    vim.cmd(\"autocmd VimEnter * ++once silent! autocmd! FileExplorer *\")\n\n    vim.api.nvim_create_autocmd(\"BufEnter\", {\n      group = augroup,\n      pattern = \"*\",\n      desc = \"Hijack directory buffers for fyler\",\n      callback = function(args)\n        local bufname = vim.api.nvim_buf_get_name(args.buf)\n        if Path.new(bufname):is_directory() or helper.is_protocol_uri(bufname) then\n          vim.schedule(function()\n            if util.get_buf_option(args.buf, \"filetype\") == \"fyler\" then return end\n\n            if vim.api.nvim_buf_is_valid(args.buf) then vim.api.nvim_buf_delete(args.buf, { force = true }) end\n\n            fyler.open({ dir = helper.normalize_uri(bufname) })\n          end)\n        end\n      end,\n    })\n\n    vim.api.nvim_create_autocmd({ \"BufReadCmd\", \"SessionLoadPost\" }, {\n      group = augroup,\n      pattern = \"fyler://%d+//*\",\n      desc = \"Open fyler protocol URIs\",\n      callback = function(args)\n        local bufname = vim.api.nvim_buf_get_name(args.buf)\n        if helper.is_protocol_uri(bufname) then\n          local finder_instance = require(\"fyler.views.finder\").instance(bufname)\n          if not finder_instance:isopen() then vim.schedule_wrap(fyler.open)({ dir = bufname }) end\n        end\n      end,\n    })\n  end\n\n  vim.api.nvim_create_autocmd(\"ColorScheme\", {\n    group = augroup,\n    desc = \"Adjust highlight groups with respect to colorscheme\",\n    callback = function() require(\"fyler.lib.hl\").setup() end,\n  })\n\n  if config.values.views.finder.follow_current_file then\n    vim.api.nvim_create_autocmd(\"BufEnter\", {\n      group = augroup,\n      pattern = \"*\",\n      desc = \"Track current focused buffer in finder\",\n      callback = function(arg)\n        if helper.is_protocol_uri(arg.file) or arg.file == \"\" then return end\n\n        vim.schedule(function()\n          if util.get_buf_option(arg.buf, \"filetype\") ~= \"fyler\" then fyler.navigate(arg.file) end\n        end)\n      end,\n    })\n  end\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/config.lua",
    "content": "local deprecated = require(\"fyler.deprecated\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal config = {}\n\nlocal DEPRECATION_RULES = {\n  deprecated.rename(\"views.finder.git\", \"views.finder.columns.git\"),\n  deprecated.transform(\n    \"views.finder.indentscope.marker\",\n    \"views.finder.indentscope.markers\",\n    function() return { { \"│\", \"FylerIndentMarker\" }, { \"└\", \"FylerIndentMarker\" } } end\n  ),\n}\n\n---@class FylerConfigGitStatus\n---@field enabled boolean\n---@field symbols table<string, string>\n\n---@alias FylerConfigIntegrationsIcon\n---| \"none\"\n---| \"mini_icons\"\n---| \"nvim_web_devicons\"\n---| \"vim_nerdfont\"\n\n---@alias FylerConfigIntegrationsWinpickName\n---| \"none\"\n---| \"builtin\"\n---| \"nvim-window-picker\"\n---| \"snacks\"\n\n---@alias FylerConfigIntegrationsWinpickFn fun(win_filter: integer[], onsubmit: fun(winid: integer|nil), opts: table)\n\n---@class FylerConfigWinpickBuiltinOpts\n---@field chars string|nil\n\n---@class FylerConfigWinpickTable\n---@field provider FylerConfigIntegrationsWinpickName|FylerConfigIntegrationsWinpickFn\n---@field opts FylerConfigWinpickBuiltinOpts|table<string, any>|nil\n\n---@alias FylerConfigWinpick\n---| FylerConfigIntegrationsWinpickName\n---| FylerConfigIntegrationsWinpickFn\n---| FylerConfigWinpickTable\n\n---@class FylerConfigIntegrations\n---@field icon FylerConfigIntegrationsIcon\n---@field winpick FylerConfigWinpick\n\n---@alias FylerConfigFinderMapping\n---| \"CloseView\"\n---| \"GotoCwd\"\n---| \"GotoNode\"\n---| \"GotoParent\"\n---| \"Select\"\n---| \"SelectSplit\"\n---| \"SelectTab\"\n---| \"SelectVSplit\"\n---| \"CollapseAll\"\n---| \"CollapseNode\"\n\n---@class FylerConfigIndentScope\n---@field enabled boolean\n---@field group string\n---@field marker string\n\n---@alias FylerConfigBorder\n---| \"bold\"\n---| \"double\"\n---| \"none\"\n---| \"rounded\"\n---| \"shadow\"\n---| \"single\"\n---| \"solid\"\n\n---@class FylerConfigWinKindOptions\n---@field height string|number|nil\n---@field width string|number|nil\n---@field top string|number|nil\n---@field left string|number|nil\n---@field win_opts table<string, any>|nil\n\n---@class FylerConfigWin\n---@field border FylerConfigBorder|string[]\n---@field bottom integer|string\n---@field buf_opts table<string, any>\n---@field footer string\n---@field footer_pos string\n---@field height integer|string\n---@field kind WinKind\n---@field kinds table<WinKind|string, FylerConfigWinKindOptions>\n---@field left integer|string\n---@field right integer|string\n---@field title_pos string\n---@field top integer|string\n---@field width integer|string\n---@field win_opts table<string, any>\n\n---@class FylerConfigViewsFinder\n---@field close_on_select boolean\n---@field confirm_simple boolean\n---@field default_explorer boolean\n---@field delete_to_trash boolean\n---@field git_status FylerConfigGitStatus\n---@field icon table<string, string|nil>\n---@field indentscope FylerConfigIndentScope\n---@field mappings table<string, FylerConfigFinderMapping|function>\n---@field mappings_opts vim.keymap.set.Opts\n---@field follow_current_file boolean\n---@field win FylerConfigWin\n\n---@class FylerConfigViews\n---@field finder FylerConfigViewsFinder\n\n---@class FylerConfig\n---@field hooks table<string, any>\n---@field integrations FylerConfigIntegrations\n---@field views FylerConfigViews\n\n---@class FylerSetupIntegrations\n---@field icon FylerConfigIntegrationsIcon|nil\n---@field winpick FylerConfigWinpick|nil\n\n---@class FylerSetupIndentScope\n---@field enabled boolean|nil\n---@field group string|nil\n---@field marker string|nil\n\n---@class FylerSetupWin\n---@field border FylerConfigBorder|string[]|nil\n---@field buf_opts table<string, any>|nil\n---@field kind WinKind|nil\n---@field kinds table<WinKind|string, FylerConfigWinKindOptions>|nil\n---@field win_opts table<string, any>|nil\n\n---@class FylerSetup\n---@field hooks table<string, any>|nil\n---@field integrations FylerSetupIntegrations|nil\n---@field views FylerConfigViews|nil\n\n--- CONFIGURATION\n---\n--- To setup Fyler put following code anywhere in your neovim runtime:\n---\n--- >lua\n---   require(\"fyler\").setup()\n--- <\n---\n--- CONFIGURATION.DEFAULTS\n---\n--- To know more about plugin customization. visit:\n--- `https://github.com/A7Lavinraj/fyler.nvim/wiki/configuration`\n---\n---@eval return MiniDoc.afterlines_to_code(MiniDoc.current.eval_section)\n---@tag fyler.config\nfunction config.defaults()\n  return {\n    -- Hooks are functions automatically called for corresponding events:\n    -- hooks.on_delete:    function(path: string)\n    -- hooks.on_rename:    function(src: string, dst: string)\n    -- hooks.on_highlight: function(src: string, dst: string)\n    hooks = {},\n    -- Integration is a way to hijack generic plugin calls.\n    integrations = {\n      icon = \"mini_icons\",\n      winpick = \"none\",\n    },\n    -- View is a plugin component with dedicated window, UI and config\n    views = {\n      finder = {\n        -- Automatically closes after open a file\n        close_on_select = true,\n        -- Skip confirmation for simple operations\n        confirm_simple = false,\n        -- Disables NETRW and take over\n        default_explorer = false,\n        -- Move to trash instead of permanent delete\n        delete_to_trash = false,\n        -- Define order of information columns\n        columns_order = { \"link\", \"permission\", \"size\", \"git\", \"diagnostic\" },\n        -- Define configuration fo each available information column\n        columns = {\n          git = {\n            enabled = true,\n            symbols = {\n              Untracked = \"?\",\n              Added = \"A\",\n              Modified = \"M\",\n              Deleted = \"D\",\n              Renamed = \"R\",\n              Copied = \"C\",\n              Conflict = \"!\",\n              Ignored = \" \",\n            },\n          },\n          diagnostic = {\n            enabled = true,\n            symbols = {\n              Error = \"E\",\n              Warn = \"W\",\n              Info = \"I\",\n              Hint = \"H\",\n            },\n          },\n          link = {\n            enabled = true,\n          },\n          permission = {\n            enabled = true,\n          },\n          size = {\n            enabled = true,\n          },\n        },\n        -- Overrides directory icons for vairous state\n        icon = {\n          directory_empty = nil,\n          directory_expanded = nil,\n          directory_collapsed = nil,\n        },\n        -- Defines indentation guides config\n        indentscope = {\n          enabled = true,\n          markers = {\n            { \"│\", \"FylerIndentMarker\" },\n            { \"└\", \"FylerIndentMarker\" },\n          },\n        },\n        -- Defines key mapping\n        mappings = {\n          [\"q\"] = \"CloseView\",\n          [\"<CR>\"] = \"Select\",\n          [\"<C-t>\"] = \"SelectTab\",\n          [\"|\"] = \"SelectVSplit\",\n          [\"-\"] = \"SelectSplit\",\n          [\"^\"] = \"GotoParent\",\n          [\"=\"] = \"GotoCwd\",\n          [\".\"] = \"GotoNode\",\n          [\"#\"] = \"CollapseAll\",\n          [\"<BS>\"] = \"CollapseNode\",\n        },\n        -- Defines key mapping options\n        mappings_opts = {\n          nowait = false,\n          noremap = true,\n          silent = true,\n        },\n        -- Automatically focus file in the finder UI\n        follow_current_file = true,\n        -- Automatically updated finder on file system events\n        watcher = {\n          enabled = false,\n        },\n        win = {\n          border = vim.o.winborder == \"\" and \"single\" or vim.o.winborder,\n          buf_opts = {\n            bufhidden = \"hide\",\n            buflisted = false,\n            buftype = \"acwrite\",\n            expandtab = true,\n            filetype = \"fyler\",\n            shiftwidth = 2,\n            syntax = \"fyler\",\n            swapfile = false,\n          },\n          kind = \"replace\",\n          kinds = {\n            float = {\n              height = \"70%\",\n              width = \"70%\",\n              top = \"10%\",\n              left = \"15%\",\n            },\n            replace = {},\n            split_above = {\n              height = \"70%\",\n            },\n            split_above_all = {\n              height = \"70%\",\n              win_opts = {\n                winfixheight = true,\n              },\n            },\n            split_below = {\n              height = \"70%\",\n            },\n            split_below_all = {\n              height = \"70%\",\n              win_opts = {\n                winfixheight = true,\n              },\n            },\n            split_left = {\n              width = \"30%\",\n            },\n            split_left_most = {\n              width = \"30%\",\n              win_opts = {\n                winfixwidth = true,\n              },\n            },\n            split_right = {\n              width = \"30%\",\n            },\n            split_right_most = {\n              width = \"30%\",\n              win_opts = {\n                winfixwidth = true,\n              },\n            },\n          },\n          win_opts = {\n            concealcursor = \"nvic\",\n            conceallevel = 3,\n            cursorline = false,\n            number = false,\n            relativenumber = false,\n            signcolumn = \"no\",\n            winhighlight = \"Normal:FylerNormal,NormalNC:FylerNormalNC\",\n            wrap = false,\n          },\n        },\n      },\n    },\n  }\nend\n\n---@param name string\n---@param kind WinKind|nil\n---@return FylerConfigViewsFinder\nfunction config.view_cfg(name, kind)\n  local view = vim.deepcopy(config.values.views[name] or {})\n  view.win = require(\"fyler.lib.util\").tbl_merge_force(view.win, view.win.kinds[kind or view.win.kind])\n  return view\nend\n\n---@param name string\n---@return table<string, string[]>\nfunction config.rev_maps(name)\n  local rev_maps = {}\n  for k, v in pairs(config.values.views[name].mappings or {}) do\n    if type(v) == \"string\" then\n      local current = rev_maps[v]\n      if current then\n        table.insert(current, k)\n      else\n        rev_maps[v] = { k }\n      end\n    end\n  end\n\n  setmetatable(rev_maps, {\n    __index = function() return \"<nop>\" end,\n  })\n\n  return rev_maps\nend\n\n---@param name string\n---@return table<string, function>\nfunction config.usr_maps(name)\n  local user_maps = {}\n  for k, v in pairs(config.values.views[name].mappings or {}) do\n    if type(v) == \"function\" then user_maps[k] = v end\n  end\n\n  return user_maps\nend\n\n--- INTEGRATIONS.ICON\n---\n--- Icon provider for file and directory icons.\n---\n--- >lua\n---   integrations = {\n---     icon = \"mini_icons\",        -- nvim-mini/mini.icons (default)\n---     icon = \"nvim_web_devicons\", -- nvim-tree/nvim-web-devicons\n---     icon = \"vim_nerdfont\",      -- lambdalisue/vim-nerdfont\n---     icon = \"none\",              -- disable icons\n---   }\n--- <\n---\n--- INTEGRATIONS.WINPICK\n---\n--- Window picker for selecting which window to open files in (split kinds).\n---\n--- >lua\n---   integrations = {\n---     -- Use winpick = \"<provider>\" or { provider = \"<provider>\", opts = {} }\n---     winpick = \"none\",\n---     winpick = \"snacks\",\n---     winpick = \"builtin\",\n---     winpick = \"nvim-window-picker\",\n---     winpick = function(win_filter, on_submit, opts)\n---       -- custom logic...\n---     end)\n---   }\n--- <\n---\n--- Custom winpick function example:\n---\n--- >lua\n---   integrations = {\n---     winpick = function(win_filter, on_submit, opts)\n---       on_submit(require(\"window-picker\").pick_window())\n---     end,\n---     opts = {}, -- this is what is passed as opts to the above function\n---   }\n--- <\n---\n---@tag fyler.setup\n\n---@param opts FylerSetup|nil\nfunction config.setup(opts)\n  opts = opts or {}\n\n  config.values = util.tbl_merge_force(config.defaults(), deprecated.migrate(opts, DEPRECATION_RULES))\n\n  local icon_provider = config.values.integrations.icon\n  if type(icon_provider) == \"string\" then\n    config.icon_provider = require(\"fyler.integrations.icon\")[icon_provider]\n  else\n    config.icon_provider = icon_provider\n  end\n\n  -- Support shorthand: winpick = \"provider-name\" or winpick = function\n  local winpick_config = config.values.integrations.winpick\n  local winpick_provider = type(winpick_config) == \"table\" and winpick_config.provider or winpick_config\n  config.winpick_opts = type(winpick_config) == \"table\" and winpick_config.opts or {}\n  if type(winpick_provider) == \"string\" then\n    config.winpick_provider = require(\"fyler.integrations.winpick\")[winpick_provider]\n  else\n    config.winpick_provider = winpick_provider\n  end\n\n  for _, sub_module in ipairs({\n    \"fyler.autocmds\",\n    \"fyler.hooks\",\n    \"fyler.lib.hl\",\n  }) do\n    require(sub_module).setup(config)\n  end\nend\n\nreturn config\n"
  },
  {
    "path": "lua/fyler/deprecated.lua",
    "content": "local M = {}\n\nlocal warnings = {}\n\nlocal function split_path(path)\n  local parts = {}\n  for part in path:gmatch(\"[^.]+\") do\n    table.insert(parts, part)\n  end\n  return parts\nend\n\nlocal function get_nested(tbl, path)\n  local parts = split_path(path)\n  local current = tbl\n\n  for _, part in ipairs(parts) do\n    if type(current) ~= \"table\" then return nil end\n    current = current[part]\n    if current == nil then return nil end\n  end\n\n  return current\nend\n\nlocal function set_nested(tbl, path, value)\n  local parts = split_path(path)\n  local current = tbl\n\n  for i = 1, #parts - 1 do\n    local part = parts[i]\n    if type(current[part]) ~= \"table\" then current[part] = {} end\n    current = current[part]\n  end\n\n  current[parts[#parts]] = value\nend\n\nlocal function delete_nested(tbl, path)\n  local parts = split_path(path)\n  local current = tbl\n\n  for i = 1, #parts - 1 do\n    local part = parts[i]\n    if type(current) ~= \"table\" or current[part] == nil then return end\n    current = current[part]\n  end\n\n  current[parts[#parts]] = nil\nend\n\nlocal function path_exists(tbl, path) return get_nested(tbl, path) ~= nil end\n\nlocal function format_warning(warning)\n  local lines = {}\n  local rule = warning.rule\n\n  table.insert(lines, string.format(\"Deprecated configuration detected: '%s'\", warning.path))\n\n  if rule.message then table.insert(lines, \"  \" .. rule.message) end\n\n  if rule.version then table.insert(lines, string.format(\"  Deprecated in: v%s\", rule.version)) end\n\n  if rule.removal_version then table.insert(lines, string.format(\"  Will be removed in: v%s\", rule.removal_version)) end\n\n  if rule.to then\n    table.insert(lines, string.format(\"  Use '%s' instead\", rule.to))\n  else\n    table.insert(lines, \"  This option has been removed\")\n  end\n\n  table.insert(lines, \"  \" .. warning.suggestion)\n\n  return table.concat(lines, \"\\n\")\nend\n\nlocal function show_warnings()\n  if #warnings == 0 then return end\n\n  local message_parts = {\n    \"Fyler: Deprecated configuration options detected\",\n    string.rep(\"=\", 60),\n  }\n\n  for _, warning in ipairs(warnings) do\n    table.insert(message_parts, \"\")\n    table.insert(message_parts, format_warning(warning))\n  end\n\n  table.insert(message_parts, \"\")\n  table.insert(message_parts, string.rep(\"=\", 60))\n  table.insert(message_parts, \"Please update your configuration to avoid future issues.\")\n  table.insert(message_parts, \"See :h Fyler.Config for current options.\")\n\n  local full_message = table.concat(message_parts, \"\\n\")\n\n  vim.notify(full_message, vim.log.levels.WARN)\nend\n\nlocal function apply_rule(config, rule)\n  if not path_exists(config, rule.from) then return false end\n\n  local old_value = get_nested(config, rule.from)\n\n  local new_value = old_value\n  if rule.transform then new_value = rule.transform(old_value, config) end\n\n  if rule.to then set_nested(config, rule.to, new_value) end\n\n  delete_nested(config, rule.from)\n\n  local suggestion\n  if rule.to then\n    if rule.transform then\n      suggestion = string.format(\"Update your config: %s = <transformed_value>\", rule.to)\n    else\n      suggestion = string.format(\"Update your config: %s = %s\", rule.to, vim.inspect(old_value))\n    end\n  else\n    suggestion = string.format(\"Remove '%s' from your configuration\", rule.from)\n  end\n\n  table.insert(warnings, {\n    path = rule.from,\n    rule = rule,\n    suggestion = suggestion,\n  })\n\n  return true\nend\n\nfunction M.migrate(user_config, rules)\n  warnings = {}\n\n  local config = vim.deepcopy(user_config)\n\n  for _, rule in ipairs(rules or {}) do\n    apply_rule(config, rule)\n  end\n\n  if #warnings > 0 then show_warnings() end\n\n  return config\nend\n\nfunction M.rename(from, to, opts)\n  opts = opts or {}\n  return vim.tbl_extend(\"force\", {\n    from = from,\n    to = to,\n    transform = nil,\n  }, opts)\nend\n\nfunction M.remove(from, opts)\n  opts = opts or {}\n  return vim.tbl_extend(\"force\", {\n    from = from,\n    to = nil,\n    transform = nil,\n  }, opts)\nend\n\nfunction M.transform(from, to, transform, opts)\n  opts = opts or {}\n  return vim.tbl_extend(\"force\", {\n    from = from,\n    to = to,\n    transform = transform,\n  }, opts)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/hooks.lua",
    "content": "local M = {}\nlocal hooks = {}\n\n-- Get attached active LSP clients\nlocal function get_active_lsp_clients()\n  if vim.lsp.get_clients then\n    return vim.lsp.get_clients()\n  else\n    ---@diagnostic disable-next-line: deprecated\n    return vim.lsp.get_active_clients()\n  end\nend\n\nhooks.on_highlight = function() end\n\n---@param path string\nfunction hooks.on_delete(path)\n  if not path then return end\n\n  local path_bufnr = vim.fn.bufnr(path)\n  if path_bufnr == -1 then return end\n  path_bufnr = path_bufnr == 0 and vim.api.nvim_get_current_buf() or path_bufnr\n\n  vim.api.nvim_buf_call(path_bufnr, function()\n    for _, winid in ipairs(vim.fn.win_findbuf(path_bufnr)) do\n      vim.api.nvim_win_call(winid, function()\n        if not vim.api.nvim_win_is_valid(winid) or vim.api.nvim_win_get_buf(winid) ~= path_bufnr then return end\n\n        local alternate_bufnr = vim.fn.bufnr(\"#\")\n        if alternate_bufnr ~= path_bufnr and vim.fn.buflisted(alternate_bufnr) == 1 then\n          return vim.api.nvim_win_set_buf(winid, alternate_bufnr)\n        end\n\n        ---@diagnostic disable-next-line: param-type-mismatch\n        local has_previous = pcall(vim.cmd, \"bprevious\")\n        if has_previous and path_bufnr ~= vim.api.nvim_win_get_buf(winid) then return end\n\n        local new_bufnr = vim.api.nvim_create_buf(true, false)\n        vim.api.nvim_win_set_buf(winid, new_bufnr)\n      end)\n    end\n\n    if vim.api.nvim_buf_is_valid(path_bufnr) then\n      ---@diagnostic disable-next-line: param-type-mismatch\n      pcall(vim.cmd, \"bdelete! \" .. path_bufnr)\n    end\n  end)\nend\n\n---@param src string\n---@param dst string\nfunction hooks.on_rename(src, dst)\n  if not src then return end\n  if not dst then return end\n\n  local changes = {\n    files = {\n      {\n        oldUri = vim.uri_from_fname(src),\n        newUri = vim.uri_from_fname(dst),\n      },\n    },\n  }\n\n  local clients = get_active_lsp_clients()\n  for _, client in ipairs(clients) do\n    if client:supports_method(\"workspace/willRenameFiles\") then\n      local response = client:request_sync(\"workspace/willRenameFiles\", changes, 1000, 0)\n      if response and response.result ~= nil then\n        vim.lsp.util.apply_workspace_edit(response.result, client.offset_encoding)\n      end\n    end\n  end\n\n  local src_bufnr = vim.fn.bufnr(src)\n  if src_bufnr >= 0 then\n    local dst_bufnr = vim.fn.bufadd(dst)\n    require(\"fyler.lib.util\").set_buf_option(dst_bufnr, \"buflisted\", true)\n\n    for _, winid in ipairs(vim.fn.win_findbuf(src_bufnr)) do\n      vim.api.nvim_win_call(winid, function() vim.cmd(\"buffer \" .. dst_bufnr) end)\n    end\n\n    vim.api.nvim_buf_delete(src_bufnr, { force = true })\n  end\n\n  for _, client in ipairs(clients) do\n    if client:supports_method(\"workspace/didRenameFiles\") then client:notify(\"workspace/didRenameFiles\", changes) end\n  end\nend\n\nfunction M.setup(config)\n  for name, fn in pairs(hooks) do\n    M[name] = config.values.hooks[name] or fn\n  end\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/input.lua",
    "content": "local M = setmetatable({}, {\n  __index = function(_, key)\n    local ok, input = pcall(require, \"fyler.inputs.\" .. key)\n    assert(ok, string.format(\"Input '%s' not found\", key))\n    return input\n  end,\n})\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/inputs/confirm.lua",
    "content": "local Ui = require(\"fyler.lib.ui\")\nlocal Win = require(\"fyler.lib.win\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal Confirm = {}\nConfirm.__index = Confirm\n\nlocal function resolve_dim(width, height)\n  width = math.max(25, math.min(vim.o.columns, width)) + 2\n  height = math.max(1, math.min(16, height))\n  local left = math.floor((vim.o.columns - width) * 0.5)\n  local top = math.floor((vim.o.lines - height) * 0.5)\n  return math.floor(width), math.floor(height), left, top\nend\n\nfunction Confirm:open(options, message, onsubmit)\n  local width, height, left, top = resolve_dim(options.width, options.height)\n  -- stylua: ignore start\n  self.window = Win.new {\n    kind       = \"float\",\n    enter      = true,\n    width      = width,\n    height     = height,\n    left       = left,\n    top        = top,\n    border     = vim.o.winborder == \"\" and \"rounded\" or vim.o.winborder,\n    footer     = \" Want to continue? (y|n) \",\n    footer_pos = \"center\",\n    buf_opts   = { modifiable = false },\n    win_opts   = { winhighlight = \"Normal:FylerNormal,NormalNC:FylerNormalNC\" },\n    mappings   = {\n      [{ 'y', 'o', '<Enter>' }] = function()\n        self.window:hide()\n        pcall(onsubmit, true)\n      end,\n      [{ 'n', 'c', '<ESC>' }] = function()\n        self.window:hide()\n        pcall(onsubmit, false)\n      end\n    },\n    autocmds   = {\n      QuitPre = function()\n        local cmd = util.cmd_history()\n        self.window:hide()\n        pcall(onsubmit)\n        if cmd == \"qa\" or cmd == \"qall\" or cmd == \"quitall\" then\n          vim.schedule(vim.cmd.quitall)\n        end\n      end\n    },\n    render     = function()\n      if type(message) == \"table\" and type(message[1]) == \"string\" then\n        ---@diagnostic disable-next-line: param-type-mismatch\n        self.window.ui:render(Ui.Column(util.tbl_map(message, Ui.Text)))\n      else\n        self.window.ui:render(message)\n      end\n    end\n  }\n  -- stylua: ignore end\n\n  self.window:show()\nend\n\nlocal M = {}\n\nfunction M.open(message, on_submit)\n  local width, height = 0, 0\n  if message.width then\n    width, height = message:width(), message:height()\n  else\n    height = #message\n    for _, row in pairs(message) do\n      width = math.max(width, #row)\n    end\n  end\n\n  setmetatable({}, Confirm):open({\n    width = width,\n    height = height,\n  }, message, on_submit)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/inputs/winpick.lua",
    "content": "local Ui = require(\"fyler.lib.ui\")\nlocal Win = require(\"fyler.lib.win\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal M = {}\n\n---@param win_filter integer[]\n---@param onsubmit fun(winid: integer|nil)\n---@param opts FylerConfigWinpickBuiltinOpts|nil\nfunction M.open(win_filter, onsubmit, opts)\n  opts = opts or {}\n  local chars = opts.chars or \"asdfghjkl;\"\n\n  local winids = util.tbl_filter(vim.api.nvim_tabpage_list_wins(0), function(win)\n    return not util.if_any(win_filter, function(c) return c == win end)\n  end)\n  assert(string.len(chars) >= #winids, \"too many windows to select\")\n\n  if #winids <= 1 then return onsubmit(winids[1]) end\n\n  local winid_to_win = {}\n  local char_to_winid = {}\n  for i, winid in ipairs(winids) do\n    winid_to_win[winid] = Win.new({\n      buf_opts = { modifiable = false },\n      enter = false,\n      height = 1,\n      kind = \"float\",\n      left = 0,\n      top = 0,\n      width = 3,\n      win = winid,\n    })\n    winid_to_win[winid].render = function()\n      winid_to_win[winid].ui:render({\n        children = {\n          Ui.Text(string.format(\" %s \", string.sub(chars, i, i)), { highlight = \"FylerWinPick\" }),\n        },\n      }, function()\n        if i == #winids then\n          vim.cmd([[ redraw! ]])\n\n          local winid = char_to_winid[vim.fn.getcharstr()]\n          for _, win in pairs(winid_to_win) do\n            win:hide()\n          end\n\n          onsubmit(winid)\n        end\n      end)\n    end\n    char_to_winid[string.sub(chars, i, i)] = winid\n    winid_to_win[winid]:show()\n  end\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/integrations/icon/init.lua",
    "content": "---@class IconIntegration\n---@field mini_icon MiniIconsIntegration\n---@field nvim_web_devicons NvimWebDeviconsIntegration\n---@field vim_nerdfont VimNerdfontIntegration\nlocal M = {}\n\nsetmetatable(M, {\n  __index = function(_, k)\n    if k == \"none\" then\n      return function() end\n    end\n\n    local icon_provider = require(\"fyler.integrations.icon.\" .. k)\n\n    return function(type, path) return icon_provider.get(type, path) end\n  end,\n})\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/integrations/icon/mini_icons.lua",
    "content": "---@class MiniIconsIntegration\nlocal M = {}\n\nfunction M.get(type, name)\n  local ok, miniicons = pcall(require, \"mini.icons\")\n  assert(ok, \"mini.icons are not installed or not loaded\")\n\n  local supported = {\n    default = true,\n    directory = true,\n    extension = true,\n    file = true,\n    filetype = true,\n    lsp = true,\n    os = true,\n  }\n\n  local category = supported[type] and type or \"file\"\n  return miniicons.get(category, name)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/integrations/icon/nvim_web_devicons.lua",
    "content": "---@class NvimWebDeviconsIntegration\nlocal M = {}\n\nfunction M.get(type, path)\n  local ok, devicons = pcall(require, \"nvim-web-devicons\")\n  assert(ok, \"nvim-web-devicons are not installed or not loaded\")\n\n  local icon, hl = devicons.get_icon(vim.fn.fnamemodify(path, \":t\"))\n  icon = (type == \"directory\" and \"\" or (icon or \"\"))\n  hl = hl or (type == \"directory\" and \"Fylerblue\" or \"\")\n\n  return icon, hl\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/integrations/icon/vim_nerdfont.lua",
    "content": "---@class VimNerdfontIntegration\nlocal M = {}\n\nfunction M.get(type, path)\n  assert(vim.fn.exists(\"*nerdfont#find\"), \"vim-nerdfont are not installed or not loaded\")\n\n  if type == \"directory\" then\n    return vim.fn[\"nerdfont#directory#find\"]()\n  else\n    return vim.fn[\"nerdfont#find\"](path)\n  end\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/integrations/winpick/init.lua",
    "content": "---@class WinpickIntegration\n---@field none fun(win_filter: integer[], onsubmit: fun(winid: integer|nil), opts: table|nil)\n---@field builtin fun(win_filter: integer[], onsubmit: fun(winid: integer|nil), opts: table|nil)\n---@field nvim_window_picker fun(win_filter: integer[], onsubmit: fun(winid: integer|nil), opts: table|nil)\n---@field snacks fun(win_filter: integer[], onsubmit: fun(winid: integer|nil), opts: table|nil)\nlocal M = {}\n\nsetmetatable(M, {\n  __index = function(_, k)\n    if k == \"none\" then\n      return function(win_filter, onsubmit, _)\n        local prev_winnr = vim.fn.winnr(\"#\")\n        local prev_winid = prev_winnr ~= 0 and vim.fn.win_getid(prev_winnr) or nil\n        if prev_winid and vim.tbl_contains(win_filter, prev_winid) then prev_winid = nil end\n        onsubmit(prev_winid)\n      end\n    end\n\n    if k == \"builtin\" then return require(\"fyler.inputs.winpick\").open end\n\n    local ok, winpick_provider = pcall(require, \"fyler.integrations.winpick.\" .. k:gsub(\"-\", \"_\"))\n    assert(ok, string.format(\"Winpick integration '%s' not found\", k))\n\n    return function(win_filter, onsubmit, opts) return winpick_provider.open(win_filter, onsubmit, opts) end\n  end,\n})\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/integrations/winpick/nvim_window_picker.lua",
    "content": "---@class NvimWindowPickerIntegration\nlocal M = {}\n\n--- Note: win_filter is unused here because we filter by filetype instead,\n--- which preserves the user's nvim-window-picker filter_rules configuration.\n---@param _ integer[] Window IDs to filter (unused, filtered by filetype)\n---@param onsubmit fun(winid: integer|nil)\n---@param opts table<string, any>|nil Options passed to nvim-window-picker's pick_window()\nfunction M.open(_, onsubmit, opts)\n  local ok, window_picker = pcall(require, \"window-picker\")\n  assert(ok, \"nvim-window-picker is not installed or not loaded\")\n\n  opts = opts or {}\n\n  -- Merge \"fyler\" into filter_rules.bo.filetype to exclude fyler windows\n  local user_filetypes = opts.filter_rules and opts.filter_rules.bo and opts.filter_rules.bo.filetype or {}\n  local filetypes = vim.list_extend({ \"fyler\" }, user_filetypes)\n\n  local picker_opts = vim.tbl_deep_extend(\"force\", opts, {\n    filter_rules = {\n      bo = {\n        filetype = filetypes,\n      },\n    },\n  })\n\n  local winid = window_picker.pick_window(picker_opts)\n\n  onsubmit(winid)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/integrations/winpick/snacks.lua",
    "content": "---@class SnacksWinpickIntegration\nlocal M = {}\n\n--- Note: win_filter is unused here because snacks.picker.util.pick_win\n--- filters by filetype instead.\n---@param _ integer[] Window IDs to filter (unused, filtered by filetype)\n---@param onsubmit fun(winid: integer|nil)\n---@param opts table<string, any>|nil Options passed to snacks.picker.util.pick_win()\nfunction M.open(_, onsubmit, opts)\n  local ok, snacks_picker_util = pcall(require, \"snacks.picker.util\")\n  assert(ok, \"snacks.nvim picker is not installed or not loaded\")\n\n  opts = opts or {}\n\n  -- Merge filter to exclude fyler windows\n  local user_filter = opts.filter\n  local picker_opts = vim.tbl_deep_extend(\"force\", opts, {\n    filter = function(win, buf)\n      if vim.bo[buf].filetype == \"fyler\" then return false end\n      if user_filter then return user_filter(win, buf) end\n      return true\n    end,\n  })\n\n  local winid = snacks_picker_util.pick_win(picker_opts)\n\n  onsubmit(winid)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/async.lua",
    "content": "local log = require(\"fyler.log\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal M = {}\n\nlocal function trace_error(message, co)\n  local trace = debug.traceback(co or nil)\n  local full_error = string.format(\"%s\\n%s\", message, trace)\n  log.error(full_error)\n  return full_error\nend\n\nlocal function execute_async(async_fn, next, ...)\n  local co = coroutine.create(async_fn)\n  local args = { ... }\n\n  local function step(...)\n    local success, result = coroutine.resume(co, ...)\n\n    if not success then\n      trace_error(\"Coroutine error: \" .. tostring(result), co)\n      if next then next(nil, result) end\n      return\n    end\n\n    local status = coroutine.status(co)\n\n    if status == \"dead\" then\n      if next then next(result) end\n    elseif status == \"suspended\" then\n      if type(result) == \"function\" then\n        local exec_success, exec_error = pcall(result, step)\n        if not exec_success then\n          trace_error(\"Error executing yielded function: \" .. tostring(exec_error), co)\n          if next then next(nil, exec_error) end\n        end\n      else\n        local error_msg = \"Invalid yield: expected function, got \" .. type(result)\n        trace_error(error_msg, co)\n        if next then next(nil, error_msg) end\n      end\n    end\n  end\n\n  local start_success, start_error = pcall(step, util.unpack(args))\n  if not start_success then\n    trace_error(\"Failed to start execution: \" .. tostring(start_error))\n    if next then next(nil, start_error) end\n  end\nend\n\nfunction M.await(fn, ...)\n  local args = { ... }\n\n  return coroutine.yield(function(resume_fn)\n    table.insert(args, function(...)\n      local success, error = pcall(resume_fn, ...)\n      if not success then trace_error(\"Error in await callback: \" .. tostring(error)) end\n    end)\n\n    local success, error = pcall(fn, util.unpack(args))\n    if not success then\n      trace_error(\"Error calling awaited function: \" .. tostring(error))\n      resume_fn(nil, error)\n    end\n  end)\nend\n\nfunction M.wrap(fn)\n  return function(...)\n    local args = { ... }\n\n    return M.await(function(cb)\n      table.insert(args, cb)\n      execute_async(fn, nil, util.unpack(args))\n    end)\n  end\nend\n\nfunction M.void_wrap(async_fn)\n  return function(...) execute_async(async_fn, nil, ...) end\nend\n\nfunction M.void(async_fn, cb) execute_async(async_fn, cb) end\n\nM.schedule = M.wrap(vim.schedule)\n\nsetmetatable(M, {\n  __index = function(_, k)\n    local _, module = pcall(require, \"fyler.lib.async.\" .. k)\n    if not module then\n      require(\"fyler.log\").error(string.format(\"Module '%s' is not implemented\", k))\n    else\n      return module\n    end\n  end,\n})\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/diagnostic.lua",
    "content": "local config = require(\"fyler.config\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal M = {}\n\nlocal severity_names = {\n  [vim.diagnostic.severity.ERROR] = \"Error\",\n  [vim.diagnostic.severity.WARN] = \"Warn\",\n  [vim.diagnostic.severity.INFO] = \"Info\",\n  [vim.diagnostic.severity.HINT] = \"Hint\",\n}\n\nlocal severity_hl = {\n  [vim.diagnostic.severity.ERROR] = \"FylerDiagnosticError\",\n  [vim.diagnostic.severity.WARN] = \"FylerDiagnosticWarn\",\n  [vim.diagnostic.severity.INFO] = \"FylerDiagnosticInfo\",\n  [vim.diagnostic.severity.HINT] = \"FylerDiagnosticHint\",\n}\n\nlocal function count_diagnostics_by_path()\n  local lookup = {}\n\n  if not vim.diagnostic then return lookup end\n\n  for _, bufnr in ipairs(vim.api.nvim_list_bufs()) do\n    local name = vim.api.nvim_buf_get_name(bufnr)\n    if name ~= \"\" then\n      name = vim.fs.normalize(name)\n\n      local diagnostics = vim.diagnostic.get(bufnr)\n      if diagnostics and #diagnostics > 0 then\n        local counts = {}\n        local highest_severity = nil\n\n        for _, diag in ipairs(diagnostics) do\n          local sev = diag.severity\n          if sev then\n            counts[sev] = (counts[sev] or 0) + 1\n            highest_severity = highest_severity and math.min(highest_severity, sev) or sev\n          end\n        end\n\n        lookup[name] = {\n          counts = counts,\n          highest_severity = highest_severity,\n        }\n      end\n    end\n  end\n\n  return lookup\nend\n\nfunction M.map_entries(_, entries)\n  local diag_by_path = count_diagnostics_by_path()\n  local symbols = (config.values.views.finder.columns.diagnostic or {}).symbols or {}\n\n  return util.tbl_map(entries, function(path)\n    local normalized_path = vim.fs.normalize(path)\n\n    local info = diag_by_path[normalized_path]\n    if not info or not info.highest_severity then return { \"\", nil } end\n\n    local sev = info.highest_severity\n    local sev_name = severity_names[sev]\n    local sev_symbol = sev_name and symbols[sev_name] or \"\"\n    local count = info.counts[sev] or 0\n    if count == 0 then return { \"\", nil } end\n\n    -- local text = sev_symbol .. count\n    local text = sev_symbol\n    local hl = severity_hl[sev]\n\n    return {\n      text,\n      hl,\n    }\n  end)\nend\n\nfunction M.map_entries_async(root_dir, entries, onmapped)\n  vim.schedule(function() onmapped(M.map_entries(root_dir, entries)) end)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/fs.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal hooks = require(\"fyler.hooks\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal M = {}\n\nfunction M.write(opts, _next)\n  local path = Path.new(opts.path):os_path()\n  local data = opts.data or {}\n\n  M.mkdir({\n    path = Path.new(path):parent():os_path(),\n    flags = { p = true },\n  }, function(err)\n    if err then\n      pcall(_next, err)\n      return\n    end\n\n    vim.uv.fs_open(path, \"w\", 420, function(err_open, fd)\n      if err_open or not fd then\n        pcall(_next, err_open)\n        return\n      end\n\n      vim.uv.fs_write(fd, data, -1, function(err_write, bytes)\n        if not bytes then\n          vim.uv.fs_close(fd, function()\n            M.rm({\n              path = path,\n            }, function() pcall(_next, string.format(\"Failed to write to %s: %s\", path, err_write)) end)\n          end)\n        else\n          vim.uv.fs_close(fd, function(err_close) pcall(_next, err_close) end)\n        end\n      end)\n    end)\n  end)\nend\n\nfunction M.ls(opts, _next)\n  local path = Path.new(opts.path):os_path()\n\n  vim.uv.fs_opendir(path, function(err_open, dir)\n    if err_open or not dir then\n      pcall(_next, err_open, nil)\n      return\n    end\n\n    local contents = {}\n    -- NOTE: Polling is necessary because `fs_readdir: async_version` list\n    -- contents in chunks\n    local function poll_entries()\n      vim.uv.fs_readdir(dir, function(err_read, entries)\n        if err_read then\n          vim.uv.fs_closedir(dir, function() pcall(_next, err_read, nil) end)\n          return\n        end\n\n        if entries and #entries > 0 then\n          vim.list_extend(\n            contents,\n            util.tbl_map(entries, function(e)\n              local entry_path_obj = Path.new(path):join(e.name)\n              local entry_path, entry_type = entry_path_obj:res_link()\n              if e.type == \"link\" then\n                return {\n                  name = e.name,\n                  path = entry_path,\n                  type = entry_type or \"file\",\n                  link = entry_path_obj:posix_path(),\n                }\n              else\n                return {\n                  name = e.name,\n                  type = e.type,\n                  path = entry_path_obj:posix_path(),\n                }\n              end\n            end)\n          )\n\n          poll_entries() -- Continue reading\n        else\n          vim.uv.fs_closedir(dir, function() pcall(_next, nil, contents) end)\n        end\n      end)\n    end\n\n    poll_entries()\n  end, 1000)\nend\n\nfunction M.touch(opts, _next)\n  local path = Path.new(opts.path):os_path()\n\n  vim.uv.fs_open(path, \"a\", 420, function(err_open, fd)\n    if err_open or not fd then\n      pcall(_next, err_open)\n      return\n    end\n\n    vim.uv.fs_close(fd, function(err_close) pcall(_next, err_close) end)\n  end)\nend\n\nfunction M.mkdir(opts, _next)\n  local flags = opts.flags or {}\n\n  if flags.p then\n    local prefixes = {}\n    for _, prefix in Path.new(opts.path):iter() do\n      table.insert(prefixes, prefix)\n    end\n\n    local function create_next(index)\n      if index > #prefixes then return pcall(_next) end\n\n      if Path.new(prefixes[index]):exists() then\n        create_next(index + 1)\n      else\n        M.mkdir({ path = prefixes[index] }, function() create_next(index + 1) end)\n      end\n    end\n\n    create_next(1)\n  else\n    vim.uv.fs_mkdir(Path.new(opts.path):os_path(), 493, function(err) pcall(_next, err) end)\n  end\nend\n\nlocal function _read_dir_iter(opts, _next)\n  local path = Path.new(opts.path):os_path()\n\n  vim.uv.fs_opendir(path, function(err_open, dir)\n    if err_open or not dir then\n      pcall(_next, nil, function() end)\n      return\n    end\n\n    vim.uv.fs_readdir(dir, function(err_read, entries)\n      vim.uv.fs_closedir(dir, function()\n        if err_read or not entries then\n          pcall(_next, nil, function() end)\n        else\n          local i = 0\n          pcall(_next, nil, function()\n            i = i + 1\n            if i <= #entries then return i, entries[i] end\n          end)\n        end\n      end)\n    end)\n  end, 1000)\nend\n\nfunction M.rm(opts, _next)\n  local path = Path.new(opts.path):os_path()\n  local flags = opts.flags or {}\n\n  flags = flags or {}\n\n  if Path.new(path):is_directory() then\n    assert(flags.r, \"cannot remove directory without -r flag: \" .. path)\n\n    _read_dir_iter({\n      path = path,\n    }, function(err, iter)\n      if err then\n        pcall(_next, err)\n        return\n      end\n\n      local entries = {}\n      for _, e in iter do\n        table.insert(entries, e)\n      end\n\n      local function remove_next(index)\n        if index > #entries then\n          vim.uv.fs_rmdir(path, function(err_rmdir) pcall(_next, err_rmdir) end)\n          return\n        end\n\n        M.rm({\n          path = Path.new(path):join(entries[index].name):os_path(),\n          flags = flags,\n        }, function(err)\n          if err then\n            pcall(_next, err)\n            return\n          end\n          remove_next(index + 1)\n        end)\n      end\n\n      remove_next(1)\n    end)\n  else\n    vim.uv.fs_unlink(path, function(err) pcall(_next, err) end)\n  end\nend\n\nfunction M.mv(opts, _next)\n  local src = Path.new(opts.src):os_path()\n  local dst = Path.new(opts.dst):os_path()\n\n  M.mkdir({\n    path = Path.new(dst):parent():os_path(),\n    flags = { p = true },\n  }, function()\n    if Path.new(src):is_directory() then\n      M.mkdir({\n        path = dst,\n        flags = { p = true },\n      }, function()\n        _read_dir_iter({\n          path = src,\n        }, function(err_iter, iter)\n          if err_iter then\n            pcall(_next, err_iter)\n            return\n          end\n\n          local entries = {}\n          for _, e in iter do\n            table.insert(entries, e)\n          end\n\n          local function move_next(index)\n            if index > #entries then\n              vim.uv.fs_rmdir(src, function(err_rmdir) pcall(_next, err_rmdir) end)\n              return\n            end\n\n            M.mv({\n              src = Path.new(src):join(entries[index].name):os_path(),\n              dst = Path.new(dst):join(entries[index].name):os_path(),\n            }, function(err)\n              if err then\n                pcall(_next, err)\n              else\n                move_next(index + 1)\n              end\n            end)\n          end\n\n          move_next(1)\n        end)\n      end)\n    else\n      vim.uv.fs_rename(src, dst, function(err) pcall(_next, err) end)\n    end\n  end)\nend\n\nfunction M.cp(opts, _next)\n  local src = Path.new(opts.src):os_path()\n  local dst = Path.new(opts.dst):os_path()\n  local flags = opts.flags or {}\n\n  if Path.new(src):is_directory() then\n    assert(flags.r, \"cannot copy directory without -r flag: \" .. src)\n\n    M.mkdir({\n      path = dst,\n      flags = { p = true },\n    }, function()\n      _read_dir_iter({\n        path = src,\n      }, function(err_iter, iter)\n        if err_iter then\n          pcall(_next, err_iter)\n          return\n        end\n\n        local entries = {}\n        for _, e in iter do\n          table.insert(entries, e)\n        end\n\n        local function copy_next(index)\n          if index > #entries then\n            pcall(_next)\n            return\n          end\n\n          M.cp({\n            src = Path.new(src):join(entries[index].name):os_path(),\n            dst = Path.new(dst):join(entries[index].name):os_path(),\n            flags = flags,\n          }, function(err)\n            if err then\n              pcall(_next, err)\n              return\n            end\n            copy_next(index + 1)\n          end)\n        end\n\n        copy_next(1)\n      end)\n    end)\n  else\n    M.mkdir({\n      path = Path.new(dst):parent():os_path(),\n      flags = { p = true },\n    }, function()\n      vim.uv.fs_copyfile(src, dst, function(err) pcall(_next, err) end)\n    end)\n  end\nend\n\nfunction M.create(opts, _next)\n  M.mkdir({\n    path = Path.new(opts.path):parent():os_path(),\n    flags = { p = true },\n  }, function(err)\n    if err then\n      pcall(_next, err)\n      return\n    end\n\n    if Path.new(opts.path):is_directory() then\n      M.mkdir({ path = opts.path }, _next)\n    else\n      M.touch({ path = opts.path }, _next)\n    end\n  end)\nend\n\nfunction M.delete(opts, _next)\n  M.rm({\n    path = opts.path,\n    flags = { r = true },\n  }, function(err)\n    if err then\n      pcall(_next, err)\n      return\n    end\n\n    vim.schedule(function() hooks.on_delete(opts.path) end)\n\n    pcall(_next)\n  end)\nend\n\nfunction M.move(opts, _next)\n  M.mv({\n    src = opts.src,\n    dst = opts.dst,\n  }, function(err)\n    if err then\n      pcall(_next, err)\n      return\n    end\n\n    vim.schedule(function() hooks.on_rename(opts.src, opts.dst) end)\n\n    pcall(_next)\n  end)\nend\n\nfunction M.copy(opts, _next)\n  M.cp({\n    src = Path.new(opts.src):os_path(),\n    dst = Path.new(opts.dst):os_path(),\n    flags = { r = true },\n  }, _next)\nend\n\nfunction M.trash(...)\n  local trash = require(\"fyler.lib.trash\")\n  if trash then\n    trash.dump(...)\n  else\n    vim.notify_once(\"TRASH is supported for this platform, fallback to DELETE\", vim.log.levels.WARN)\n    M.delete(...)\n  end\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/git.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal Process = require(\"fyler.lib.process\")\nlocal config = require(\"fyler.config\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal M = {}\n\nlocal icon_map = {\n  [\"??\"] = \"Untracked\",\n  [\"A \"] = \"Added\",\n  [\"AM\"] = \"Added\",\n  [\" M\"] = \"Modified\",\n  [\"MM\"] = \"Modified\",\n  [\"M \"] = \"Modified\",\n  [\" D\"] = \"Deleted\",\n  [\"D \"] = \"Deleted\",\n  [\"MD\"] = \"Deleted\",\n  [\"AD\"] = \"Deleted\",\n  [\"R \"] = \"Renamed\",\n  [\"RM\"] = \"Renamed\",\n  [\"RD\"] = \"Renamed\",\n  [\"C \"] = \"Copied\",\n  [\"CM\"] = \"Copied\",\n  [\"CD\"] = \"Copied\",\n  [\"DD\"] = \"Conflict\",\n  [\"AU\"] = \"Conflict\",\n  [\"UD\"] = \"Conflict\",\n  [\"UA\"] = \"Conflict\",\n  [\"DU\"] = \"Conflict\",\n  [\"AA\"] = \"Conflict\",\n  [\"UU\"] = \"Conflict\",\n  [\"!!\"] = \"Ignored\",\n}\n\nlocal hl_map = {\n  Untracked = \"FylerGitUntracked\",\n  Added = \"FylerGitAdded\",\n  Modified = \"FylerGitModified\",\n  Deleted = \"FylerGitDeleted\",\n  Renamed = \"FylerGitRenamed\",\n  Copied = \"FylerGitCopied\",\n  Conflict = \"FylerGitConflict\",\n  Ignored = \"FylerGitIgnored\",\n}\n\nfunction M.map_entries_async(root_dir, entries, _next)\n  M.build_modified_lookup_for_async(root_dir, function(modified_lookup)\n    M.build_ignored_lookup_for_async(root_dir, entries, function(ignored_lookup)\n      local status_map = util.tbl_merge_force(modified_lookup, ignored_lookup)\n      local result = util.tbl_map(\n        entries,\n        function(e)\n          return {\n            config.values.views.finder.columns.git.symbols[icon_map[status_map[e]]] or \"\",\n            hl_map[icon_map[status_map[e]]],\n          }\n        end\n      )\n      _next(result)\n    end)\n  end)\nend\n\n---@param dir string\n---@param _next function\nfunction M.build_modified_lookup_for_async(dir, _next)\n  local process = Process.new({\n    path = \"git\",\n    args = { \"-C\", dir, \"status\", \"--porcelain\" },\n  })\n\n  process:spawn_async(function(code)\n    local lookup = {}\n\n    if code == 0 then\n      for _, line in process:stdout_iter() do\n        if line ~= \"\" then\n          local symbol = line:sub(1, 2)\n          local path = Path.new(dir):join(line:sub(4)):os_path()\n          lookup[path] = symbol\n        end\n      end\n    end\n\n    _next(lookup)\n  end)\nend\n\n---@param dir string\n---@param stdin string|string[]\n---@param _next function\nfunction M.build_ignored_lookup_for_async(dir, stdin, _next)\n  local process = Process.new({\n    path = \"git\",\n    args = { \"-C\", dir, \"check-ignore\", \"--stdin\" },\n    stdin = table.concat(util.tbl_wrap(stdin), \"\\n\"),\n  })\n\n  process:spawn_async(function(code)\n    local lookup = {}\n\n    if code == 0 then\n      for _, line in process:stdout_iter() do\n        if line ~= \"\" then lookup[line] = \"!!\" end\n      end\n    end\n\n    _next(lookup)\n  end)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/hl.lua",
    "content": "local M = {}\n\n---@param dec integer\nlocal function to_hex(dec) return string.format(\"%06X\", math.max(0, math.min(0xFFFFFF, math.floor(dec)))) end\n\n---@param name string\n---@return string|nil\nlocal function get_fg(name)\n  local color = vim.api.nvim_get_hl(0, { name = name })\n  if color[\"link\"] then\n    return get_fg(color[\"link\"])\n  elseif color[\"reverse\"] and color[\"bg\"] then\n    return \"#\" .. to_hex(color[\"bg\"])\n  elseif color[\"fg\"] then\n    return \"#\" .. to_hex(color[\"fg\"])\n  end\nend\n\n---@param name string\n---@return string|nil\nlocal function get_bg(name)\n  local color = vim.api.nvim_get_hl(0, { name = name })\n  if color[\"link\"] then\n    return get_bg(color[\"link\"])\n  elseif color[\"reverse\"] and color[\"fg\"] then\n    return \"#\" .. to_hex(color[\"fg\"])\n  elseif color[\"bg\"] then\n    return \"#\" .. to_hex(color[\"bg\"])\n  end\nend\n\n---@class Palette\n---@field bg string\n---@field black string\n---@field blue string\n---@field cyan string\n---@field dark_grey string\n---@field fg string\n---@field green string\n---@field grey string\n---@field orange string\n---@field red string\n---@field white string\n---@field yellow string\n\n---@return Palette\nlocal function build_palette()\n  -- stylua: ignore start\n  return {\n    black     = \"#000000\",\n    white     = \"#ffffff\",\n\n    bg        = get_bg(\"Normal\"),\n    blue      = get_fg(\"Directory\"),\n    cyan      = get_fg(\"Operator\"),\n    dark_grey = get_fg(\"WhiteSpace\"),\n    fg        = get_fg(\"Normal\"),\n    green     = get_fg(\"String\"),\n    grey      = get_fg(\"Comment\"),\n    orange    = get_fg(\"SpecialChar\"),\n    red       = get_fg(\"Error\"),\n    yellow    = get_fg(\"WarningMsg\"),\n  }\n  -- stylua: ignore end\nend\n\nfunction M.setup()\n  local palette = build_palette()\n\n  -- stylua: ignore start\n  local hl_groups = {\n    FylerBlue            = { fg = palette.blue },\n    FylerGreen           = { fg = palette.green },\n    FylerGrey            = { fg = palette.grey },\n    FylerRed             = { fg = palette.red },\n    FylerYellow          = { fg = palette.yellow },\n\n    FylerFSDirectoryIcon = { fg = palette.blue },\n    FylerFSDirectoryName = { fg = palette.fg },\n    FylerFSFile          = { fg = palette.white },\n    FylerFSLink          = { fg = palette.grey },\n\n    FylerGitAdded        = { fg = palette.green },\n    FylerGitConflict     = { fg = palette.red },\n    FylerGitDeleted      = { fg = palette.red },\n    FylerGitIgnored      = { fg = palette.grey },\n    FylerGitModified     = { fg = palette.yellow },\n    FylerGitRenamed      = { fg = palette.yellow },\n    FylerGitStaged       = { fg = palette.green },\n    FylerGitUnstaged     = { fg = palette.orange },\n    FylerGitUntracked    = { fg = palette.cyan },\n\n    FylerWinPick         = { fg = palette.white, bg = palette.blue },\n\n    -- Groups with link must be after non-linked\n    FylerNormal           = { link = \"Normal\" },\n    FylerNormalNC         = { link = \"NormalNC\" },\n    FylerBorder           = { link = \"FylerNormal\" },\n\n    FylerIndentMarker     = { link = \"FylerGrey\" },\n\n    FylerDiagnosticError  = { link = \"DiagnosticError\" },\n    FylerDiagnosticWarn   = { link = \"DiagnosticWarn\" },\n    FylerDiagnosticInfo   = { link = \"DiagnosticInfo\" },\n    FylerDiagnosticHint   = { link = \"DiagnosticHint\" },\n  }\n  -- stylua: ignore end\n\n  require(\"fyler.hooks\").on_highlight(hl_groups, palette)\n\n  for k, v in pairs(hl_groups) do\n    vim.api.nvim_set_hl(0, k, vim.tbl_extend(\"keep\", v, { default = true }))\n  end\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/path.lua",
    "content": "local util = require(\"fyler.lib.util\")\n\n---@class Path\n---@field _original string\n---@field _segments string[]|nil\nlocal Path = {}\nPath.__index = Path\n\n---@return boolean\nfunction Path.is_macos() return vim.uv.os_uname().sysname == \"Darwin\" end\n\n---@return boolean\nfunction Path.is_windows() return vim.uv.os_uname().sysname == \"Windows_NT\" end\n\n---@return boolean\nfunction Path.is_linux() return not (Path.is_macos() or Path.is_windows()) end\n\n---@param path string\n---@return Path\nfunction Path.new(path)\n  return setmetatable({\n    _original = string.gsub(string.gsub(path, \"^%s+\", \"\"), \"%s+$\", \"\"),\n    _segments = nil,\n  }, Path)\nend\n\n---@return string[]\nfunction Path:segments()\n  if not self._segments then\n    local abs = self:posix_path()\n    local parts = vim.split(abs, \"/\", { plain = true })\n    self._segments = util.filter_bl(parts)\n  end\n  return self._segments\nend\n\n---@return Path\nfunction Path:parent() return Path.new(vim.fn.fnamemodify(vim.fs.normalize(self:posix_path()), \":h\")) end\n\n---@return string\nfunction Path:basename()\n  local segments = self:segments()\n  return segments[#segments] or \"\"\nend\n\n---@return string\nfunction Path:os_path()\n  local path = self._original\n  if Path.is_windows() then\n    if vim.startswith(path, \"/\") then\n      local drive = path:match(\"^/(%a+)\")\n      if drive then return string.format(\"%s:%s\", drive, path:sub(drive:len() + 2):gsub(\"/\", \"\\\\\")) end\n    end\n    return util.select_n(1, path:gsub(\"/\", \"\\\\\"))\n  else\n    return util.select_n(1, path:gsub(\"\\\\\", \"/\"))\n  end\nend\n\n---@return string\nfunction Path:posix_path()\n  local path = self._original\n  if Path.is_windows() then\n    local drive, remaining = path:match(\"^([^:]+):\\\\(.*)$\")\n    if drive then return string.format(\"/%s/%s\", drive:upper(), remaining:gsub(\"\\\\\", \"/\")) end\n    return util.select_n(1, path:gsub(\"\\\\\", \"/\"))\n  else\n    return path\n  end\nend\n\n---@return boolean\nfunction Path:exists() return not not util.select_n(1, vim.uv.fs_stat(self:os_path())) end\n\n---@return uv.fs_stat.result|nil\nfunction Path:stats() return util.select_n(1, vim.uv.fs_stat(self:os_path())) end\n\n---@return uv.fs_stat.result|nil\nfunction Path:lstats() return util.select_n(1, vim.uv.fs_lstat(self:os_path())) end\n\n---@return string|nil\nfunction Path:type()\n  local stat = self:lstats()\n  if not stat then return end\n  return stat.type\nend\n\n---@return boolean\nfunction Path:is_link() return self:type() == \"link\" end\n\n---@return boolean\nfunction Path:is_file() return self:type() == \"file\" end\n\n---@return boolean\nfunction Path:is_directory()\n  local t = self:type()\n  if t then return t == \"directory\" end\n  if Path.is_windows() then\n    return vim.endswith(self._original, \"\\\\\")\n  else\n    return vim.endswith(self._original, \"/\")\n  end\nend\n\n---@return boolean\nfunction Path:is_absolute()\n  if Path.is_windows() then\n    -- Windows: check for drive letter or UNC path\n    return self._original:match(\"^[A-Za-z]:\") or self._original:match(\"^\\\\\\\\\")\n  else\n    -- Unix: check for leading /\n    return vim.startswith(self._original, \"/\")\n  end\nend\n\n---@param ref string\n---@return string|nil\nfunction Path:relative(ref) return vim.fs.relpath(self:posix_path(), Path.new(ref):posix_path()) end\n\n---@return Path\nfunction Path:join(...) return Path.new(vim.fs.joinpath(self:posix_path(), ...)) end\n\n---@param other string\n---@return boolean\nfunction Path:is_descendant_of(other)\n  local other_path = Path.new(other)\n  local self_segments = self:segments()\n  local other_segments = other_path:segments()\n  if #other_segments >= #self_segments then return false end\n  for i = 1, #other_segments do\n    if self_segments[i] ~= other_segments[i] then return false end\n  end\n  return true\nend\n\n---@param other string\n---@return boolean\nfunction Path:is_ancestor_of(other) return Path.new(other):is_descendant_of(self:posix_path()) end\n\n---@return string|nil, string|nil\nfunction Path:res_link()\n  if not self:is_link() then return end\n\n  local os_path = self:os_path()\n  local current = Path.new(os_path)\n  local visited = {}\n  while current:is_link() do\n    if visited[os_path] then return nil, \"circular symlink\" end\n    visited[os_path] = true\n\n    local read_link = vim.uv.fs_readlink(os_path)\n    if not read_link then break end\n\n    if not Path.new(read_link):is_absolute() then\n      os_path = current:parent():join(read_link):os_path()\n    else\n      os_path = read_link\n    end\n\n    current = Path.new(os_path)\n  end\n\n  return os_path, (Path.new(os_path):lstats() or {}).type\nend\n\n---@return fun(): boolean|nil, string|nil\nfunction Path:iter()\n  local segments = self:segments()\n  local i = 0\n  return function()\n    i = i + 1\n    if i <= #segments then\n      local path_parts = {}\n      for j = 1, i do\n        table.insert(path_parts, segments[j])\n      end\n      return i == #segments, table.concat({ \"\", util.unpack(path_parts) }, \"/\")\n    end\n  end\nend\n\nreturn Path\n"
  },
  {
    "path": "lua/fyler/lib/process.lua",
    "content": "---@class ProcessOpts\n---@field path string\n---@field args string[]|nil\n---@field stdin string|nil\n\n---@class Process\n---@field pid integer\n---@field handle uv.uv_process_t\n---@field path string\n---@field args string[]|nil\n---@field stdin string|nil\n---@field stdout string|nil\n---@field stderr string|nil\nlocal Process = {}\nProcess.__index = Process\n\n---@param options ProcessOpts\n---@return Process\nfunction Process.new(options)\n  local instance = {\n    path = options.path,\n    args = options.args,\n    stdin = options.stdin,\n    stdio = {},\n  }\n\n  setmetatable(instance, Process)\n\n  return instance\nend\n\n---@return Process\nfunction Process:spawn()\n  local out = vim.system(vim.list_extend({ self.path }, self.args), { text = true, stdin = self.stdin }):wait()\n  self.code = out.code\n  self.signal = out.signal\n  self.stdout = out.stdout\n  self.stderr = out.stderr\n\n  return self\nend\n\nfunction Process:spawn_async(on_exit)\n  assert(vim.fn.executable(self.path) == 1, string.format(\"executable not found: %s\", self.path))\n\n  local options = {\n    args = self.args,\n    stdio = {\n      vim.uv.new_pipe(false),\n      vim.uv.new_pipe(false),\n      vim.uv.new_pipe(false),\n    },\n  }\n\n  self.handle, self.pid = vim.uv.spawn(self.path, options, on_exit)\n\n  vim.uv.write(options.stdio[1], self.stdin or \"\", function() vim.uv.close(options.stdio[1]) end)\n\n  vim.uv.read_start(options.stdio[2], function(_, data)\n    self.stdout = self.stdout or \"\"\n    if data then\n      self.stdout = self.stdout .. data\n    else\n      vim.uv.read_stop(options.stdio[2])\n      vim.uv.close(options.stdio[2])\n    end\n  end)\n\n  vim.uv.read_start(options.stdio[3], function(_, data)\n    self.stderr = self.stderr or \"\"\n    if data then\n      self.stderr = self.stderr .. data\n    else\n      vim.uv.read_stop(options.stdio[3])\n      vim.uv.close(options.stdio[3])\n    end\n  end)\nend\n\n---@return boolean\nfunction Process:is_running() return vim.uv.is_active(self.handle) == true end\n\n---@return string\nfunction Process:out() return self.stdout end\n\n---@return string\nfunction Process:err() return self.stderr end\n\nfunction Process:stdout_iter()\n  if not self.stdout then\n    return function() end\n  end\n\n  local lines = vim.split(self.stdout, \"\\n\")\n  local i = 0\n  return function()\n    i = i + 1\n    if i <= #lines then return i, lines[i] end\n  end\nend\n\nfunction Process:stderr_iter()\n  if not self.stderr then return end\n\n  local lines = vim.split(self.stderr, \"\\n\")\n  local i = 0\n  return function()\n    i = i + 1\n    if i <= #lines then return i, lines[i] end\n  end\nend\n\nreturn Process\n"
  },
  {
    "path": "lua/fyler/lib/spinner.lua",
    "content": "local util = require(\"fyler.lib.util\")\n\n---@class Spinner\n---@field text string\n---@field count number\n---@field interval number\n---@field pattern string[]\n---@field timer any\nlocal Spinner = {}\nSpinner.__index = Spinner\n\n---@return Spinner\nfunction Spinner.new(text)\n  local instance = {\n    text = util.str_truncate(text, vim.v.echospace - 2, \"...\"),\n    interval = 100,\n    count = 0,\n    timer = nil,\n    pattern = {\n      \"⠋\",\n      \"⠙\",\n      \"⠹\",\n      \"⠸\",\n      \"⠼\",\n      \"⠴\",\n      \"⠦\",\n      \"⠧\",\n      \"⠇\",\n      \"⠏\",\n    },\n  }\n\n  return setmetatable(instance, Spinner)\nend\n\n---@param text string\nfunction Spinner:set_text(text) self.text = text end\n\nfunction Spinner:start()\n  if not self.timer then\n    self.cmdheight = vim.o.cmdheight\n    if self.cmdheight == 0 then vim.o.cmdheight = 1 end\n\n    self.timer = assert(vim.uv.new_timer())\n    self.timer:start(\n      250,\n      self.interval,\n      vim.schedule_wrap(function()\n        self.count = self.count + 1\n        local step = self.pattern[(self.count % #self.pattern) + 1]\n        vim.cmd(string.format(\"echo '%s %s' | redraw\", step, self.text))\n      end)\n    )\n  end\nend\n\nfunction Spinner:stop()\n  if self.timer then\n    local timer = self.timer\n    self.timer = nil\n    timer:stop()\n\n    if not timer:is_closing() then timer:close() end\n  end\n\n  vim.schedule(function()\n    vim.cmd(\"redraw | echomsg ''\")\n\n    if self.cmdheight then\n      vim.o.cmdheight = self.cmdheight\n      self.cmdheight = nil\n    end\n  end)\nend\n\nreturn Spinner\n"
  },
  {
    "path": "lua/fyler/lib/structs/list.lua",
    "content": "---@class LinkedList\n---@field node LinkedListNode\nlocal LinkedList = {}\nLinkedList.__index = LinkedList\n\n---@class LinkedListNode\n---@field next LinkedListNode|nil\n---@field data any\nlocal LinkedListNode = {}\nLinkedListNode.__index = LinkedListNode\n\n---@return LinkedList\nfunction LinkedList.new() return setmetatable({}, LinkedList) end\n\n---@return integer\nfunction LinkedList:len()\n  local count = 0\n  local current = self.node\n  while current do\n    count = count + 1\n    current = current.next\n  end\n\n  return count\nend\n\n---@param fn fun(node: LinkedListNode)\nfunction LinkedList:each(fn)\n  local start = self.node\n  while start do\n    fn(start.data)\n    start = start.next\n  end\nend\n\n---@param pos integer\n---@param data any\nfunction LinkedList:insert(pos, data)\n  local newNode = setmetatable({ data = data }, LinkedListNode)\n  if pos == 1 then\n    newNode.next = self.node\n    self.node = newNode\n    return\n  end\n\n  local start = self.node\n  for _ = 1, pos - 2 do\n    if not start then error(\"position is out of bound\") end\n    start = start.next\n  end\n\n  if not start then error(\"position is out of bound\") end\n\n  newNode.next = start.next\n  start.next = newNode\nend\n\n---@param pos integer\nfunction LinkedList:erase(pos)\n  assert(pos >= 1, \"position must be 1 or greater\")\n\n  if not self.node then error(\"list is empty\") end\n\n  if pos == 1 then\n    self.node = self.node.next\n    return\n  end\n\n  local start = self.node\n  for _ = 1, pos - 2 do\n    if not start or not start.next then error(\"position is out of bound\") end\n\n    start = start.next\n  end\n\n  if not start or not start.next then error(\"position is out of bound\") end\n\n  start.next = start.next.next\nend\n\n---@return table\nfunction LinkedList:totable()\n  local tbl = {}\n  self:each(function(item) table.insert(tbl, item) end)\n\n  return tbl\nend\n\nreturn LinkedList\n"
  },
  {
    "path": "lua/fyler/lib/structs/stack.lua",
    "content": "---@class Stack\n---@field items table\nlocal Stack = {}\nStack.__index = Stack\n\n---@return Stack\nfunction Stack.new() return setmetatable({ items = {} }, Stack) end\n\n---@param data any\nfunction Stack:push(data) table.insert(self.items, data) end\n\nfunction Stack:pop()\n  assert(not self:is_empty(), \"stack is empty\")\n\n  return table.remove(self.items)\nend\n\n---@return any\nfunction Stack:top()\n  assert(not self:is_empty(), \"stack is empty\")\n  return self.items[#self.items]\nend\n\n---@return integer\nfunction Stack:size() return #self.items end\n\n---@return boolean\nfunction Stack:is_empty() return #self.items == 0 end\n\nreturn Stack\n"
  },
  {
    "path": "lua/fyler/lib/structs/trie.lua",
    "content": "---@class Trie\n---@field value any\n---@field children table<string, Trie>\nlocal Trie = {}\nTrie.__index = Trie\n\n---@param value any|nil\n---@return Trie\nfunction Trie.new(value)\n  local instance = {\n    value = value,\n    children = {},\n  }\n  setmetatable(instance, Trie)\n  return instance\nend\n\n---@param segments string[]\n---@param value any\n---@return Trie -- returns the final node\nfunction Trie:insert(segments, value)\n  if #segments == 0 then\n    if type(value) == \"function\" then\n      self.value = value(self.value)\n    else\n      self.value = value\n    end\n\n    return self\n  end\n\n  local head = segments[1]\n  if not self.children[head] then self.children[head] = Trie.new() end\n\n  local rest = {}\n  for i = 2, #segments do\n    rest[#rest + 1] = segments[i]\n  end\n\n  return self.children[head]:insert(rest, value)\nend\n\n---@param segments string[]\n---@return Trie|nil\nfunction Trie:find(segments)\n  if #segments == 0 then return self end\n\n  local head = segments[1]\n  if not self.children[head] then return nil end\n\n  local rest = {}\n  for i = 2, #segments do\n    rest[#rest + 1] = segments[i]\n  end\n\n  return self.children[head]:find(rest)\nend\n\n---@param segments string[]\n---@return boolean -- true if deleted, false if not found\nfunction Trie:delete(segments)\n  if #segments == 0 then return false end\n\n  if #segments == 1 then\n    local head = segments[1]\n    if self.children[head] then\n      self.children[head] = nil\n      return true\n    end\n    return false\n  end\n\n  local head = segments[1]\n  if not self.children[head] then return false end\n\n  local rest = {}\n  for i = 2, #segments do\n    rest[#rest + 1] = segments[i]\n  end\n\n  return self.children[head]:delete(rest)\nend\n\n---@param fn fun(node: Trie): boolean|nil\nfunction Trie:dfs(fn)\n  if fn(self) == false then return end\n\n  for _, child in pairs(self.children) do\n    child:dfs(fn)\n  end\nend\n\nreturn Trie\n"
  },
  {
    "path": "lua/fyler/lib/trash/init.lua",
    "content": "local M = setmetatable({}, {\n  __index = function(_, key)\n    local Path = require(\"fyler.lib.path\")\n    if Path.is_windows() then\n      return require(\"fyler.lib.trash.windows\")[key]\n    elseif Path.is_macos() then\n      return require(\"fyler.lib.trash.macos\")[key]\n    else\n      return require(\"fyler.lib.trash.linux\")[key]\n    end\n  end,\n})\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/trash/linux.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal fs = require(\"fyler.lib.fs\")\n\nlocal M = {}\n\n---@param opts {dir: string, basename: string}\n---@return string\nfunction M.next_name(opts)\n  if not Path.new(opts.dir):join(opts.basename):exists() then return opts.basename end\n\n  local name, extension = vim.fn.fnamemodify(opts.basename, \":r\"), vim.fn.fnamemodify(opts.basename, \":e\")\n  local counter = 1\n  while true do\n    local candidate = string.format(\"%s (%d).%s\", name, counter, extension)\n    if not Path.new(opts.dir):join(candidate):exists() then return candidate end\n    counter = counter + 1\n  end\nend\n\nfunction M.dump(opts, _next)\n  local path_to_trash = Path.new(opts.path)\n  local dir = Path.new(vim.F.if_nil(vim.env.XDG_DATA_HOME, vim.fs.joinpath(vim.fn.expand(\"$HOME\"), \".local\", \"share\")))\n    :join(\"Trash\")\n  local files, info = dir:join(\"files\"):os_path(), dir:join(\"info\"):os_path()\n\n  fs.mkdir({\n    path = files,\n    flags = { p = true },\n  }, function(err)\n    if err then return pcall(_next, err) end\n\n    fs.mkdir({\n      path = info,\n      flags = { p = true },\n    }, function(err_info)\n      if err_info then return pcall(_next, err_info) end\n\n      local target_name = M.next_name({\n        dir = files,\n        basename = path_to_trash:basename(),\n      })\n      local target_path = Path.new(files):join(target_name)\n      local trash_info = table.concat({\n        \"[Trash Info]\",\n        string.format(\"Path=%s\", path_to_trash:os_path()),\n        string.format(\"DeletionDate=%s\", os.date(\"%Y-%m-%dT%H:%M:%S\")),\n      }, \"\\n\")\n\n      -- Writing meta data to \"%.trashinfo\"\n      fs.write({\n        path = Path.new(info):join(target_name .. \".trashinfo\"):os_path(),\n        data = trash_info,\n      }, function(err_write)\n        if err_write then return pcall(_next, err_write) end\n\n        -- Move to trash directory\n        fs.mv({\n          src = path_to_trash:os_path(),\n          dst = target_path:os_path(),\n        }, function(err_mv) return pcall(_next, err_mv) end)\n      end)\n    end)\n  end)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/trash/macos.lua",
    "content": "local Path = require(\"fyler.lib.path\")\n\nlocal M = {}\n\nfunction M.dump(opts, _next)\n  local abspath = Path.new(opts.path):os_path()\n  local Process = require(\"fyler.lib.process\")\n  local proc\n\n  -- Built-in trash command available on macOS 15 and later\n  proc = Process.new({\n    path = \"/usr/bin/trash\",\n    args = { abspath },\n  })\n\n  proc:spawn_async(function(code)\n    vim.schedule(function()\n      if code == 0 then\n        pcall(_next)\n      else\n        pcall(_next, \"failed to move to trash: \" .. (proc:err() or \"\"))\n      end\n    end)\n  end)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/trash/windows.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal M = {}\n\nfunction M.dump(opts, _next)\n  local abspath = Path.new(opts.path):os_path()\n  local ps_script = string.format(\n    [[\n      $timeoutSeconds = 30;\n      $job = Start-Job -ScriptBlock {\n        Add-Type -AssemblyName Microsoft.VisualBasic;\n        $ErrorActionPreference = 'Stop';\n        $item = Get-Item -LiteralPath '%s';\n        if ($item.PSIsContainer) {\n          [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteDirectory('%s', 'OnlyErrorDialogs', 'SendToRecycleBin');\n        } else {\n          [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile('%s', 'OnlyErrorDialogs', 'SendToRecycleBin');\n        }\n      };\n      $completed = Wait-Job -Job $job -Timeout $timeoutSeconds;\n      if ($completed) {\n        $result = Receive-Job -Job $job -ErrorAction SilentlyContinue -ErrorVariable jobError;\n        Remove-Job -Job $job -Force;\n        if ($jobError) {\n          Write-Error $jobError;\n          exit 1;\n        }\n      } else {\n        Remove-Job -Job $job -Force;\n        Write-Error 'Operation timed out after 30 seconds';\n        exit 1;\n      }\n    ]],\n    abspath,\n    abspath,\n    abspath\n  )\n\n  local Process = require(\"fyler.lib.process\")\n  local proc = Process.new({\n    path = \"powershell\",\n    args = { \"-NoProfile\", \"-NonInteractive\", \"-Command\", ps_script },\n  })\n\n  proc:spawn_async(function(code)\n    vim.schedule(function()\n      if code == 0 then\n        pcall(_next)\n      else\n        pcall(_next, \"failed to move to recycle bin: \" .. (proc:err() or \"\"))\n      end\n    end)\n  end)\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/ui/component.lua",
    "content": "local util = require(\"fyler.lib.util\")\n\n---@class UiComponentOption\n---@field highlight string|nil\n---@field virt_text string[][]|nil\n---@field col integer|nil\n\n---@class UiComponent\n---@field tag string\n---@field value any\n---@field parent UiComponent\n---@field option UiComponentOption\n---@field children UiComponent[]\nlocal UiComponent = {}\n\n---@param fn fun(...): table\n---@return UiComponent\nfunction UiComponent.new(fn)\n  local instance = {}\n\n  local mt = {\n    __call = function(_, ...)\n      local this = fn(...)\n\n      setmetatable(this, { __index = UiComponent })\n\n      return this\n    end,\n\n    __index = function(_, name) return rawget(UiComponent, name) end,\n  }\n\n  setmetatable(instance, mt)\n\n  return instance\nend\n\n---@param fn fun(...)\n---@return function\nfunction UiComponent.new_async(fn)\n  return function(...)\n    local args = { ... }\n    local cb = table.remove(args)\n\n    table.insert(args, function(this, ...) cb(setmetatable(this, { __index = UiComponent }), ...) end)\n\n    fn(util.unpack(args))\n  end\nend\n\nfunction UiComponent:width()\n  if self.tag == \"text\" then return string.len(self.value or self.option.virt_text[1][1]) end\n\n  if self.tag == \"row\" then\n    local width = 0\n    for i = 1, #self.children do\n      width = width + self.children[i]:width()\n    end\n\n    return width\n  end\n\n  if self.children then\n    local width = 0\n    for i = 1, #self.children do\n      local c_width = self.children[i]:width()\n      if c_width > width then width = c_width end\n    end\n\n    return width\n  end\n\n  error(\"UNIMPLEMENTED\")\nend\n\nfunction UiComponent:height()\n  if self.tag == \"text\" then return 1 end\n\n  if self.tag == \"row\" then\n    local max_height = 0\n    for i = 1, #self.children do\n      local child_height = self.children[i]:height()\n      if child_height > max_height then max_height = child_height end\n    end\n    return max_height\n  end\n\n  if self.children then\n    local total_height = 0\n    for i = 1, #self.children do\n      total_height = total_height + self.children[i]:height()\n    end\n    return total_height\n  end\n\n  error(\"UNIMPLEMENTED\")\nend\n\nreturn UiComponent\n"
  },
  {
    "path": "lua/fyler/lib/ui/init.lua",
    "content": "local Component = require(\"fyler.lib.ui.component\")\nlocal Renderer = require(\"fyler.lib.ui.renderer\")\n\n---@class Ui\n---@field win Win\n---@field renderer UiRenderer\nlocal Ui = {}\nUi.__index = Ui\n\nUi.Component = Component\n\n---@param children UiComponent[]\nUi.Column = Ui.Component.new(function(children)\n  return {\n    tag = \"column\",\n    children = children,\n  }\nend)\n\n---@param children UiComponent[]\nUi.Row = Ui.Component.new(function(children)\n  return {\n    tag = \"row\",\n    children = children,\n  }\nend)\n\nUi.Text = Ui.Component.new(\n  function(value, option)\n    return {\n      tag = \"text\",\n      value = value,\n      option = option,\n      children = {},\n    }\n  end\n)\n\n---@param win Win\n---@return Ui\nfunction Ui.new(win) return setmetatable({ win = win, renderer = Renderer.new() }, Ui) end\n\n---@param component UiComponent\nUi.render = vim.schedule_wrap(function(self, component, ...)\n  local opts = {}\n  local onrender = nil\n\n  for i = 1, select(\"#\", ...) do\n    local arg = select(i, ...)\n\n    if type(arg) == \"table\" then\n      opts = arg\n    elseif type(arg) == \"function\" then\n      onrender = arg\n    end\n  end\n\n  -- Render Ui components to neovim api compatible\n  self.renderer:render(component)\n\n  if not opts.partial then\n    -- Clear namespace and sets renderer lines from given Ui component\n    self.win:set_lines(0, -1, self.renderer.line)\n  end\n\n  for _, highlight in ipairs(self.renderer.highlight) do\n    -- stylua: ignore start\n    self.win:set_extmark(highlight.line, highlight.col_start, {\n      end_col  = highlight.col_end,\n      hl_group = highlight.highlight_group,\n    })\n    -- stylua: ignore end\n  end\n\n  for _, extmark in ipairs(self.renderer.extmark) do\n    -- stylua: ignore start\n    self.win:set_extmark(extmark.line, 0, {\n      hl_mode           = extmark.hl_mode,\n      virt_text         = extmark.virt_text,\n      virt_text_pos     = extmark.virt_text_pos,\n      virt_text_win_col = extmark.col,\n    })\n    -- stylua: ignore end\n  end\n\n  pcall(onrender)\nend)\n\nreturn Ui\n"
  },
  {
    "path": "lua/fyler/lib/ui/renderer.lua",
    "content": "---@class UiRenderer\n---@field line string[]\n---@field extmark table[]\n---@field highlight table[]\n---@field flag table\nlocal Renderer = {}\nRenderer.__index = Renderer\n\nfunction Renderer.new()\n  local instance = {\n    line = {},\n    extmark = {},\n    highlight = {},\n    flag = {\n      in_row = false,\n      row_base_line = 0, -- Track the starting line of current row\n      column_offset = 0, -- Track horizontal offset for columns in row\n    },\n  }\n\n  setmetatable(instance, Renderer)\n\n  return instance\nend\n\n---@param component UiComponent\nfunction Renderer:render(component)\n  self.line = {}\n  self.extmark = {}\n  self.highlight = {}\n  self.flag = {\n    in_row = false,\n    row_base_line = 0,\n    column_offset = 0,\n  }\n  self:_render(component)\nend\n\n---@param component UiComponent\n---@param current_col number|nil\n---@return string|nil, number|nil\nfunction Renderer:_render_text(component, current_col)\n  local text_value = tostring(component.value or \"\")\n  local highlight = component.option and component.option.highlight\n  local width = #text_value\n\n  if self.flag.in_row then\n    current_col = current_col or 0\n\n    if component.option and component.option.virt_text then\n      width = #component.option.virt_text[1][1]\n      table.insert(self.extmark, {\n        line = self.flag.row_base_line,\n        col = current_col,\n        virt_text = component.option.virt_text,\n        virt_text_pos = \"overlay\",\n        hl_mode = \"combine\",\n      })\n    end\n\n    if highlight then\n      table.insert(self.highlight, {\n        line = self.flag.row_base_line,\n        col_start = current_col,\n        col_end = current_col + #text_value,\n        highlight_group = highlight,\n      })\n    end\n\n    return text_value, current_col + width\n  else\n    if text_value then table.insert(self.line, text_value) end\n\n    -- Now calculate line number after adding the text\n    local current_line_idx = #self.line - 1\n\n    if component.option and component.option.virt_text then\n      table.insert(self.extmark, {\n        line = current_line_idx,\n        col = component.option.col or 0,\n        virt_text = component.option.virt_text,\n        virt_text_pos = \"overlay\",\n        hl_mode = \"combine\",\n      })\n    end\n\n    if highlight then\n      table.insert(self.highlight, {\n        line = current_line_idx,\n        col_start = 0,\n        col_end = #text_value,\n        highlight_group = highlight,\n      })\n    end\n  end\nend\n\n---@param component UiComponent\n---@param current_col number|nil\n---@return string|nil, number|nil\nfunction Renderer:_render_nested_row_in_row(component, current_col)\n  current_col = current_col or 0\n  local nested_row_content = {}\n\n  -- Render the nested row's children inline\n  for _, child in ipairs(component.children) do\n    if child.tag == \"row\" then error(\"Rows cannot be nested more than one level deep\") end\n\n    local text_part, new_col = self:_render_child_in_row(child, current_col)\n    if text_part then\n      table.insert(nested_row_content, text_part)\n      current_col = new_col or current_col\n    end\n  end\n\n  -- Concatenate all parts of the nested row\n  local nested_row_text = table.concat(nested_row_content)\n\n  return nested_row_text, current_col\nend\n\n---@param component UiComponent\n---@param current_col number|nil\n---@return string|nil, number|nil\nfunction Renderer:_render_child_in_row(component, current_col)\n  if component.tag == \"text\" then\n    return self:_render_text(component, current_col)\n  elseif component.tag == \"column\" then\n    return self:_render_column_in_row(component, current_col)\n  elseif component.tag == \"row\" then\n    return self:_render_nested_row_in_row(component, current_col)\n  else\n    error(\"The row component does not support having a `\" .. component.tag .. \"` as a child\")\n  end\nend\n\n---@param component UiComponent\n---@param current_col number|nil\n---@return string|nil, number|nil\nfunction Renderer:_render_column_in_row(component, current_col)\n  current_col = current_col or 0\n  local column_start_col = current_col\n  local column_width = component:width()\n  local column_lines = {}\n  local column_highlights = {}\n  local column_extmarks = {}\n\n  -- Store current state\n  local saved_line = vim.deepcopy(self.line)\n  local saved_highlights = vim.deepcopy(self.highlight)\n  local saved_extmarks = vim.deepcopy(self.extmark)\n  local saved_flag = vim.deepcopy(self.flag)\n\n  -- Reset for column rendering\n  self.line = {}\n  self.highlight = {}\n  self.extmark = {}\n  self.flag.in_row = false\n  self.flag.column_offset = column_start_col\n\n  -- Render column children\n  for _, child in ipairs(component.children) do\n    self:_render_child(child)\n  end\n\n  -- Capture column results\n  column_lines = vim.deepcopy(self.line)\n  column_highlights = vim.deepcopy(self.highlight)\n  column_extmarks = vim.deepcopy(self.extmark)\n\n  -- Restore state\n  self.line = saved_line\n  self.highlight = saved_highlights\n  self.extmark = saved_extmarks\n  self.flag = saved_flag\n\n  -- Ensure we have enough lines in the main buffer\n  local lines_needed = self.flag.row_base_line + #column_lines\n  while #self.line < lines_needed do\n    table.insert(self.line, \"\")\n  end\n\n  -- Apply column content to the main buffer with offset\n  for i, line_content in ipairs(column_lines) do\n    local target_line_idx = self.flag.row_base_line + i\n    local current_line = self.line[target_line_idx] or \"\"\n\n    -- Only add padding and content if the column actually has content\n    if line_content and line_content ~= \"\" then\n      -- Pad current line to reach column start position\n      local padding_needed = column_start_col - #current_line\n      if padding_needed > 0 then current_line = current_line .. string.rep(\" \", padding_needed) end\n\n      -- Append column content\n      self.line[target_line_idx] = current_line .. line_content\n    end\n  end\n\n  -- Apply column highlights with offset\n  for _, hl in ipairs(column_highlights) do\n    table.insert(self.highlight, {\n      line = self.flag.row_base_line + hl.line,\n      col_start = column_start_col + hl.col_start,\n      col_end = column_start_col + hl.col_end,\n      highlight_group = hl.highlight_group,\n    })\n  end\n\n  -- Apply column extmarks with offset\n  for _, extmark in ipairs(column_extmarks) do\n    table.insert(self.extmark, {\n      line = self.flag.row_base_line + extmark.line,\n      col = column_start_col + (extmark.col or 0),\n      virt_text = extmark.virt_text,\n      virt_text_pos = extmark.virt_text_pos,\n      hl_mode = extmark.hl_mode,\n    })\n  end\n\n  -- Return empty string and new column position\n  return \"\", column_start_col + column_width\nend\n\n---@param component UiComponent\nfunction Renderer:_render_row(component)\n  self.flag.in_row = true\n  self.flag.row_base_line = #self.line\n\n  local current_col = 0\n  local max_lines_in_row = 0\n\n  -- First pass: calculate how many lines this row will need\n  for _, child in ipairs(component.children) do\n    if child.tag == \"column\" then\n      local column_height = 0\n      -- Count lines in column by simulating render\n      local temp_renderer = Renderer.new()\n      temp_renderer:render(child)\n      column_height = #temp_renderer.line\n      if column_height > max_lines_in_row then max_lines_in_row = column_height end\n    else\n      max_lines_in_row = math.max(max_lines_in_row, 1)\n    end\n  end\n\n  -- Ensure we have enough lines\n  for _ = 1, max_lines_in_row do\n    table.insert(self.line, \"\")\n  end\n\n  -- Second pass: render children\n  for _, child in ipairs(component.children) do\n    local text_part, new_col = self:_render_child_in_row(child, current_col)\n    if text_part and text_part ~= \"\" then\n      -- For text components, update the first line of the row\n      local target_line_idx = self.flag.row_base_line + 1\n      local current_line = self.line[target_line_idx] or \"\"\n      local padding_needed = current_col - #current_line\n      if padding_needed > 0 then current_line = current_line .. string.rep(\" \", padding_needed) end\n      self.line[target_line_idx] = current_line .. text_part\n    end\n    current_col = new_col or current_col\n  end\n\n  self.flag.in_row = false\nend\n\n---@param component UiComponent\nfunction Renderer:_render_column(component)\n  for _, child in ipairs(component.children) do\n    self:_render_child(child)\n  end\nend\n\n---@param component UiComponent\nfunction Renderer:_render_child(component)\n  if component.tag == \"text\" then\n    self:_render_text(component)\n  elseif component.tag == \"column\" then\n    self:_render_column(component)\n  elseif component.tag == \"row\" then\n    self:_render_row(component)\n  else\n    -- Handle unknown components by rendering their children\n    if component.children then\n      for _, child in ipairs(component.children) do\n        self:_render_child(child)\n      end\n    end\n  end\nend\n\n---@param component UiComponent\nfunction Renderer:_render(component)\n  if component.tag then\n    -- If the component has a tag, render it as a specific component\n    self:_render_child(component)\n  elseif component.children then\n    -- If no tag but has children, render children\n    for _, child in ipairs(component.children) do\n      self:_render_child(child)\n    end\n  end\nend\n\nreturn Renderer\n"
  },
  {
    "path": "lua/fyler/lib/util.lua",
    "content": "local M = {}\n\n---@param n integer\n---@param ... any\nfunction M.select_n(n, ...)\n  local x = select(n, ...)\n  return x\nend\n\n---@generic T\n---@param tbl T[]\n---@param start integer|nil\n---@param stop integer|nil\n---@return T ...\nfunction M.unpack(tbl, start, stop)\n  start = start or 1\n  stop = stop or #tbl\n  if start > stop then return end\n\n  return tbl[start], M.unpack(tbl, start + 1, stop)\nend\n\n---@param tbl table\n---@param fn function\nfunction M.if_any(tbl, fn) return vim.iter(tbl):any(fn) end\n\n---@param tbl table\n---@param fn function\nfunction M.if_all(tbl, fn) return vim.iter(tbl):all(fn) end\n\n---@param value any\n---@return table\nfunction M.tbl_wrap(value) return type(value) == \"table\" and value or { value } end\n\n---@param tbl table\n---@param fn function\n---@return any\nfunction M.tbl_find(tbl, fn) return vim.iter(tbl):find(fn) end\n\n---@param tbl table\n---@param fn function\nfunction M.tbl_map(tbl, fn) return vim.iter(tbl):map(fn):totable() end\n\n---@param tbl table\n---@param fn function\nfunction M.tbl_each(tbl, fn) return vim.iter(tbl):each(fn) end\n\n---@param tbl table\n---@param fn function\nfunction M.tbl_filter(tbl, fn) return vim.iter(tbl):filter(fn):totable() end\n\n---@param a table\n---@param b table\n---@return table\nfunction M.tbl_merge_force(a, b) return vim.tbl_deep_extend(\"force\", a, b) end\n\n---@param a table\n---@param b table\n---@return table\nfunction M.tbl_merge_keep(a, b) return vim.tbl_deep_extend(\"keep\", a, b) end\n\n---@param tbl table\n---@return table\nfunction M.unique(tbl)\n  local res = {}\n  for i = 1, #tbl do\n    if tbl[i] and not vim.tbl_contains(res, tbl[i]) then table.insert(res, tbl[i]) end\n  end\n\n  return res\nend\n\n---@param str string\n---@return string\nfunction M.camel_to_snake(str)\n  if not str or str == \"\" then return str end\n\n  local result = str:gsub(\"(%u)\", function(c) return \"_\" .. c:lower() end)\n\n  if result:sub(1, 1) == \"_\" then result = result:sub(2) end\n\n  return result\nend\n\n---@param lines string[]\nfunction M.filter_bl(lines)\n  return vim.iter(lines):filter(function(line) return line ~= \"\" end):totable()\nend\n\n---@param winid number|nil\n---@return boolean\nfunction M.is_valid_winid(winid) return type(winid) == \"number\" and vim.api.nvim_win_is_valid(winid) end\n\n---@param bufnr number|nil\n---@return boolean\nfunction M.is_valid_bufnr(bufnr) return type(bufnr) == \"number\" and vim.api.nvim_buf_is_valid(bufnr) end\n\n---@param winid integer\n---@param option string\n---@return any\nfunction M.get_win_option(winid, option)\n  if M.is_valid_winid(winid) then return vim.api.nvim_get_option_value(option, { win = winid, scope = \"local\" }) end\nend\n\n---@param bufnr integer\n---@param option string\n---@return any\nfunction M.get_buf_option(bufnr, option)\n  if M.is_valid_bufnr(bufnr) then return vim.api.nvim_get_option_value(option, { buf = bufnr, scope = \"local\" }) end\nend\n\n---@param winid integer\n---@param option string\n---@param value any\nfunction M.set_win_option(winid, option, value)\n  if M.is_valid_winid(winid) then vim.api.nvim_set_option_value(option, value, { win = winid, scope = \"local\" }) end\nend\n\n---@param bufnr integer\n---@param option string\n---@param value any\nfunction M.set_buf_option(bufnr, option, value)\n  if M.is_valid_bufnr(bufnr) then vim.api.nvim_set_option_value(option, value, { buf = bufnr, scope = \"local\" }) end\nend\n\n---@param str string\n---@param max_length integer\n---@param trailing string\nfunction M.str_truncate(str, max_length, trailing)\n  trailing = trailing or \"...\"\n  if vim.fn.strdisplaywidth(str) > max_length then str = vim.trim(str:sub(1, max_length - #trailing)) .. trailing end\n  return str\nend\n\n---@param fn function\n---@param ... any\n---@return boolean|any\nfunction M.try(fn, ...)\n  local ok, result = pcall(fn, ...)\n  if not ok then return false end\n\n  return result or true\nend\n\n---@type table<string, uv.uv_timer_t>\nlocal running = {}\n\n---@param name string\n---@param timeout integer\n---@param fn function\nfunction M.debounce(name, timeout, fn)\n  if running[name] then running[name]:stop() end\n\n  running[name] = vim.defer_fn(function()\n    running[name] = nil\n\n    fn()\n  end, timeout)\nend\n\n---@param index integer|nil\nfunction M.cmd_history(index) return vim.fn.histget(\"cmd\", index or -1) end\n\n---@return string[]|nil\nfunction M.get_visual_selection()\n  local start_mark = vim.api.nvim_buf_get_mark(0, \"<\")\n  local end_mark = vim.api.nvim_buf_get_mark(0, \">\")\n  local start_row, start_col = start_mark[1], start_mark[2]\n  local end_row, end_col = end_mark[1], end_mark[2]\n  if start_row == 0 or end_row == 0 then return nil end\n  return vim.api.nvim_buf_get_text(0, start_row - 1, start_col, end_row - 1, end_col + 1, {})\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/lib/win.lua",
    "content": "local util = require(\"fyler.lib.util\")\n\n---@alias WinKind\n---| \"float\"\n---| \"replace\"\n---| \"split_above\"\n---| \"split_above_all\"\n---| \"split_below\"\n---| \"split_below_all\"\n---| \"split_left\"\n---| \"split_left_most\"\n---| \"split_right\"\n---| \"split_right_most\"\n\n---@class Win\n---@field augroup integer\n---@field autocmds table\n---@field border string|string[]\n---@field bottom integer|string|nil\n---@field buf_opts table\n---@field bufname string\n---@field bufnr integer|nil\n---@field enter boolean\n---@field footer string|string[]|nil\n---@field footer_pos string|nil\n---@field height string\n---@field kind WinKind\n---@field left integer|string|nil\n---@field mappings table\n---@field mappings_opts vim.keymap.set.Opts\n---@field namespace integer\n---@field on_hide function|nil\n---@field on_show function|nil\n---@field render function|nil\n---@field right integer|string|nil\n---@field title string|string[]|nil\n---@field title_pos string|nil\n---@field top integer|string|nil\n---@field ui Ui\n---@field user_autocmds table\n---@field user_mappings table\n---@field width integer|string\n---@field win integer|nil\n---@field win_opts table\n---@field winid integer|nil\nlocal Win = {}\nWin.__index = Win\n\n---@return Win\nfunction Win.new(opts)\n  local instance = util.tbl_merge_keep(opts or {}, { kind = \"replace\" })\n  instance.ui = require(\"fyler.lib.ui\").new(instance)\n  setmetatable(instance, Win)\n  return instance\nend\n\n---@return boolean\nfunction Win:has_valid_winid() return type(self.winid) == \"number\" and vim.api.nvim_win_is_valid(self.winid) end\n\n---@return boolean\nfunction Win:has_valid_bufnr() return type(self.bufnr) == \"number\" and vim.api.nvim_buf_is_valid(self.bufnr) end\n\n---@return boolean\nfunction Win:is_visible() return self:has_valid_winid() and self:has_valid_bufnr() end\n\n---@return integer|nil\nfunction Win:winbuf()\n  if self:has_valid_winid() then return vim.api.nvim_win_get_buf(self.winid) end\nend\n\n---@return integer|nil, integer|nil\nfunction Win:get_cursor()\n  if not self:has_valid_winid() then return end\n\n  return util.unpack(vim.api.nvim_win_get_cursor(self.winid))\nend\n\nfunction Win:set_local_buf_option(k, v)\n  if self:has_valid_bufnr() then util.set_buf_option(self.bufnr, k, v) end\nend\n\nfunction Win:set_local_win_option(k, v)\n  if self:has_valid_winid() then util.set_win_option(self.winid, k, v) end\nend\n\nfunction Win:get_local_buf_option(k)\n  if self:has_valid_bufnr() then return util.get_buf_option(self.bufnr, k) end\nend\n\nfunction Win:get_local_win_option(k)\n  if self:has_valid_winid() then return util.get_win_option(self.winid, k) end\nend\n\n---@param row integer\n---@param col integer\nfunction Win:set_cursor(row, col)\n  if self:has_valid_winid() then vim.api.nvim_win_set_cursor(self.winid, { row, col }) end\nend\n\n---@param start integer\n---@param finish integer\n---@param lines string[]\nfunction Win:set_lines(start, finish, lines)\n  if not self:has_valid_bufnr() then return end\n\n  local was_modifiable = util.get_buf_option(self.bufnr, \"modifiable\")\n  local undolevels = util.get_buf_option(self.bufnr, \"undolevels\")\n\n  self:set_local_buf_option(\"modifiable\", true)\n  self:set_local_buf_option(\"undolevels\", -1)\n\n  vim.api.nvim_buf_clear_namespace(self.bufnr, self.namespace, 0, -1)\n  vim.api.nvim_buf_set_lines(self.bufnr, start, finish, false, lines)\n\n  if not was_modifiable then self:set_local_buf_option(\"modifiable\", false) end\n\n  self:set_local_buf_option(\"modified\", false)\n  self:set_local_buf_option(\"undolevels\", undolevels)\nend\n\n---@param row integer\n---@param col integer\n---@param options vim.api.keyset.set_extmark\nfunction Win:set_extmark(row, col, options)\n  if self:has_valid_bufnr() then vim.api.nvim_buf_set_extmark(self.bufnr, self.namespace, row, col, options) end\nend\n\nfunction Win:focus()\n  local windows = vim.fn.win_findbuf(self.bufnr)\n  if not windows or not windows[1] then return end\n\n  vim.api.nvim_set_current_win(windows[1])\nend\n\nfunction Win:update_config(config)\n  if not self:has_valid_winid() then return end\n\n  local old_config = vim.api.nvim_win_get_config(self.winid)\n\n  vim.api.nvim_win_set_config(self.winid, util.tbl_merge_force(old_config, config))\nend\n\nfunction Win:update_title(title)\n  if self.kind:match(\"^float\") then self:update_config({ title = title }) end\nend\n\nfunction Win:config()\n  local winconfig = {\n    style = \"minimal\",\n  }\n\n  ---@param dim integer|string\n  ---@return integer|nil, boolean|nil\n  local function resolve_dim(dim)\n    if type(dim) == \"number\" then\n      return dim, false\n    elseif type(dim) == \"string\" then\n      local is_percentage = dim:match(\"%%$\")\n      if is_percentage then\n        return tonumber(dim:match(\"^(.*)%%$\")) * 0.01, true\n      else\n        return tonumber(dim), false\n      end\n    end\n  end\n\n  if self.kind:match(\"^split_\") then\n    winconfig.split = self.kind:match(\"^split_(.*)\")\n  elseif self.kind:match(\"^replace\") then\n    return winconfig\n  elseif self.kind:match(\"^float\") then\n    winconfig.relative = self.win and \"win\" or \"editor\"\n    winconfig.border = self.border\n    winconfig.title = self.title\n    winconfig.title_pos = self.title_pos\n    winconfig.footer = self.footer\n    winconfig.footer_pos = self.footer_pos\n    winconfig.row = 0\n    winconfig.col = 0\n    winconfig.win = self.win\n\n    if not (not self.top and self.top == \"none\") then\n      local magnitude, is_percentage = resolve_dim(self.top)\n      if is_percentage then\n        winconfig.row = math.ceil(magnitude * vim.o.lines)\n      else\n        winconfig.row = magnitude\n      end\n    end\n\n    if not (not self.right or self.right == \"none\") then\n      local right_magnitude, is_percentage = resolve_dim(self.right)\n      local width_magnitude = resolve_dim(self.width)\n      if is_percentage then\n        winconfig.col = math.ceil((1 - right_magnitude - width_magnitude) * vim.o.columns)\n      else\n        winconfig.col = (vim.o.columns - right_magnitude - width_magnitude)\n      end\n    end\n\n    if not (not self.bottom or self.bottom == \"none\") then\n      local bottom_magnitude, is_percentage = resolve_dim(self.bottom)\n      local height_magnitude = resolve_dim(self.height)\n      if is_percentage then\n        winconfig.row = math.ceil((1 - bottom_magnitude - height_magnitude) * vim.o.lines)\n      else\n        winconfig.row = (vim.o.lines - bottom_magnitude - height_magnitude)\n      end\n    end\n\n    if not (not self.left and self.left == \"none\") then\n      local magnitude, is_percentage = resolve_dim(self.left)\n      if is_percentage then\n        winconfig.col = math.ceil(magnitude * vim.o.columns)\n      else\n        winconfig.col = magnitude\n      end\n    end\n  else\n    error(string.format(\"[fyler.nvim] Invalid window kind `%s`\", self.kind))\n  end\n\n  if self.width then\n    local magnitude, is_percentage = resolve_dim(self.width)\n    if is_percentage then\n      winconfig.width = math.ceil(magnitude * vim.o.columns)\n    else\n      winconfig.width = magnitude\n    end\n  end\n\n  if self.height then\n    local magnitude, is_percentage = resolve_dim(self.height)\n    if is_percentage then\n      winconfig.height = math.ceil(magnitude * vim.o.lines)\n    else\n      winconfig.height = magnitude\n    end\n  end\n\n  return winconfig\nend\n\nfunction Win:show()\n  local current_bufnr = vim.api.nvim_get_current_buf()\n  self.origin_win = vim.api.nvim_get_current_win()\n\n  local win_config = self:config()\n  if win_config.split and (win_config.split:match(\"_all$\") or win_config.split:match(\"_most$\")) then\n    if win_config.split == \"left_most\" then\n      vim.api.nvim_command(string.format(\"topleft %dvsplit\", win_config.width))\n    elseif win_config.split == \"above_all\" then\n      vim.api.nvim_command(string.format(\"topleft %dsplit\", win_config.height))\n    elseif win_config.split == \"right_most\" then\n      vim.api.nvim_command(string.format(\"botright %dvsplit\", win_config.width))\n    elseif win_config.split == \"below_all\" then\n      vim.api.nvim_command(string.format(\"botright %dsplit\", win_config.height))\n    else\n      error(string.format(\"Invalid window kind `%s`\", win_config.split))\n    end\n\n    self.winid = vim.api.nvim_get_current_win()\n\n    if self.bufname then self.bufnr = vim.fn.bufnr(self.bufname) end\n\n    if not self.bufnr or self.bufnr == -1 then self.bufnr = vim.api.nvim_create_buf(false, true) end\n\n    vim.api.nvim_win_set_buf(self.winid, self.bufnr)\n\n    if not self.enter then vim.api.nvim_set_current_win(current_bufnr) end\n  elseif self.kind:match(\"^replace\") then\n    self.winid = vim.api.nvim_get_current_win()\n\n    if self.bufname then self.bufnr = vim.fn.bufnr(self.bufname) end\n\n    if not self.bufnr or self.bufnr == -1 then\n      vim.api.nvim_command(\"enew\")\n      self.bufnr = vim.api.nvim_get_current_buf()\n    else\n      vim.api.nvim_win_set_buf(self.winid, self.bufnr)\n    end\n  else\n    if self.bufname then self.bufnr = vim.fn.bufnr(self.bufname) end\n\n    if not self.bufnr or self.bufnr == -1 then self.bufnr = vim.api.nvim_create_buf(false, true) end\n\n    self.winid = vim.api.nvim_open_win(self.bufnr, self.enter, win_config)\n  end\n\n  if self.on_show then self.on_show() end\n\n  self.augroup = vim.api.nvim_create_augroup(\"fyler_augroup_win_\" .. self.bufnr, { clear = true })\n  self.namespace = vim.api.nvim_create_namespace(\"fyler_namespace_win_\" .. self.bufnr)\n\n  local mappings_opts = self.mappings_opts or {}\n  mappings_opts.buffer = self.bufnr\n  for keys, v in pairs(self.mappings or {}) do\n    for _, k in ipairs(util.tbl_wrap(keys)) do\n      vim.keymap.set(\"n\", k, v, mappings_opts)\n    end\n  end\n\n  for k, v in pairs(self.user_mappings or {}) do\n    vim.keymap.set(\"n\", k, v, mappings_opts)\n  end\n\n  for option, value in pairs(self.win_opts or {}) do\n    util.set_win_option(self.winid, option, value)\n  end\n\n  for option, value in pairs(self.buf_opts or {}) do\n    util.set_buf_option(self.bufnr, option, value)\n  end\n\n  if self.bufname then vim.api.nvim_buf_set_name(self.bufnr, self.bufname) end\n\n  for event, callback in pairs(self.autocmds or {}) do\n    vim.api.nvim_create_autocmd(event, { group = self.augroup, buffer = self.bufnr, callback = callback })\n  end\n\n  for event, callback in pairs(self.user_autocmds or {}) do\n    vim.api.nvim_create_autocmd(\"User\", { pattern = event, group = self.augroup, callback = callback })\n  end\n\n  vim.api.nvim_buf_attach(self.bufnr, false, {\n    on_detach = function()\n      if self.autocmds or self.user_autocmds then pcall(vim.api.nvim_del_augroup_by_id, self.augroup) end\n    end,\n  })\n\n  if self.render then self.render() end\nend\n\nfunction Win:hide()\n  if self.kind:match(\"^replace\") then\n    local altbufnr = vim.fn.bufnr(\"#\")\n    if altbufnr == -1 or altbufnr == self.bufnr then\n      util.try(vim.cmd.enew)\n    else\n      util.try(vim.api.nvim_win_set_buf, self.winid, altbufnr)\n    end\n  else\n    util.try(vim.api.nvim_win_close, self.winid, true)\n  end\n\n  util.try(vim.api.nvim_buf_delete, self.bufnr, { force = true })\n\n  if self.on_hide then self.on_hide() end\nend\n\nreturn Win\n"
  },
  {
    "path": "lua/fyler/log.lua",
    "content": "local M = {}\n\n---@param message string\n---@param level integer\nlocal __log = vim.schedule_wrap(function(message, level) vim.notify(message, level, { title = \" [Fyler.nvim] \" }) end)\n\n---@param message string\nfunction M.info(message) __log(message, vim.log.levels.INFO) end\n\n---@param message string\nfunction M.warn(message) __log(message, vim.log.levels.WARN) end\n\n---@param message string\nfunction M.error(message) __log(message, vim.log.levels.ERROR) end\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/views/finder/actions.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal config = require(\"fyler.config\")\nlocal helper = require(\"fyler.views.finder.helper\")\n\nlocal M = {}\n\n---@param self Finder\nfunction M.n_close(self)\n  return function() self:close() end\nend\n\n---@class fyler.views.finder.actions.select_opts\n---@field winpick? boolean Whether to use winpick to select the file (default: true)\n\n-- NOTE: Dependency injection due to shared logic between select actions\n---@param self Finder\n---@param opener fun(path: string)\n---@param opts? fyler.views.finder.actions.select_opts\nlocal function _select(self, opener, opts)\n  opts = vim.tbl_extend(\"force\", { winpick = true }, opts or {})\n\n  local ref_id = helper.parse_ref_id(vim.api.nvim_get_current_line())\n  if not ref_id then return end\n\n  local entry = self.files:node_entry(ref_id)\n  if not entry then return end\n\n  if entry.type == \"directory\" then\n    if entry.open then\n      self.files:collapse_node(ref_id)\n    else\n      self.files:expand_node(ref_id)\n    end\n\n    return self:dispatch_refresh({ force_update = true })\n  end\n\n  -- Close if kind=replace|float or config.values.views.finder.close_on_select is enabled\n  local should_close = self.win.kind:match(\"^replace\")\n    or self.win.kind:match(\"^float\")\n    or config.values.views.finder.close_on_select\n\n  local function get_target_window()\n    if vim.api.nvim_win_is_valid(self.win.origin_win) then return self.win.origin_win end\n\n    for _, winid in ipairs(vim.api.nvim_tabpage_list_wins(0)) do\n      if vim.api.nvim_win_get_config(winid).relative == \"\" then\n        self.win.origin_win = winid\n        return winid\n      end\n    end\n  end\n\n  local function open_in_window(winid)\n    winid = winid or get_target_window()\n    assert(winid and vim.api.nvim_win_is_valid(winid), \"Unexpected invalid window\")\n\n    if should_close then self:action_call(\"n_close\") end\n\n    vim.api.nvim_set_current_win(winid)\n\n    opener(entry.path)\n  end\n\n  if opts.winpick then\n    -- For split variants, we should pick windows\n    config.winpick_provider({ self.win.winid }, open_in_window, config.winpick_opts)\n  else\n    open_in_window()\n  end\nend\n\nfunction M.n_select_tab(self)\n  return function()\n    _select(\n      self,\n      function(path)\n        vim.cmd.tabedit({\n          args = { vim.fn.fnameescape(Path.new(path):os_path()) },\n          mods = { keepalt = false },\n        })\n      end,\n      { winpick = false }\n    )\n  end\nend\n\nfunction M.n_select_v_split(self)\n  return function()\n    _select(\n      self,\n      function(path)\n        vim.cmd.vsplit({\n          args = { vim.fn.fnameescape(Path.new(path):os_path()) },\n          mods = { keepalt = false },\n        })\n      end\n    )\n  end\nend\n\nfunction M.n_select_split(self)\n  return function()\n    _select(\n      self,\n      function(path)\n        vim.cmd.split({\n          args = { vim.fn.fnameescape(Path.new(path):os_path()) },\n          mods = { keepalt = false },\n        })\n      end\n    )\n  end\nend\n\nfunction M.n_select(self)\n  return function()\n    _select(\n      self,\n      function(path)\n        vim.cmd.edit({\n          args = { vim.fn.fnameescape(Path.new(path):os_path()) },\n          mods = { keepalt = false },\n        })\n      end\n    )\n  end\nend\n\n---@param self Finder\nfunction M.n_collapse_all(self)\n  return function()\n    self.files:collapse_all()\n    self:dispatch_refresh({ force_update = true })\n  end\nend\n\n---@param self Finder\nfunction M.n_goto_parent(self)\n  return function()\n    local parent_dir = Path.new(self:getcwd()):parent():posix_path()\n    if parent_dir == self:getcwd() then return end\n    self:change_root(parent_dir):dispatch_refresh({ force_update = true })\n  end\nend\n\n---@param self Finder\nfunction M.n_goto_cwd(self)\n  return function()\n    if self:getrwd() == self:getcwd() then return end\n    self:change_root(self:getrwd()):dispatch_refresh({ force_update = true })\n  end\nend\n\n---@param self Finder\nfunction M.n_goto_node(self)\n  return function()\n    local ref_id = helper.parse_ref_id(vim.api.nvim_get_current_line())\n    if not ref_id then return end\n\n    local entry = self.files:node_entry(ref_id)\n    if not entry then return end\n\n    if entry.type == \"directory\" then\n      self:change_root(entry.path):dispatch_refresh({ force_update = true })\n    else\n      self:action_call(\"n_select\")\n    end\n  end\nend\n\n---@param self Finder\nfunction M.n_collapse_node(self)\n  return function()\n    local ref_id = helper.parse_ref_id(vim.api.nvim_get_current_line())\n    if not ref_id then return end\n\n    local entry = self.files:node_entry(ref_id)\n    if not entry then return end\n\n    -- should not collapse root, so get it's id\n    local root_ref_id = self.files.trie.value\n    if entry.type == \"directory\" and ref_id == root_ref_id then return end\n\n    local collapse_target = self.files:find_parent(ref_id)\n    if (not collapse_target) or (not entry.open) and collapse_target == root_ref_id then return end\n\n    local focus_ref_id\n    if entry.type == \"directory\" and entry.open then\n      self.files:collapse_node(ref_id)\n      focus_ref_id = ref_id\n    else\n      self.files:collapse_node(collapse_target)\n      focus_ref_id = collapse_target\n    end\n\n    self:dispatch_refresh({\n      onrender = function()\n        if self:isopen() then vim.fn.search(string.format(\"/%05d\", focus_ref_id)) end\n      end,\n    })\n  end\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/views/finder/files/init.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal Trie = require(\"fyler.lib.structs.trie\")\nlocal fs = require(\"fyler.lib.fs\")\nlocal manager = require(\"fyler.views.finder.files.manager\")\nlocal util = require(\"fyler.lib.util\")\n\n---@class Files\n---@field trie Trie\n---@field root_path string\n---@field finder Finder\nlocal Files = {}\nFiles.__index = Files\n\n---@param opts table\n---@return Files\nfunction Files.new(opts)\n  assert(Path.new(opts.path):is_directory(), \"Files root must be a directory\")\n\n  local instance = {\n    root_path = opts.path,\n    finder = opts.finder,\n    trie = Trie.new(manager.set({\n      name = opts.name,\n      open = opts.open,\n      path = opts.path,\n      type = \"directory\",\n      updated = false,\n    })),\n  }\n\n  local root_entry = manager.get(instance.trie.value)\n  if root_entry.open then instance.finder.watcher:start(root_entry.path) end\n\n  setmetatable(instance, Files)\n\n  return instance\nend\n\n---@param path string\n---@return string[]|nil\nfunction Files:path_to_segments(path)\n  local posix_path = Path.new(path):posix_path()\n  if not vim.startswith(posix_path, self.root_path) then return nil end\n\n  local relative = posix_path:sub(#self.root_path + 1)\n  if relative:sub(1, 1) == \"/\" then relative = relative:sub(2) end\n\n  return util.filter_bl(vim.split(relative, \"/\"))\nend\n\n---@param ref_id integer\n---@return FilesEntry\nfunction Files:node_entry(ref_id) return manager.get(assert(ref_id, \"cannot find node without ref_id\")) end\n\n---@param ref_id integer\n---@return Trie|nil\nfunction Files:find_node_by_ref_id(ref_id)\n  local entry = manager.get(ref_id)\n  local segments = self:path_to_segments(entry.link or entry.path)\n  if not segments then return nil end\n  return self.trie:find(segments)\nend\n\n---@param ref_id integer\nfunction Files:expand_node(ref_id)\n  local entry = manager.get(ref_id)\n  assert(entry, \"cannot locate entry with given ref_id\")\n\n  if entry.type ~= \"directory\" then return self end\n\n  entry.open = true\n  self.finder.watcher:start(entry.path)\n\n  return self\nend\n\n---@param ref_id integer\nfunction Files:collapse_node(ref_id)\n  local entry = manager.get(ref_id)\n  assert(entry, \"cannot locate entry with given ref_id\")\n\n  if entry.type ~= \"directory\" then return self end\n\n  entry.open = false\n  self.finder.watcher:stop(entry.path)\n\n  return self\nend\n\n---@param ref_id integer\n---@return integer|nil\nfunction Files:find_parent(ref_id)\n  local entry = manager.get(ref_id)\n  local segments = self:path_to_segments(entry.link or entry.path)\n\n  if not segments or #segments == 0 then return nil end\n\n  local parent_segments = {}\n  for i = 1, #segments - 1 do\n    parent_segments[i] = segments[i]\n  end\n\n  if #parent_segments == 0 then return self.trie.value end\n\n  local parent_node = self.trie:find(parent_segments)\n  return parent_node and parent_node.value or nil\nend\n\nfunction Files:collapse_all()\n  for _, child in pairs(self.trie.children) do\n    self:_collapse_recursive(child)\n  end\nend\n\n---@param node Trie\nfunction Files:_collapse_recursive(node)\n  local entry = manager.get(node.value)\n\n  if entry.type == \"directory\" and entry.open then\n    entry.open = false\n    self.finder.watcher:stop(entry.path)\n  end\n\n  for _, child in pairs(node.children) do\n    self:_collapse_recursive(child)\n  end\nend\n\n---@param parent_ref_id integer\n---@param opts FilesEntryOpts\nfunction Files:add_child(parent_ref_id, opts)\n  local parent_entry = manager.get(parent_ref_id)\n\n  opts.path = Path.new(parent_entry.link or parent_entry.path):join(opts.name):posix_path()\n\n  local child_ref_id = manager.set(opts)\n\n  local parent_segments = self:path_to_segments(parent_entry.link or parent_entry.path)\n  local parent_node = self.trie:find(parent_segments or {})\n\n  if parent_node then parent_node.children[opts.name] = Trie.new(child_ref_id) end\nend\n\n---@param ... integer|function\nfunction Files:update(...)\n  local ref_id = nil\n  local onupdate = nil\n\n  for i = 1, select(\"#\", ...) do\n    local arg = select(i, ...)\n\n    if type(arg) == \"number\" then\n      ref_id = arg\n    elseif type(arg) == \"function\" then\n      onupdate = arg\n    end\n  end\n\n  if not onupdate then error(\"callback function is required\") end\n\n  local node = ref_id and self:find_node_by_ref_id(ref_id) or self.trie\n\n  self:_update(node, function(err)\n    if err then return onupdate(err) end\n\n    onupdate(nil, self)\n  end)\nend\n\n---@param node Trie\n---@param onupdate function\nfunction Files:_update(node, onupdate)\n  local node_entry = manager.get(node.value)\n  if not node_entry.open then return onupdate(nil) end\n\n  fs.ls({\n    path = Path.new(node_entry.link or node_entry.path):os_path(),\n  }, function(err, entries)\n    if err or not entries then return onupdate(err) end\n\n    local entry_paths = {}\n    for _, entry in ipairs(entries) do\n      entry_paths[entry.name] = entry\n    end\n\n    for name, child_node in pairs(node.children) do\n      if not entry_paths[name] then\n        local child_entry = manager.get(child_node.value)\n        if child_entry.type == \"directory\" then self.finder.watcher:stop(child_entry.path) end\n        node.children[name] = nil\n      end\n    end\n\n    for name, entry in pairs(entry_paths) do\n      if not node.children[name] then\n        local child_ref_id = manager.set(entry)\n        local child_node = Trie.new(child_ref_id)\n        node.children[name] = child_node\n\n        local child_entry = manager.get(child_ref_id)\n        if child_entry.type == \"directory\" and child_entry.open then self.finder.watcher:start(child_entry.path) end\n      end\n    end\n\n    node_entry.updated = true\n\n    local children_list = {}\n    for _, child in pairs(node.children) do\n      table.insert(children_list, child)\n    end\n\n    local function update_next(index)\n      if index > #children_list then return onupdate(nil) end\n\n      self:_update(children_list[index], function(err)\n        if err then return onupdate(err) end\n        update_next(index + 1)\n      end)\n    end\n\n    update_next(1)\n  end)\nend\n\n---@param path string\n---@param onnavigate function\nfunction Files:navigate(path, onnavigate)\n  local segments = self:path_to_segments(path)\n  if not segments then return onnavigate(nil, nil, false) end\n\n  if #segments == 0 then return onnavigate(nil, self.trie.value, false) end\n\n  local did_update = false\n\n  local function process_segment(index, current_node)\n    if index > #segments then return onnavigate(nil, current_node.value, did_update) end\n\n    local segment = segments[index]\n    local current_entry = manager.get(current_node.value)\n\n    if current_entry.type == \"directory\" then\n      local needs_update = not current_entry.open or not current_entry.updated\n\n      if needs_update then\n        did_update = true\n        self:expand_node(current_node.value):update(current_node.value, function(err)\n          if err then return onnavigate(err, nil, did_update) end\n\n          local next_node = current_node.children[segment]\n          if not next_node then return onnavigate(nil, nil, did_update) end\n\n          process_segment(index + 1, next_node)\n        end)\n      else\n        local next_node = current_node.children[segment]\n        if not next_node then return onnavigate(nil, nil, did_update) end\n\n        process_segment(index + 1, next_node)\n      end\n    else\n      return onnavigate(nil, nil, did_update)\n    end\n  end\n\n  process_segment(1, self.trie)\nend\n\n---@return table\nfunction Files:totable() return self:_totable(self.trie) end\n\n---@param node Trie\n---@return table\nfunction Files:_totable(node)\n  local entry = manager.get(node.value)\n  local table_node = {\n    link = entry.link,\n    name = entry.name,\n    open = entry.open,\n    path = entry.path,\n    ref_id = node.value,\n    type = entry.type,\n    children = {},\n  }\n\n  if not entry.open then return table_node end\n\n  local child_list = {}\n  for name, child in pairs(node.children) do\n    local child_entry = manager.get(child.value)\n    table.insert(child_list, { name = name, node = child, is_dir = child_entry.type == \"directory\" })\n  end\n\n  for _, item in ipairs(child_list) do\n    table.insert(table_node.children, self:_totable(item.node))\n  end\n\n  return table_node\nend\n\n---@return table[]\nfunction Files:diff_with_buffer() return require(\"fyler.views.finder.files.resolver\").new(self):resolve() end\n\nreturn Files\n"
  },
  {
    "path": "lua/fyler/views/finder/files/manager.lua",
    "content": "local util = require(\"fyler.lib.util\")\n\n---@class FilesEntry\n---@field ref_id integer\n---@field open boolean\n---@field updated boolean\n---@field name string\n---@field path string\n---@field type string\n---@field link string|nil\nlocal Entry = {}\nEntry.__index = Entry\n\n---@class FilesEntryOpts\n---@field ref_id integer|nil\n---@field open boolean|nil\n---@field updated boolean|nil\n---@field name string|nil\n---@field path string\n---@field type string|nil\n---@field link string|nil\n\nlocal M = {}\n\nlocal Entries = {}\nlocal PathToRefId = {} -- entry path (including symlink path) -> ref_id\nlocal ResolvedPathToRefId = {} -- resolved path -> ref_id (for follow_current_file on symlinks)\nlocal NextRefId = 1\n\nlocal DEFAULT_ENTRY = {\n  open = false,\n  updated = false,\n  type = \"file\",\n}\n\n---@param ref_id integer\n---@return FilesEntry\nfunction M.get(ref_id)\n  assert(ref_id, \"cannot find entry without ref_id\")\n  local entry = Entries[ref_id]\n  assert(entry, \"cannot locate entry with given ref_id\")\n  return entry\nend\n\n---@param opts FilesEntryOpts\n---@return integer\nfunction M.set(opts)\n  assert(opts and opts.path, \"FilesEntry requires at least a path\")\n\n  local path = opts.link or opts.path\n  local ref_id = PathToRefId[path]\n  local entry = ref_id and Entries[ref_id]\n\n  if entry then\n    Entries[ref_id] = util.tbl_merge_force(entry, opts)\n    if opts.link then ResolvedPathToRefId[opts.path] = ref_id end\n    return ref_id\n  end\n\n  ref_id = NextRefId\n  NextRefId = NextRefId + 1\n\n  local new_entry = util.tbl_merge_force({}, DEFAULT_ENTRY)\n  new_entry = util.tbl_merge_force(new_entry, opts)\n  new_entry.ref_id = ref_id\n\n  PathToRefId[path] = ref_id\n  if opts.link then ResolvedPathToRefId[opts.path] = ref_id end\n  Entries[ref_id] = new_entry\n\n  return ref_id\nend\n\n---@param resolved_path string\n---@return string|nil\nfunction M.find_link_path_from_resolved(resolved_path)\n  local ref_id = ResolvedPathToRefId[resolved_path]\n  if ref_id then\n    local entry = Entries[ref_id]\n    if entry and entry.link then return entry.link end\n  end\n\n  local parent = resolved_path\n  while parent do\n    parent = parent:match(\"^(.*)/[^/]+$\")\n    if not parent or parent == \"/\" then break end\n\n    ref_id = ResolvedPathToRefId[parent]\n    if ref_id then\n      local entry = Entries[ref_id]\n      if entry and entry.link then return entry.link .. resolved_path:sub(#parent + 1) end\n    end\n  end\nend\nreturn M\n"
  },
  {
    "path": "lua/fyler/views/finder/files/resolver.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal helper = require(\"fyler.views.finder.helper\")\nlocal manager = require(\"fyler.views.finder.files.manager\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal Resolver = {}\nResolver.__index = Resolver\n\nfunction Resolver.new(files) return setmetatable({ files = files }, Resolver) end\n\nfunction Resolver:resolve()\n  local parsed_tree = self:_parse_buffer()\n  local actions = self:_generate_actions(parsed_tree)\n  actions = self:_filter_actions(actions)\n  actions = self:_topsort_actions(actions)\n\n  return actions\nend\n\n---@private\nfunction Resolver:_parse_buffer()\n  local root_entry = manager.get(self.files.trie.value)\n  assert(root_entry, \"Failed to get root entry from trie\")\n\n  local parsed_tree = {\n    ref_id = root_entry.ref_id,\n    path = root_entry.path,\n    children = {},\n  }\n\n  local parent_stack = require(\"fyler.lib.structs.stack\").new()\n  parent_stack:push({ node = parsed_tree, indent = -1 })\n\n  local buffer_lines = vim.api.nvim_buf_get_lines(self.files.finder.win.bufnr, 0, -1, false)\n\n  for _, line in ipairs(util.filter_bl(buffer_lines)) do\n    local entry_name = helper.parse_name(line)\n    local entry_ref_id = helper.parse_ref_id(line)\n    local entry_indent = helper.parse_indent_level(line)\n\n    while parent_stack:size() > 1 and parent_stack:top().indent >= entry_indent do\n      parent_stack:pop()\n    end\n\n    local current_parent = parent_stack:top()\n    local parent_entry = manager.get(current_parent.node.ref_id)\n    local parent_path = parent_entry.link or parent_entry.path\n\n    local child_node = {\n      ref_id = entry_ref_id,\n      path = Path.new(parent_path):join(entry_name):posix_path(),\n    }\n\n    current_parent.node.type = \"directory\"\n    current_parent.node.children = current_parent.node.children or {}\n\n    table.insert(current_parent.node.children, child_node)\n\n    parent_stack:push({ node = child_node, indent = entry_indent })\n  end\n\n  return parsed_tree\nend\n\n---@private\nfunction Resolver:_generate_actions(parsed_tree)\n  local old_ref = {}\n  local new_ref = {}\n  local actions = {}\n\n  local function traverse(node, should_continue)\n    if should_continue(node) then\n      for _, child_node in pairs(node.children or {}) do\n        traverse(child_node, should_continue)\n      end\n    end\n  end\n\n  traverse(self.files.trie, function(node)\n    local node_entry = assert(manager.get(node.value), \"Unexpected nil node entry\")\n\n    if node_entry.link then\n      old_ref[node.value] = node_entry.link\n    else\n      old_ref[node.value] = assert(node_entry.path, \"Unexpected nil node entry path\")\n    end\n\n    return node_entry.open\n  end)\n\n  traverse(parsed_tree, function(node)\n    if not node.ref_id then\n      table.insert(actions, { type = \"create\", path = node.path })\n    else\n      new_ref[node.ref_id] = new_ref[node.ref_id] or {}\n      table.insert(new_ref[node.ref_id], node.path)\n    end\n    return true\n  end)\n\n  local function insert_action(ref_id, old_path)\n    local dst_paths = new_ref[ref_id]\n\n    if not dst_paths then\n      table.insert(actions, { type = \"delete\", path = old_path })\n      return\n    end\n\n    if #dst_paths == 1 then\n      if dst_paths[1] ~= old_path then table.insert(actions, { type = \"move\", src = old_path, dst = dst_paths[1] }) end\n      return\n    end\n\n    if util.if_any(dst_paths, function(path) return path == old_path end) then\n      util.tbl_each(dst_paths, function(path)\n        if path ~= old_path then table.insert(actions, { type = \"copy\", src = old_path, dst = path }) end\n      end)\n    else\n      table.insert(actions, { type = \"move\", src = old_path, dst = dst_paths[1] })\n      for i = 2, #dst_paths do\n        table.insert(actions, { type = \"copy\", src = dst_paths[1], dst = dst_paths[i] })\n      end\n    end\n  end\n\n  for ref_id, original_path in pairs(old_ref) do\n    insert_action(ref_id, original_path)\n  end\n\n  return actions\nend\n\n---@private\nfunction Resolver:_filter_actions(actions)\n  local seen_actions = {}\n\n  local function create_action_key(action)\n    if vim.list_contains({ \"create\", \"delete\" }, action.type) then\n      return action.type .. \":\" .. action.path\n    elseif vim.list_contains({ \"move\", \"copy\" }, action.type) then\n      return action.type .. \":\" .. action.src .. \",\" .. action.dst\n    else\n      error(string.format(\"Unexpected action type: %s\", action.type))\n    end\n  end\n\n  return util.tbl_filter(actions, function(action)\n    local action_key = create_action_key(action)\n\n    if seen_actions[action_key] then\n      return false\n    else\n      seen_actions[action_key] = true\n    end\n\n    if action.type == \"move\" or action.type == \"copy\" then return action.src ~= action.dst end\n\n    return true\n  end)\nend\n\n---@private\nfunction Resolver:_topsort_actions(actions)\n  if #actions == 0 then return actions end\n\n  local Path = require(\"fyler.lib.path\")\n  local Trie = require(\"fyler.lib.structs.trie\")\n\n  local temp_paths = {}\n\n  local function build_conflict_graph(action_list)\n    local conflicts = {}\n\n    for i = 1, #action_list do\n      conflicts[i] = {}\n    end\n\n    for i = 1, #action_list do\n      local action_i = action_list[i]\n\n      for j = i + 1, #action_list do\n        local action_j = action_list[j]\n\n        if action_i.type == \"move\" and action_j.type == \"move\" then\n          if action_i.src == action_j.dst and action_i.dst == action_j.src then\n            table.insert(conflicts[i], j)\n            table.insert(conflicts[j], i)\n          end\n        end\n      end\n    end\n\n    return conflicts\n  end\n\n  local function expand_swaps(action_list)\n    local conflicts = build_conflict_graph(action_list)\n    local expanded = {}\n    local processed = {}\n\n    for i = 1, #action_list do\n      if not processed[i] then\n        local action = action_list[i]\n\n        local swap_partner = nil\n        for _, j in ipairs(conflicts[i]) do\n          if not processed[j] then\n            swap_partner = j\n            break\n          end\n        end\n\n        if swap_partner then\n          local action_a = action_list[i]\n          local action_b = action_list[swap_partner]\n          local tmp_path = string.format(\"%s_temp_%05d\", action_a.src, math.random(99999))\n\n          temp_paths[tmp_path] = true\n\n          table.insert(expanded, { type = \"move\", src = action_a.src, dst = tmp_path })\n          table.insert(expanded, { type = \"move\", src = action_b.src, dst = action_b.dst })\n          table.insert(expanded, { type = \"move\", src = tmp_path, dst = action_a.dst })\n\n          processed[i] = true\n          processed[swap_partner] = true\n        else\n          table.insert(expanded, action)\n          processed[i] = true\n        end\n      end\n    end\n\n    return expanded\n  end\n\n  actions = expand_swaps(actions)\n\n  local function build_dependency_graph(action_list)\n    local src_trie = Trie.new()\n    local dst_trie = Trie.new()\n\n    local action_to_index = {}\n    for i, action in ipairs(action_list) do\n      action_to_index[action] = i\n    end\n\n    for _, action in ipairs(action_list) do\n      local function append(existing_actions) return vim.list_extend(existing_actions or {}, { action }) end\n\n      if action.type == \"create\" then\n        dst_trie:insert(Path.new(action.path):segments(), append)\n      elseif action.type == \"delete\" then\n        src_trie:insert(Path.new(action.path):segments(), append)\n      else\n        src_trie:insert(Path.new(action.src):segments(), append)\n        dst_trie:insert(Path.new(action.dst):segments(), append)\n      end\n    end\n\n    local function collect_parent_actions(trie, target_path, collected_actions)\n      local path_segments = Path.new(target_path):segments()\n      local ancestor_nodes = { trie }\n\n      for _, segment in ipairs(path_segments) do\n        local current_node = ancestor_nodes[#ancestor_nodes]\n        if not current_node or not current_node.children then return end\n\n        local child_node = current_node.children[segment]\n        if not child_node then return end\n\n        table.insert(ancestor_nodes, child_node)\n      end\n\n      table.remove(ancestor_nodes)\n\n      while #ancestor_nodes > 0 do\n        local ancestor = ancestor_nodes[#ancestor_nodes]\n        if ancestor.value and #ancestor.value > 0 then\n          vim.list_extend(collected_actions, ancestor.value)\n          break\n        end\n\n        table.remove(ancestor_nodes)\n      end\n    end\n\n    local function collect_descendant_actions(trie, target_path, collected_actions, action_filter)\n      local path_segments = Path.new(target_path):segments()\n      local target_node = trie:find(path_segments)\n\n      if not target_node then return end\n\n      for _, child_node in pairs(target_node.children) do\n        child_node:dfs(function(node)\n          if node.value then\n            if action_filter then\n              for _, action in ipairs(node.value) do\n                if action_filter(action) then table.insert(collected_actions, action) end\n              end\n            else\n              vim.list_extend(collected_actions, node.value)\n            end\n          end\n        end)\n      end\n    end\n\n    local function collect_actions_at_path(trie, target_path, collected_actions, action_filter)\n      local path_segments = Path.new(target_path):segments()\n      local target_node = trie:find(path_segments)\n\n      if target_node and target_node.value then\n        for _, action in ipairs(target_node.value) do\n          if not action_filter or action_filter(action) then table.insert(collected_actions, action) end\n        end\n      end\n    end\n\n    local function action_dependencies(action_index)\n      local action = action_list[action_index]\n      local function is_destructive_action(op) return op.type == \"move\" or op.type == \"delete\" end\n\n      local dependencies = {}\n\n      if action.type == \"delete\" then\n        collect_descendant_actions(src_trie, action.path, dependencies)\n      elseif action.type == \"create\" then\n        collect_parent_actions(dst_trie, action.path, dependencies)\n        if not temp_paths[action.path] then\n          collect_actions_at_path(src_trie, action.path, dependencies, is_destructive_action)\n        end\n      elseif action.type == \"move\" then\n        collect_parent_actions(dst_trie, action.dst, dependencies)\n        collect_descendant_actions(src_trie, action.src, dependencies)\n        if not temp_paths[action.dst] then\n          collect_actions_at_path(src_trie, action.dst, dependencies, is_destructive_action)\n        end\n      elseif action.type == \"copy\" then\n        collect_parent_actions(dst_trie, action.dst, dependencies)\n        if not temp_paths[action.dst] then\n          collect_actions_at_path(src_trie, action.dst, dependencies, is_destructive_action)\n        end\n      end\n\n      local filtered_deps = {}\n      for _, dep in ipairs(dependencies) do\n        local dep_index = action_to_index[dep]\n        if dep_index and dep_index ~= action_index then table.insert(filtered_deps, dep) end\n      end\n\n      return filtered_deps\n    end\n\n    local indegree = {}\n    local graph = {}\n\n    for i = 1, #action_list do\n      indegree[i] = 0\n      graph[i] = {}\n    end\n\n    for i = 1, #action_list do\n      local dependencies = action_dependencies(i)\n      for _, dep in ipairs(dependencies) do\n        local dep_index = action_to_index[dep]\n        if dep_index then\n          table.insert(graph[dep_index], i)\n          indegree[i] = indegree[i] + 1\n        end\n      end\n    end\n\n    return graph, indegree, action_list\n  end\n\n  local graph, indegree, final_actions = build_dependency_graph(actions)\n\n  local ready_actions = {}\n  for i = 1, #final_actions do\n    if indegree[i] == 0 then table.insert(ready_actions, i) end\n  end\n\n  local topsorted = {}\n  while #ready_actions > 0 do\n    local current_index = table.remove(ready_actions, 1)\n    table.insert(topsorted, final_actions[current_index])\n\n    for _, dependent_index in ipairs(graph[current_index]) do\n      indegree[dependent_index] = indegree[dependent_index] - 1\n      if indegree[dependent_index] == 0 then table.insert(ready_actions, dependent_index) end\n    end\n  end\n\n  if #topsorted ~= #final_actions then\n    error(string.format(\"Circular dependency detected in actions: sorted %d of %d actions\", #topsorted, #final_actions))\n  end\n\n  return topsorted\nend\n\nreturn Resolver\n"
  },
  {
    "path": "lua/fyler/views/finder/helper.lua",
    "content": "local M = {}\n\n---@param uri string|nil\n---@return boolean\nfunction M.is_protocol_uri(uri) return uri and (not not uri:match(\"^fyler://%d+\")) or false end\n\n---@param dir string\n---@param tab string|integer\n---@return string\nfunction M.build_protocol_uri(tab, dir) return string.format(\"fyler://%s//%s\", tostring(tab), dir) end\n\n---@param uri string|nil\n---@return string\nfunction M.normalize_uri(uri)\n  local dir, tab = nil, nil\n  if not uri or uri == \"\" then\n    dir = vim.fn.getcwd()\n    tab = tostring(vim.api.nvim_get_current_tabpage())\n  elseif M.is_protocol_uri(uri) then\n    tab, dir = M.parse_protocol_uri(uri)\n    dir = dir or vim.fn.getcwd()\n    tab = tab or tostring(vim.api.nvim_get_current_tabpage())\n  else\n    dir = uri\n    tab = tostring(vim.api.nvim_get_current_tabpage())\n  end\n  return M.build_protocol_uri(tab, require(\"fyler.lib.path\").new(dir):posix_path())\nend\n\n---@param uri string\n---@return string|nil, string|nil\nfunction M.parse_protocol_uri(uri)\n  if M.is_protocol_uri(uri) then return string.match(uri, \"^fyler://(%d+)//(.*)$\") end\nend\n\n---@param str string\n---@return integer|nil\nfunction M.parse_ref_id(str) return tonumber(str:match(\"/(%d+)\")) end\n\n---@param str string\n---@return integer\nfunction M.parse_indent_level(str) return #(str:match(\"^(%s*)\" or \"\")) end\n\n---@param str string\n---@return string\nfunction M.parse_name(str)\n  if M.parse_ref_id(str) then\n    return str:match(\"/%d+ (.*)$\")\n  else\n    return str:gsub(\"^%s*\", \"\"):match(\".*\")\n  end\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/views/finder/indent.lua",
    "content": "local config = require(\"fyler.config\")\n\nlocal M = {}\n\nlocal INDENT_WIDTH = 2\nlocal snapshots = {}\n\n---@param winid integer\n---@param bufnr integer\n---@return string\nlocal function make_key(winid, bufnr) return winid .. \"_\" .. bufnr end\n\n---@param text string\n---@return boolean\nlocal function only_spaces_or_tabs(text)\n  for i = 1, #text do\n    local byte = string.byte(text, i)\n    if byte ~= 32 and byte ~= 9 then return false end\n  end\n  return true\nend\n\n---@param line string\n---@return integer\nlocal function calculate_indent(line)\n  local indent = 0\n  for i = 1, #line do\n    local byte = string.byte(line, i)\n    if byte == 32 then\n      indent = indent + 1\n    elseif byte == 9 then\n      indent = indent + 8\n    else\n      break\n    end\n  end\n  return indent\nend\n\n---@param bufnr integer\n---@param lnum integer\n---@param snapshot table\n---@return integer indent\nlocal function compute_indent(bufnr, lnum, snapshot)\n  local cached = snapshot[lnum]\n  if cached then return cached end\n\n  local ok, lines = pcall(vim.api.nvim_buf_get_lines, bufnr, lnum - 1, lnum, false)\n  if not ok or not lines or #lines == 0 then return 0 end\n\n  local line = lines[1]\n  local is_empty = #line == 0 or only_spaces_or_tabs(line)\n\n  local indent\n  if is_empty then\n    indent = 0\n    local prev_lnum = lnum - 1\n    while prev_lnum >= 1 do\n      local prev_indent = snapshot[prev_lnum] or compute_indent(bufnr, prev_lnum, snapshot)\n      if prev_indent > 0 then\n        indent = prev_indent\n        break\n      end\n      prev_lnum = prev_lnum - 1\n    end\n  else\n    indent = calculate_indent(line)\n  end\n\n  snapshot[lnum] = indent\n  return indent\nend\n\n---@param snapshot table\n---@param lnum integer\n---@return integer|nil\nlocal function next_non_empty_indent(snapshot, lnum)\n  local next_lnum = lnum + 1\n  while true do\n    local next_indent = snapshot[next_lnum]\n    if next_indent == nil then return nil end\n    if next_indent > 0 then return next_indent end\n    next_lnum = next_lnum + 1\n  end\nend\n\nlocal function setup_provider()\n  if M.indent_ns then return end\n\n  M.indent_ns = vim.api.nvim_create_namespace(\"fyler_indentscope\")\n\n  vim.api.nvim_set_decoration_provider(M.indent_ns, {\n    on_start = function()\n      if not config.values.views.finder.indentscope.enabled then return false end\n\n      for key in pairs(M.windows) do\n        snapshots[key] = {}\n      end\n      return true\n    end,\n\n    on_win = function(_, winid, bufnr, topline, botline)\n      local key = make_key(winid, bufnr)\n      local win = M.windows[key]\n      if not win or not win:has_valid_bufnr() or win.winid ~= winid or win.bufnr ~= bufnr then return false end\n\n      local snapshot = snapshots[key] or {}\n      snapshots[key] = snapshot\n\n      for lnum = topline + 1, botline + 1 do\n        compute_indent(bufnr, lnum, snapshot)\n      end\n\n      return true\n    end,\n\n    on_line = function(_, winid, bufnr, row)\n      local key = make_key(winid, bufnr)\n      local win = M.windows[key]\n      if not win or not win:has_valid_bufnr() or win.winid ~= winid or win.bufnr ~= bufnr then return end\n\n      local snapshot = snapshots[key]\n      if not snapshot then return end\n\n      local lnum = row + 1\n      local indent = snapshot[lnum]\n      if not indent or indent < INDENT_WIDTH then return end\n\n      local next_indent = next_non_empty_indent(snapshot, lnum)\n      local markers = config.values.views.finder.indentscope.markers\n\n      for col = 0, indent - INDENT_WIDTH, INDENT_WIDTH do\n        local scope_level = col + INDENT_WIDTH\n        local is_scope_end = not next_indent or next_indent < scope_level\n\n        local marker = is_scope_end and markers[2] or markers[1]\n\n        vim.api.nvim_buf_set_extmark(bufnr, M.indent_ns, row, col, {\n          virt_text = { marker },\n          virt_text_pos = \"overlay\",\n          hl_mode = \"combine\",\n          ephemeral = true,\n          priority = 10,\n        })\n      end\n    end,\n  })\nend\n\n---@param win Win\nfunction M.attach(win)\n  if not config.values.views.finder.indentscope.enabled then return end\n\n  setup_provider()\n\n  if not M.windows then M.windows = {} end\n\n  local key = make_key(win.winid, win.bufnr)\n  M.windows[key] = win\nend\n\n---@param win Win\nfunction M.detach(win)\n  if not M.windows then return end\n\n  local key = make_key(win.winid, win.bufnr)\n  M.windows[key] = nil\n  snapshots[key] = nil\n\n  if next(M.windows) == nil then\n    M.windows = {}\n    snapshots = {}\n  end\nend\n\nfunction M.enable(win) M.attach(win) end\n\nfunction M.disable()\n  M.windows = {}\n  snapshots = {}\nend\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/views/finder/init.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal async = require(\"fyler.lib.async\")\nlocal config = require(\"fyler.config\")\nlocal helper = require(\"fyler.views.finder.helper\")\nlocal manager = require(\"fyler.views.finder.files.manager\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal M = {}\n\n---@class Finder\n---@field uri string\n---@field files Files\n---@field watcher Watcher\nlocal Finder = {}\nFinder.__index = Finder\n\nfunction Finder.new(uri) return setmetatable({ uri = uri }, Finder) end\n\n---@param name string\nfunction Finder:action(name)\n  local action = require(\"fyler.views.finder.actions\")[name]\n  return assert(action, string.format(\"action %s is not available\", name))(self)\nend\n\n---@param user_mappings table<string, function>\n---@return table<string, function>\nfunction Finder:action_wrap(user_mappings)\n  local actions = {}\n  for keys, fn in pairs(user_mappings) do\n    actions[keys] = function() fn(self) end\n  end\n  return actions\nend\n\n---@param name string\n---@param ... any\nfunction Finder:action_call(name, ...) self:action(name)(...) end\n\n---@deprecated\nfunction Finder:exec_action(...)\n  vim.notify(\"'exec_action' is deprecated use 'action_call'\")\n  self:action_call(...)\nend\n\n---@param kind WinKind|nil\nfunction Finder:isopen(kind)\n  return self.win\n    and (kind and (self.win.kind == kind) or true)\n    and self.win:has_valid_winid()\n    and self.win:has_valid_bufnr()\nend\n\n---@param kind WinKind\nfunction Finder:open(kind)\n  local indent = require(\"fyler.views.finder.indent\")\n\n  local rev_maps = config.rev_maps(\"finder\")\n  local usr_maps = config.usr_maps(\"finder\")\n  local view_cfg = config.view_cfg(\"finder\", kind)\n\n  -- stylua: ignore start\n  self.win = require(\"fyler.lib.win\").new {\n    autocmds      = {\n      [\"BufReadCmd\"] = function()\n        self:dispatch_refresh()\n      end,\n      [\"BufWriteCmd\"] = function()\n        self:dispatch_mutation()\n      end,\n      [{\"CursorMoved\",\"CursorMovedI\"}] = function()\n        local cur = vim.api.nvim_get_current_line()\n        local ref_id = helper.parse_ref_id(cur)\n        if not ref_id then return end\n\n        local _, ub = string.find(cur, ref_id)\n        if not self.win:has_valid_winid() then return end\n\n        local row, col = self.win:get_cursor()\n        if not (row and col) then return end\n\n        if col <= ub then self.win:set_cursor(row, ub + 1) end\n      end,\n    },\n    border        = view_cfg.win.border,\n    bufname       = self.uri,\n    bottom        = view_cfg.win.bottom,\n    buf_opts      = view_cfg.win.buf_opts,\n    enter         = true,\n    footer        = view_cfg.win.footer,\n    footer_pos    = view_cfg.win.footer_pos,\n    height        = view_cfg.win.height,\n    kind          = kind,\n    left          = view_cfg.win.left,\n    mappings      = {\n      [rev_maps[\"CloseView\"]]    = self:action \"n_close\",\n      [rev_maps[\"CollapseAll\"]]  = self:action \"n_collapse_all\",\n      [rev_maps[\"CollapseNode\"]] = self:action \"n_collapse_node\",\n      [rev_maps[\"GotoCwd\"]]      = self:action \"n_goto_cwd\",\n      [rev_maps[\"GotoNode\"]]     = self:action \"n_goto_node\",\n      [rev_maps[\"GotoParent\"]]   = self:action \"n_goto_parent\",\n      [rev_maps[\"Select\"]]       = self:action \"n_select\",\n      [rev_maps[\"SelectSplit\"]]  = self:action \"n_select_split\",\n      [rev_maps[\"SelectTab\"]]    = self:action \"n_select_tab\",\n      [rev_maps[\"SelectVSplit\"]] = self:action \"n_select_v_split\",\n    },\n    mappings_opts = view_cfg.mappings_opts,\n    on_show       = function()\n      self.watcher:enable()\n      indent.attach(self.win)\n    end,\n    on_hide       = function()\n      self.watcher:disable()\n      indent.detach(self.win)\n    end,\n    render        = function()\n      if not config.values.views.finder.follow_current_file then\n        return self:dispatch_refresh({ force_update = true })\n      end\n\n      local bufname = vim.fn.bufname(\"#\")\n      if bufname == \"\" then\n        return self:dispatch_refresh({ force_update = true })\n      end\n\n      if helper.is_protocol_uri(bufname) then\n        return self:dispatch_refresh({ force_update = true })\n      end\n\n      return M.navigate( bufname, { filter = { self.win.bufname }, force_update = true })\n    end,\n    right         = view_cfg.win.right,\n    title         = string.format(\"%s\", self:getcwd()),\n    title_pos     = view_cfg.win.title_pos,\n    top           = view_cfg.win.top,\n    user_autocmds = {\n      [\"DispatchRefresh\"] = function()\n        self:dispatch_refresh({ force_update = true })\n      end,\n    },\n    user_mappings = self:action_wrap(usr_maps),\n    width         = view_cfg.win.width,\n    win_opts      = view_cfg.win.win_opts,\n  }\n  -- stylua: ignore end\n\n  self.win:show()\nend\n\n---@return string\nfunction Finder:getrwd() return util.select_n(2, helper.parse_protocol_uri(self.uri)) end\n\n---@return string\nfunction Finder:getcwd() return Path.new(assert(self.files, \"files is required\").root_path):os_path() end\n\nfunction Finder:cursor_node_entry()\n  local entry\n  vim.api.nvim_win_call(self.win.winid, function()\n    local ref_id = helper.parse_ref_id(vim.api.nvim_get_current_line())\n    if ref_id then entry = vim.deepcopy(self.files:node_entry(ref_id)) end\n  end)\n  return entry\nend\n\nfunction Finder:close()\n  if self.win then self.win:hide() end\nend\n\nfunction Finder:navigate(...) self.files:navigate(...) end\n\n-- Change `self.files` instance to provided directory path\n---@param path string\nfunction Finder:change_root(path)\n  assert(path, \"cannot change directory without path\")\n  assert(Path.new(path):is_directory(), \"cannot change to non-directory path\")\n\n  self.watcher:disable(true)\n  self.files = require(\"fyler.views.finder.files\").new({\n    open = true,\n    name = Path.new(path):basename(),\n    path = Path.new(path):posix_path(),\n    finder = self,\n  })\n\n  if self.win then self.win:update_title(string.format(\" %s \", path)) end\n\n  return self\nend\n\n---@param opts { force_update: boolean, onrender: function }|nil\nfunction Finder:dispatch_refresh(opts)\n  opts = opts or {}\n\n  -- Smart file system calculation, Use cache if not `opts.update` mentioned\n  local get_table = async.wrap(function(onupdate)\n    if opts.force_update then\n      return self.files:update(function(_, this) onupdate(this:totable()) end)\n    end\n\n    return onupdate(self.files:totable())\n  end)\n\n  async.void(function()\n    local files_table = get_table()\n    vim.schedule(function()\n      require(\"fyler.views.finder.ui\").files(\n        files_table,\n        function(component, options) self.win.ui:render(component, options, opts.onrender) end\n      )\n    end)\n  end)\nend\n\nlocal function run_mutation(operations)\n  local async_handler = async.wrap(function(operation, _next)\n    if config.values.views.finder.delete_to_trash and operation.type == \"delete\" then operation.type = \"trash\" end\n\n    assert(require(\"fyler.lib.fs\")[operation.type], \"Unknown operation\")(operation, _next)\n\n    return operation.path or operation.dst\n  end)\n\n  local mutation_text_format = \"Mutating (%d/%d)\"\n  local spinner = require(\"fyler.lib.spinner\").new(string.format(mutation_text_format, 0, #operations))\n  local last_focusable_operation = nil\n\n  spinner:start()\n\n  for i, operation in ipairs(operations) do\n    local err = async_handler(operation)\n    if err then\n      vim.schedule_wrap(vim.notify)(err, vim.log.levels.ERROR, { title = \"Fyler\" })\n    else\n      last_focusable_operation = (operation.path or operation.dst) or last_focusable_operation\n    end\n\n    spinner:set_text(string.format(mutation_text_format, i, #operations))\n  end\n\n  spinner:stop()\n\n  return last_focusable_operation\nend\n\n---@return boolean\nlocal function can_skip_confirmation(operations)\n  local count = { create = 0, delete = 0, move = 0, copy = 0 }\n\n  util.tbl_each(operations, function(o) count[o.type] = (count[o.type] or 0) + 1 end)\n\n  return count.create <= 5 and count.move <= 1 and count.copy <= 1 and count.delete <= 0\nend\n\nlocal get_confirmation = async.wrap(vim.schedule_wrap(function(...) require(\"fyler.input\").confirm.open(...) end))\n\nlocal function should_mutate(operations, cwd)\n  if config.values.views.finder.confirm_simple and can_skip_confirmation(operations) then return true end\n\n  return get_confirmation(require(\"fyler.views.finder.ui\").operations(util.tbl_map(operations, function(operation)\n    local result = vim.deepcopy(operation)\n    if operation.type == \"create\" or operation.type == \"delete\" then\n      result.path = cwd:relative(operation.path) or operation.path\n    else\n      result.src = cwd:relative(operation.src) or operation.src\n      result.dst = cwd:relative(operation.dst) or operation.dst\n    end\n    return result\n  end)))\nend\n\nfunction Finder:dispatch_mutation()\n  async.void(function()\n    local operations = self.files:diff_with_buffer()\n\n    if vim.tbl_isempty(operations) then return self:dispatch_refresh() end\n\n    if should_mutate(operations, require(\"fyler.lib.path\").new(self:getcwd())) then\n      M.navigate(run_mutation(operations), { force_update = true })\n    end\n  end)\nend\n\nlocal instances = {}\n\n---@param uri string|nil\n---@return Finder\nfunction M.instance(uri)\n  uri = assert(helper.normalize_uri(uri), \"Faulty URI\")\n\n  local finder = instances[uri]\n  if finder then return finder end\n\n  local _, path = helper.parse_protocol_uri(uri) --[[@as string]]\n  assert(Path.new(path):is_directory(), \"Path is not a valid directory\")\n\n  finder = Finder.new(uri)\n  finder.watcher = require(\"fyler.views.finder.watcher\").new(finder)\n  finder.files = require(\"fyler.views.finder.files\").new({\n    open = true,\n    name = Path.new(path):basename(),\n    path = Path.new(path):posix_path(),\n    finder = finder,\n  })\n\n  instances[uri] = finder\n  return instances[uri]\nend\n\n---@param fn fun(uri: string)\nfunction M.each_finder(fn) util.tbl_each(instances, fn) end\n\n---@param uri string|nil\n---@param kind WinKind|nil\nfunction M.open(uri, kind) M.instance(uri):open(kind or config.values.views.finder.win.kind) end\n\nlocal function _select(opts, handler)\n  if opts.filter then\n    util.tbl_each(opts.filter, function(uri)\n      if helper.is_protocol_uri(uri) then handler(uri) end\n    end)\n  else\n    M.each_finder(handler)\n  end\nend\n\nM.close = vim.schedule_wrap(function(opts)\n  _select(opts or {}, function(uri) M.instance(uri):close() end)\nend)\n\n---@param uri string|nil\n---@param kind WinKind|nil\nM.toggle = vim.schedule_wrap(function(uri, kind)\n  local finder = M.instance(uri)\n  if finder:isopen(kind) then\n    finder:close()\n  else\n    finder:open(kind or config.values.views.finder.win.kind)\n  end\nend)\n\nM.focus = vim.schedule_wrap(function(opts)\n  _select(opts or {}, function(uri) M.instance(uri).win:focus() end)\nend)\n\n-- TODO: Can futher optimize by determining whether `files:navgiate` did any change or not?\n---@param path string|nil\nM.navigate = vim.schedule_wrap(function(path, opts)\n  opts = opts or {}\n\n  local set_cursor = vim.schedule_wrap(function(finder, ref_id)\n    if finder:isopen() and ref_id then\n      vim.api.nvim_win_call(finder.win.winid, function() vim.fn.search(string.format(\"/%05d \", ref_id)) end)\n    end\n  end)\n\n  _select(opts, function(uri)\n    local finder = M.instance(uri)\n    if not finder:isopen() then return end\n\n    local update_table = async.wrap(function(...) finder.files:update(...) end)\n\n    local navigate_path = async.wrap(function(...) finder:navigate(...) end)\n\n    async.void(function()\n      if opts.force_update then update_table() end\n\n      local ref_id\n      if path then\n        local path = vim.fn.fnamemodify(Path.new(path):posix_path(), \":p\")\n        ref_id = util.select_n(2, navigate_path(path))\n\n        if not ref_id then\n          local link = manager.find_link_path_from_resolved(path)\n          if link then ref_id = util.select_n(2, navigate_path(link)) end\n        end\n      end\n\n      opts.onrender = function() set_cursor(finder, ref_id) end\n\n      finder:dispatch_refresh(opts)\n    end)\n  end)\nend)\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/views/finder/ui.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal Ui = require(\"fyler.lib.ui\")\nlocal config = require(\"fyler.config\")\nlocal diagnostic = require(\"fyler.lib.diagnostic\")\nlocal git = require(\"fyler.lib.git\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal Component = Ui.Component\nlocal Text = Ui.Text\nlocal Row = Ui.Row\nlocal Column = Ui.Column\n\nlocal COLUMN_ORDER = config.values.views.finder.columns_order\n\nlocal function sort_nodes(nodes)\n  table.sort(nodes, function(x, y)\n    local x_is_dir = x.type == \"directory\"\n    local y_is_dir = y.type == \"directory\"\n    if x_is_dir and not y_is_dir then\n      return true\n    elseif not x_is_dir and y_is_dir then\n      return false\n    else\n      local function pad_numbers(str)\n        return str:gsub(\"%d+\", function(n) return string.format(\"%010d\", n) end)\n      end\n      return pad_numbers(x.name) < pad_numbers(y.name)\n    end\n  end)\n  return nodes\nend\n\nlocal function flatten_tree(node, depth, result)\n  depth = depth or 0\n  result = result or {}\n\n  if not node or not node.children then return result end\n\n  local sorted_items = sort_nodes(node.children)\n  for _, item in ipairs(sorted_items) do\n    table.insert(result, { item = item, depth = depth })\n    if item.children and #item.children > 0 then flatten_tree(item, depth + 1, result) end\n  end\n\n  return result\nend\n\n---@return string|nil, string|nil\nlocal function icon_and_hl(item)\n  local icon, hl = config.icon_provider(item.type, item.path)\n  if config.values.integrations.icon == \"none\" then return icon, hl end\n\n  if item.type == \"directory\" then\n    local icons = config.values.views.finder.icon\n    local is_empty = item.open and item.children and #item.children == 0\n    local is_expanded = item.open or false\n    icon = is_empty and icons.directory_empty\n      or (is_expanded and icons.directory_expanded or icons.directory_collapsed)\n      or icon\n  end\n\n  return icon, hl\nend\n\nlocal function create_column_context(tag, node, flattened_entries, files_column)\n  return {\n    tag = tag,\n    root_dir = node.path,\n    entries = flattened_entries,\n\n    get_entry_data = function(index)\n      local entry = flattened_entries[index]\n      if not entry then return nil end\n\n      return {\n        path = entry.item.path,\n        name = entry.item.name,\n        type = entry.item.type,\n        depth = entry.depth,\n        ref_id = entry.item.ref_id,\n        item = entry.item,\n      }\n    end,\n\n    get_all_paths = function()\n      return util.tbl_map(flattened_entries, function(entry) return entry.item.path end)\n    end,\n\n    get_files_column = function() return files_column end,\n  }\nend\n\nlocal M = {}\n\nM.tag = 0\n\n-- NOTE: Detail columns now return data via callback instead of directly updating UI\nlocal columns = {\n  link = function(ctx, _, _next)\n    local column = {}\n\n    for i = 1, #ctx.entries do\n      local entry_data = ctx.get_entry_data(i)\n      if entry_data and entry_data.item.link then\n        table.insert(column, Text(nil, { virt_text = { { \" --> \" .. entry_data.path, \"FylerFSLink\" } } }))\n      else\n        table.insert(column, Text(nil, { virt_text = { { \"\" } } }))\n      end\n    end\n\n    _next({ column = column, highlights = {} })\n  end,\n\n  git = function(ctx, _, _next)\n    git.map_entries_async(ctx.root_dir, ctx.get_all_paths(), function(entries)\n      local highlights, column = {}, {}\n\n      for i, get_entry in ipairs(entries) do\n        local entry_data = ctx.get_entry_data(i)\n        if entry_data then\n          local hl = get_entry[2]\n          highlights[i] = hl or ((entry_data.type == \"directory\") and \"FylerFSDirectoryName\" or nil)\n        end\n        table.insert(column, Text(nil, { virt_text = { get_entry } }))\n      end\n\n      _next({ column = column, highlights = highlights })\n    end)\n  end,\n\n  diagnostic = function(ctx, _, _next)\n    diagnostic.map_entries_async(ctx.root_dir, ctx.get_all_paths(), function(entries)\n      local highlights, column = {}, {}\n\n      for i, get_entry in ipairs(entries) do\n        local entry_data = ctx.get_entry_data(i)\n        if entry_data then\n          local hl = get_entry[2]\n          highlights[i] = hl or ((entry_data.type == \"directory\") and \"FylerFSDirectoryName\" or nil)\n        end\n        table.insert(column, Text(nil, { virt_text = { get_entry } }))\n      end\n\n      _next({ column = column, highlights = highlights })\n    end)\n  end,\n\n  permission = function(ctx, _, _next)\n    local function get_permissions(path)\n      local stat = Path.new(path):lstats()\n      if not stat then return \"----------\" end\n\n      local mode = stat.mode\n      local perms = {}\n\n      if stat.type == \"directory\" then\n        table.insert(perms, \"d\")\n      elseif stat.type == \"link\" then\n        table.insert(perms, \"l\")\n      else\n        table.insert(perms, \"-\")\n      end\n\n      table.insert(perms, (mode % 512 >= 256) and \"r\" or \"-\")\n      table.insert(perms, (mode % 256 >= 128) and \"w\" or \"-\")\n      table.insert(perms, (mode % 128 >= 64) and \"x\" or \"-\")\n\n      table.insert(perms, (mode % 64 >= 32) and \"r\" or \"-\")\n      table.insert(perms, (mode % 32 >= 16) and \"w\" or \"-\")\n      table.insert(perms, (mode % 16 >= 8) and \"x\" or \"-\")\n\n      table.insert(perms, (mode % 8 >= 4) and \"r\" or \"-\")\n      table.insert(perms, (mode % 4 >= 2) and \"w\" or \"-\")\n      table.insert(perms, (mode % 2 >= 1) and \"x\" or \"-\")\n\n      return table.concat(perms)\n    end\n\n    local highlights, column = {}, {}\n\n    for i = 1, #ctx.entries do\n      local entry_data = ctx.get_entry_data(i)\n      if entry_data then\n        local perms = get_permissions(entry_data.item.link or entry_data.path)\n        table.insert(column, Text(nil, { virt_text = { { perms, \"Comment\" } } }))\n      else\n        table.insert(column, Text(nil, { virt_text = { { \"\" } } }))\n      end\n    end\n\n    _next({ column = column, highlights = highlights })\n  end,\n\n  size = function(ctx, _, _next)\n    local function get_size(path)\n      if Path.new(path):is_directory() then return nil end\n\n      local stat = Path.new(path):stats()\n      if not stat then return nil end\n\n      return stat.size\n    end\n\n    local function format_size(bytes)\n      if not bytes or bytes < 0 then return \"     -\" end\n\n      local units = { \"B\", \"K\", \"M\", \"G\", \"T\" }\n      local unit_index = 1\n      local size = bytes\n\n      while size >= 1024 and unit_index < #units do\n        size = size / 1024\n        unit_index = unit_index + 1\n      end\n\n      local formatted\n      if unit_index == 1 then\n        formatted = string.format(\"%d%s\", size, units[unit_index])\n      else\n        formatted = string.format(\"%.1f%s\", size, units[unit_index])\n      end\n\n      return string.format(\"%6s\", formatted)\n    end\n\n    local highlights, column = {}, {}\n\n    for i = 1, #ctx.entries do\n      table.insert(\n        column,\n        Text(nil, { virt_text = { { format_size(get_size(ctx.get_entry_data(i).path)), \"Comment\" } } })\n      )\n    end\n\n    _next({ column = column, highlights = highlights })\n  end,\n}\n\nlocal function collect_and_render_details(tag, context, files_column, oncollect)\n  local results, enabled_columns = {}, {}\n  local total, completed = 0, 0\n  for _, column_name in ipairs(COLUMN_ORDER) do\n    local cfg = config.values.views.finder.columns[column_name]\n    if cfg and cfg.enabled and columns[column_name] then\n      total = total + 1\n      enabled_columns[column_name] = cfg\n    end\n  end\n\n  if total == 0 then return end\n\n  local function on_column_complete(column_name, column_data)\n    if M.tag ~= tag then return end\n\n    results[column_name] = column_data\n    completed = completed + 1\n\n    if completed == total then\n      local all_highlights = {}\n      for _, col_name in ipairs(COLUMN_ORDER) do\n        local result = results[col_name]\n        if result and result.highlights then\n          for index, highlight in pairs(result.highlights) do\n            all_highlights[index] = highlight\n          end\n        end\n      end\n\n      for index, highlight in pairs(all_highlights) do\n        local row = files_column[index]\n        if row and row.children then\n          local name_component = row.children[4]\n          if name_component then\n            name_component.option = name_component.option or {}\n            name_component.option.highlight = highlight\n          end\n        end\n      end\n\n      local detail_columns = { Column(files_column) }\n      for _, col_name in ipairs(COLUMN_ORDER) do\n        local result = results[col_name]\n        if result and result.column then\n          if #detail_columns > 0 then table.insert(detail_columns, Text(\"  \")) end\n\n          table.insert(detail_columns, Column(result.column))\n        end\n      end\n\n      oncollect({ tag = \"files\", children = { Row(detail_columns) } }, { partial = true })\n    end\n  end\n\n  for column_name, cfg in pairs(enabled_columns) do\n    local column_fn = columns[column_name]\n    if column_fn then\n      local success = pcall(function()\n        column_fn(context, cfg, function(column_data) on_column_complete(column_name, column_data) end)\n      end)\n\n      if not success then on_column_complete(column_name, nil) end\n    end\n  end\nend\n\nM.files = Component.new_async(function(node, onupdate)\n  M.tag = M.tag + 1\n\n  local current_tag = M.tag\n  if not node or not node.children then return onupdate({ tag = \"files\", children = {} }) end\n\n  local flattened_entries = flatten_tree(node)\n  if #flattened_entries == 0 then return onupdate({ tag = \"files\", children = {} }) end\n\n  local files_column = {}\n  for _, entry in ipairs(flattened_entries) do\n    local item, depth = entry.item, entry.depth\n    local icon, hl = icon_and_hl(item)\n    local icon_highlight = (item.type == \"directory\") and \"FylerFSDirectoryIcon\" or hl\n    local name_highlight = (item.type == \"directory\") and \"FylerFSDirectoryName\" or nil\n    icon = icon and (icon .. \"  \") or \"\"\n\n    local indentation_text = Text(string.rep(\" \", 2 * depth))\n    local icon_text = Text(icon, { highlight = icon_highlight })\n    local ref_id_text = item.ref_id and Text(string.format(\"/%05d \", item.ref_id)) or Text(\"\")\n    local name_text = Text(item.name, { highlight = name_highlight })\n    table.insert(files_column, Row({ indentation_text, icon_text, ref_id_text, name_text }))\n  end\n\n  onupdate({ tag = \"files\", children = { Row({ Column(files_column) }) } })\n\n  collect_and_render_details(\n    current_tag,\n    create_column_context(current_tag, node, flattened_entries, files_column),\n    files_column,\n    onupdate\n  )\nend)\n\nM.operations = Component.new(function(operations)\n  local types, details = {}, {}\n  for _, operation in ipairs(operations) do\n    if operation.type == \"create\" then\n      table.insert(types, Text(\"CREATE\", { highlight = \"FylerGreen\" }))\n      table.insert(details, Text(operation.path))\n    elseif operation.type == \"delete\" then\n      table.insert(\n        types,\n        Text(config.values.views.finder.delete_to_trash and \"TRASH\" or \"DELETE\", { highlight = \"FylerRed\" })\n      )\n      table.insert(details, Text(operation.path))\n    elseif operation.type == \"move\" then\n      table.insert(types, Text(\"MOVE\", { highlight = \"FylerYellow\" }))\n      table.insert(details, Row({ Text(operation.src), Text(\" > \"), Text(operation.dst) }))\n    elseif operation.type == \"copy\" then\n      table.insert(types, Text(\"COPY\", { highlight = \"FylerBlue\" }))\n      table.insert(details, Row({ Text(operation.src), Text(\" > \"), Text(operation.dst) }))\n    else\n      error(string.format(\"Unknown operation type '%s'\", operation.type))\n    end\n  end\n  return {\n    tag = \"operations\",\n    children = {\n      Text(\"\"),\n      Row({ Text(\"  \"), Column(types), Text(\" \"), Column(details), Text(\"  \") }),\n      Text(\"\"),\n    },\n  }\nend)\n\nreturn M\n"
  },
  {
    "path": "lua/fyler/views/finder/watcher.lua",
    "content": "local Path = require(\"fyler.lib.path\")\nlocal config = require(\"fyler.config\")\nlocal util = require(\"fyler.lib.util\")\n\n---@class Watcher\n---@field paths table<string, { fsevent: uv.uv_fs_event_t, running: boolean }>\n---@field finder Finder\nlocal Watcher = {}\nWatcher.__index = Watcher\n\nlocal instance = {}\n\n---@return Watcher\nfunction Watcher.new(finder) return setmetatable({ finder = finder, paths = {} }, Watcher) end\n\n---@param dir string\nfunction Watcher:start(dir)\n  if not dir then return end\n\n  if not Path.new(dir):is_directory() then\n    self.paths[dir] = nil\n    return\n  end\n\n  if not config.values.views.finder.watcher.enabled then return self end\n\n  if not self.paths[dir] then\n    self.paths[dir] = {\n      fsevent = assert(vim.uv.new_fs_event()),\n      running = false,\n    }\n  end\n\n  if self.paths[dir].running then return self end\n\n  self.paths[dir].fsevent:start(dir, {}, function(err, filename)\n    if err then return end\n\n    if\n      filename == nil\n      or filename:match(\"index\")\n      or filename:match(\"ORIG_HEAD\")\n      or filename:match(\"FETCH_HEAD\")\n      or filename:match(\"COMMIT_EDITMSG\")\n      or vim.endswith(filename, \".lock\")\n    then\n      return\n    end\n\n    util.debounce(\n      string.format(\"watcher:%d_%d_%s\", self.finder.win.winid, self.finder.win.bufnr, dir),\n      200,\n      function() self.finder:dispatch_refresh({ force_update = true }) end\n    )\n  end)\n\n  self.paths[dir].running = true\nend\n\nfunction Watcher:enable()\n  for dir in pairs(self.paths) do\n    self:start(dir)\n  end\nend\n\nfunction Watcher:stop(dir)\n  if not dir then return end\n\n  if not Path.new(dir):is_directory() then\n    self.paths[dir] = nil\n    return\n  end\n\n  if not config.values.views.finder.watcher.enabled then return self end\n\n  if self.paths[dir].running then self.paths[dir].fsevent:stop() end\n\n  self.paths[dir].running = false\nend\n\n---@param should_clean boolean|nil\nfunction Watcher:disable(should_clean)\n  for dir in pairs(self.paths) do\n    self:stop(dir)\n  end\n\n  if should_clean then self.paths = {} end\nend\n\nfunction Watcher.register(finder)\n  local uri = finder.uri\n  if not instance[uri] then instance[uri] = Watcher.new(finder) end\n  return instance[uri]\nend\n\nreturn Watcher\n"
  },
  {
    "path": "lua/fyler.lua",
    "content": "--- INTRODUCTION\n---\n--- Fyler.nvim is a Neovim file manager plugin based on buffer-based file editing.\n---\n--- Why choose Fyler.nvim over |oil.nvim|?\n--- - Provides a tree view.\n--- - Users can have a full overview of their project without going back and forth\n---   between directories.\n---\n--- GETTING STARTED\n---\n--- 1. Fyler must be setup correctly before use.\n---\n--- USAGE\n---\n--- Fyler can be used through commands or the Lua API.\n---\n--- COMMANDS\n---\n--- :Fyler dir=... kind=...\n---\n--- Parameters:\n--- dir    Path to the directory to open\n--- kind   Display method, one of:\n---        - `float`\n---        - `replace`\n---        - `split_above`\n---        - `split_above_all`\n---        - `split_below`\n---        - `split_below_all`\n---        - `split_left`\n---        - `split_left_most`\n---        - `split_right`\n---        - `split_right_most`\n---\n--- LUA API\n---\n--- >lua\n---     local fyler = require(\"fyler\")\n---\n---     -- Opens finder view with given options\n---     fyler.open({ dir = \"...\", kind = \"...\" })\n---\n---     -- Toggles finder view with given options\n---     fyler.toggle({ dir = \"...\", kind = \"...\" })\n---\n---     -- Focuses finder view\n---     fyler.focus()\n---\n---     -- Focuses given file path or alternate buffer\n---     fyler.navigate(\"...\")\n--- <\n---\n---@tag fyler.nvim\n\nlocal M = {}\n\nlocal did_setup = false\n\n---@param opts FylerSetup|nil\nfunction M.setup(opts)\n  if vim.fn.has(\"nvim-0.11\") == 0 then return vim.notify(\"Fyler requires at least NVIM 0.11\") end\n\n  if did_setup then return end\n\n  require(\"fyler.config\").setup(opts)\n\n  did_setup = true\n\n  local finder = setmetatable({}, { __index = function(_, k) return require(\"fyler.views.finder\")[k] end })\n\n  -- Fyler.API: Opens finder view with provided options\n  M.open = function(args)\n    args = args or {}\n    finder.open(args.dir, args.kind)\n  end\n\n  -- Fyler.API: Closes current finder view\n  M.close = finder.close\n\n  -- Fyler.API: Toggles finder view with provided options\n  M.toggle = function(args)\n    args = args or {}\n    finder.toggle(args.dir, args.kind)\n  end\n\n  -- Fyler.API: Focus finder view\n  M.focus = finder.focus\n\n  -- Fyler.API: Focuses given file path\n  M.navigate = function(path) finder.navigate(path) end\nend\n\nreturn M\n"
  },
  {
    "path": "lua/telescope/_extensions/fyler.lua",
    "content": "local has_telescope, telescope = pcall(require, \"telescope\")\n\nif not has_telescope then error(\"Fyler.nvim requires telescope.nvim\") end\n\nlocal action_state = require(\"telescope.actions.state\")\nlocal actions = require(\"telescope.actions\")\nlocal config = require(\"telescope.config\")\nlocal finders = require(\"telescope.finders\")\nlocal fyler = require(\"fyler\")\nlocal pickers = require(\"telescope.pickers\")\nlocal util = require(\"fyler.lib.util\")\n\nlocal default_opts = {\n  sorting_strategy = \"ascending\",\n  layout_config = {\n    horizontal = {\n      prompt_position = \"top\",\n    },\n  },\n}\n\nlocal finder = finders.new_async_job({\n  command_generator = function() return { \"zoxide\", \"query\", \"--list\" } end,\n  entry_maker = function(entry)\n    if not entry or entry == \"\" then return nil end\n\n    local display_name = vim.fn.fnamemodify(entry, \":t\")\n    return {\n      value = entry,\n      display = display_name .. \" (\" .. entry .. \")\",\n      ordinal = entry,\n    }\n  end,\n})\n\nreturn telescope.register_extension({\n  exports = {\n    setup = function(opts) default_opts = util.tbl_merge_force(default_opts, opts) end,\n    zoxide = function()\n      pickers\n        .new(default_opts, {\n          debounce = 100,\n          prompt_title = \"Fyler Zoxide\",\n          finder = finder,\n          sorter = config.values.generic_sorter(),\n          attach_mappings = function(prompt_bufnr)\n            actions.select_default:replace(function()\n              local selection = action_state.get_selected_entry()\n              actions.close(prompt_bufnr)\n\n              if selection then fyler.open({ dir = selection.value }) end\n            end)\n\n            return true\n          end,\n        })\n        :find()\n    end,\n  },\n})\n"
  },
  {
    "path": "plugin/fyler.lua",
    "content": "vim.api.nvim_create_user_command(\"Fyler\", function(args)\n  local util = require(\"fyler.lib.util\")\n  local opts = {}\n  for _, farg in ipairs(args.fargs) do\n    local k, v = util.unpack(vim.split(farg, \"=\"))\n    opts[k] = v\n  end\n\n  if opts.dir == nil then\n    ---@type string[]|nil\n    local range_lines = nil\n\n    -- Check if the command was called from a visual mode mapping\n    local mode = vim.fn.mode()\n    if mode == \"v\" or mode == \"V\" or mode == vim.api.nvim_replace_termcodes(\"<C-v>\", true, true, true) then\n      -- We need to switch out of visual mode in order for the '> and '< marks\n      -- to be set to the correct lines.\n      -- Calling `\"normal! \" .. mode` achieves this by switching to normal mode\n      -- and then immediately back to the original mode.\n      vim.cmd(\"normal! \" .. mode)\n      range_lines = util.get_visual_selection()\n    elseif args.range > 0 then\n      -- Check if range start and end line are the same as the last visual selection.\n      -- If so, use the visual selection including column offsets.\n      -- This may have unexpected behavior if the user explicitly passes a range that\n      -- matches the last visual selection and expects line-wise behavior.\n      -- This is a limitation of Neovim's command ranges: https://github.com/neovim/neovim/issues/22297\n      local visual_start_row = vim.api.nvim_buf_get_mark(0, \"<\")[1]\n      local visual_end_row = vim.api.nvim_buf_get_mark(0, \">\")[1]\n      if visual_start_row == args.line1 and visual_end_row == args.line2 then\n        range_lines = util.get_visual_selection()\n      else\n        range_lines = vim.api.nvim_buf_get_lines(0, args.line1 - 1, (args.line2 or args.line1), false)\n      end\n    end\n\n    if range_lines and #range_lines > 0 then\n      -- Just use the first line of the range - it doesn't make sense to use multiple lines as a directory path.\n      -- In the future, we may want to treat multiple lines as multiple directories to open, but it's not clear how\n      -- opening multiple directories would work currently.\n      local dir = vim.trim(range_lines[1])\n      if dir ~= \"\" then opts.dir = dir end\n    end\n  end\n\n  require(\"fyler\").open(opts)\nend, {\n  nargs = \"*\",\n  range = true,\n  complete = function(arglead, cmdline)\n    local util = require(\"fyler.lib.util\")\n    if arglead:find(\"^kind=\") then\n      return util.tbl_map(\n        vim.tbl_keys(require(\"fyler.config\").values.views.finder.win.kinds),\n        function(kind_preset) return string.format(\"kind=%s\", kind_preset) end\n      )\n    end\n\n    if arglead:find(\"^dir=\") then return { \"dir=\" .. (vim.uv or vim.loop).cwd() } end\n\n    return util.tbl_filter({ \"kind=\", \"dir=\" }, function(arg) return cmdline:match(arg) == nil end)\n  end,\n})\n"
  },
  {
    "path": "selene/config.toml",
    "content": "std = \"selene/globals\"\n\n[rules]\nshadowing = \"allow\"\nmultiple_statements = \"allow\"\n"
  },
  {
    "path": "selene/globals.toml",
    "content": "[selene]\nbase = \"lua51\"\nname = \"globals\"\n\n[vim]\nany = true\n\n[bit]\nany = true\n"
  },
  {
    "path": "syntax/fyler.lua",
    "content": "vim.cmd([[\n  if exists(\"b:current_syntax\")\n    finish\n  endif\n\n  syn match FylerReferenceId /\\/\\d* / conceal\n\n  let b:current_syntax = \"Fyler\"\n]])\n"
  },
  {
    "path": "tests/README.md",
    "content": "# Fyler Tests\n\n### Running Tests\n\nAs a base requirement you must have `make` installed.\n\nOnce `make` is installed you can run tests by entering `make test` or `FYLER_DEBUG=1 make test` in the top level directory of Fyler into your command line.\n\n### Tests filter\n\nTo run specific test case, set `FILTER` environment variable and run `make test` or combine both `FYLER=<test_case_name> make test`\n"
  },
  {
    "path": "tests/helper.lua",
    "content": "local MiniTest = require(\"mini.test\")\n\nlocal M = {}\n\nM.equal = MiniTest.expect.equality\nM.match_pattern = MiniTest.new_expectation(\n  \"string matching\",\n  function(str, pattern) return str:find(pattern) ~= nil end,\n  function(str, pattern) return string.format(\"Pattern: %s\\nObserved string: %s\", vim.inspect(pattern), str) end\n)\n\nM.new_set = MiniTest.new_set\n\nfunction M.new_neovim()\n  local nvim = MiniTest.new_child_neovim()\n\n  nvim.setup = function(opts)\n    nvim.restart({\n      \"-u\",\n      \"tests/minimal_init.lua\",\n      \"-c\",\n      string.format(\"lua require('fyler').setup(%s)\", vim.inspect(opts or {})),\n    })\n    nvim.set_size(20, 80)\n  end\n\n  nvim.set_size = function(lines, columns)\n    if type(lines) == \"number\" then nvim.o.lines = lines end\n\n    if type(columns) == \"number\" then nvim.o.columns = columns end\n  end\n\n  nvim.set_lines = function(...) nvim.api.nvim_buf_set_lines(...) end\n\n  nvim.get_lines = function(...) return nvim.api.nvim_buf_get_lines(...) end\n\n  nvim.forward_lua = function(fun_str)\n    local lua_cmd = fun_str .. \"(...)\"\n    return function(...) return nvim.lua_get(lua_cmd, { ... }) end\n  end\n\n  nvim.module_load = function(name, config)\n    local lua_cmd = ([[require('%s').setup(...)]]):format(name)\n    nvim.lua(lua_cmd, { config })\n  end\n\n  nvim.module_unload = function(name)\n    nvim.lua(([[package.loaded['%s'] = nil]]):format(name))\n    if nvim.fn.exists(\"#\" .. name) == 1 then nvim.api.nvim_del_augroup_by_name(name) end\n  end\n\n  nvim.expect_screenshot = function(opts, path)\n    opts = opts or {}\n    local screenshot_opts = { redraw = opts.redraw }\n    opts.redraw = nil\n    MiniTest.expect.reference_screenshot(nvim.get_screenshot(screenshot_opts), path, opts)\n  end\n\n  nvim.dbg_screen = function()\n    if vim.env.DEBUG then\n      local process_screen = function(arr_2d)\n        local n_lines, n_cols = #arr_2d, #arr_2d[1]\n        local n_digits = math.floor(math.log10(n_lines)) + 1\n        local format = string.format(\"%%0%dd|%%s\", n_digits)\n        local lines = {}\n        for i = 1, n_lines do\n          table.insert(lines, string.format(format, i, table.concat(arr_2d[i])))\n        end\n\n        local prefix = string.rep(\"-\", n_digits) .. \"|\"\n        local ruler = prefix .. (\"---------|\"):rep(math.ceil(0.1 * n_cols)):sub(1, n_cols)\n        return string.format(\"%s\\n%s\", ruler, table.concat(lines, \"\\n\"))\n      end\n\n      vim.print(string.format(\"\\n%s\\n\", process_screen(nvim.get_screenshot().text)))\n    end\n  end\n\n  return nvim\nend\n\nreturn M\n"
  },
  {
    "path": "tests/integration/test_finder_mappings.lua",
    "content": "local helper = require(\"tests.helper\")\n\nlocal nvim = helper.new_neovim()\n\nlocal function make_tree(children)\n  local temp_dir = vim.fs.joinpath(_G.FYLER_TEMP_DIR, \"data\")\n  vim.fn.mkdir(temp_dir, \"p\")\n\n  require(\"mini.test\").finally(function() vim.fn.delete(temp_dir, \"rf\") end)\n\n  for _, path in ipairs(children) do\n    local path_ext = temp_dir .. \"/\" .. path\n    if vim.endswith(path, \"/\") then\n      vim.fn.mkdir(path_ext)\n    else\n      vim.fn.writefile({ \"---FILE CONTENT---\" }, path_ext)\n    end\n  end\n\n  return temp_dir\nend\n\nlocal T = helper.new_set({\n  hooks = {\n    pre_case = function() nvim.setup({ views = { finder = { columns_order = {} } } }) end,\n    post_case_once = nvim.stop,\n  },\n})\n\nT[\"Each WinKind Can\"] = helper.new_set({\n  parametrize = {\n    { \"float\" },\n    { \"replace\" },\n    { \"split_left\" },\n    { \"split_left_most\" },\n    { \"split_above\" },\n    { \"split_above_all\" },\n    { \"split_right\" },\n    { \"split_right_most\" },\n    { \"split_below\" },\n    { \"split_below_all\" },\n  },\n})\n\nT[\"Each WinKind Can\"][\"Handle Default Mappings\"] = function(kind)\n  local path = make_tree({\n    \"a-file\",\n    \"a-dir/\",\n    \"a-dir/aa-dir/\",\n    \"a-dir/aa-dir/aa-file\",\n    \"a-dir/aa-dir/aab-dir/\",\n    \"a-dir/aa-dir/aab-dir/aab-file\",\n  })\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.type_keys(\".\")\n  vim.uv.sleep(20)\n  nvim.type_keys(\".\")\n  vim.uv.sleep(20)\n  nvim.type_keys(\"<CR>\")\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\n  nvim.type_keys(\"j<BS>\")\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\n  nvim.type_keys(\"^\")\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\n  nvim.type_keys(\"=\")\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\n  nvim.type_keys(\"#\")\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\n  nvim.type_keys(\"q\")\n  nvim.expect_screenshot()\n\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.type_keys(\"G-\")\n  nvim.expect_screenshot()\n  nvim.cmd(\"quit\")\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.type_keys(\"G|\")\n  nvim.expect_screenshot()\n  nvim.cmd(\"quit\")\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.type_keys(\"G<C-t>\")\n  nvim.expect_screenshot()\nend\n\nreturn T\n"
  },
  {
    "path": "tests/integration/test_finder_mutation.lua",
    "content": "local helper = require(\"tests.helper\")\n\nlocal nvim = helper.new_neovim()\nlocal equal = helper.equal\n\nlocal function make_tree(children)\n  local temp_dir = vim.fs.joinpath(_G.FYLER_TEMP_DIR, \"data\")\n  vim.fn.mkdir(temp_dir, \"p\")\n\n  require(\"mini.test\").finally(function() vim.fn.delete(temp_dir, \"rf\") end)\n\n  for _, path in ipairs(children) do\n    local path_ext = temp_dir .. \"/\" .. path\n    if vim.endswith(path, \"/\") then\n      vim.fn.mkdir(path_ext)\n    else\n      vim.fn.writefile({}, path_ext)\n    end\n  end\n\n  return temp_dir\nend\n\nlocal function check_tree(dir, ref_tree)\n  nvim.lua(\"_G.dir = \" .. vim.inspect(dir))\n  local tree = nvim.lua([[\n    local read_dir\n    read_dir = function(path, res)\n      res = res or {}\n      local fs = vim.loop.fs_scandir(path)\n      local name, fs_type = vim.loop.fs_scandir_next(fs)\n      while name do\n        local cur_path = path .. '/' .. name\n        table.insert(res, cur_path .. (fs_type == 'directory' and '/' or ''))\n        if fs_type == 'directory' then read_dir(cur_path, res) end\n        name, fs_type = vim.loop.fs_scandir_next(fs)\n      end\n      return res\n    end\n    local dir_len = _G.dir:len()\n    return vim.tbl_map(function(p) return p:sub(dir_len + 2) end, read_dir(_G.dir))\n  ]])\n  table.sort(tree)\n  local ref = vim.deepcopy(ref_tree)\n  table.sort(ref)\n  equal(tree, ref)\nend\n\nlocal T = helper.new_set({\n  hooks = {\n    pre_case = function() nvim.setup({ views = { finder = { columns_order = {} } } }) end,\n    post_case_once = nvim.stop,\n  },\n})\n\nT[\"Each WinKind Can\"] = helper.new_set({\n  parametrize = {\n    { \"float\" },\n    { \"replace\" },\n    { \"split_left\" },\n    { \"split_left_most\" },\n    { \"split_above\" },\n    { \"split_above_all\" },\n    { \"split_right\" },\n    { \"split_right_most\" },\n    { \"split_below\" },\n    { \"split_below_all\" },\n  },\n})\n\nT[\"Each WinKind Can\"][\"Handle Empty Actions\"] = function(kind)\n  local path = make_tree({})\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.set_lines(0, -1, -1, false, { \"\" })\n  nvim.cmd(\"write\")\n  vim.uv.sleep(20)\n  check_tree(path, {})\nend\n\nT[\"Each WinKind Can\"][\"Do Create Actions\"] = function(kind)\n  local path = make_tree({})\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.set_lines(0, 0, -1, false, { \"new-file\", \"new-dir/\" })\n  nvim.cmd(\"write\")\n  nvim.type_keys(\"y\")\n  vim.uv.sleep(20)\n  check_tree(path, { \"new-file\", \"new-dir/\" })\nend\n\nT[\"Each WinKind Can\"][\"Do Delete Actions\"] = function(kind)\n  local path = make_tree({ \"a-file\", \"a-dir/\", \"b-dir/\", \"b-dir/ba-file\" })\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.set_lines(0, 0, -1, false, {})\n  nvim.cmd(\"write\")\n  nvim.type_keys(\"y\")\n  vim.uv.sleep(20)\n  check_tree(path, {})\nend\n\nT[\"Each WinKind Can\"][\"Do Move Actions\"] = function(kind)\n  local path = make_tree({ \"a-file\", \"a-dir/\", \"b-dir/\", \"b-dir/ba-file\" })\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  -- stylua: ignore\n  nvim.set_lines(0, 0, -1, false, vim.tbl_map(function(line) return line .. \"-renamed\" end, nvim.get_lines(0, 0, -1, false)))\n  nvim.cmd(\"write\")\n  nvim.type_keys(\"y\")\n  vim.uv.sleep(20)\n  check_tree(path, { \"a-file-renamed\", \"a-dir-renamed/\", \"b-dir-renamed/\", \"b-dir-renamed/ba-file\" })\nend\n\nT[\"Each WinKind Can\"][\"Do Copy Actions\"] = function(kind)\n  local path = make_tree({ \"a-file\", \"a-dir/\", \"b-dir/\", \"b-dir/ba-file\" })\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  -- stylua: ignore\n  nvim.set_lines(0, -1, -1, false, vim.tbl_map(function(line) return line .. \"-copied\" end, nvim.get_lines(0, 0, -1, false)))\n  nvim.cmd(\"write\")\n  nvim.type_keys(\"y\")\n  vim.uv.sleep(20)\n  check_tree(path, {\n    \"a-file\",\n    \"a-dir/\",\n    \"b-dir/\",\n    \"b-dir/ba-file\",\n    \"a-file-copied\",\n    \"a-dir-copied/\",\n    \"b-dir-copied/\",\n    \"b-dir-copied/ba-file\",\n  })\nend\n\n-- TODO: Still need to implement compound actions testing but first need to find a way to reproduce the bug\n\nreturn T\n"
  },
  {
    "path": "tests/minimal_init.lua",
    "content": "-- Immediately add plugins to runtimepath\nvim.opt.runtimepath:prepend(vim.fn.getcwd())\nvim.opt.runtimepath:prepend(vim.fs.joinpath(vim.fn.getcwd(), \".temp\", \"deps\", \"mini.icons\"))\nvim.opt.runtimepath:prepend(vim.fs.joinpath(vim.fn.getcwd(), \".temp\", \"deps\", \"mini.test\"))\n\n-- Clear all highlights(better for screenshots)\nvim.cmd(\"hi! clear\")\n\n-- stylua: ignore\nfor o, v in pairs({\n  background  = \"dark\",\n  backup      = false,\n  cmdheight   = 0,\n  fillchars   = { eob = \" \" },\n  laststatus  = 0,\n  readonly    = true,\n  statusline  = \" \",\n  swapfile    = false,\n  tabline     = \" \",\n  writebackup = false,\n}) do vim.opt[o] = v end\n\nlocal mock_title = function(x)\n  if type(x) ~= \"string\" then return x end\n  return x:gsub(\"^.*/.temp/data\", \"MOCK_ROOT/data\")\nend\n\n_G.nvim_open_win_orig = vim.api.nvim_open_win\n\nvim.api.nvim_open_win = function(buf_id, enter, config)\n  config.title = mock_title(config.title)\n  return nvim_open_win_orig(buf_id, enter, config)\nend\n\n_G.nvim_win_set_config_orig = vim.api.nvim_win_set_config\n\nvim.api.nvim_win_set_config = function(win_id, config)\n  config.title = mock_title(config.title)\n  return nvim_win_set_config_orig(win_id, config)\nend\n\n_G.FYLER_TEMP_DIR = vim.fs.joinpath(vim.uv.cwd(), \".temp\")\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'float'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|            ┌MOCK_ROOT/data/a-dir/aa-dir ─────────────────────────────┐         \n04|            │󰉋  aab-dir                                               │         \n05|            │└ 󰈔  aab-file                                            │         \n06|            │󰈔  aa-file                                               │         \n07|            │                                                         │         \n08|            │                                                         │         \n09|            │                                                         │         \n10|            │                                                         │         \n11|            │                                                         │         \n12|            │                                                         │         \n13|            │                                                         │         \n14|            │                                                         │         \n15|            │                                                         │         \n16|            │                                                         │         \n17|            │                                                         │         \n18|            │                                                         │         \n19|            └─────────────────────────────────────────────────────────┘         \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111123333333333333333333333333333222222222222222222222222222222111111111\n04|11111111111124445555555666666666666666666666666666666666666666666666662111111111\n05|11111111111127666666666666666666666666666666666666666666666666666666662111111111\n06|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n07|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n08|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n09|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n10|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n11|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n12|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n13|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n14|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n15|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n16|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n17|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n18|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n19|11111111111122222222222222222222222222222222222222222222222222222222222111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'float'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|            ┌MOCK_ROOT/data/a-dir/aa-dir ─────────────────────────────┐         \n04|            │󰉋  aab-dir                                               │         \n05|            │󰈔  aa-file                                               │         \n06|            │                                                         │         \n07|            │                                                         │         \n08|            │                                                         │         \n09|            │                                                         │         \n10|            │                                                         │         \n11|            │                                                         │         \n12|            │                                                         │         \n13|            │                                                         │         \n14|            │                                                         │         \n15|            │                                                         │         \n16|            │                                                         │         \n17|            │                                                         │         \n18|            │                                                         │         \n19|            └─────────────────────────────────────────────────────────┘         \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111123333333333333333333333333333222222222222222222222222222222111111111\n04|11111111111124445555555666666666666666666666666666666666666666666666662111111111\n05|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n06|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n07|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n08|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n09|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n10|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n11|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n12|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n13|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n14|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n15|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n16|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n17|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n18|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n19|11111111111122222222222222222222222222222222222222222222222222222222222111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'float'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|            ┌MOCK_ROOT/data/a-dir ────────────────────────────────────┐         \n04|            │󰉋  aa-dir                                                │         \n05|            ││ 󰉋  aab-dir                                             │         \n06|            │└ 󰈔  aa-file                                             │         \n07|            │                                                         │         \n08|            │                                                         │         \n09|            │                                                         │         \n10|            │                                                         │         \n11|            │                                                         │         \n12|            │                                                         │         \n13|            │                                                         │         \n14|            │                                                         │         \n15|            │                                                         │         \n16|            │                                                         │         \n17|            │                                                         │         \n18|            │                                                         │         \n19|            └─────────────────────────────────────────────────────────┘         \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111123333333333333333333332222222222222222222222222222222222222111111111\n04|11111111111124445555556666666666666666666666666666666666666666666666662111111111\n05|11111111111127644455555556666666666666666666666666666666666666666666662111111111\n06|11111111111127666666666666666666666666666666666666666666666666666666662111111111\n07|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n08|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n09|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n10|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n11|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n12|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n13|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n14|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n15|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n16|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n17|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n18|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n19|11111111111122222222222222222222222222222222222222222222222222222222222111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'float'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|            ┌MOCK_ROOT/data ──────────────────────────────────────────┐         \n04|            │󰉋  a-dir                                                 │         \n05|            ││ 󰉋  aa-dir                                              │         \n06|            ││ │ 󰉋  aab-dir                                           │         \n07|            │└ └ 󰈔  aa-file                                           │         \n08|            │󰈔  a-file                                                │         \n09|            │                                                         │         \n10|            │                                                         │         \n11|            │                                                         │         \n12|            │                                                         │         \n13|            │                                                         │         \n14|            │                                                         │         \n15|            │                                                         │         \n16|            │                                                         │         \n17|            │                                                         │         \n18|            │                                                         │         \n19|            └─────────────────────────────────────────────────────────┘         \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111123333333333333332222222222222222222222222222222222222222222111111111\n04|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n05|11111111111127644455555566666666666666666666666666666666666666666666662111111111\n06|11111111111127676444555555566666666666666666666666666666666666666666662111111111\n07|11111111111127676666666666666666666666666666666666666666666666666666662111111111\n08|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n09|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n10|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n11|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n12|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n13|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n14|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n15|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n16|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n17|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n18|11111111111128888888888888888888888888888888888888888888888888888888882111111111\n19|11111111111122222222222222222222222222222222222222222222222222222222222111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'float'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|            ┌MOCK_ROOT/data ──────────────────────────────────────────┐         \n04|            │󰉋  a-dir                                                 │         \n05|            │󰈔  a-file                                                │         \n06|            │                                                         │         \n07|            │                                                         │         \n08|            │                                                         │         \n09|            │                                                         │         \n10|            │                                                         │         \n11|            │                                                         │         \n12|            │                                                         │         \n13|            │                                                         │         \n14|            │                                                         │         \n15|            │                                                         │         \n16|            │                                                         │         \n17|            │                                                         │         \n18|            │                                                         │         \n19|            └─────────────────────────────────────────────────────────┘         \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111123333333333333332222222222222222222222222222222222222222222111111111\n04|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n05|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n06|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n07|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n08|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n09|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n10|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n11|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n12|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n13|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n14|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n15|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n16|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n17|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n18|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n19|11111111111122222222222222222222222222222222222222222222222222222222222111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'float'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'float'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'float'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │                                       \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'float'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'replace'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir                                                                      \n02|└ 󰈔  aab-file                                                                   \n03|󰈔  aa-file                                                                      \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222222222222222222222222222222222222222222222222222222222222\n02|32222222222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n05|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n06|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n07|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n08|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n09|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n10|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n11|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n12|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n13|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n14|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n15|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n18|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n19|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n20|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'replace'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir                                                                      \n02|󰈔  aa-file                                                                      \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222222222222222222222222222222222222222222222222222222222222\n02|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n03|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n04|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n17|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n18|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n19|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n20|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'replace'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aa-dir                                                                       \n02|│ 󰉋  aab-dir                                                                    \n03|└ 󰈔  aa-file                                                                    \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111122222222222222222222222222222222222222222222222222222222222222222222222\n02|32000111111122222222222222222222222222222222222222222222222222222222222222222222\n03|32222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n05|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n06|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n07|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n08|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n09|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n10|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n11|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n12|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n13|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n14|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n15|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n18|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n19|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n20|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'replace'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|│ 󰉋  aa-dir                                                                     \n03|│ │ 󰉋  aab-dir                                                                  \n04|└ └ 󰈔  aa-file                                                                  \n05|󰈔  a-file                                                                       \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|32000111111222222222222222222222222222222222222222222222222222222222222222222222\n03|32320001111111222222222222222222222222222222222222222222222222222222222222222222\n04|32322222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n07|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n08|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n09|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n10|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n11|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n12|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n13|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n14|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n15|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n18|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n19|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n20|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'replace'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰈔  a-file                                                                       \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n03|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n04|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n17|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n18|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n19|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n20|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'replace'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'replace'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'replace'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │---FILE CONTENT---                     \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'replace'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir                                                                      \n02|└ 󰈔  aab-file                                                                   \n03|󰈔  aa-file                                                                      \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222222222222222222222222222222222222222222222222222222222222\n02|32222222222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n05|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n06|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n07|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n08|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n09|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n10|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n11|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n12|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n13|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n14|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n15|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir                                                                      \n02|󰈔  aa-file                                                                      \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222222222222222222222222222222222222222222222222222222222222\n02|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n03|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n04|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aa-dir                                                                       \n02|│ 󰉋  aab-dir                                                                    \n03|└ 󰈔  aa-file                                                                    \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111122222222222222222222222222222222222222222222222222222222222222222222222\n02|32000111111122222222222222222222222222222222222222222222222222222222222222222222\n03|32222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n05|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n06|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n07|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n08|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n09|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n10|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n11|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n12|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n13|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n14|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n15|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|│ 󰉋  aa-dir                                                                     \n03|│ │ 󰉋  aab-dir                                                                  \n04|└ └ 󰈔  aa-file                                                                  \n05|󰈔  a-file                                                                       \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|32000111111222222222222222222222222222222222222222222222222222222222222222222222\n03|32320001111111222222222222222222222222222222222222222222222222222222222222222222\n04|32322222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n07|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n08|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n09|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n10|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n11|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n12|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n13|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n14|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n15|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰈔  a-file                                                                       \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n03|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n04|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │                                       \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir                                                                      \n02|└ 󰈔  aab-file                                                                   \n03|󰈔  aa-file                                                                      \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222222222222222222222222222222222222222222222222222222222222\n02|32222222222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n05|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n06|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n07|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n08|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n09|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n10|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n11|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n12|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n13|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n14|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n15|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above_all'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir                                                                      \n02|󰈔  aa-file                                                                      \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222222222222222222222222222222222222222222222222222222222222\n02|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n03|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n04|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above_all'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aa-dir                                                                       \n02|│ 󰉋  aab-dir                                                                    \n03|└ 󰈔  aa-file                                                                    \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111122222222222222222222222222222222222222222222222222222222222222222222222\n02|32000111111122222222222222222222222222222222222222222222222222222222222222222222\n03|32222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n05|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n06|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n07|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n08|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n09|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n10|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n11|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n12|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n13|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n14|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n15|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above_all'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|│ 󰉋  aa-dir                                                                     \n03|│ │ 󰉋  aab-dir                                                                  \n04|└ └ 󰈔  aa-file                                                                  \n05|󰈔  a-file                                                                       \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|32000111111222222222222222222222222222222222222222222222222222222222222222222222\n03|32320001111111222222222222222222222222222222222222222222222222222222222222222222\n04|32322222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n07|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n08|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n09|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n10|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n11|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n12|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n13|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n14|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n15|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above_all'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰈔  a-file                                                                       \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n03|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n04|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above_all'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above_all'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above_all'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │                                       \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_above_all'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  aab-dir                                                                      \n07|└ 󰈔  aab-file                                                                   \n08|󰈔  aa-file                                                                      \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444445555555555555555555555555555555555555555555555555555555555555555555555\n07|65555555555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n10|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n11|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n12|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n13|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n14|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n15|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n16|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n17|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  aab-dir                                                                      \n07|󰈔  aa-file                                                                      \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444445555555555555555555555555555555555555555555555555555555555555555555555\n07|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n09|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  aa-dir                                                                       \n07|│ 󰉋  aab-dir                                                                    \n08|└ 󰈔  aa-file                                                                    \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444455555555555555555555555555555555555555555555555555555555555555555555555\n07|65333444444455555555555555555555555555555555555555555555555555555555555555555555\n08|65555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n10|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n11|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n12|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n13|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n14|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n15|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n16|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n17|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|│ 󰉋  aa-dir                                                                     \n08|│ │ 󰉋  aab-dir                                                                  \n09|└ └ 󰈔  aa-file                                                                  \n10|󰈔  a-file                                                                       \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|65333444444555555555555555555555555555555555555555555555555555555555555555555555\n08|65653334444444555555555555555555555555555555555555555555555555555555555555555555\n09|65655555555555555555555555555555555555555555555555555555555555555555555555555555\n10|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n11|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n12|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n13|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n14|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n15|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n16|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n17|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰈔  a-file                                                                       \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n09|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │                                       \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  aab-dir                                                                      \n07|└ 󰈔  aab-file                                                                   \n08|󰈔  aa-file                                                                      \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444445555555555555555555555555555555555555555555555555555555555555555555555\n07|65555555555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n10|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n11|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n12|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n13|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n14|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n15|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n16|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n17|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below_all'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  aab-dir                                                                      \n07|󰈔  aa-file                                                                      \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444445555555555555555555555555555555555555555555555555555555555555555555555\n07|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n09|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below_all'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  aa-dir                                                                       \n07|│ 󰉋  aab-dir                                                                    \n08|└ 󰈔  aa-file                                                                    \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444455555555555555555555555555555555555555555555555555555555555555555555555\n07|65333444444455555555555555555555555555555555555555555555555555555555555555555555\n08|65555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n10|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n11|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n12|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n13|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n14|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n15|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n16|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n17|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below_all'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|│ 󰉋  aa-dir                                                                     \n08|│ │ 󰉋  aab-dir                                                                  \n09|└ └ 󰈔  aa-file                                                                  \n10|󰈔  a-file                                                                       \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|65333444444555555555555555555555555555555555555555555555555555555555555555555555\n08|65653334444444555555555555555555555555555555555555555555555555555555555555555555\n09|65655555555555555555555555555555555555555555555555555555555555555555555555555555\n10|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n11|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n12|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n13|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n14|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n15|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n16|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n17|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n18|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n19|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n20|77777777777777777777777777777777777777777777777777777777777777777777777777777777\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below_all'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰈔  a-file                                                                       \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n09|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below_all'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below_all'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below_all'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │                                       \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_below_all'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir              │                                                       \n02|└ 󰈔  aab-file           │                                                       \n03|󰈔  aa-file              │                                                       \n04|                        │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222223333333333333333333333333333333333333333333333333333333\n02|42222222222222222222222225555555555555555555555555555555555555555555555555555555\n03|22222222222222222222222225555555555555555555555555555555555555555555555555555555\n04|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n05|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n06|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n07|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n09|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n11|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n12|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n13|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n14|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n15|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n16|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n19|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n20|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir              │                                                       \n02|󰈔  aa-file              │                                                       \n03|                        │                                                       \n04|                        │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222223333333333333333333333333333333333333333333333333333333\n02|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n03|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n04|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aa-dir               │                                                       \n02|│ 󰉋  aab-dir            │                                                       \n03|└ 󰈔  aa-file            │                                                       \n04|                        │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111122222222222222223333333333333333333333333333333333333333333333333333333\n02|42000111111122222222222225555555555555555555555555555555555555555555555555555555\n03|42222222222222222222222225555555555555555555555555555555555555555555555555555555\n04|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n05|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n06|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n07|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n09|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n11|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n12|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n13|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n14|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n15|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n16|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n19|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n20|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|│ 󰉋  aa-dir             │                                                       \n03|│ │ 󰉋  aab-dir          │                                                       \n04|└ └ 󰈔  aa-file          │                                                       \n05|󰈔  a-file               │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|42000111111222222222222225555555555555555555555555555555555555555555555555555555\n03|42420001111111222222222225555555555555555555555555555555555555555555555555555555\n04|42422222222222222222222225555555555555555555555555555555555555555555555555555555\n05|22222222222222222222222225555555555555555555555555555555555555555555555555555555\n06|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n07|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n09|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n11|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n12|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n13|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n14|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n15|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n16|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n19|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n20|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰈔  a-file               │                                                       \n03|                        │                                                       \n04|                        │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n03|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n04|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │                                       \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir              │                                                       \n02|└ 󰈔  aab-file           │                                                       \n03|󰈔  aa-file              │                                                       \n04|                        │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222223333333333333333333333333333333333333333333333333333333\n02|42222222222222222222222225555555555555555555555555555555555555555555555555555555\n03|22222222222222222222222225555555555555555555555555555555555555555555555555555555\n04|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n05|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n06|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n07|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n09|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n11|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n12|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n13|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n14|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n15|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n16|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n19|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n20|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left_most'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aab-dir              │                                                       \n02|󰈔  aa-file              │                                                       \n03|                        │                                                       \n04|                        │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111112222222222222223333333333333333333333333333333333333333333333333333333\n02|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n03|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n04|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left_most'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  aa-dir               │                                                       \n02|│ 󰉋  aab-dir            │                                                       \n03|└ 󰈔  aa-file            │                                                       \n04|                        │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111122222222222222223333333333333333333333333333333333333333333333333333333\n02|42000111111122222222222225555555555555555555555555555555555555555555555555555555\n03|42222222222222222222222225555555555555555555555555555555555555555555555555555555\n04|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n05|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n06|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n07|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n09|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n11|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n12|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n13|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n14|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n15|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n16|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n19|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n20|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left_most'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|│ 󰉋  aa-dir             │                                                       \n03|│ │ 󰉋  aab-dir          │                                                       \n04|└ └ 󰈔  aa-file          │                                                       \n05|󰈔  a-file               │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|42000111111222222222222225555555555555555555555555555555555555555555555555555555\n03|42420001111111222222222225555555555555555555555555555555555555555555555555555555\n04|42422222222222222222222225555555555555555555555555555555555555555555555555555555\n05|22222222222222222222222225555555555555555555555555555555555555555555555555555555\n06|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n07|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n08|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n09|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n11|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n12|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n13|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n14|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n15|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n16|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n17|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n19|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n20|66666666666666666666666625555555555555555555555555555555555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left_most'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰈔  a-file               │                                                       \n03|                        │                                                       \n04|                        │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n03|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n04|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left_most'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left_most'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left_most'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │                                       \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_left_most'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  aab-dir              \n02|                                                       │└ 󰈔  aab-file           \n03|                                                       │󰈔  aa-file              \n04|                                                       │                        \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333333311111111111111\n02|44444444444444444444444444444444444444444444444444444441511111111111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n05|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n06|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n07|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n08|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n09|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n10|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n11|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n12|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n13|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n14|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n15|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n16|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n17|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n18|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n19|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n20|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  aab-dir              \n02|                                                       │󰈔  aa-file              \n03|                                                       │                        \n04|                                                       │                        \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333333311111111111111\n02|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n03|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n04|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  aa-dir               \n02|                                                       ││ 󰉋  aab-dir            \n03|                                                       │└ 󰈔  aa-file            \n04|                                                       │                        \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333333111111111111111\n02|44444444444444444444444444444444444444444444444444444441512223333333111111111111\n03|44444444444444444444444444444444444444444444444444444441511111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n05|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n06|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n07|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n08|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n09|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n10|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n11|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n12|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n13|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n14|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n15|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n16|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n17|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n18|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n19|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n20|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       ││ 󰉋  aa-dir             \n03|                                                       ││ │ 󰉋  aab-dir          \n04|                                                       │└ └ 󰈔  aa-file          \n05|                                                       │󰈔  a-file               \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441512223333331111111111111\n03|44444444444444444444444444444444444444444444444444444441515122233333331111111111\n04|44444444444444444444444444444444444444444444444444444441515111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n06|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n07|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n08|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n09|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n10|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n11|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n12|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n13|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n14|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n15|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n16|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n17|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n18|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n19|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n20|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰈔  a-file               \n03|                                                       │                        \n04|                                                       │                        \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n03|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n04|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │                                       \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  aab-dir              \n02|                                                       │└ 󰈔  aab-file           \n03|                                                       │󰈔  aa-file              \n04|                                                       │                        \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333333311111111111111\n02|44444444444444444444444444444444444444444444444444444441511111111111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n05|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n06|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n07|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n08|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n09|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n10|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n11|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n12|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n13|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n14|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n15|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n16|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n17|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n18|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n19|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n20|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right_most'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  aab-dir              \n02|                                                       │󰈔  aa-file              \n03|                                                       │                        \n04|                                                       │                        \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333333311111111111111\n02|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n03|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n04|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right_most'-}-003",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  aa-dir               \n02|                                                       ││ 󰉋  aab-dir            \n03|                                                       │└ 󰈔  aa-file            \n04|                                                       │                        \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333333111111111111111\n02|44444444444444444444444444444444444444444444444444444441512223333333111111111111\n03|44444444444444444444444444444444444444444444444444444441511111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n05|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n06|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n07|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n08|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n09|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n10|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n11|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n12|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n13|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n14|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n15|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n16|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n17|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n18|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n19|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n20|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right_most'-}-004",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       ││ 󰉋  aa-dir             \n03|                                                       ││ │ 󰉋  aab-dir          \n04|                                                       │└ └ 󰈔  aa-file          \n05|                                                       │󰈔  a-file               \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441512223333331111111111111\n03|44444444444444444444444444444444444444444444444444444441515122233333331111111111\n04|44444444444444444444444444444444444444444444444444444441515111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n06|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n07|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n08|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n09|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n10|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n11|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n12|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n13|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n14|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n15|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n16|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n17|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n18|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n19|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n20|44444444444444444444444444444444444444444444444444444441666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right_most'-}-005",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰈔  a-file               \n03|                                                       │                        \n04|                                                       │                        \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n03|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n04|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right_most'-}-006",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right_most'-}-007",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                                                              \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right_most'-}-008",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|---FILE CONTENT---                      │                                       \n02|                                        │                                       \n03|                                        │                                       \n04|                                        │                                       \n05|                                        │                                       \n06|                                        │                                       \n07|                                        │                                       \n08|                                        │                                       \n09|                                        │                                       \n10|                                        │                                       \n11|                                        │                                       \n12|                                        │                                       \n13|                                        │                                       \n14|                                        │                                       \n15|                                        │                                       \n16|                                        │                                       \n17|                                        │                                       \n18|                                        │                                       \n19|                                        │                                       \n20|                                        │                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000001000000000000000000000000000000000000000\n02|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222221222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-integration-test_finder_mappings.lua---Each-WinKind-Can---Handle-Default-Mappings-+-args-{-'split_right_most'-}-009",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|---FILE CONTENT---                                                              \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n07|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n08|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n09|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n10|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n11|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n12|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n13|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n14|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n15|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n16|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n17|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n18|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n19|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n20|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'float'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|            ┌MOCK_ROOT/data───────────────────────────────────────────┐         \n04|            │󰉋  a-dir                                                 │         \n05|            │󰉋  b-dir                                                 │         \n06|            │󰈔  a-file                                                │         \n07|            │󰈔  b-file                                                │         \n08|            │                                                         │         \n09|            │                                                         │         \n10|            │                                                         │         \n11|            │                                                         │         \n12|            │                                                         │         \n13|            │                                                         │         \n14|            │                                                         │         \n15|            │                                                         │         \n16|            │                                                         │         \n17|            │                                                         │         \n18|            │                                                         │         \n19|            └─────────────────────────────────────────────────────────┘         \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111123333333333333322222222222222222222222222222222222222222222111111111\n04|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n05|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n06|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n07|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n08|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n09|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n10|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n11|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n12|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n13|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n14|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n15|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n16|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n17|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n18|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n19|11111111111122222222222222222222222222222222222222222222222222222222222111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'replace'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n17|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n18|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n19|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n20|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'split_above'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'split_above_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'split_below'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰉋  b-dir                                                                        \n08|󰈔  a-file                                                                       \n09|󰈔  b-file                                                                       \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'split_below_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰉋  b-dir                                                                        \n08|󰈔  a-file                                                                       \n09|󰈔  b-file                                                                       \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'split_left'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰉋  b-dir                │                                                       \n03|󰈔  a-file               │                                                       \n04|󰈔  b-file               │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|00011111222222222222222224444444444444444444444444444444444444444444444444444444\n03|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n04|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'split_left_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰉋  b-dir                │                                                       \n03|󰈔  a-file               │                                                       \n04|󰈔  b-file               │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|00011111222222222222222224444444444444444444444444444444444444444444444444444444\n03|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n04|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'split_right'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰉋  b-dir                \n03|                                                       │󰈔  a-file               \n04|                                                       │󰈔  b-file               \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441222333331111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Navigate-+-args-{-'split_right_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰉋  b-dir                \n03|                                                       │󰈔  a-file               \n04|                                                       │󰈔  b-file               \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441222333331111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'float'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|            ┌MOCK_ROOT/data───────────────────────────────────────────┐         \n04|            │󰉋  a-dir                                                 │         \n05|            │󰉋  b-dir                                                 │         \n06|            │󰈔  a-file                                                │         \n07|            │󰈔  b-file                                                │         \n08|            │                                                         │         \n09|            │                                                         │         \n10|            │                                                         │         \n11|            │                                                         │         \n12|            │                                                         │         \n13|            │                                                         │         \n14|            │                                                         │         \n15|            │                                                         │         \n16|            │                                                         │         \n17|            │                                                         │         \n18|            │                                                         │         \n19|            └─────────────────────────────────────────────────────────┘         \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111123333333333333322222222222222222222222222222222222222222222111111111\n04|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n05|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n06|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n07|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n08|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n09|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n10|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n11|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n12|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n13|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n14|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n15|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n16|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n17|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n18|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n19|11111111111122222222222222222222222222222222222222222222222222222222222111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'replace'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n17|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n18|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n19|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n20|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'split_above'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'split_above_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'split_below'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰉋  b-dir                                                                        \n08|󰈔  a-file                                                                       \n09|󰈔  b-file                                                                       \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'split_below_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰉋  b-dir                                                                        \n08|󰈔  a-file                                                                       \n09|󰈔  b-file                                                                       \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'split_left'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰉋  b-dir                │                                                       \n03|󰈔  a-file               │                                                       \n04|󰈔  b-file               │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|00011111222222222222222224444444444444444444444444444444444444444444444444444444\n03|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n04|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'split_left_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰉋  b-dir                │                                                       \n03|󰈔  a-file               │                                                       \n04|󰈔  b-file               │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|00011111222222222222222224444444444444444444444444444444444444444444444444444444\n03|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n04|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'split_right'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰉋  b-dir                \n03|                                                       │󰈔  a-file               \n04|                                                       │󰈔  b-file               \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441222333331111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-With-Arguments-+-args-{-'split_right_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰉋  b-dir                \n03|                                                       │󰈔  a-file               \n04|                                                       │󰈔  b-file               \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441222333331111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'float'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|            ┌MOCK_ROOT/data───────────────────────────────────────────┐         \n04|            │󰉋  a-dir                                                 │         \n05|            │󰉋  b-dir                                                 │         \n06|            │󰈔  a-file                                                │         \n07|            │󰈔  b-file                                                │         \n08|            │                                                         │         \n09|            │                                                         │         \n10|            │                                                         │         \n11|            │                                                         │         \n12|            │                                                         │         \n13|            │                                                         │         \n14|            │                                                         │         \n15|            │                                                         │         \n16|            │                                                         │         \n17|            │                                                         │         \n18|            │                                                         │         \n19|            └─────────────────────────────────────────────────────────┘         \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111123333333333333322222222222222222222222222222222222222222222111111111\n04|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n05|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n06|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n07|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n08|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n09|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n10|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n11|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n12|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n13|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n14|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n15|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n16|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n17|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n18|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n19|11111111111122222222222222222222222222222222222222222222222222222222222111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'replace'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n17|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n18|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n19|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n20|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'split_above'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'split_above_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'split_below'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰉋  b-dir                                                                        \n08|󰈔  a-file                                                                       \n09|󰈔  b-file                                                                       \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'split_below_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰉋  b-dir                                                                        \n08|󰈔  a-file                                                                       \n09|󰈔  b-file                                                                       \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'split_left'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰉋  b-dir                │                                                       \n03|󰈔  a-file               │                                                       \n04|󰈔  b-file               │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|00011111222222222222222224444444444444444444444444444444444444444444444444444444\n03|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n04|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'split_left_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰉋  b-dir                │                                                       \n03|󰈔  a-file               │                                                       \n04|󰈔  b-file               │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|00011111222222222222222224444444444444444444444444444444444444444444444444444444\n03|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n04|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'split_right'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰉋  b-dir                \n03|                                                       │󰈔  a-file               \n04|                                                       │󰈔  b-file               \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441222333331111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Open-Without-Arguments-+-args-{-'split_right_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰉋  b-dir                \n03|                                                       │󰈔  a-file               \n04|                                                       │󰈔  b-file               \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441222333331111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'float'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|            ┌MOCK_ROOT/data───────────────────────────────────────────┐         \n04|            │󰉋  a-dir                                                 │         \n05|            │󰉋  b-dir                                                 │         \n06|            │󰈔  a-file                                                │         \n07|            │󰈔  b-file                                                │         \n08|            │                                                         │         \n09|            │                                                         │         \n10|            │                                                         │         \n11|            │                                                         │         \n12|            │                                                         │         \n13|            │                                                         │         \n14|            │                                                         │         \n15|            │                                                         │         \n16|            │                                                         │         \n17|            │                                                         │         \n18|            │                                                         │         \n19|            └─────────────────────────────────────────────────────────┘         \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111123333333333333322222222222222222222222222222222222222222222111111111\n04|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n05|11111111111124445555566666666666666666666666666666666666666666666666662111111111\n06|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n07|11111111111126666666666666666666666666666666666666666666666666666666662111111111\n08|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n09|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n10|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n11|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n12|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n13|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n14|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n15|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n16|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n17|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n18|11111111111127777777777777777777777777777777777777777777777777777777772111111111\n19|11111111111122222222222222222222222222222222222222222222222222222222222111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'float'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'replace'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n17|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n18|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n19|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n20|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'replace'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_above'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_above'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_above_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                                                                        \n02|󰉋  b-dir                                                                        \n03|󰈔  a-file                                                                       \n04|󰈔  b-file                                                                       \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n02|00011111222222222222222222222222222222222222222222222222222222222222222222222222\n03|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n04|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n05|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n06|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n07|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n08|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n09|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n10|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n11|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n12|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n13|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n14|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n15|33333333333333333333333333333333333333333333333333333333333333333333333333333333\n16|44444444444444444444444444444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_above_all'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_below'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰉋  b-dir                                                                        \n08|󰈔  a-file                                                                       \n09|󰈔  b-file                                                                       \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_below'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_below_all'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|󰉋  a-dir                                                                        \n07|󰉋  b-dir                                                                        \n08|󰈔  a-file                                                                       \n09|󰈔  b-file                                                                       \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|22222222222222222222222222222222222222222222222222222222222222222222222222222222\n06|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n07|33344444555555555555555555555555555555555555555555555555555555555555555555555555\n08|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n09|55555555555555555555555555555555555555555555555555555555555555555555555555555555\n10|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n11|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n12|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n13|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n14|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n15|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n16|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n17|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n18|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n19|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n20|66666666666666666666666666666666666666666666666666666666666666666666666666666666\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_below_all'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_left'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰉋  b-dir                │                                                       \n03|󰈔  a-file               │                                                       \n04|󰈔  b-file               │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|00011111222222222222222224444444444444444444444444444444444444444444444444444444\n03|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n04|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_left'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_left_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|󰉋  a-dir                │                                                       \n02|󰉋  b-dir                │                                                       \n03|󰈔  a-file               │                                                       \n04|󰈔  b-file               │                                                       \n05|                        │                                                       \n06|                        │                                                       \n07|                        │                                                       \n08|                        │                                                       \n09|                        │                                                       \n10|                        │                                                       \n11|                        │                                                       \n12|                        │                                                       \n13|                        │                                                       \n14|                        │                                                       \n15|                        │                                                       \n16|                        │                                                       \n17|                        │                                                       \n18|                        │                                                       \n19|                        │                                                       \n20|                        │                                                       \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00011111222222222222222223333333333333333333333333333333333333333333333333333333\n02|00011111222222222222222224444444444444444444444444444444444444444444444444444444\n03|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n04|22222222222222222222222224444444444444444444444444444444444444444444444444444444\n05|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n06|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n07|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n08|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n09|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n10|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n11|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n12|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n13|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n14|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n15|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n16|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n17|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n18|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n19|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n20|55555555555555555555555524444444444444444444444444444444444444444444444444444444\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_left_most'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_right'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰉋  b-dir                \n03|                                                       │󰈔  a-file               \n04|                                                       │󰈔  b-file               \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441222333331111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_right'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_right_most'-}",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                       │󰉋  a-dir                \n02|                                                       │󰉋  b-dir                \n03|                                                       │󰈔  a-file               \n04|                                                       │󰈔  b-file               \n05|                                                       │                        \n06|                                                       │                        \n07|                                                       │                        \n08|                                                       │                        \n09|                                                       │                        \n10|                                                       │                        \n11|                                                       │                        \n12|                                                       │                        \n13|                                                       │                        \n14|                                                       │                        \n15|                                                       │                        \n16|                                                       │                        \n17|                                                       │                        \n18|                                                       │                        \n19|                                                       │                        \n20|                                                       │                        \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000001222333331111111111111111\n02|44444444444444444444444444444444444444444444444444444441222333331111111111111111\n03|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n04|44444444444444444444444444444444444444444444444444444441111111111111111111111111\n05|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n06|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n07|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n08|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n09|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n10|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n11|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n12|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n13|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n14|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n15|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n16|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n17|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n18|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n19|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n20|44444444444444444444444444444444444444444444444444444441555555555555555555555555\n"
  },
  {
    "path": "tests/screenshots/tests-unit-test_api.lua---Each-WinKind-Can---Toggle-With-Arguments-+-args-{-'split_right_most'-}-002",
    "content": "--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|                                                                                \n02|                                                                                \n03|                                                                                \n04|                                                                                \n05|                                                                                \n06|                                                                                \n07|                                                                                \n08|                                                                                \n09|                                                                                \n10|                                                                                \n11|                                                                                \n12|                                                                                \n13|                                                                                \n14|                                                                                \n15|                                                                                \n16|                                                                                \n17|                                                                                \n18|                                                                                \n19|                                                                                \n20|                                                                                \n\n--|---------|---------|---------|---------|---------|---------|---------|---------|\n01|00000000000000000000000000000000000000000000000000000000000000000000000000000000\n02|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n03|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n04|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n05|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n06|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n07|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n08|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n09|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n10|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n11|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n12|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n13|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n14|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n15|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n16|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n17|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n18|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n19|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n20|11111111111111111111111111111111111111111111111111111111111111111111111111111111\n"
  },
  {
    "path": "tests/unit/test_api.lua",
    "content": "local helper = require(\"tests.helper\")\n\nlocal nvim = helper.new_neovim()\nlocal equal = helper.equal\nlocal match_pattern = helper.match_pattern\n\nlocal function make_tree(children)\n  local temp_dir = vim.fs.joinpath(_G.FYLER_TEMP_DIR, \"data\")\n  vim.fn.mkdir(temp_dir, \"p\")\n\n  require(\"mini.test\").finally(function() vim.fn.delete(temp_dir, \"rf\") end)\n\n  for _, path in ipairs(children) do\n    local path_ext = temp_dir .. \"/\" .. path\n    if vim.endswith(path, \"/\") then\n      vim.fn.mkdir(path_ext)\n    else\n      vim.fn.writefile({}, path_ext)\n    end\n  end\n\n  return temp_dir\nend\n\nlocal T = helper.new_set({\n  hooks = {\n    pre_case = function() nvim.setup({ views = { finder = { columns_order = {} } } }) end,\n    post_case_once = nvim.stop,\n  },\n})\n\nT[\"Each WinKind Can\"] = helper.new_set({\n  parametrize = {\n    { \"float\" },\n    { \"replace\" },\n    { \"split_left\" },\n    { \"split_left_most\" },\n    { \"split_above\" },\n    { \"split_above_all\" },\n    { \"split_right\" },\n    { \"split_right_most\" },\n    { \"split_below\" },\n    { \"split_below_all\" },\n  },\n})\n\nT[\"Each WinKind Can\"][\"Open Without Arguments\"] = function(kind)\n  local path = make_tree({ \"a-file\", \"b-file\", \"a-dir/\", \"b-dir/\" })\n  nvim.setup({ views = { finder = { win = { kind = kind }, columns_order = {} } } })\n  nvim.fn.chdir(path)\n  nvim.forward_lua(\"require('fyler').open\")()\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\nend\n\nT[\"Each WinKind Can\"][\"Open With Arguments\"] = function(kind)\n  local path = make_tree({ \"a-file\", \"b-file\", \"a-dir/\", \"b-dir/\" })\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\nend\n\nT[\"Each WinKind Can\"][\"Open And Handles Sudden Undo\"] = function(kind)\n  local path = make_tree({ \"a-file\", \"b-file\", \"a-dir/\", \"b-dir/\" })\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.type_keys(\"u\")\n  equal(#nvim.get_lines(0, 0, -1, false) > 1, true)\n  equal(nvim.cmd_capture(\"1messages\"), \"Already at oldest change\")\nend\n\nT[\"Each WinKind Can\"][\"Open And Jump To Current File\"] = function(kind)\n  local path = make_tree({ \"a-file\", \"b-file\", \"a-dir/\", \"b-dir/\" })\n  nvim.cmd(\"edit \" .. vim.fs.joinpath(path, \"b-file\"))\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  match_pattern(nvim.api.nvim_get_current_line(), \"b-file\")\nend\n\nT[\"Each WinKind Can\"][\"Toggle With Arguments\"] = function(kind)\n  local path = make_tree({ \"a-file\", \"b-file\", \"a-dir/\", \"b-dir/\" })\n  nvim.forward_lua(\"require('fyler').toggle\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\n  nvim.forward_lua(\"require('fyler').toggle\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\nend\n\nT[\"Each WinKind Can\"][\"Navigate\"] = function(kind)\n  local path = make_tree({ \"a-file\", \"b-file\", \"a-dir/\", \"b-dir/\" })\n  nvim.forward_lua(\"require('fyler').open\")({ dir = path, kind = kind })\n  vim.uv.sleep(20)\n  nvim.forward_lua(\"require('fyler').navigate\")(\n    vim.fn.fnamemodify(vim.fs.joinpath(path, \"a-dir\", \"aa-dir\", \"aaa-file\"), \":p\")\n  )\n  vim.uv.sleep(20)\n  nvim.expect_screenshot()\nend\n\nreturn T\n"
  },
  {
    "path": "tests/unit/test_mini_icon.lua",
    "content": "local helper = require(\"tests.helper\")\nlocal mini_icons = require(\"fyler.integrations.icon.mini_icons\")\n\nlocal equal = helper.equal\n\nlocal T = helper.new_set()\n\nlocal function with_stubbed_mini_icons(fn)\n  local original = package.loaded[\"mini.icons\"]\n  package.loaded[\"mini.icons\"] = {\n    get = function(category, name) return category, name end,\n  }\n\n  local ok, err = pcall(fn)\n  package.loaded[\"mini.icons\"] = original\n  assert(ok, err)\nend\n\nT[\"Supported Types\"] = helper.new_set({\n  parametrize = {\n    { \"default\" },\n    { \"directory\" },\n    { \"extension\" },\n    { \"file\" },\n    { \"filetype\" },\n    { \"lsp\" },\n    { \"os\" },\n  },\n})\n\nT[\"Supported Types\"][\"Pass Through Category\"] = function(category)\n  with_stubbed_mini_icons(function()\n    local actual_category, actual_name = mini_icons.get(category, \"test_default\")\n    equal(actual_category, category)\n    equal(actual_name, \"test_default\")\n  end)\nend\n\nT[\"Unsupported Types\"] = helper.new_set({\n  parametrize = {\n    { \"socket\" },\n    { \"block\" },\n    { \"char\" },\n  },\n})\n\nT[\"Unsupported Types\"][\"Fallback To File\"] = function(category)\n  with_stubbed_mini_icons(function()\n    local actual_category, actual_name = mini_icons.get(category, \"test_default\")\n    equal(actual_category, \"file\")\n    equal(actual_name, \"test_default\")\n  end)\nend\n\nreturn T\n"
  },
  {
    "path": "tests/unit/test_setup.lua",
    "content": "local helper = require(\"tests.helper\")\n\nlocal equal = helper.equal\nlocal match_pattern = helper.match_pattern\nlocal nvim = helper.new_neovim()\n\nlocal T = helper.new_set({\n  hooks = {\n    pre_case = nvim.setup,\n    post_case_once = nvim.stop,\n  },\n})\n\nT[\"Side Effects\"] = function()\n  local validate_hl_group = function(name, ref) helper.match_pattern(nvim.cmd_capture(\"hi \" .. name), ref) end\n\n  equal(nvim.fn.hlexists(\"FylerBlue\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGreen\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGrey\"), 1)\n  equal(nvim.fn.hlexists(\"FylerRed\"), 1)\n  equal(nvim.fn.hlexists(\"FylerYellow\"), 1)\n\n  equal(nvim.fn.hlexists(\"FylerFSDirectoryIcon\"), 1)\n  equal(nvim.fn.hlexists(\"FylerFSDirectoryName\"), 1)\n\n  equal(nvim.fn.hlexists(\"FylerFSFile\"), 1)\n  equal(nvim.fn.hlexists(\"FylerFSLink\"), 1)\n\n  equal(nvim.fn.hlexists(\"FylerGitAdded\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGitConflict\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGitDeleted\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGitIgnored\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGitModified\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGitRenamed\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGitStaged\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGitUnstaged\"), 1)\n  equal(nvim.fn.hlexists(\"FylerGitUntracked\"), 1)\n\n  equal(nvim.fn.hlexists(\"FylerWinPick\"), 1)\n\n  validate_hl_group(\"FylerNormal\", \"links to Normal\")\n  validate_hl_group(\"FylerNormalNC\", \"links to NormalNC\")\n  validate_hl_group(\"FylerBorder\", \"links to FylerNormal\")\n  validate_hl_group(\"FylerIndentMarker\", \"links to FylerGrey\")\n  validate_hl_group(\"FylerDiagnosticError\", \"links to DiagnosticError\")\n  validate_hl_group(\"FylerDiagnosticWarn\", \"links to DiagnosticWarn\")\n  validate_hl_group(\"FylerDiagnosticInfo\", \"links to DiagnosticInfo\")\n  validate_hl_group(\"FylerDiagnosticHint\", \"links to DiagnosticHint\")\nend\n\nT[\"Setup Config\"] = function()\n  local expect_config = function(field, value) equal(nvim.lua_get([[require('fyler.config').values.]] .. field), value) end\n\n  expect_config(\"hooks.on_delete\", vim.NIL)\n  expect_config(\"hooks.on_rename\", vim.NIL)\n  expect_config(\"hooks.on_highlight\", vim.NIL)\n\n  expect_config(\"integrations.icon\", \"mini_icons\")\n  expect_config(\"integrations.winpick\", \"none\")\n\n  expect_config(\"views.finder.close_on_select\", true)\n  expect_config(\"views.finder.confirm_simple\", false)\n  expect_config(\"views.finder.default_explorer\", false)\n  expect_config(\"views.finder.delete_to_trash\", false)\n  expect_config(\"views.finder.columns_order\", { \"link\", \"permission\", \"size\", \"git\", \"diagnostic\" })\n\n  expect_config(\"views.finder.columns.git.enabled\", true)\n  expect_config(\"views.finder.columns.git.symbols.Untracked\", \"?\")\n  expect_config(\"views.finder.columns.git.symbols.Added\", \"A\")\n  expect_config(\"views.finder.columns.git.symbols.Modified\", \"M\")\n  expect_config(\"views.finder.columns.git.symbols.Deleted\", \"D\")\n  expect_config(\"views.finder.columns.git.symbols.Renamed\", \"R\")\n  expect_config(\"views.finder.columns.git.symbols.Copied\", \"C\")\n  expect_config(\"views.finder.columns.git.symbols.Conflict\", \"!\")\n  expect_config(\"views.finder.columns.git.symbols.Ignored\", \" \")\n\n  expect_config(\"views.finder.columns.diagnostic.enabled\", true)\n  expect_config(\"views.finder.columns.diagnostic.symbols.Error\", \"E\")\n  expect_config(\"views.finder.columns.diagnostic.symbols.Warn\", \"W\")\n  expect_config(\"views.finder.columns.diagnostic.symbols.Info\", \"I\")\n  expect_config(\"views.finder.columns.diagnostic.symbols.Hint\", \"H\")\n\n  expect_config(\"views.finder.columns.link.enabled\", true)\n\n  expect_config(\"views.finder.columns.permission.enabled\", true)\n\n  expect_config(\"views.finder.columns.size.enabled\", true)\n\n  expect_config(\"views.finder.icon.directory_collapsed\", vim.NIL)\n  expect_config(\"views.finder.icon.directory_empty\", vim.NIL)\n  expect_config(\"views.finder.icon.directory_expanded\", vim.NIL)\n\n  expect_config(\"views.finder.indentscope.enabled\", true)\n  expect_config(\"views.finder.indentscope.markers[1][1]\", \"│\")\n  expect_config(\"views.finder.indentscope.markers[1][2]\", \"FylerIndentMarker\")\n  expect_config(\"views.finder.indentscope.markers[2][1]\", \"└\")\n  expect_config(\"views.finder.indentscope.markers[2][2]\", \"FylerIndentMarker\")\n\n  expect_config(\"views.finder.mappings['q']\", \"CloseView\")\n  expect_config(\"views.finder.mappings['<CR>']\", \"Select\")\n  expect_config(\"views.finder.mappings['<C-t>']\", \"SelectTab\")\n  expect_config(\"views.finder.mappings['|']\", \"SelectVSplit\")\n  expect_config(\"views.finder.mappings['-']\", \"SelectSplit\")\n  expect_config(\"views.finder.mappings['^']\", \"GotoParent\")\n  expect_config(\"views.finder.mappings['=']\", \"GotoCwd\")\n  expect_config(\"views.finder.mappings['.']\", \"GotoNode\")\n  expect_config(\"views.finder.mappings['#']\", \"CollapseAll\")\n  expect_config(\"views.finder.mappings['<BS>']\", \"CollapseNode\")\n\n  expect_config(\"views.finder.mappings_opts.nowait\", false)\n  expect_config(\"views.finder.mappings_opts.noremap\", true)\n  expect_config(\"views.finder.mappings_opts.silent\", true)\n\n  expect_config(\"views.finder.follow_current_file\", true)\n\n  expect_config(\"views.finder.watcher.enabled\", false)\n\n  expect_config(\"views.finder.win.border\", \"single\")\n\n  expect_config(\"views.finder.win.buf_opts.bufhidden\", \"hide\")\n  expect_config(\"views.finder.win.buf_opts.buflisted\", false)\n  expect_config(\"views.finder.win.buf_opts.buftype\", \"acwrite\")\n  expect_config(\"views.finder.win.buf_opts.expandtab\", true)\n  expect_config(\"views.finder.win.buf_opts.filetype\", \"fyler\")\n  expect_config(\"views.finder.win.buf_opts.shiftwidth\", 2)\n  expect_config(\"views.finder.win.buf_opts.syntax\", \"fyler\")\n  expect_config(\"views.finder.win.buf_opts.swapfile\", false)\n\n  expect_config(\"views.finder.win.kind\", \"replace\")\n\n  expect_config(\"views.finder.win.kinds.float.height\", \"70%\")\n  expect_config(\"views.finder.win.kinds.float.width\", \"70%\")\n  expect_config(\"views.finder.win.kinds.float.top\", \"10%\")\n  expect_config(\"views.finder.win.kinds.float.left\", \"15%\")\n\n  expect_config(\"views.finder.win.kinds.split_above.height\", \"70%\")\n\n  expect_config(\"views.finder.win.kinds.split_above_all.height\", \"70%\")\n\n  expect_config(\"views.finder.win.kinds.split_above_all.win_opts.winfixheight\", true)\n\n  expect_config(\"views.finder.win.kinds.split_left.width\", \"30%\")\n\n  expect_config(\"views.finder.win.kinds.split_left_most.width\", \"30%\")\n\n  expect_config(\"views.finder.win.kinds.split_left_most.win_opts.winfixwidth\", true)\n\n  expect_config(\"views.finder.win.kinds.split_right.width\", \"30%\")\n\n  expect_config(\"views.finder.win.kinds.split_right_most.width\", \"30%\")\n\n  expect_config(\"views.finder.win.kinds.split_right_most.win_opts.winfixwidth\", true)\n\n  expect_config(\"views.finder.win.win_opts.concealcursor\", \"nvic\")\n  expect_config(\"views.finder.win.win_opts.conceallevel\", 3)\n  expect_config(\"views.finder.win.win_opts.cursorline\", false)\n  expect_config(\"views.finder.win.win_opts.number\", false)\n  expect_config(\"views.finder.win.win_opts.relativenumber\", false)\n  expect_config(\"views.finder.win.win_opts.signcolumn\", \"no\")\n  expect_config(\"views.finder.win.win_opts.winhighlight\", \"Normal:FylerNormal,NormalNC:FylerNormalNC\")\n  expect_config(\"views.finder.win.win_opts.wrap\", false)\nend\n\nT[\"Respects User Config\"] = function()\n  nvim.module_unload(\"fyler\")\n  nvim.module_load(\"fyler\", { views = { finder = { mappings = { [\"gc\"] = \"CloseView\" } } } })\n  equal(nvim.lua_get(\"require('fyler.config').values.views.finder.mappings['gc']\"), \"CloseView\")\nend\n\nT[\"Ensures Colors\"] = function()\n  nvim.cmd(\"colorscheme default\")\n  match_pattern(nvim.cmd_capture(\"hi FylerBorder\"), \"links to FylerNormal\")\nend\n\nreturn T\n"
  }
]