{"id":19413100,"url":"https://github.com/joknarf/selector","last_synced_at":"2026-02-01T21:03:37.305Z","repository":{"id":213699497,"uuid":"734721325","full_name":"joknarf/selector","owner":"joknarf","description":"Bash/Zsh/Ksh interactive select menu","archived":false,"fork":false,"pushed_at":"2026-01-31T17:31:51.000Z","size":112,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-01T03:38:49.295Z","etag":null,"topics":["bash","color","command-line-tool","filter","interactive","ksh","menu","ncurses","plugin","powerline","scrolling","search","select","shell","shell-extension","terminal","zsh"],"latest_commit_sha":null,"homepage":"https://joknarf.github.io/joknarf-tools","language":"Shell","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/joknarf.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-12-22T12:36:52.000Z","updated_at":"2026-01-31T17:31:55.000Z","dependencies_parsed_at":"2024-01-23T22:21:38.718Z","dependency_job_id":"b8cf56b8-11c2-43fa-8e3a-d3bb2ea1ef83","html_url":"https://github.com/joknarf/selector","commit_stats":{"total_commits":98,"total_committers":1,"mean_commits":98.0,"dds":0.0,"last_synced_commit":"56067466fcf89ef78bd20c55774ebc5560cd1a57"},"previous_names":["joknarf/bselect","joknarf/selector"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/joknarf/selector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joknarf%2Fselector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joknarf%2Fselector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joknarf%2Fselector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joknarf%2Fselector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joknarf","download_url":"https://codeload.github.com/joknarf/selector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joknarf%2Fselector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28990717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T20:57:35.821Z","status":"ssl_error","status_checked_at":"2026-02-01T20:57:29.580Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","color","command-line-tool","filter","interactive","ksh","menu","ncurses","plugin","powerline","scrolling","search","select","shell","shell-extension","terminal","zsh"],"created_at":"2024-11-10T12:30:46.719Z","updated_at":"2026-02-01T21:03:37.301Z","avatar_url":"https://github.com/joknarf.png","language":"Shell","readme":"[![Joknarf Tools](https://img.shields.io/badge/Joknarf%20Tools-Visit-darkgreen?logo=github)](https://joknarf.github.io/joknarf-tools)\n[![Build and Release Packages](https://github.com/joknarf/selector/actions/workflows/release.yml/badge.svg)](https://github.com/joknarf/selector/actions/workflows/release.yml)\n[![Packages](https://img.shields.io/badge/Packages-%20rpm%20|%20deb%20|%20pkg%20|%20apk%20|%20brew%20-darkgreen.svg)](https://github.com/joknarf/selector/releases/latest)\n[![bash](https://img.shields.io/badge/shell-bash%20|%20zsh%20|%20ksh%20-blue.svg)]()\n[![Licence](https://img.shields.io/badge/licence-MIT-blue.svg)](https://shields.io/)\n\n# selector\n\nShell interactive menu (bash/zsh/ksh compatible)\n\n![image](https://github.com/joknarf/selector/assets/10117818/c3c782eb-ad34-4c31-b806-fbd30270f03a)\n\n## features\n\n* dynamic interactive menu with items filtering / selection\n* customizable key interaction\n* possible display file/folder icons \n* customizable colors\n\n## demo\n\n![selector](https://github.com/user-attachments/assets/d3be018d-1a6e-4101-b292-8f1fd6744d67)\n\n## install\n\nUse a shell plugin manager like the famous [thefly](https://github.com/joknarf/thefly) or use your favorite OS package manager with [release](https://github.com/joknarf/selector/releases/latest) packages\n```\nfly add joknarf/selector\nor\nbrew install joknarf/tools/selector\ndnf install https://github.com/joknarf/selector/releases/latest/download/selector.rpm\n...\n```\nsee [joknarf tools](https://joknarf.github.io/joknarf-tools) for package repositories\n\n## usage\n\n```\nusage: selector [-p \u003cprompt\u003e] -i \u003citems\u003e|-f \u003citemfile\u003e [-P \u003cy|n\u003e]\nargs :\n  -p, --prompt          menu prompt\n  -i, --items           menu items \\n separated\n  -f, --file            file with items\n  -F, --filter          regexp pattern filter items\n  -P, --powerline       y or n, powerline symbol usage\n  -a, --autofilter      y or n, filter at keystrokes\n  -k, --keyfunc         Custom additional key function\n```\n\nselector can be used as command line or sourced to be used as function (bash/zsh/ksh compatible)  \nWhen sourced, the selected item is available as `$selected`.\n\n## keys\n\n|key                             | action                                                |\n|--------------------------------|-------------------------------------------------------|\n|\u003ckbd\u003e▼\u003c/kbd\u003e                    | select next item                                      | \n|\u003ckbd\u003e▲\u003c/kbd\u003e                    | select prev item                                      |\n|\u003ckbd\u003eEnd\u003c/kbd\u003e/\u003ckbd\u003e▶\u003c/kbd\u003e     | select last item                                      |\n|\u003ckbd\u003eHome\u003c/kbd\u003e/\u003ckbd\u003e◀\u003c/kbd\u003e    | select first item                                     | \n|\u003ckbd\u003eShift\u003c/kbd\u003e\u003ckbd\u003e▼\u003c/kbd\u003e/\u003ckbd\u003ePgUp\u003c/kbd\u003e/\u003ckbd\u003eCtl\u003c/kbd\u003e\u003ckbd\u003eF\u003c/kbd\u003e| next page    |\n|\u003ckbd\u003eShift\u003c/kbd\u003e\u003ckbd\u003e▲\u003c/kbd\u003e/\u003ckbd\u003ePgDn\u003c/kbd\u003e/\u003ckbd\u003eCtl\u003c/kbd\u003e\u003ckbd\u003eB\u003c/kbd\u003e| previous page|\n|\u003ckbd\u003eDel\u003c/kbd\u003e/\u003ckbd\u003eF8\u003c/kbd\u003e    | delete item in menu                                   |\n|\u003ckbd\u003eEsc\u003c/kbd\u003e                  | exit                                                  |\n|\u003ckbd\u003eCtrl\u003c/kbd\u003e\u003ckbd\u003eA\u003c/kbd\u003e    | use all screen to display menu                        |\n|\u003ckbd\u003eTab\u003c/kbd\u003e                  | apply/new filter                                      |\n|\u003ckbd\u003eEnter\u003c/kbd\u003e                | validate item selected                                |\n\n* filter pattern can be applied entering text\n* selection can be done entering item number\n\n# customize\n\nselector menu can be customized setting following variables:\n```\nSELECTOR_FOLDER_ICON=🖿            # folder icon\nSELECTOR_FILE_ICON=📄             # file icon\nSELECTOR_CASEI=false               # case sensitivity filter\nSELECTOR_POWERLINE=y               # avoid using glyphs with 'n'\nSELECTOR_COL_PROMPT=\"30;90;180\"    # blue\nSELECTOR_COL_TEXT=\"255;255;255\"    # white\nSELECTOR_COL_TOTAL=\"32;64;64\"      # darkggrey\nSELECTOR_COL_NUM=\"36;114;67\"       # green\nSELECTOR_COL_ARROW=\"41;98;114\"     # cyan\nSELECTOR_COL_ITEM=\"118;141;255\"    # light blue\nSELECTOR_COL_SELECTED=\"42;221;244\" # light cyan\n```\n\ndemo usage at:\n\n* [seedee](https://github.com/joknarf/seedee) : navigate in directories from command line with arrow keys with dir history (bash/zsh/ksh)\n* [redo](https://github.com/joknarf/redo) : replacement for \u003ckbd\u003eCtrl\u003c/kbd\u003e\u003ckbd\u003eR\u003c/kbd\u003e and \u003ckbd\u003eEsc\u003c/kbd\u003e\u003ckbd\u003e/\u003c/kbd\u003e to search in command history (bash/zsh)\n* [complete-ng](https://github.com/joknarf/complete-ng) : bash/zsh command line completion replacement for multiple choices output with interactive menu\n","funding_links":[],"categories":["Plugins"],"sub_categories":["ZSH on Windows"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoknarf%2Fselector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoknarf%2Fselector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoknarf%2Fselector/lists"}