Machine is first and foremost a code editor app. But, it offers an architecture to ease the process of building other editors.
Each editor is a plugin, that have access to the same building blocks (file opening/saving/caching, etc). It makes writing new pluginss easier, and less error-prone.
Machine uses a per-project type of file handling with explorer plugins to interact with the file system inside the project folder boundary (file hierarchy/search/git)
This app is currently Android-only, but every platform-specific code should already have a layer of abstraction.
- SAF folder project managemdnt
- Plugin architecture for Editors and Explorers
- Session Caching and rehydration
- Flexible command system: that allows for a personal layout
- Mobile-first: It was made on mobile, for mobile.
- Settings, with per-project override
- Asset cache for shared resources
- File-content provider to open custom URI schemes like any other file.
- Based on a personal fork of Re-Editor
- Syntax-Highlighting from Re-Highlight
- Extensive selection and code manipulation tools
- Unified API to communicate with other editors (like the LLM editor)
- Search and replace, with $ notation match group replacement
- Many themes
- Bracket match highlighting
- Color code highlighting and picker
- Navigate to local imports and one-tap add import
- Search and edit file content in the whole project
- When this editor is opened, moving a file in the file explorer will trigger path mode, which search and replaces reference to the moved-file path.
- Paint glitches on images
- Orthogonal-only tiled .tmx editor
- Dependency gathering and tileset atlas packing and export
- Flow graph editor that supports custom node definitions via a .json schema file.
- Export graph to .json to be used anywhere
- Pack spritesheets into an atlas with an associated .json
- Speak to an AI with easy context gathering features
- Can replace text with a prompt in any TextEditable editor
- Communicate to a termux instance via the RUN_COMMAND intent
- A simple hierarchical file explorer
- A simple search
- A local git viewer. It only supports viewing the project files at previous git commits. Based on a fork of dartgit