{"id":23688971,"url":"https://github.com/richmit/vergo","last_synced_at":"2026-02-11T19:03:04.293Z","repository":{"id":270268407,"uuid":"861402136","full_name":"richmit/verGo","owner":"richmit","description":"A tool for managing and running tools in a UNIX'ish environment","archived":false,"fork":false,"pushed_at":"2024-12-30T05:38:13.000Z","size":31,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-22T04:42:16.900Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/richmit.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"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-22T19:43:42.000Z","updated_at":"2024-12-30T05:38:16.000Z","dependencies_parsed_at":"2024-12-29T22:18:14.996Z","dependency_job_id":"43834e46-166a-4d26-89de-5ffac31888f4","html_url":"https://github.com/richmit/verGo","commit_stats":null,"previous_names":["richmit/vergo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/richmit/verGo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richmit%2FverGo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richmit%2FverGo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richmit%2FverGo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richmit%2FverGo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richmit","download_url":"https://codeload.github.com/richmit/verGo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richmit%2FverGo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29341706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T18:58:20.535Z","status":"ssl_error","status_checked_at":"2026-02-11T18:56:44.814Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2024-12-30T00:32:25.458Z","updated_at":"2026-02-11T19:03:04.276Z","avatar_url":"https://github.com/richmit.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"* verGo\r\n\r\n** Introduction\r\n\r\n  =verGo.sh= provides a much more sophisticated method to find preferred versions of various applications than trying to manage =PATH= variables or shell aliases.\r\n  =verGo.sh= is driven by a configuration file with each application being individually configured:\r\n    - Each application has it's own search path.  This allows one to use the same configuration file across systems with the applications installed in different\r\n      locations.\r\n    - Configuration lines can be selected based on logical conditions.  For example, a line might only be active on a particular version of an operating\r\n      system or when being run from a particular terminal.  \r\n    - Applications may be wrapped in \"=rlwrap=\" or \"=winpty=\" if desired.\r\n    - Each application can have runtime shell environment variables defined.\r\n\r\n** Common Useage Patterns\r\n\r\n  =verGo.sh= is normally used in one of four ways:\r\n     1) Create a link to =verGo.sh=.  The name of the link will be used as the \"application\" name\r\n        This allows us to create a personal \"bin\" directory containing links to =verGo.sh= specifying various applications we use.\r\n     2) Run =verGo.sh= with the -app argument to specify the application name.\r\n     3) Run =verGo.sh= with the application name after any =verGo.sh= options. On Linux, this mode can be used for SHBANG lines: \\\\\r\n           =#!/home/richmit/bin/verGo.sh= ruby\r\n     4) On some platforms (BSDs for example) SHBANG lines require a binary, so you can use =verGo.sh= this way: \\\\\r\n           =#!/bin/bash /home/richmit/bin/ruby=\r\n\r\n** Command Line Options\r\n\r\n#+begin_src text\r\n    -noRun ................... Don't actually run the application\r\n    -app APP_NAME ............ Name of the application to run\r\n    -noWrap .................. Enable or disable rlwrap \u0026 winpty\r\n    -prtCmd .................. Print the command we find\r\n    -prtVar .................. Print the variables for the command we find\r\n                               Each variable is printed on a separate line\r\n                               If -prtCmd \u0026 -prtVar are both provided, the command is printed first\r\n    -prtFmt \u003cUNIX|WIN|DOS\u003e ... Print format for -prtCmd\r\n    -noErrors ................ Don't print errors -- still, exit, just don't print anything\r\n    -rcfile \u003cFILE\u003e ........... Use this RC file instead of ~/.verGoRC\r\n    -debug ................... Enable debugging\r\n#+end_src\r\n\r\n** Exit Codes\r\n\r\n    - 7 ERROR: Invalid value for ~-prtFmt~\r\n    - 6 ERROR: No application name provided!\r\n    - 5 ERROR: rcfile not found!\r\n    - 4 ERROR: Duplicate app found in rcfile\r\n    - 3 ERROR: Application not supported\r\n    - 2 ERROR: Application supported, but no executable found\r\n    - 1 ERROR: Application supported, executable found, failed to exec\r\n    - 0 Application found in ~-noRun~ mode\r\n\r\n** Recipies\r\n\r\n    - To just see if =verGo.sh= knows about an application: Use the =-app= and =-noRun= options.\r\n    - To just print the command binary that would be executed: Use the =-app=, =-noRun=, and =-prtCmd= options.\r\n\r\n** Configuration file\r\n  \r\n    The default configuration file is ~/.verGoRC.  This may be overridden via the -rcfile option.  \r\n    A simple line oriented format is used with each line looking like: \\\\\r\n        =[BOOLEAN_EXPR ::: ] APP_NAME [-r HIST_NAME|-w] [VARIABLES] === ALTERNATIVES=\r\n    Syntax rules:\r\n      - The =APP_NAME= is the name of the application and may not contain whitespace\r\n      - When present, the =HIST_NAME=, must not contain whitespace\r\n      - =VARIABLES= is a space separated list of variable definitions of the form =FOO=BAR= -- may be single quoted\r\n        - Example: =PATH=/usr/bin 'HOMER_RANGE=/a/path with/spaces in it/'=\r\n      - =ALTERNATIVES= is a space separated list of fully qualified path component or =APP_NAME= values -- may be \r\n        single quoted\r\n        - Example: =/a/path '/path/with spaces/foo.exe' anAppName /another/path=\r\n      - Note the whitespace in front of and after both operators (\"~:::~\" and \"~===~\")!\r\n      - =BOOLEAN_EXPR= is a shell boolean expression -- something that can be placed between square brackets\r\n        - Variables available for use in this expression include:\r\n          - =HOSTNAME ...........= Hostname\r\n          - =OSTYPE .............= OS family name (msys for MSYS2, \r\n          - =MACHTYPE ...........= Bash built-in for machine hardware type\r\n          - =HOME ...............= Usually set to the user home directory (some systems don't set this)\r\n          - =PATH ...............= The system path\r\n          - =MJR_LOC ............= Location of system as defined by the existence of a file like ~/mjrLOC-NAME\r\n        - Examples\r\n          - ~\"$HOSTNAME\" == 'foobar'~\r\n          - ~\"$OSTYPE\" == 'msys' -a \"$MACHTYPE\" == 'x86_64'~\r\n          - ~\"$TERM\" != 'dumb'~\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichmit%2Fvergo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frichmit%2Fvergo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichmit%2Fvergo/lists"}