{"id":28234700,"url":"https://github.com/radad/radline","last_synced_at":"2025-06-12T22:31:25.789Z","repository":{"id":149214216,"uuid":"190491248","full_name":"RadAd/RadLine","owner":"RadAd","description":"Improved command line completion for cmd.exe","archived":false,"fork":false,"pushed_at":"2025-04-15T03:31:49.000Z","size":1237,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-05-18T22:14:15.641Z","etag":null,"topics":["appveyor","cmd","console","win32","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","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/RadAd.png","metadata":{"files":{"readme":"README.md","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":"2019-06-06T01:07:05.000Z","updated_at":"2025-04-15T03:31:53.000Z","dependencies_parsed_at":"2024-02-16T09:25:28.562Z","dependency_job_id":"c26cbf80-6963-4bec-a27b-da724457f99a","html_url":"https://github.com/RadAd/RadLine","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/RadAd/RadLine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FRadLine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FRadLine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FRadLine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FRadLine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RadAd","download_url":"https://codeload.github.com/RadAd/RadLine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FRadLine/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259541559,"owners_count":22873714,"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":["appveyor","cmd","console","win32","windows"],"created_at":"2025-05-18T22:14:16.403Z","updated_at":"2025-06-12T22:31:25.777Z","avatar_url":"https://github.com/RadAd.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"RadLine\n=======\n\nImproved command line completion for cmd.exe\n\n![Windows](https://img.shields.io/badge/platform-Windows-blue.svg)\n[![Releases](https://img.shields.io/github/release/RadAd/RadLine.svg)](https://github.com/RadAd/RadLine/releases/latest)\n[![commits-since](https://img.shields.io/github/commits-since/RadAd/RadLine/latest.svg)](https://github.com/RadAd/RadLine/commits/master)\n[![Build](https://img.shields.io/appveyor/ci/RadAd/RadLine.svg)](https://ci.appveyor.com/project/RadAd/RadLine)\n\nDependencies\n-------\n\n[![Minhook](https://img.shields.io/github/commits-since/m417z/minhook/fdcbfb2?label=Minhook%20commits%20since%20fdcbfb2)](https://github.com/m417z/minhook/commits/multihook/)\n\n\nDetails\n-------\n\n`RLoadDll.exe` injects the `RadLine.dll` into `cmd.exe` process.\n\nOn startup the `RadLine.dll` replaces the `ReadConsole` function with its own. This allows it to intercept the command line completion behaviour.\n\nCommand line completion\n-----------------------\n\nThis was the main reason for creating this utility. Completion is looked up using the lua script [RadLine.lua](RadLine.lua).\nThe function `FindPotential` is called with the current command line and returns an array of potential matches.\nThe matches are then listed under the current line.\n\nAuto terminate batch file\n-------------------------\n\nTo enable:\n\n```\nset RADLINE_AUTO_TERMINATE_BATCH=1\n```\n\nThis setting will auto-respond `y` to the `Terminate batch job (Y/N)?` prompt.\n\nExpand Tilde\n------------\n\nThe `~` at the start of an argument is expanded to `%USERPROFILE%`.\n\nPre command execution\n----------------------\n\nThe contents of the environment variable `RADLINE_PRE` are prepended to the current command.\n\nFor example:\n```\nset RADLINE_PRE=echo Start\n```\n\nPost command execution\n----------------------\n\nThe contents of the environment variable `RADLINE_POST` are appended to the current command.\n\nFor example:\n```\nset RADLINE_POST=echo Error: ^%ERRORLEVEL^%\n```\n\nDynamic environment variables\n-----------------------------\n\n`__PID__` will show the process id of the cmd process.\n\n`PROMPT` environment variables in the prompt variable will also be expanded.\n\n`set foo=%(cmd /c echo bar)%` the command in the brackets will expand to the output of the command.\n\nInstall\n-------\n\nTo install, download the [zip](https://github.com/RadAd/RadLine/releases/latest) and decompress to `%APPDATA%\\Radsoft\\RadLine`\n\nAdd the following lines to your cmd startup script:\n```\nset RADLINEDIR=%APPDATA%\\Radsoft\\RadLine\n\"%RADLINEDIR%\\RLoadDll.exe\" /d - \"%RADLINEDIR%\\RadLine.dll\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradad%2Fradline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradad%2Fradline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradad%2Fradline/lists"}