{"id":18444564,"url":"https://github.com/willmcgugan/terminal-tree","last_synced_at":"2025-04-05T05:04:19.754Z","repository":{"id":260810193,"uuid":"859333040","full_name":"willmcgugan/terminal-tree","owner":"willmcgugan","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-04T17:51:38.000Z","size":55,"stargazers_count":168,"open_issues_count":4,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T04:04:49.949Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/willmcgugan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-18T13:40:48.000Z","updated_at":"2025-03-26T17:33:22.000Z","dependencies_parsed_at":"2025-01-02T01:41:39.392Z","dependency_job_id":"fd2e7519-36c6-461c-8426-6727edd619a5","html_url":"https://github.com/willmcgugan/terminal-tree","commit_stats":null,"previous_names":["willmcgugan/terminal-tree"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willmcgugan%2Fterminal-tree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willmcgugan%2Fterminal-tree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willmcgugan%2Fterminal-tree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willmcgugan%2Fterminal-tree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willmcgugan","download_url":"https://codeload.github.com/willmcgugan/terminal-tree/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289424,"owners_count":20914464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T07:01:41.262Z","updated_at":"2025-04-05T05:04:19.727Z","avatar_url":"https://github.com/willmcgugan.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\nAn experimental filesystem navigator for the terminal, built with [Textual](https://github.com/textualize/textual)\n\n\nhttps://github.com/user-attachments/assets/de4c9bab-4cfa-4295-bd2e-450df855ef0d\n\nThis could form the basis of a file manager / picker.\nFor now, consider it a UI experiment.\n\nPS Its a [single file](https://github.com/willmcgugan/terminal-tree/blob/main/tree.py).\n\n## Installing\n\nThis project isn't on Pypi or other package manager, but thanks to the sorcery that is [uv](https://docs.astral.sh/uv/guides/tools/) you can try it out with the following command:\n\n```\nuvx --from git+https://github.com/willmcgugan/terminal-tree.git --python 3.12 -q terminal-tree\n```\n\nTested in macOS only at this point. Chances are very high it works on Linux. Slightly lower chance (but non-zero) that it works on Windows.\n\n## Tree navigation\n\n![tree_navigator](https://github.com/user-attachments/assets/52705568-4d1b-47e5-9d5b-d7bfe8ad509e)\n\nA directory tree that may be navigated by the keyboard or mouse.\n\n## File preview\n\n![file_preview](https://github.com/user-attachments/assets/79d2d351-abca-45f6-82b2-5c7a82fef316)\n\nSome text file-types may be displayed with syntax highlighting in a preview panel.\n\nThis preview panel may be maximized from the command palette.\n\n## Path completion and validation\n\n![path_complete](https://github.com/user-attachments/assets/6ae4a414-9b4d-4b5d-812a-fdb8ddf3381c)\n\nHit `g` to edit the current path.\n\nThe path will auto-complete as you type. Press `right` to accept the auto-completion.\n\nThe path is also validated as you type. Invalid (non directory) paths are highlighted in red, or green if it is a valid path.\n\n## Path components\n\n![path_select](https://github.com/user-attachments/assets/6310badf-a5ba-43fc-a8fd-97cce69ad161)\n\n\nYou can also click on a path component to navigate to a parent directory.\n\n## No issues please\n\nI don't know is this will become a standalone tool, or be folded back in to [Textual](https://github.com/textualize/textual).\n\nIf you are interested in this project, please fork it. let me know if you do anything interesting with it!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillmcgugan%2Fterminal-tree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwillmcgugan%2Fterminal-tree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillmcgugan%2Fterminal-tree/lists"}