Your lightning fast, multiplatform, themable text editor, with synchronization between instances!
Fulgur is a straightforward text editor built for speed and reliability across multiple platforms. It's not designed to replace full-featured IDEs like VS Code, IntelliJ, or Zed, nor does it aim to match the extensive capabilities of editors like Emacs or Vim.
Fulgur focuses on being fast, dependable, and built with modern technologies. Fulgur is built with Rust and GPUI, a modern, GPU-accelerated UI framework for Rust developed for Zed. No embedded webviews, no Javascript, just pure, native performance.
Themes are a core part of the Fulgur experience, with several included by default.
Version 0.2.0 introduces Sync mode, allowing you to securely send files between Fulgur instances similar to how you share tabs between browsers. The best part: Fulgurant, the open source sync server, is self-hostable, keeping your data private.
Version 0.3.0 introduces multi-window support, allowing you to open multiple Fulgur windows simultaneously, as well as a much more robust and secure end-to-end encryption system using the system's keychain. As a result it limits compatibility issues on some desktop environments on Linux.
Version 0.4.0 is more of a maintenance release, with a strong focus on performance, security and code quality. It also adds the support of the syntax highlighting for 15 new languages.
Version 0.5.0 introduces the support of syntax highlighting for 13 new languages as well as a much better support of PHP, Astro and Svelte. The editor now supports code folding and has a new Markdown preview tab. We've started to implement comfort features that require platform specific code such as the Dock menu on macOS. Talking about macOS, Fulgur is now signed an notarized, no more gatekeeper warnings! Finally, we've added many performance and security improvements which make the experience with Fulgur even nicer.
Version 0.6.0 finally introduces drag and drop! Open your files by just dragging and dropping them in Fulgur. Tabs are also now reorderable within the same window with drag and drop. Due to a current limitation of GPUI, drag and drop between windows is not supported but a new submenu in a tab's context menu allow to send the tab to another window. Colors are now first class citizen with a powerful color picker and color converter bar available for all tabs from the status bar, as well as a switchable color preview within your files. Last but not least, many improvements such as much nicer icons on Windows and Linux, a Windows taskbar menu and various performance improvements are part of this build.
Version 0.7.0 introduces a much anticipated feature, the direct remote edition of files via SSH. You can now edit files on a remote server directly from Fulgur, without needing to download them first. An integrated file browser allows you to navigate and edit files on the remote server if you don't know its path. The settings and state files now support corruption recovery by backing up their last known good state. And, as a preparation for the support of multiple Fulgurant servers, the maximum size of a shared file is now directly obtained from the server (Fulgurant 0.6.0+). Besides the many performance & security improvements, the linter has been hardened to pedantic to increase even more the code quality.
↑ The main window.
↑ Markdown preview and toolbar.
↑ The share panel when connected to Fulgurant server.
↑ The theme selection panel.
↑ The color toolbar with the color picker and the color converter, and the automatic color highlighting of the source code.
↑ The file browser for remote SSH connection if the full path is not known..
Fulgur is currently in alpha development. While it has been stable in testing, several features are still being implemented and issues remain to be resolved:
- DONE in 0.6.0
Drag and drop support - Multi Fulgurant sync server support
- DONE in 0.3.0
Multi-windows support - CONTINUED in 0.5.0 Syntax highlighting for additional languages
- DONE in 0.2.0
Sync mode functionality - Embedded terminal
- Drag and drop of tabs between windows
- Various edge cases
Note that breaking changes may occur in future releases until v1.0.0.
Fulgur themes use the gpui-component format, configured with JSON files and hexadecimal color codes. Bundled themes are located in src/themes and will be stored in ~/.fulgur/themes when installed. You can modify existing themes or create your own.
Rust 1.95.0 is the minimum supported version.
Install cargo-packager with cargo install cargo-packager --locked. It will bundle the app with a nice icon for each platform.
Install cargo-about with cargo install cargo-about --locked. It will generate the list of third parties licenses, as per the Apache 2.0 license's terms.
Xcode must be installed (e.g. from the App Store) as well as the Xcode command line tools: xcode-select –-install.
Install the Windows SDK matching the version of your OS and make sure that fxd.exe (matching your architecture e.g. x86-64, arm...) is in the path.
Fulgur bundles OpenSSL for SSH remote file editing, which requires two additional build tools:
- Strawberry Perl: needed for OpenSSL's
Configurescript - NASM: needed for OpenSSL's assembly routines
Both must be on your PATH before running cargo build.
System libraries
Fulgur stores its end-to-end encryption keys in the system keychain through the Secret Service API (GNOME Keyring, KWallet, or any compatible provider). Building the Linux version therefore requires the D-Bus development headers in addition to the usual GUI libraries:
On Ubuntu/Debian:
sudo apt install \
libdbus-1-dev pkg-config libssl-dev \
libxcb1-dev libxkbcommon-dev libxkbcommon-x11-dev \
libfontconfig1-dev libfreetype6-dev \
libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-devOn Fedora/RHEL: sudo dnf install dbus-devel pkgconf-pkg-config openssl-devel libxcb-devel libxkbcommon-devel libxkbcommon-x11-devel fontconfig-devel freetype-devel
On Arch: sudo pacman -S dbus pkgconf openssl libxcb libxkbcommon libxkbcommon-x11 fontconfig freetype2
At runtime a Secret Service provider (for example GNOME Keyring or KWallet) must be running and unlocked for synchronization key storage to work.
Linker
Fulgur uses mold as the linker on Linux to reduce memory usage during compilation. You have two options:
Option 1: Install clang and mold
Install the required tools:
clang: required for the C compilermold: a faster linker that uses less memory
On Ubuntu/Debian: sudo apt install clang mold
On Fedora/RHEL: sudo dnf install clang mold
On Arch: sudo pacman -S clang mold
Option 2: Use the default linker
If you prefer not to install additional tools, comment out lines 8–10 in .cargo/config.toml:
# [target.x86_64-unknown-linux-gnu]
# linker = "clang"
# rustflags = ["-C", "link-arg=-fuse-ld=mold"]Note that builds may consume more memory with the default linker, especially on systems with limited RAM.
Once all the prerequisites installed and set up:
- Run
cargo build --releaseto build an optimized version of Fulgur. May take some time on older systems. - Run
cargo packager --releaseto build an optimized version of Fulgur and make a pretty executable with an icon.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.





