Version 1.2.311

The free small IDE for scripting languages.

Speare is a small, free and friendly code editor, and an ultra lightweight IDE. You can use it to edit source code files, programming and debugging. It was designed to make programming feels light, simple and free. Speare code editor not only has an efficient code navigation and call routines tracing ability but also has flexibility to extend the IDE to support special developing requirements. Speare code editor includes built-in debugging environment for C, C++, Ruby, mruby, Lua, Python, PHP, Perl and Tcl, and give people complete freedom to control and customise a debugging environment for a new programming language.

It's free!

If you can't open the link above, please launch App Store and found Speare by searching. Please kindly donate the author by purchasing the pro version or other app developed by the author, your donation will drive the author to continually improve it, or please kindly recommend this app on your blog or rate this app so that helping other people can more easily find it.



Screenshot of LLVM in Speare code editor.

What's new

1. Improvement of "Lite Mode", i.e. hide toolbar and left side TreeView, this is useful and feels more light when open and edit several file but not work on a project that has large number of files. This function turn Speare to a TextEdit-like text editor but has more features, such as line number display, syntax highlighting etc.
2. Highlighting files that has no extension name by recognise its Shebang, i.e. the first line of the text file.

Fast edit several files separately

Just drag the file one by one from Finder and drop into workspace, edit them and then right-click to "Remove All".

Fast edit several files in big folder

Just drag the folder into workspace never mind how big it is and then edit several files never mind what the programming language they were written, fast editing them with the "Auto-completion" feature provided by Speare code editor.

Code editor on iPad

If you want to edit source code files on iPad, or review code on iPad, please refer another app developed by me, iCodeEditor, an integrated code editor for iPad. Sorry, it's not free.

Code editor and IDE on macOS

Terminal based on text editors such as GNU Emacs and Vim, although they are very cool, but their limitations are also obvious, 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, Xcode, NetBeans, Eclipse, and some light cargos, e.g 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 code editor is a small, free and friendly code editor which implements the most important missing features in common code editors, e.g bookmark management and fast locate code lines between multiple files, code block live parsing etc.

No. Name Size No. Name Size
1Speare 1.2.56 5.6MB 7 Visual Studio Code (bare system) 1.36.1 211MB
2TextMate 1.5.7 23.3MB 8 ActiveState Komodo 11.1 334MB
3Textadept 10.4 35MB 9 Atom 1.38.2 558MB
4CotEditor 3.3 47MB 10 Android Studio 3.1 1.37GB
5Lazarus (without FreePascal compiler and source packages) 2.0.8200.9MB 11Eclipse IDE 4.12 400MB ~ 5GB
6ZeroBraneStudio 6.0 602.1MB 12Xcode 10.0 12GB

The technology choices to make a code editor and IDE on macOS

1Vim/EmacsFav of big communityUser experience is not so friendly
2HTML5 + ElectronMature code base open sourcedLow performance with huge run-time
3QtMature cross-platform GUI kitBest for Linux, Windows but not suitable for macOS GUI app
4GTK+Mature cross-platform GUI frameworkBest for Linux but not suitable for macOS GUI app
5Tcl/TkRapid GUI app development kitLack low level native OS support features
6Java SwingRapid development, mature cross-platform GUI kitLow performance with huge run-time
7C# + .NETFast implementing GUI appSuitable for Windows but not suitable for macOS GUI app, Mono required (6.10 362.3MB!).
8Native CocoaMature, reliable, high performanceBest frameworks to build macOS app

Speare code editor was developing based on the native pure Cocoa frameworks with leveraging several C library results a very small footprint, high performance, small memory and storage runtime consuming, and ultra small distribution. Only 1.1MB executable!

Why not big software?

Waste time to maintain, wast big storage and runtime memory, waste power, waste time to upload and download. It's waste people's life! Every desktop developer should known one thing, the embedded system developers sometime even fighting for one byte of storage in some situation. They never think about memory and storage like embedded system developers, so more and more big monster there. In today's software industry, Unix philosophy has been throw away completely!

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

Why another code editor and IDE on macOS?

Although there are so many code editor and IDE available on macOS, but four feature of Speare code editor can make it unique:

  1. Lightweight. Most of the code editors on macOS are very heavy, bulky! But Speare code editor is really really ultra light. Only 6.2MB!
  2. High Performance. Code editor developed with Javascript or Java have inherent defects that can't keep high performance when handle thousands of files for big project, such as VSCode, Atom, and NetBeans, Eclipse. Speare code editor can handle very big project, for very big C & C++ projects, Java projects, Node projects, and very big game projects! Easily!
  3. Cost. Most of them are not free, and even very expensive, such as Sublime Text, CodeRunner and BBEDIT etc, but Speare code editor is free! Of course, you can kindly purchase the pro version to donate some money to the author, but that is not mandatory.
  4. Freedom. Feels light, simple and free. High performance code editor, flexibility to extend the IDE to support special developing requirements and easily add a new programming language to it, most of the IDE on macOS can't give you such ability and freedom, can't give you smoothly coding experience when mixing multiple programming languages for big software projects. In fact, Speare code editor give you very flexible control to extend it to add a new syntax highlighting for special document and a new debugging environment for any programming language.

Crafting software as small as possible. → Why C is the returned king of programming languages.

Code browser, call routines tracing and code analysis

Speare code editor helps end user to understand an existing code base by powerful code browser and call routines tracing functions. Speare code editor parses source code files and maintains the database of symbol definitions instantly while user editing, and presents useful contextual information to user automatically. It also use persistent bookmarks to remember key locations within functions or classes and their references. End user can quickly navigate function calls and callers and find references to variable, function or class instantly.

Productive helps to fast find editing points

1. Click toolbar "Functions" to fast find the location of function definitions.
2. Click toolbar "Breakpoints" to fast find the bookmarks placed for editing locations.
3. Search symbol references and fast find the location of the reference points, do this for current file can improve productivity too.
4. Fast click leftmost or rightmost of the opened tabs, or drag tab to rearrange position of editing files.
5. Drag file or folder in workspace to rearrange its position.
6. Search files by filename in the workspace.
7. Use "Jump To Definition" to find the reference points, and click "Back" to return to jump point.

Lite Mode

Click siding button on toolbar and then click menu "View → Hide Toolbar".
"Lite Mode" can turn Speare to be a TextEdit-like text editor but has more features, such as line number display, syntax highlighting etc. "Lite Mode" can be remembered and continually keeping, it can be turned off by click menu "View → Show Toolbar". This function is useful and feels more light when open and edit several files but not work on a project that has large number of files.

Debug Mode

Speare seamlessly support debugging C, C++, Ruby, mruby, Lua, Python, PHP, Perl and Tcl script, more info see here: → Speare debugger architecture.

Syntax Checking and Run Code Instantly

a. Press shortcut key "Command + R".
b. Click menu: File → Run External Command.

Integrated development environment

Speare code editor can easily integrate building tools, code analysis tools and continue deploy tools. You can run different tasks in Speare code editor instantly, such as automatic compile (run makefile, CMake, Ant tasks etc), building and packing, or run static code analysis tools (source code analyzer, such as PC-Lint, clang-analyzer, PHPLint, OCLint, PMD, etc), unit testing tools, memory leak detection tools such as Valgrind, performance analysis tools, code style check tools, and any other tasks. Speare code editor provides you complete freedom to extend the IDE to satisfy special requirements of your development environment.

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

Crafting software as small as possible!


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

Please kindly report your feature request or issue on OSDN or Github: