Speare is an ultra lightweight code editor and small IDE 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++. You can use the free version to debug C and C++ project. Speare Pro is the advanced version that has IDE features especially scripting language debugging environment supported. It supports debugging applications that written with C, C++, Ruby, Lua, Python, PHP and Perl. The most important feature of Speare is that it support extend the debuggers by yourself and directly switch between any version of self-compiled scripting language interpreters.
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 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, ZeroBraneStudio, Xcode, 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 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.
|1||Speare 1.2.19||4.6MB||6||Visual Studio Code (bare system) 1.36.1||211MB|
|2||TextEdit 1.13||5.6MB||7||ActiveState Komodo 11.1||334MB|
|3||TextMate 1.5.7||23.3MB||8||Atom 1.38.2||558MB|
|4||Textadept 10.4||35MB||9||ZeroBraneStudio 2019||612MB|
|5||CotEditor 3.3||47MB||10||Android Studio 3.1||1.37GB|
|11||Eclipse IDE 4.12||400MB~5GB|
Why not big software?
Waste time to maintain, wast big storage, waste power, waste time to upload, 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!
- Well designed user operation interface. Intuitive and simple.
- Fast search and replace in different searching scope, current document, opened files and entire project.
- High performance of managing large amount of files and big files. Multiple distributed folder management by simple project file.
- Smoothly edit multiple files that written in different programming languages simultaneously. Supports almost all common programming languages syntax highlighting and parsing, quickly switch between files and projects.
- Word autocomplete, sensitivity of keywords when typing, live parsing symbol definition for suggested words list.
- Jump to definition and fast locate code lines between editing files by symbol index, bookmark or searching.
- Unlimited go back and forward, automatically remember the sequence of current editing locations of file and files.
- Keeping entire state after quit, the opened files, selection of each file and the cursor location.
- Customisation of fonts and colours for the text editor.
- Ultra lightweight.
Other Builtin Features:
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:
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 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.
- 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.
- 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
- Search Current Document:
a. Use shortcut key "Control + F" to do the searching just like in TextEdit.
b. Click search button on the toolbar and on the prompt dialog select "Current".
- Search Opened Files:
Click search button on the toolbar and on the prompt dialog select "In Tabs".
- Search Entire Project Folders:
Click search button on the toolbar and on the prompt dialog select "In Project".
- Searching by Index:
a. Click symbol button on the toolbar and select items that parsed by the build-in syntax parsers.
b. Click breakpoint button on the toolbar and select items that placed as bookmark or breakpoint.
- Searching items in left side Treeview:
Input the item name (or prefix or suffix, or contained word) in the search field which located in the bottom of the left side Treeview and then enter "Return" key, click up and down arrow right side of the search field to iterate items.
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 simultaneously editing multiple files.
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 menu items. Speare provides 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 different edited location in a same file or switch between the files that was being editing.
When you overwrite a file in Finder, Speare will ask you to reload it, you should save this file manually if you click "Cancel".
Note: click right side tab will select the left side corresponding file node automatically when the Treeview refreshed.
Right click current editing file → select "Colour Picker" on the prompt menu, then a HTML colour will be inserted when pick a colour.
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", see html or markdown file rendered in builtin web browser instantly.
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.
Click siding button on toolbar and click menu "View → Hide Toolbar" then the app can be changed to an TextEdit-like editor.
Speare Pro seamlessly support debugging C, C++, Ruby, mruby, Lua, Python, PHP and Perl script, more info see here: → Speare debugger architecture.
File and Folder Filter
1. Click menu: View → Don't Show Hidden Files. Hide or display all hidden files.
2. Speare code editor uses a file named as
# 2. exclude directories by full path (must end with /).
# 3. exclude files by specified extension.
(must starts with *.)
# 4. exclude files by file name.
.DS_Store (already ignored by builtin function)
# 5. exclude files by full path.
a. Line starts with '#' is comment.
b. Each line contains a folder name, full path of folder or file name, file extension, or full path of file.
3. Create or edit
a. When overwrite file or folder in Finder, they will not be asked to reload if they were set to be ignored.
b. You can directly edit file .speareignore in Speare code editor and click "Refresh" button on the bottom of the left site TreeView to reload the project folder.
1. Use ESC key or arrow key or 'Control+Z' to get out of suggested words list selection.
2. Please ensure all source code file and resource files have been dragged in the left side Treeview (Workspace Explorer) before start a debug session, because macOS app can't be allowed to access files outside of its sandbox.
3. When your source code file moved to another folder, you must drag the source code folder in Speare again then the debugging can correctly work.
1. How to add syntax highlighting to support a new file type?
A: open /Applications/Speare.app/Contents/Resources/SyntaxDefinitions.plist,
carefully add the file extension name of the new file type in it, and each extension name separated by a space, e.g. syntax highlighting all .jsx:
2. How to add "Open With" in Finder to support open a file type with Speare?
A: Right click the file in Finder → Get Info → Open With: Other..., find Speare.app and select, and then Click "Change All..." button.
Programming Languages and Document Types
AMPL ASM ASP
If your special programming language, compiler, 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.