# simonbs/runestone

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/simonbs-runestone).**

3,051 stars · 195 forks · Swift · mit

## Links

- GitHub: https://github.com/simonbs/Runestone
- awesome-repositories: https://awesome-repositories.com/repository/simonbs-runestone.md

## Topics

`ios` `swift` `tree-sitter`

## Description

Runestone is a web-based code editor component and rendering engine designed for browser-based text editing. It functions as a customizable interface that handles the visual representation of code, including line numbering, indentation, and line wrapping.

The project features a rule-based syntax highlighting engine that applies colors to text ranges based on language grammar definitions. It also includes a regex-based text search engine that locates specific patterns and applies visual highlights to matching character offsets.

The editor manages text input through automatic character pairing and provides tools for customizing aesthetics, such as fonts and colors. It maintains a system for managing page boundaries and formatting text structure to control the visual experience.

## Tags

### Development Tools & Productivity

- [Code Editors](https://awesome-repositories.com/f/development-tools-productivity/terminal-syntax-highlighting-engines/in-browser-code-editing/code-editors.md) — Provides a browser-based code editor component featuring syntax highlighting, line numbering, and automatic character pairing.
- [Syntax Highlighting Engines](https://awesome-repositories.com/f/development-tools-productivity/syntax-highlighting-engines.md) — Ships a rule-based syntax highlighting engine that applies colors based on language grammar definitions.

### Web Development

- [Code Editors](https://awesome-repositories.com/f/web-development/code-editors.md) — Provides a web-based code editor component with syntax highlighting and line numbering.
- [Browser-Based Editors](https://awesome-repositories.com/f/web-development/browser-based-editors.md) — Offers a web-based editing interface that handles line wrapping, indentation, and character pairing for developers.
- [Code Editor Components](https://awesome-repositories.com/f/web-development/code-editor-components.md) — Provides a reusable web component for embedding code editing with syntax highlighting and text manipulation.

### Data & Databases

- [Text Buffers](https://awesome-repositories.com/f/data-databases/text-buffers.md) — Implements memory-efficient data structures for storing and traversing text documents, decoupling logical text from visual display.
- [Text Search and Marking](https://awesome-repositories.com/f/data-databases/text-search-and-marking.md) — Locates specific strings using regular expressions and applies visual highlights to all matching ranges. ([source](https://cdn.jsdelivr.net/gh/simonbs/runestone@main/README.md))

### User Interface & Experience

- [Text Formatting Configurations](https://awesome-repositories.com/f/user-interface-experience/layout-utilities/text-formatting-configurations.md) — Controls line wrapping and indentation to maintain a consistent visual layout across document types. ([source](https://cdn.jsdelivr.net/gh/simonbs/runestone@main/README.md))
- [Syntax Highlighting Editors](https://awesome-repositories.com/f/user-interface-experience/markdown-and-syntax-highlighting/syntax-highlighting-editors.md) — Provides an editor that applies color and style to source code for improved readability. ([source](https://cdn.jsdelivr.net/gh/simonbs/runestone@main/README.md))
- [Syntax Highlighters](https://awesome-repositories.com/f/user-interface-experience/syntax-highlighters.md) — Provides a rule-based engine that applies color patterns to text based on language grammar definitions.
- [Syntax Highlighting Integrations](https://awesome-repositories.com/f/user-interface-experience/syntax-highlighting-integrations.md) — Integrates color-coded syntax formatting into web application text areas to improve code readability.
- [Text Editing Components](https://awesome-repositories.com/f/user-interface-experience/text-editing-components.md) — Provides a high-performance browser interface for writing and editing code with custom layout management.
- [Text Input Managers](https://awesome-repositories.com/f/user-interface-experience/text-input-managers.md) — Manages specialized editing behaviors, including automatic character pairing and indentation management.
- [Text Rendering](https://awesome-repositories.com/f/user-interface-experience/text-rendering.md) — Manages fonts, colors, and page boundaries to control the visual experience of the editor.
- [Viewport Coordinate Mapping](https://awesome-repositories.com/f/user-interface-experience/viewport-coordinate-mapping.md) — Translates character offsets into screen coordinates to manage scrolling and calculate visible lines.
- [Automatic Character Pairing](https://awesome-repositories.com/f/user-interface-experience/character-encoding-support/automatic-character-pairing.md) — Automatically inserts matching closing symbols when an opening character is detected during text entry.
- [Editor Appearance Customization](https://awesome-repositories.com/f/user-interface-experience/editor-customization-tools/editor-appearance-customization.md) — Allows modification of colors and fonts to customize the visual appearance of the editing interface. ([source](https://cdn.jsdelivr.net/gh/simonbs/runestone@main/README.md))
- [Regex-Based Highlighting](https://awesome-repositories.com/f/user-interface-experience/syntax-highlighters/regex-based-highlighting.md) — Uses regular expressions to identify text patterns and apply visual highlighting to the results.

### Part of an Awesome List

- [Regex Pattern Matching](https://awesome-repositories.com/f/awesome-lists/devtools/regex-and-pattern-matching/regex-pattern-matching.md) — Uses regular expressions to locate text patterns and identify character offsets for highlighting.

### Graphics & Multimedia

- [Editor Visuals](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/text-rendering/editor-visuals.md) — Implements a visual system for managing fonts, colors, and page boundaries to control the code editing experience.
