|Developer(s)||Bluefish Dev Team|
2.2.12 / 5 November 2020
|Operating system||Cross-platform (POSIX)|
Bluefish's wizards can be used to assist in task completion. Its other features include Syntax highlighting, auto-completion, code folding, auto-recovery, upload/download functionality, a code-aware spell-checker, a Unicode character browser, code navigation, and bookmarks. It has a multiple document interface that can quickly load codebases or websites, and it has many tools search-and-replace tools that can be used with scripts and regular expressions. It can store the current states of projects to reopen them in that state. Zencoding/emmet is supported for web development.
Bluefish is extensible via plugins and scripts. Many scripts come preconfigured, including statical code analysis, and syntax and markup checks for many different markup and programming languages.
Bluefish was started by Chris Mazuc and Olivier Sessink in 1997 to facilitate web development professionals on Linux desktop platforms. Its development has been continued by a changing group of professional web developers under project organizer Olivier Sessink. It 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. The name Bluefish was chosen after a logo (a child's drawing of a blue fish) was proposed on its mailing list. Since version 1.0, the original logo was replaced with a new, more polished one.
Source code and development
Bluefish is written in C and uses the crossplatform GTK library for its GUI widgets. Markup and programming language support is defined in XML files. Bluefish has a plugin API in C, but it has been used mainly to separate non-maintained parts (such as the infobrowser-plugin) from maintained parts. A few Python plugins exist as well, but they need a C plugin to interact with the main program. Bluefish also supports very loosely coupled plugins: external scripts that read stdin and return their results via stdout can be configured by the user in the preferences panel. It uses autoconf/automake to configure and set up its build environment. Both llvm and gcc can be used to compile Bluefish. On Windows, MingW is used to build the binaries.
|Wikimedia Commons has media related to Bluefish.|