BBEdit

BBEdit is a proprietary text editor made by Bare Bones Software, originally developed for Macintosh System Software 6, and currently supporting macOS.

History
The first version of BBEdit was created as a "bare bones" text editor to serve as a "proof of concept"; the intention was to demonstrate the programming capabilities of an experimental version of Pascal for the Macintosh. The original prototypes of BBEdit used the TextEdit control available in versions of the classic Mac OS of the time. The TextEdit control could not load files larger than 32 KB. The Macintosh Pascal project was ultimately terminated, but the demonstration program was reworked to use the THINK Technologies "PE" text editing engine used for THINK C, which was much faster and could read larger files. BBEdit was the first freestanding text editor to use the "PE" editing engine, and is the only one still being developed.

BBEdit was available at no charge upon its initial release in 1992 but was commercialized in May 1993 with the release of version 2.5. At the same time, Bare Bones Software also made a less-featured version of BBEdit 2.5 called BBEdit Lite available at no cost. BBEdit Lite lacked plugin support, scriptability, syntax coloring and other features then deemed as mainly for advanced users. Bare Bones Software discontinued BBEdit Lite at version 6.1 and replaced it with TextWrangler, which was available for a fee, although significantly less than BBEdit. In 2005, TextWrangler 2.0 was released as freeware and subsequent versions continued to be distributed as such up until 2017, when it was sunsetted and incorporated into BBEdit.

Throughout its history, BBEdit has supported many Apple technologies that failed to gain traction, including OpenDoc and PowerTalk. The failure of PowerTalk, and the desire of developers to have email integrated to their text editor, led to the development of Mailsmith, an email client that uses BBEdit's editor component. Formerly developed by Bare Bones as a commercial application, in 2009 Mailsmith was transferred to Stickshift Software LLC and would continue to be developed as a labor of love and released as freeware. Development of Mailsmith ceased in 2018.

In 1994, taking advantage of BBEdit's then-novel plugin support, third party developers started writing plug-ins to easily create and format HTML code. In fact, the developers at Bare Bones Software first learned of the existence of HTML through users inquiring about these plug-ins. Barebones later bought the rights to the plugin code from their author and included them as part of the standard BBEdit package. The tools were included as an optional palette in version 4, and were progressively more integrated, gaining their own menu in version 5.0. In version 4.5, Bare Bones introduced BBEdit Table Builder as an additional tool for web designers and developers to visually design HTML tables, then the main technique for layout control on web pages. Table Builder was removed in version 6.0, since enhancing it would involve replicating the features of existing visual HTML editors, and BBEdit was at this time bundled with Dreamweaver. BBEdit's plugin support was removed in version 9.6, in favor of the expanded selection of scripting languages available on Mac OS X.

BBEdit was one of the first applications to be made available for Mac OS X, as a Carbon app. On macOS, BBEdit takes advantage of the operating system's Unix underpinnings by integrating scripts written in Python, Perl, or other common Unix scripting languages, as well as adding features such as shell worksheets that provide a screen editor interface to command line functionality similar to MPW Worksheets and Emacs shell buffers.

BBEdit's creator code  refers to Rich Siegel, one of Bare Bones Software's founders and the original author of BBEdit.

Features
BBEdit is designed for use by software developers and web designers. It has native support for many programming languages and custom modules can be created by users to support any language. BBEdit is not a word processor, meaning it does not have text formatting or page layout features.

The application contains multi-file text searching capabilities including support for Perl-compatible regular expressions. BBEdit allows previewing and built-in validation of HTML markup and also provides prototypes for most HTML constructs that can be entered into a dialog box. It also includes FTP and SFTP tools and integrates with code management systems. BBEdit shows differences between file versions and allows for the merging of changes. Support for version control, including Git, Perforce, and Subversion is built in.

A number of applications and developer tools provide direct support for using BBEdit as a third-party source-code editor.

BBEdit supports the Open Scripting Architecture and can be scripted and recorded using AppleScript and other languages, as well as having the ability to execute AppleScripts itself.

Language support
BBEdit supports syntax highlighting for a wide variety of popular computer languages. As of version 10.1, these include: ANSI C, C++, CSS, Fortran 95, HTML, Java, JavaScript, JSP, Lasso, Object Pascal, Objective-C, Objective-C++, Perl, PHP, Python, Rez, Ruby, Setext, SQL (including Transact-SQL, PL/SQL, MySQL, and PostgreSQL), Tcl, TeX, UNIX shell scripts, XML, and YAML. BBEdit's SDK allows users to develop additional language modules.

With the release of version 14.0, BBEdit offered support for the Language Server Protocol allowing users to employ their own programming language servers or to utilise preexisting servers.

BBEdit Lite
BBEdit Lite was a freeware stripped-down version of BBEdit, that ceased development in 2003. BBEdit Lite had many of the same features as BBEdit such as regular expressions, a plug-in architecture and the same text editing engine, but no programming and web-oriented tools such as syntax highlighting, command line shell, HTML tools or FTP support. BBEdit Lite 6.1 comes in two forms: a Classic version for use under Mac OS 7.5.5 to Mac OS 9, and a Carbon version that runs under Mac OS X natively. Note: the Classic version does not run under the Classic environment.

TextWrangler
In 2003, Bare Bones introduced the commercial text editor TextWrangler, an enhanced version of BBEdit Lite, which ceased further development. Later TextWrangler 2.0 was made available free of charge. In 2016, BBEdit 11.6 introduced a free mode that matched TextWrangler's feature set, and in 2017, Bare Bones sunsetted support and development for TextWrangler.

A plain text editor like BBEdit, TextWrangler did not have a robust set of formatting and style options. It has features common to most programming text editors, such as syntax highlighting for various programming languages, a find and replace function with regular expression support, spell check, and data comparison. TextWrangler also included scripting support using AppleScript, Python, Perl, shell scripts, and BBEdit's native Text Factories. It supported text reformatting, and could read and save files in encodings including various Unicode encodings, ASCII, Latin-1 and Latin-9.

BBEdit 11.6 and up
In the Summer of 2016, with the release of BBEdit 11.6, Bare Bones Software introduced a free mode of BBEdit that even after the expiration of the 30-day evaluation period of BBEdit's full features would continue to offer TextWrangler's features and some additional features beyond TextWrangler's. In response to a user question, author Rich Siegel confirmed that TextWrangler would eventually be phased out, given that the free mode of BBEdit now incorporates all functions of TextWrangler.