Donner 0.8.0-pre
Embeddable browser-grade SVG2 engine
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/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::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.

Collaboration diagram for donner::editor::TextEditor::AutocompleteRequest:
[legend]
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.

Collaboration diagram for donner::editor::TextEditor::AutocompleteSuggestion:
[legend]
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.

Collaboration diagram for donner::editor::TextEditor::AutocompleteResponse:
[legend]
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.