Skip to content
Thoughtful, detailed coverage of everything Apple for 34 years
and the TidBITS Content Network for Apple professionals
21 comments

BBEdit 15 Adds ChatGPT, Minimap, Cheat Sheets, and More

It’s always interesting to see what features and enhancements Bare Bones Software comes up with for BBEdit, given that the venerable text editor has been evolving for over 33 years. For the major BBEdit 15 update now shipping, the company implemented additions and refinements that have the potential to help your workflow.

ChatGPT Worksheets

The most significant new feature—at least from the trendiness standpoint—is the addition of ChatGPT worksheets that extend the concept of BBEdit’s Shell worksheets that let you chat with the Unix shell. With ChatGPT worksheets, accessed from the File > New menu, you can have conversations with ChatGPT directly within the BBEdit worksheet, with each response appearing directly under your prompt. (As with Shell worksheets, press Enter or Control-Return to send your command to the ChatGPT API.) You can copy suggested lines for pasting into your code (use Text > Strip Quotes first) and continue the conversation until you get what you want.

BBEdit 15's ChatGPT worksheet

Interacting with ChatGPT requires a ChatGPT account and an API key. Note that API access is separate from OpenAI’s interactive ChatGPT subscription. Although OpenAI charges for API requests, Bare Bones doesn’t earn any money from the feature. All queries and responses are transmitted directly between BBEdit and OpenAI, so Bare Bones never sees your conversations.

I’m bullish about the utility of generative AI tools like ChatGPT to help write code. Unlike regular conversations, where you don’t expect the other person to make stuff up or get facts completely wrong, programming is an iterative process of making mistakes and fixing them until everything works correctly. I’ve found that writing AppleScripts with ChatGPT is fairly similar to the back-and-forth necessary when working with another person. TidBITS editor Glenn Fleishman recently built a website for an upcoming book by leaning on the interactive form of ChatGPT 4 to help with his rusty and outdated HTML, CSS, and JavaScript knowledge. He could describe specific page layouts and interactive features, and ChatGPT’s code typically worked with little or no modification.

I recommend programmer James Somers’s thoughtful article on this topic in the New Yorker. It closes with:

I suspect that, as my child comes of age, we will think of “the programmer” the way we now look back on “the computer,” when that phrase referred to a person who did calculations by hand. Programming by typing C++ or Python yourself might eventually seem as ridiculous as issuing instructions in binary onto a punch card. Dijkstra would be appalled, but getting computers to do precisely what you want might become a matter of asking politely.

BBEdit’s ChatGPT worksheets are an early pass at enabling more fluid conversations surrounding code, and I expect the company will be taking feedback from customers who use it (and they want to hear from you—don’t be shy!) to inform the evolution of such features.

Minimap

BBEdit 15's MinimapAnyone whose code or documents go on for pages will appreciate Minimap. Choosing Window > Palettes > Minimap displays a scaled-down version of the current document that floats above all other BBEdit windows, showing a greeked version, complete with colorizing and selections. A slightly darker background in the minimap indicates the portion of the document that’s currently showing.

The idea behind the minimap is that you can use it to get an overview of your document and navigate quickly—clicking in the minimap moves the insertion point to the corresponding location in the document. It’s like a scrub feature in a video editor or streaming player. You can even select text in the minimap to create that precise selection in the document.

Cheat Sheets

BBEdit 13 introduced a Grep Cheat Sheet built into the Find window, and a Markdown Cheat Sheet appeared in BBEdit 13.5. They are designed to serve as quick references for bits of text you can never quite remember—does a Markdown link have square brackets first and then parentheses, or is it the other way around? Cheat sheet entries are essentially live links: clicking an item in a cheat sheet inserts it into the current document.

BBEdit 15 Cheat SheetBBEdit 15 now lets you create your own cheat sheets. A cheat sheet relies on relatively simple JSON. Once you’ve built your cheat sheet, you can make it available alongside others in Window > Cheat Sheets by placing it in BBEdit’s Cheat Sheets support folder (open it by choosing BBEdit > Folders > Cheat Sheets).

 

Other New Features and Enhancements

BBEdit 15 brings numerous more minor changes—somewhere around 200 in all. Here are a few of my favorites:

  • Revisions menu: The navigation bar now contains an icon that, when clicked, displays a menu of revisions to the document. It pulls from git, Subversion, or versions recorded from the file system. This is amazing! Choose a revision from the menu, and BBEdit opens a Differences window that compares the current version to the revision. If you’ve changed the file but not yet saved it, you can also compare it against the version on disk.
    BBEdit 15's revisions menu
  • Grep status indicator: When building a grep search in the Find window, it’s easy to make a mistake and end up with a malformed pattern that will result in an error. To help you realize more quickly that you have a problem, BBEdit now shows a red exclamation point when it detects an error as you’re typing, and a green checkmark appears when your pattern is correctly formed. Click the indicator to learn more about the mistake. (Because it checks as you type, watch the indicator shift from red to green and back again as you refine the pattern.)
    BBEdit 15's grep status indicator
  • Text factory interface overhaul: I’m a fan of text factories, which let you bundle together a collection of BBEdit’s text manipulation commands to run sequentially against a selected file, folder, or group of files. Previously, text factories relied on a special panel, forcing you to choose each command from a lengthy pop-up menu. BBEdit 15 turns text factories into documents that can live alongside others in a BBEdit sidebar, making it easier to associate them with projects and edit them alongside related documents. In each, a new left-hand pane lists the available commands; double-click one to add it to your text factory.
    BBEdit 15's Text Factory interface
  • Open Recent: When choosing just File > Open Recent—not any of the items in the sub-menu—BBEdit now opens a panel listing all the recent items and currently open documents, sorted in the same order as the sub-menu. The search field at the top lets you filter the list, and you can select one or more items and press Return to open them.
    BBEdit 15's Open Recent panel
  • Expert Settings: BBEdit shows numerous options in its Settings window, but many more “expert settings” are too obscure to warrant inclusion in the interface. Previously, you could look these up on a support page and set them with a defaults write command on the command line. In BBEdit 15, choosing BBEdit > Settings > Expert displays them all. You can search for a specific setting and then copy it to get a properly formed defaults write command (with the default setting, ready for adjusting) suitable for pasting into Terminal or a shell worksheet. Most people won’t need these expert settings, but they trigger fond memories of Eudora’s x-eudora-settings.
    BBEdit 15's expert settings
  • Insertion point style: This is trivial, of course, but BBEdit 15 now lets you change your insertion point from the standard flashing vertical bar to a flashing block or underscore. Look in BBEdit > Settings > Editing if you’ve been wanting a Terminal-style insertion point.
    BBEdit 15's block insertion point

I could go on, but you can pore over BBEdit 15’s release notes at your leisure.

BBEdit 15 requires macOS 11 Big Sur or later. The upgrade to BBEdit 15 is free for anyone who purchased BBEdit 14 on or after 1 July 2023, $29.99 for other BBEdit 14 owners, and $39.99 for owners of earlier versions. New copies of BBEdit cost $59.99.

Subscribe today so you don’t miss any TidBITS articles!

Every week you’ll get tech tips, in-depth reviews, and insightful news analysis for discerning Apple users. For over 33 years, we’ve published professional, member-supported tech journalism that makes you smarter.

Registration confirmation will be emailed to you.

This site is protected by reCAPTCHA. The Google Privacy Policy and Terms of Service apply.

Comments About BBEdit 15 Adds ChatGPT, Minimap, Cheat Sheets, and More

Notable Replies

  1. Did you mean 2023?

  2. Adam lives in the future - I thought we all knew that. It’s why his insights are so useful.

  3. If there’s one thing I hate about January, it’s resetting my sense of what year it is. Clearly went overboard on this one. :slight_smile:

  4. At least you didn’t write 2022…

    And the fact that BBEdit is still around after 30+ years is a testament to its usefulness.

    And I’m using it more now than I did when it was first released.

  5. Well, possibly like most people, I paid for the upgrade just because. Probably won’t use the new features, but want it functional for future macOS versions.
    I go back to the free TextWrangler version.

  6. The notion of “Text Factories” is new to me, even though I’ve used BBedit (mostly for rudimentary stuff) for decades.

    Is that (or is there) a way to bundle a series of five or six Find/Replace commands into a single action? That’s one of of my pre-launch production tasks for each edition of Chicago Public Square.

  7. That’s exactly what Text Factories are. You can chain a whole series of commands, including powerful GREP stuff, into one command. They have been pretty buried and hard to configure – hoping the new system makes them easier to set up.

  8. It all sounds interesting. My general feeling is “whatever they do is fine.” I don’t know for sure if I’ll use any of those new features, but I always upgrade BBEdit whenever a new version comes out because it’s great software, and they are a great, responsive company.

  9. As a developer who, after wasting a huge amount of time trying, has given up trying to get ChatGPT to produce working code—or, really, do anything useful at all, beside spout amusing fiction or rhymes—I cannot help but feel we will look back on the inclusion of this feature into the sensible and practical BBedit (so called from the initials of “Bare Bones”, remember?) as the moment we finally arrived at Peak AI Stoopitness.

    I have seen far too often, like approaching 100% of the time, when technical precision is required, ChatGPT is more than happy to confidently spout nonsense. HTML? Sure. Maybe. HTML is stateless, there is no control flow. HTML never fails with a fatal error. I bet it could generate word documents, too. I could believe it could create Sudoku puzzles, if they’ve gotten it to finally understand math.

    But I would guess that most of what developers are doing with BBEdit isn’t stateless. Even CSS3 isn’t. Trying to get ChatGPT to help with, say, production Javascript, not a spectacularly complicated language itself, was worse than a runaround, it was a complete waste of time. It’s less like hashing through a programming problem with a fellow programmer than like hashing through a programming problem with a very well-spoken lunatic.

    Programming is an iterative process, yes, but iterating it requires semantic and procedural understanding. ChatGPT’s understanding of semantics is entirely statistical, it understands the likelihood of relationships between tokenized concepts but not the concepts themselves. It doesn’t know anything. Occasional happy accidents may result in working code, but I wouldn’t chalk them up to anything more than that, and I haven’t seen it happen myself even after the kind of time only a huge geek would spend idealistically trying. I have seen it once or twice cough up some momentarily amazing ideas in prose, but nothing that couldn’t be explained by random chance, and when I asked it to elucidate further, it couldn’t, it clearly didn’t know what it was talking about.

    I believe the single most apt summation I’ve heard of these LLMs is the now-famous “spicy autocomplete” comment: https://twitter.com/solomania/status/1625458520811339777 That’s about the stages I went through with it, too.

    Don’t get me wrong, it’s extraordinarily impressive technology. It’s fun, too. And I use it all the time for editorial suggestions. But not for anything requiring technical knowledge: not for legal research, not for how to keep my houseplants alive, and definitely not for programming. I spent far too much time this year exploring that possibility, without anything at all to show for it but lost hours and frustration.

  10. The new features sound great - but BB Edit is still completely inaccessible to VoiceOver users! unlike most other editors.
    Hopefully this is something being worked on, but no signs of this to date :(

  11. The problem is that the developers of these LLM products are hyping them as actual AI - as if the software has some semblance of understanding your question or its answer.

    In reality, there is no such thing present.

    These LLM models are nothing more than text generators based on probabilities computed from a corpus of training text.

    It takes the question you asked and then asks itself “what word has the highest probability of following this text?” And then it repeats that for the next word, and the next word, and so on.

    Because we write documents in an actual language and not by randomly spewing words from a dictionary, this approach (given enough training data) can produce valid English sentences, and can even construct them in a way that is (usually) relevant to the question.

    But it only works well when the answer to your question appears many times in the training text. If you try to ask it anything that requires an original answer (that is, actual understanding), you just get word salad. Grammatically correct, but complete nonsense.

    This is also why it will fabricate citations for its output. It’s not actively trying to deceive (it doesn’t have the understanding for that concept to even make sense), but it is using its massive probability database to generate text. Since citations come in fairly standard forms, the probabilities it has will produce something that fits a standard template, but the actual content of the citation may completely random.

    I agree with you - ChatGPT and all these LLM software packages are going to go down in history as a big joke. Like a modern day ELIZA.

    The biggest danger here is that far too many people believe the marketing hype and actually believe they’re getting good results from this pseudo-random phrase generator.

  12. I read the information on the BBEdit site that states the new release of BBEdit is NOT compatible with Sonoma. One needs to stay at 14.6.3 of BBEdit until the issues are resolved.

  13. I think you are reading something wrong. I see no such statement on the Bare Bones website. On the contrary, they say they recommend not going to Sonoma until Apple fixes some bugs. But if you do use Sonoma, they do recommend BBEdit 15. In fact, the bugs in Sonoma also affect BBEdit 14. (And no earlier version of BBEdit can run at all on Sonoma.)

    https://www.barebones.com/support/new-os.html

  14. I have the very opposite experience with ChatGPT (plus) and Jetbrains AI in my workflow.

    I have been working with Python as my main programming language for the last 16 years and roughly 10’ish years of PHP before then.

    I have many set ways of doing things in Python, but ML/AI has opened up new solutions for old problems for me. Does the AI get it 100% right? No, but neither would a real pairprogrammer buddy.

    With tools like Jetbrains Ai (running on a mix of ML’s) I love that I can highlight some old code and refactor it or check for vulnerabilities. Could I do that without AI - sure. Would I in reality? Most likely not to be honest unless I know that a subcomponent that I use is vulnerable for attacks.

    Also I have learned more and more how to prompt in order to filter out the wrong answers, so the responses are getting better and better for me.

    So Ai tools can be very useful, but they work best if you already are an “expert” on the stuff that you query about - it is just an extended memory.

    The way BareBones implement GPT via API can be useful for small tasks, but can run pretty expensive if used a lot.

  15. I use text factories to turn Indesign documents (contents exported to tagged files) into xml. I don’t see much advantage to the new interface (and since I’m still clinging to OS 10.14 (mostly for Word 14 (2011)) I won’t for a while yet), but what would really be useful is a search and replace function for the text factories, for example, every new year I need to change the years and volume numbers, so I have to scan through all of the commands (each text factory includes dozens) and hope I don’t miss any. Or I could open them in another text editor (they’re xml files themselves, it seems), but that complicates it. Yes, I’ve requested it, years ago.

  16. In fact, that changed completely—I just didn’t happen to mention it in the article. Rich Siegel covers it below. :slight_smile:

  17. BBEdit 15 release notes:

    “This version includes numerous internal and architecture changes to improve application accessibility; this includes compatibility with VoiceOver, Full Keyboard Access, and external applications which use the system accessibility mechanisms to control the application. (If you use an application of this sort and it is not compatible with BBEdit, please contact the application’s developer for assistance; we will be happy to work with them to ensure the best possible experience.)”

  18. From the BareBones website:

    Important information for BBEdit customers

    We have identified several bugs and regressions in macOS 14 which affect BBEdit’s performance and stability. (FB13219490, FB13213147, FB13264033) For that reason we recommend that you remain on an older compatible version of macOS until such time as Apple addresses these issues. As and when that happens, we will amend our advice accordingly.

  19. Welcome, @siegel! I’m assuming that my recollection of BBEdit’s author’s name is correct (Rich Siegel) and you are the same person. If so, thank you for BBEdit.

  20. Adam’s reference to Eudora made me remember another setting in that fine program: “Waste CPU cycles drawing trendy 3D junk”, if I remember correctly.

Join the discussion in the TidBITS Discourse forum

Participants

Avatar for ace Avatar for charles1 Avatar for jbr Avatar for nello Avatar for meyerson Avatar for jonathan2 Avatar for xdev Avatar for doug2 Avatar for paalb Avatar for eric2 Avatar for Will_M Avatar for jajvj1 Avatar for pbinderup Avatar for MQtips Avatar for Switz Avatar for Shamino Avatar for drmoss_ca Avatar for tim4 Avatar for siegel