{"id":18658355,"url":"https://github.com/shime/terminal-menu","last_synced_at":"2025-09-07T14:41:13.055Z","repository":{"id":59157597,"uuid":"66757486","full_name":"shime/terminal-menu","owner":"shime","description":"Retro ANSI terminal menu.","archived":false,"fork":false,"pushed_at":"2018-01-29T10:16:00.000Z","size":27,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-18T01:36:10.515Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/shime.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}},"created_at":"2016-08-28T08:17:28.000Z","updated_at":"2025-03-17T00:27:18.000Z","dependencies_parsed_at":"2022-09-13T17:51:40.209Z","dependency_job_id":null,"html_url":"https://github.com/shime/terminal-menu","commit_stats":null,"previous_names":["twobucks/terminal-menu"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/shime/terminal-menu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shime%2Fterminal-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shime%2Fterminal-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shime%2Fterminal-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shime%2Fterminal-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shime","download_url":"https://codeload.github.com/shime/terminal-menu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shime%2Fterminal-menu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266433813,"owners_count":23927825,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T07:32:38.304Z","updated_at":"2025-07-22T05:34:16.552Z","avatar_url":"https://github.com/shime.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terminal Menu\n\n[![Build Status](https://travis-ci.org/twobucks/terminal-menu.svg)](https://travis-ci.org/twobucks/terminal-menu)\n\nRetro ANSI terminal menu.\n\n![example](example.png)\n\n\n## Install\n\n```\ngem install terminal-menu\n```\n\n## Example\n\n\n```ruby\nrequire 'terminal-menu'\n\nmenu = TerminalMenu.new(title: 'Rick Astley - Never Gonna Give You Up',\n                        description: '',\n                        width: 40,\n                        fg: 'white',\n                        bg: 'red') do |selected|\n                          puts \"you have selected: #{selected}\"\n                          menu.quit\n                        end\n\nmenu.add('Never gonna give you up') do |selected|\n  puts \"first option selected\"\nend\nmenu.add('Never gonna let you down') do |selected|\n  puts \"second option selected\"\nend\nmenu.add('Never gonna run around and desert you') do |selected|\n  puts \"third option selected\"\nend\nmenu.show\n```\n\n# API\n\n```ruby\n# Initializes new TerminalMenu instance.\n# \n# block - Optional block that will get called with label once some option\n#         is selected\n# \n# Options:\n#\n#   title - The title of this menu (default: '')\n#   description - The description of this menu (default: '')\n#   width - The width of this menu in chars (default: 80)\n#   fg - Foreground color of this menu (default: 'white')\n#   bg - Background color of this menu (default: 'black')\n#   stdin - Input IO instance (default: STDIN)\n#   stdout - Output IO instance (default: STDOUT)\nmenu = TerminalMenu.new(title: '', description: '', width: 80,\n                        fg: 'white', bg: 'black',\n                        stdin: STDIN, stdout: STDOUT){|selected| block }\n\n\n# Adds a new item to menu options.\n#\n# label - Label for this menu option.\n# blk - Optional block that will be called once this option is selected.\nmenu.add(label, \u0026blk)\n\n# Starts read-eval-print loop.\nmenu.show\n\n# Quits this menu.\nmenu.quit\n```\n\n## Thanks\n\nTo [@substack](https://github.com/substack) for creating [terminal-menu](https://github.com/substack/terminal-menu) for Node.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshime%2Fterminal-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshime%2Fterminal-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshime%2Fterminal-menu/lists"}