Thursday, January 11, 2024

BBEdit 15

Bare Bones Software (Mastodon):

A new Minimap palette shows a high-level overview of the active text document. This facilitates visualization of the document’s overall structure, as well as navigation within larger documents.

I love the minimap in recent versions of Xcode, but I’ve not found myself using the BBEdit version much. It’s in a floating palette, which gives you more flexibility with the size and shape, but it requires more window management. It lacks the section labels, Git status, and hover functionality of the Xcode implementation.

Building on the concept of the Grep Cheat Sheet used in its Find windows, BBEdit 15 introduces the ability to create and use your own Cheat Sheets, which are functional references for text markup and editing.

This is great, and I like how they support syntax highlighting. The file format is documented here.

BBEdit 15’s joins BBEdit’s unique “worksheet” interface to ChatGPT, so that you can have conversations with ChatGPT right in BBEdit itself — no application switching or awkward copy/paste from a web browser. Each chat worksheet that you create maintains its own history, so that you can easily refer back to past conversations, or keep a conversation going across an extended period of time.

Integrating this as worksheets feels very natural, and it seems to work well. I will admit that haven’t found ChatGPT to be very useful in my development. I mostly ask it questions that I don’t know the answers to, and it either doesn’t know either or gives absurdly incorrect results. I need to figure out how to use it as an assistant to do what I could already do myself—but faster.

BBEdit project documents gain an awareness of the “workspace root”, which for a given project is the “most important directory” in the project.

[…]

BBEdit’s unique “Text Factory” feature has been reimagined for version 15. All available transformations are listed for easy access, and assembling a factory requires fewer steps. A new “Run Unix Command” operation improves factory portability by storing the Unix command in the factory itself.

From the more detailed release notes:

The “Text Merge” command on the Text menu provides a new way to transform text in files, by employing a file containing a Grep search and replace pattern along with a table of substitution values.

[…]

The Git menu gets commands to push and pull the current branch to/from its remote.

[…]

When choosing the “Open Recent” item on the File menu (directly), rather than anything off the submenu, BBEdit will open a panel listing all recent items and currently open documents. You can use the search field at the top to filter the results and find the desired item. (You can also select and open multiple items in the list, if desired.)

In my view, the new Open Recent window is the standout feature of BBEdit 15. It basically works like Open File By Name except that it’s for recent documents. This lets me browse a shorter list of recent files, whose names I either might not remember or might not be able to easily find via a global search. I can search to narrow the list and navigate the results list with the keyboard to open one or more documents. I’ve used LaunchBar for this in the past, but the BBEdit-specific window is faster and more convenient. I recommend assigning the Command-Control-O keyboard shortcut and going to the BBEdit settings to increase the number of recent documents remembered.

When “Grep” is turned on in the Find and Multi-File Search windows, BBEdit will validate the pattern as you edit it. An indicator button will display the validation status of the pattern; you can click on it for information about the specific error.

[…]

The navigation bar for text documents includes an item which lists recent SCM revisions (git and/or Subversion) as well as recent file system recorded versions of the file. This can be used as a shortcut to compare a file against a recent revision.

[…]

The Sidebar preferences have a setting: “Allow keyboard focus in sidebar lists”.

[…]

Differences windows gain keyboard navigation in the sidebar, which was not previously possible.

These are all great.

The “Expert Preferences” section of the Preferences window lists available expert preferences (which can be manipulated from the command line), their current values, and their default values. Preferences which have been changed appear in boldface in the list.

[…]

The bbedit command-line tool gets a new argument: --preview. You can use this to open a preview on an existing file, remote URL, or pipe data without opening a document.

[…]

Added “Cut Line”, “Cut Line & Append”, “Copy Line”, and “Copy Line & Append” to the Edit menu, as modifiers of Cut/Copy. (The factory defaults are Control for the non-append versions, and Control-Shift for the append versions.) These can be used to perform the respective operations on a line without needing to select it.

I like these additions, too.

The price has increased from $50 to $60 (or $4/month or $40/year in the Mac App Store), with upgrades still at $30.

See also: Jason Snell.

Previously:

Update (2024-01-23): See also: Adam Engst and Hacker News.

3 Comments RSS · Twitter · Mastodon

Since BBEdit 14 dipped its toes into Shortcuts support, I expected BBEdit 15 to ramp that up and begin moving away from wretched AppleScript. But it sounds like there's no further Shortcuts stuff in this major version.

Kevin Schumacher

I for one look forward to the day when "Added [insert AI of the moment] to our product instead of focusing on actual features" is no longer part of release notes.

(I don't use BBEdit for a variety of reasons, and I'm more making a point than actually saying they didn't add any other features in this release. I am definitely shouting "get off my lawn" but I really don't see the point in so-called AI at all until it's actually reliable.)

> begin moving away from wretched AppleScript

I would be surprised if a product like this ever moves away from AppleScript unless absolutely forced. Despite Apple having lost seemingly any interest in it, it is still a huge source of automation for a lot of "pro" and long-time Mac users, and that's who BBEdit is aimed at.

I’ve found AI to be helpful in Zed (https://zed.dev/) which lets you use GPT-4 inline while writing code. "Rewrite this Python code to use a list comprehension" and it does it. I’ll be interested to try BBEdit’s worksheet approach, since I also use that editor. I really wish they’d get around to adding multiple cursors one of these years.

Leave a Comment