Donner SVG Editor & Engine
SVG-native editor and embeddable SVG2 + CSS3 engine in C++20, with GPU (WebGPU) and compact CPU renderers, built for correctness, security, and performance.
Loading...
Searching...
No Matches
TextEditor.h File Reference
#include <array>
#include <chrono>
#include <functional>
#include <map>
#include <optional>
#include <regex>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
#include "donner/base/RcString.h"
#include "donner/editor/FlashDecorations.h"
#include "donner/editor/FocusView.h"
#include "donner/editor/FrameCostBreakdown.h"
#include "donner/editor/RopeSimulation.h"
#include "donner/editor/SoftWrap.h"
#include "donner/editor/SourceDiagnostics.h"
#include "donner/editor/TextBuffer.h"
#include "donner/editor/TextEditorCore.h"
#include "donner/editor/ImGuiIncludes.h"
Include dependency graph for TextEditor.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  donner::editor::Shortcut
 Represents a keyboard shortcut for editor actions. More...
class  donner::editor::TextEditor
 A text editor widget for Dear ImGui that supports syntax highlighting, undo & redo, and more. More...
struct  donner::editor::TextEditor::SourceStyleDecoration
 Source decoration for style/cascade annotations in the editor. More...
struct  donner::editor::TextEditor::SourceStructuralMoveDecoration
 Source structural-drag decoration supplied by the editor shell. More...
struct  donner::editor::TextEditor::AutocompleteRequest
 Request payload for structured autocomplete providers. More...
struct  donner::editor::TextEditor::AutocompleteSuggestion
 A single autocomplete suggestion. More...
struct  donner::editor::TextEditor::AutocompleteResponse
 Response from a structured autocomplete provider. More...

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.

Enumerations

enum class  donner::editor::ShortcutModifier : uint8_t {
  None = 0 ,
  Alt = 1 << 0 ,
  Ctrl = 1 << 1 ,
  Shift = 1 << 2
}
 Enum class of modifier keys that can be combined using bitwise OR. These modifiers can be applied to shortcuts for actions within the editor. More...

Functions

ShortcutModifier donner::editor::operator| (ShortcutModifier lhs, ShortcutModifier rhs)
 Combine two ShortcutModifier flags using bitwise OR.
bool donner::editor::HasModifier (ShortcutModifier mods, ShortcutModifier flag)
 Check if a given ShortcutModifier set includes a specific modifier flag.

Class Documentation

◆ donner::editor::TextEditor::AutocompleteRequest

struct donner::editor::TextEditor::AutocompleteRequest

Request payload for structured autocomplete providers.

Class Members
size_t cursorOffset = 0 Cursor byte offset in source.
string_view source Full editor source text.

◆ donner::editor::TextEditor::AutocompleteSuggestion

struct donner::editor::TextEditor::AutocompleteSuggestion

A single autocomplete suggestion.

Class Members
RcString displayText Text shown in the autocomplete popup.
RcString insertText Text inserted when selected.

◆ donner::editor::TextEditor::AutocompleteResponse

struct donner::editor::TextEditor::AutocompleteResponse

Response from a structured autocomplete provider.

Class Members
size_t replaceEndOffset = 0 Exclusive source byte offset to replace.
size_t replaceStartOffset = 0 Inclusive source byte offset to replace.
vector< AutocompleteSuggestion > suggestions

Enumeration Type Documentation

◆ ShortcutModifier

enum class donner::editor::ShortcutModifier : uint8_t
strong

Enum class of modifier keys that can be combined using bitwise OR. These modifiers can be applied to shortcuts for actions within the editor.

Enumerator
None 

No modifier.

Alt 

Alt key modifier.

Ctrl 

Ctrl key modifier.

Shift 

Shift key modifier.