Version 1.2.2

Speare is an ultra lightweight code editor that has a designedly graphical user operation interface smoothly support editing multiple files that written with different programming languages simultaneously. It was originally developed to provide a native scripting language debugging environment that seamlessly integrated with C and C++. Speare Pro is the advanced version that has IDE features especially scripting language debugging environment supported. The most important feature of Speare Pro is that it support directly switch between any version of self-compiled scripting language interpreter, including Lua, Ruby, Python and PHP.

It's free!

If you can't open the link above, please launch App Store and found Speare by searching.

Code editor and IDE on macOS

Terminal based text editors such as GNU Emacs, Vim and Nano, although they are very cool, but their limitations are also obviously, the elephant in the room. TextMate is my favourite code editor long years ago and until today, but it still lack some features. As a programmer, so many IDE and text editors I've used in the past years, such as the bulky cargos, Visual Studio Code, Atom, Android Studio, Eclipse, ActiveState Komodo, ZeroBraneStudio, Xcode, and some light cargos, e.g. TextEdit, Textadept, CotEditor and TextMate. I never like the bulky cargos, e.g. desktop applications that built with NodeJS, React and Electron, Eclipse and Java or .NET and C# based big stuffs. Speare is a small, free and friendly editor which implements the most important missing features in common code editors, e.g. bookmark and fast locate code lines between multiple files, code block live parsing etc.

They make software as big as possible, as complex as possible, but I believe in the opposite philosophy.

No. Code Editor Size No. IDE Size
1Speare 1.2.1 4.4MB 6 Visual Studio Code 1.36.1 211MB
2TextEdit 1.13 5.6MB 7 ActiveState Komodo 11.1 334MB
3TextMate 1.5.7 23.3MB 8Atom 1.38.2 558MB
4Textadept 10.4 35MB 9 ZeroBraneStudio 2019 612MB
5CotEditor 3.3 47MB 10 Android Studio 3.1 1.37GB
11 Eclipse IDE 4.12 400MB~5GB
12 Xcode 10.0 12GB



  1. Well designed user operation interface. Intuitive, friendly, simple and easy.
  2. Fast search and replace in different searching scope, current document, opened files and entire project.
  3. High performance of managing large amount of files and big files. Multiple distributed folder management by simple project file.
  4. Smoothly edit multiple files that written in different programming languages simultaneously. Supports nearly 120 types of common programming language syntax highlighting and parsing, quickly switch between files and projects.
  5. Word autocomplete, sensitivity of keywords when typing, live parsing symbol definition for suggested words list.
  6. Jump to definition and fast locate code lines between editing files by symbol index, bookmark or searching.
  7. Go back and forward, automatically remember the sequence of current editing files.
  8. Keeping entire state after quit, the opened files, selection of each file and the cursor location.
  9. Customisation of fonts and colours for the text editor.
  10. Preview html or markdown files in builtin web browser instantly.
  11. Ultra lightweight, Speare itself is less than 1MB.

Other Builtin Features:
     a. Binary file automatically detection.
     b. Text encodings automatically detection when open file and convert to UTF-8 by default.
     c. Code block selection by double clicking the begin symbol of code block.
     d. Builtin compatible UTF-8 regular expression matching anywhere.

File Organisation

1. Add File or Folder in Workspace

a. Drag file or folder from Finder into Treeview directly.
b. Click "+" symbol on the bottom of Treeview.
c. Create temporary document:
     Click menu: File → New
     Click "+" symbol on the top of tabs view.
d. Click menu: File → Open Recent.

2. Remove File or Folder from Workspace

a. Click "-" symbol on the bottom of Treeview.
b. Use "Command key + D" shortcut to do the deleting.
c. Click menu: File → Delete.

Note: Delete operation supports multiple item selection.

SPP File

SPP File is the abbreviation of "Speare Project Plist" file, it is the project file type of Speare that has an .spp file extension and be used to index distributed file and folder together.

  1. Create SPP File
    Click menu: File → Save as Speare Project file. This operation will store the root path of the nodes in the left side Treeview as a .spp file.

  2. Open SPP File
    Directly dragging the .spp file into Treeview, or select menu "File" → "Open", will load all indexed file and folder stored in the .spp file into the left side Treeview (Workspace Explorer).

Working with SPP files is not necessarily required but it will be more convenient when packaging the distributed paths of file and folder together as .spp files in most usage scenarios.

Search and Replace

  1. Search Current Document:
    Use shortcut "Control key + F" to do the work just like in TextEdit.

  2. Search Opened Files:
    Click search button on toolbar and on the prompt dialog select "In Tabs".

  3. Search Entire Project Folders:
    Click search button on toolbar and on the prompt dialog select "In Project".

  4. Searching by Index:

         a. Click symbol button on toolbar and select items that parsed by the build-in syntax parsers.

         b. Click breakpoint button on toolbar and select items that placed as bookmark or breakpoint.
  5. Filter Item in Left Treeview:
    Input the item name or prefix in the search field which located in the bottom of the Left Treeview and then enter "Return" key.

     Brief & History: each search result has brief of the source line and all be classified, and history of search words remembered.

Tab Selection and Dragging

Speare use tabs to manage multiple opened files on the right side, continuously click on the leftmost or rightmost tab can quickly scroll tabs to left side or right side so that opened files can be quickly switched. Dragging special tabs together will also can help editing multiple files simultaneously more conveniently.

File Rename and Save

1. File Rename
Click the item in the left side Treeview and input a new file name just like in Finder, and then click the left side icon to end editing.

2. File Save
Speare can save file automatically whenever it be edited but the temporary "Untitled files" will be asked to save when quit the app or load a .spp file, because load a .spp file will empty current Treeview.

In addition, Speare will change the icon colour of the item in the left side Treeview to indicate that it has been edited whenever it be edited, and will restore to default state when click the "Save" or "Save All" button on the toolbar.

Jump To Definition

Ensure the keyword selected and then right click one of the popped option menu items. Speare will provide all location where the symbol defined including header file and implement file.

Bookmark & Breakpoint

1. Add: click the line number.
2. Toggle: click on the marker, its colour will changed to dark or light, dark colour means breakpoint in debug mode.
3. Delete: right click on the marker → on the prompt menu, select "Remove".

Show in Finder

Right click the item in the left side Treeview (Workspace Explorer) and then click the prompt menu.

Back and Forward

Just click the "Back" or "Forward" button on the toolbar to switch the files that was being editing.

Customise Font and Colour

Click menu item "Preferences" and then set font and colour of editor background etc.

Markdown & HTML

1. Preview: select menu "View" → "Preview", instantly see html or markdown file in builtin web browser.
2. Close Preview: select menu "View" → "Close Preview", close the opened builtin web browser.
3. Save Markdown: select menu "View" → "Save Markdown", save the generated html to local file, Speare has a builtin converter that can convert markdown to html instantly.
Note: a. supported file extensions: .htm, .html, .md, .mdown, .markdown.
b. click any file item in the left side Treeview will also close preview automatically.

Lite Mode

Click siding button on toolbar and click menu "View → Hide Toolbar" then the app can be changed to an TextEdit-like editor.

Debug Mode

Speare Pro smoothly support debugging Lua, Ruby and Python script, more info see here: → Speare debugger architecture.

Programming Languages and Document Types

AMPL ASM ASP AWK Ada ActionScript Active4D AnsiblePlaybook Ant Apache Applescript Asciidoc AutoIt Autoconf Automake Basic Batch Beta Bibtex C C# C++ CMake CPrePro CSS Scss CUDA Clojure Cobol CoffeeScript ColdFusion Csound Ctags D DTS DbusIntrospect Diff DosBatch PowerShell Dtd Dylan Eiffel Elixir Elm Erlang eZ Publish F-Script Falcon Flex Forth Fortran FreeFem++ Fypp GEDCOM Gdbinit Glade Go Gradle GraphViz Groovy Haskell HTML Haxe Header IDL ITcl Iniconf Inko JSP Java JavaFX JavaProperties JavaScript Json Julia Kotlin Kuin LSL LaTeX LdScript Lilypond Lisp Logtalk Lua M4 MEL Makefile Man Markdown MATLAB Maven2 MetaPost Metaslang Moose MySQL Myrddin NASL NEURON Nemerle Objective-C Octave Ocaml Ox PDF PHP Parrot Pascal Passwd Perl Perl6 Pig Plist Pod PostScript Prolog Processing Protobuf Puppet PuppetManifest Python PythonLoggingConfig QemuHX QtMoc R R/S-PLUS RHTML RSpec RelaxNG Rexx Robot Racket RpmSpec Rst Ruby mruby Rust SGML SML SQL Scala Scheme Sedona Shell Slang Smalltalk Snippets Stata SuperCollider SVG Swift SystemTap SystemdUnit TTCN Tcl Tcl/Tk Tex TorqueScript TypeScript Udo VB VB.NET VHDL Vera Verilog SystemVerilog Vim WSDL WindRes XML XSD Xquery Xslt Yacc Yaml YumRepo Zephir


If your special programming language, interpreter or special document type requires Spear syntax highlighting or debugging support, please drop us a message.

Request and issue management on Github: https://github.com/chengdu/Speare.