irthomasthomas / undecidability

12 stars 2 forks source link

How Warp Uses Warp | Warp #710

Open irthomasthomas opened 8 months ago

irthomasthomas commented 8 months ago

TITLE: How Warp Uses Warp | Warp

DESCRIPTION: "How Warp Uses Warp
David Stern, Ian Hodge, Michelle Lim, Agata Cieplik
September 13, 2022

In this article, members of the Warp team talk about how we’ve integrated some of Warp’s cooler features into our day-to-day workflows. Specifically, we go beyond expected features like split panes and tab completion and focus on unique features in Warp that improve on the terminal status quo. We’re excited about what we’re building and hope that this post gives some insight into how our team works!

Block Sharing - David Stern (Engineer)

Block sharing in Warp allows users to share a block – a grouping of a command and its output – easily with coworkers or teammates by creating a web permalink that teammates can visit to see the terminal’s input and output for a given command.

Developers tend to take screenshots of terminal output, but screenshots have a number of problems. By their nature, you can only capture at most one screen of text, and commands often produce much longer outputs. On top of that, recipients cannot search, select, or copy-paste text in screenshots. This in turn makes it hard to find specific strings or errors in the text.

As another sharing solution, developers also try copy-pasting text from the terminal, but that has its own issues - it’s often hard to read output because colors are lost and text-wrapping is wrong on different screen sizes.

Block sharing fixes these issues and has completely replaced screenshotting and copy-pasting terminal output in our team. Colors and text-wrapping are preserved, so developers can easily spot things like specific line changes (eg. git diff) or untracked files (eg. git status). Under the hood, colors and fonts are being stored by using ANSI escape sequences (read more here) and text formatting is stored as a series of JSON objects that preserve newlines as well as spacing between characters.

Here’s an example of a block I shared in Warp’s #help Slack channel about a month ago. I was getting multiple error outputs from the command cargo clippy -p warp, which runs a Rust linter on the Warp codebase."

URL: How Warp Uses Warp

Suggested labels

{'label-name': 'Terminal-Workflow-Enhancements', 'label-description': 'Enhancements to terminal workflows through unique features like block sharing and AI command search', 'gh-repo': 'https://www.warp.dev/blog/how-warp-uses-warp', 'confidence': 72.09}

irthomasthomas commented 8 months ago

Related content

654 - Similarity score: 0.82

367 - Similarity score: 0.82

364 - Similarity score: 0.82

62 - Similarity score: 0.81

701 - Similarity score: 0.81

6 - Similarity score: 0.8