Skip to content

Commit

Permalink
Add vscode terminal helper (talonhub#1395)
Browse files Browse the repository at this point in the history
It makes sense that the VSCode terminal should behave like a terminal.
There's also a corresponding setting that needs to be set in VSCode. cc:
@pokey

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
  • Loading branch information
3 people authored Jun 3, 2024
1 parent 43974b9 commit 235bba4
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
23 changes: 23 additions & 0 deletions apps/vscode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,26 @@ It is recommended to install the [VSCode talon extension pack](https://marketpla
## Cursorless

If you'd like to use Cursorless, follow the instructions in the [cursorless-talon repo](https://github.com/pokey/cursorless-talon).

## Terminal

In order to use terminal commands when the VSCode terminal is focused, you must add the following line to your [VSCode `settings.json`](https://code.visualstudio.com/docs/getstarted/settings#_settingsjson):

```
"window.title": "${activeEditorShort}${separator}${rootName}${separator}${profileName}${separator}focus:[${focusedView}]",
```

This setting will cause VSCode to include a special string in the window title whenever the terminal is focused. Talon will look for this string in the window title and activate the terminal commands in response.

Note that if you have customizations in your window title that you'd like to keep, the important part is just to ensure that `focus:[${focusedView}]` appears somewhere within your custom window title.

In order to enable additional terminal commands you will need to set some tags when the terminal tag is active. You can do this by creating a file in your talon settings that looks something like this:

```
tag: terminal
-
tag(): user.generic_unix_shell
tag(): user.git
tag(): user.kubectl
tag(): user.readline
```
7 changes: 7 additions & 0 deletions apps/vscode/vscode_terminal.talon
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
app: vscode
# Looks for special string in window title.
# NOTE: This requires you to add a special setting to your VSCode settings.json
# See [our vscode docs](./README.md#terminal)
win.title: /focus:\[Terminal\]/
-
tag(): terminal

0 comments on commit 235bba4

Please sign in to comment.