Bluefish (software)


Bluefish is a free and open-source software and an advanced source code editor with a variety of tools for programming and website development. It supports editing source code such as C, JavaScript, Java, PHP, Python, and as well as markup languages such as HTML, YAML, and XML. It is available for many platforms, including Linux, macOS, and Windows, and can be used via integration with GNOME or run as a stand-alone application. Designed as a compromise between plain text editors and full programming IDEs, Bluefish is lightweight, fast and easy to learn, while providing many IDE features. Bluefish was one of the first source code editors on the Linux desktop. It has been translated into 17 languages. The source code is available under the GNU General Public License.

Features

Compared to an IDE Bluefish lacks functionality like an integrated debugger or a WYSIWYG web design component.
Bluefish's features include syntax highlighting and auto-completion for 47 different markup and code languages, customizable via an XML language definition format. It furthermore features code folding, auto-recovery, upload/download functionality, a code-aware spell-checker, a Unicode character browser, project support, code navigation and bookmarks. It also supports regular expressions and multi-file search and replace. It has a multiple document interface that can quickly load large codebases or websites, and features full screen editing.
For web development it has many toolbars with specific dialogs and wizards to automatically insert the correct HTML tags in addition to autocompletion for all tags and their attributes together with Zencoding/emmet
Bluefish is extensible via plugins and external tools and scripts. Many scripts come preconfigured, including statical code analysis, and syntax and markup checks for different markup and programming languages such as lint or weblint. Also a simple macro-like feature called "custom menu" helps to speed up repeating actions. A large set of macro's for PHP and HTML come preconfigured.

History

Bluefish was started by Chris Mazuc and Olivier Sessink in 1998 to facilitate web development professionals on Linux desktop platforms. Bluefish was at the time one of the only web development focused editors on the Linux. Linux, due to the LAMP stack, was becoming the most popular web hosting platform. Bluefish was quickly part of the major Linux distributions, such as Debian Potato, Knoppix 2.1 and the first Fedora release.
The development of Bluefish was initially inspired by two other editors: the configurable syntax scanning and highlighting was inspired by the NEdit and the user interface was inspired by Homesite which was only available on Windows. Bluefish was originally called THTML editor, which was considered too cryptic; then ProSite, which was abandoned to avoid clashes with web-development companies already using that name. Finally the name Bluefish was chosen after a logo was proposed on its mailing list.
The 1.0.x branch was released in 2005, and included a new logo. In 2005 a Bluefish fork of 1.3 was made to create Winefish, a LaTeX editor. The 2.0.x branch was a big rewrite, changing to the GTK 2 GtkTextView widget and a new syntax scanning engine based on a deterministic finite automaton. The 2.2.x branch, which is the current stable branch, supports both GTK 2 and GTK 3.
Although Bluefish is not an official part of the GNOME desktop environment, it is often considered so because it uses the GTK toolkit and integrates well in GNOME.