{"id":19080407,"url":"https://github.com/seeminglyscience/terminal-input","last_synced_at":"2026-06-05T16:31:09.874Z","repository":{"id":87373562,"uuid":"178600280","full_name":"SeeminglyScience/terminal-input","owner":"SeeminglyScience","description":"A very simple VSCode extension for setting key bindings that send custom input to the active terminal.","archived":false,"fork":false,"pushed_at":"2019-03-30T19:08:37.000Z","size":12,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-02T19:41:58.256Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/SeeminglyScience.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2019-03-30T19:07:20.000Z","updated_at":"2024-03-28T01:28:49.000Z","dependencies_parsed_at":"2023-03-27T13:04:30.777Z","dependency_job_id":null,"html_url":"https://github.com/SeeminglyScience/terminal-input","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeeminglyScience%2Fterminal-input","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeeminglyScience%2Fterminal-input/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeeminglyScience%2Fterminal-input/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeeminglyScience%2Fterminal-input/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SeeminglyScience","download_url":"https://codeload.github.com/SeeminglyScience/terminal-input/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240131736,"owners_count":19752727,"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-09T02:23:30.924Z","updated_at":"2026-05-22T02:30:18.943Z","avatar_url":"https://github.com/SeeminglyScience.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terminal Input\n\nA very simple VSCode extension for setting key bindings that send custom input to the active terminal.\n\n## Motivation\n\nThe main shell I use is PowerShell. The default key binding in PowerShell to add a new line to the prompt\nwithout completing the command is \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003eenter\u003c/kbd\u003e. In VSCode, this doesn't work and\nthe \u003ckbd\u003eshift\u003c/kbd\u003e modifier is lost.\n\nSo the entire point of this extension is so that I can rebind \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003eenter\u003c/kbd\u003e to\nsome other input that the integrated terminal *can* accept, and then handle it within [PSReadLine][1].\n\n[1]: https://github.com/lzybkr/PSReadLine\n\n## Fixing shift+enter for PowerShell\n\n1. Add this to your [settings.json][2] file.\n\n    ```json\n    \"terminal.integrated.commandsToSkipShell\": [ \"terminalInput.sendCustomInput\" ],\n    \"terminalInput.customInputs\": { \"heartEmojiWithAlt\": \"\\u001b\\u2665\" },\n    ```\n\n1. Add this to your [keybindings.json][3] file.\n\n    ```json\n    {\n        \"key\": \"shift+enter\",\n        \"command\": \"terminalInput.sendCustomInput\",\n        \"args\": [ \"heartEmojiWithAlt\" ],\n        \"when\": \"terminalFocus\"\n    }\n    ```\n\n1. Add this to your [$profile.CurrentUserAllHosts][4] file.\n\n    ```powershell\n    if ($env:TERM_PROGRAM -eq 'vscode') {\n        Set-PSReadLineKeyHandler -Chord \"alt+$([char]0x2665)\" -Function AddLine\n    }\n    ```\n\n[2]: https://code.visualstudio.com/docs/getstarted/settings\n[3]: https://code.visualstudio.com/docs/getstarted/keybindings\n[4]: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseeminglyscience%2Fterminal-input","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseeminglyscience%2Fterminal-input","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseeminglyscience%2Fterminal-input/lists"}