GraffitiSyntaxEditor

Images #

About #

GraffitiSyntaxEditor is a full featured code and text editor component with support for 34 themes, 142 languages (modes), and the following features:

  • Custom Mode Support
  • Custom Theme Support
  • Annotations
  • Breakpoints
  • Single-Line Comment Toggling
  • Block Comment Toggling
  • Built-In Find/Replace
  • Code Folding
  • Single or Multiple Line Indent
  • Print to HTML
  • Selection Modification (Duplication, Lowercase, Number alterations, Move, Split, Transpose by Line, Transpose Characters, Uppercase, By Word)
  • Built-In GoTo by Line Number
  • Undo Stack
  • Code Matching Highlight
  • Autocomplete
  • File Drop Loading
  • Visible Margins
  • Soft or Hard Tabs
  • Tab Size Setting
  • Optional Word Wrap

Enumerations #

Name Values
AnnotationTypes Info = 0
Warning = 1
Error = 2
Themes Ambiance = 0
Chaos = 1
Chrome = 2
Clouds = 3
CloudsMidnight = 4
Cobalt = 5
CrimsonEditor = 6
Dawn = 7
Dreamweaver = 8
Eclipse = 9
GitHub = 10
IdleFingers = 11
iPlastic = 12
Katzenmilch = 13
KRTheme = 14
Kuroir = 15
Merbivore = 16
MerbivoreSoft = 17
MonoIndustrial = 18
Monokai = 19
PastelOnDark = 20
SolarizedDark = 21
SolarizedLight = 22
SQLServer = 23
Terminal = 24
TextMate = 25
Tomorrow = 26
TomorrowNight = 27
TomorrowNightBlue = 28
TomorrowNightBright = 29
TomorrowNightEighties = 30
Twilight = 31
VibrantInk = 32
XCode = 33
Custom = 34
Modes ABAP = 0
ABC = 0
ActionScript = 1
ADA = 2
ApacheConf = 3
AppleScript = 4
ASCIIDoc = 5
AssemblyX86 = 6
AutoHotKey = 7
BatchFile = 8
Bro = 9
C_CPP = 10
C9Search = 11
Cirru = 12
Clojure = 13
Cobol = 14
CoffeeScript = 15
ColdFusion = 16
CSharp = 17
CSS = 18
Curly = 19
D = 20
Dart = 21
Diff = 22
Django = 23
DockerFile = 24
Dot = 25
Drools = 26
Eiffel = 27
EJS = 28
Elixir = 29
Elm = 30
ERLang = 31
Forth = 32
Fortran = 33
FTL = 34
GCode = 35
Gherkin = 36
GitIgnore = 37
GLSL = 38
Gobstones = 39
GOLang = 40
Groovy = 41
HAML = 42
Handlebars = 43
Haskell = 44
HaskellCabal = 45
Haxe = 46
HJSON = 47
HTML = 48
HTMLElixir = 49
HTMLRuby = 50
INI = 51
IO = 52
Jack = 53
Jade = 54
Java = 55
JavaScript = 56
JSON = 57
JSONIQ = 58
JSP = 59
JSX = 60
Julia = 61
Kotlin = 62
LaTeX = 63
Lean = 64
LESS = 65
Liquid = 66
LISP = 67
Live_Script = 68
LiveScript = 69
LogIQL = 70
LSL = 71
LUA = 72
LUAPage = 73
Lucene = 74
MakeFile = 75
Markdown = 76
Mask = 77
MatLab = 78
Maze = 79
Mel = 80
MIPS_Assembler = 81
MIPSAssembler = 82
MushCode = 83
MySQL = 84
Nix = 85
NSIS = 86
ObjectiveC = 87
OCAML = 88
Pascal = 89
Perl = 90
PGSQL = 91
PHP = 92
PlainText = 93
PowerShell = 94
Praat = 95
Prolog = 96
Properties = 97
Protobuf = 98
Python = 99
R = 100
Razor = 101
RDoc = 102
RHTML = 103
RST = 104
Ruby = 105
Rust = 106
SASS = 107
SCAD = 108
Scala = 109
Scheme = 110
SCSS = 111
SH = 112
SJS = 113
Smarty = 114
Snippets = 115
SoyTemplate = 116
Space = 117
SQL = 118
SQLServer = 119
Stylus = 120
SVG = 121
Swift = 122
Swig = 123
TCL = 124
Tex = 125
Text = 126
Textile = 127
TOML = 128
TSX = 129
Twig = 130
TypeScript = 131
Vala = 132
VBScript = 133
Velocity = 134
Verilog = 135
VHDL = 136
Wollok = 137
XML = 138
Xojo = 139
XQuery = 140
YAML = 141
Custom = 142

Constants #

Name Type Value
    This class exposes no constants.

Events #

Definition Description
BreakpointAdded( Row as Integer ) Breakpoint has been added by the user.
BreakpointRemoved( Row as Integer ) Breakpoint has been removed by the user.
Change() Text content has changed.
FileDropped(Name as String, Content as String) The user has dropped a file on the component.
FoldAdded(startRow as Integer, endRow as Integer) Raised when the user folds a code block.
FoldRemoved(startRow as Integer, endRow as Integer) Raised when the user unfolds a code block.
SelChange() Selected text has changed.
UIReady() Raised when loading has completed.

Methods #

Name Parameters Return Type Description
AddAnnotation Line as Integer None Adds an annotation to the right-hand gutter.
theText as String
AnnotationType as AnnotationTypes
AddBreakpoint Line as Integer None Adds a breakpoint.
AddMode modeName as String None Adds the specified mode to the component. modeSource should be the JavaScript source of the mode to add.
modeSource as String
AddTheme themeName as String None Adds the specified theme to the component. themeSource should be the JavaScript source of the theme to add.
themeSource as String
CenterSelection None None Centers the currently selected text in the viewport.
ClearAnnotations None None Remove all annotations.
ClearBreakpoints None None Remove all breakpoints.
ClearHistory None None Flush Undo/Redo buffers.
CommentBlockToggle None None Toggle block commenting of the current selection.
CommentToggle None None Toggle single commenting of the current selection.
Copy None None Copies the currently selected text to the clipboard.
Delete None None Deletes the currently selected text from the content.
DeselectAll None None Deselect all text.
Find toFind as String None Search for toFind in the text.
Backwards as Boolean = False
Wrap as Boolean = False
CaseSensitive as Boolean = False
WholeWord as Boolean = False
FindAll toFind as String None Find all instances of toFind in the text.
FindNext None None Finds the next instance of the text. Requires there first be a Find call.
FindPrev None None Finds the previous instance of the text. Requires there first be a Find call.
Fold None None Folds the currently selected block.
FoldAll None None Folds all blocks in the document.
GetFolds None Dictionary() Returns all currently folded block coordinates.
GetLine Line as Integer as String None Get full line text.
GotoLine Line as Integer None Go to the specified line within the text.
GotoPageDown None None Go to line one page below current selection.
GotoPageUp None None Go to line one page above current selection.
Indent None None Indent the current line.
InsertLines newLines() as String None Insert lines at selection.
InsertText theText as String None Insert theText at current selection.
IsBreakpoint Row as Integer Boolean Determine if the specified row has a breakpoint assigned.
IsRowFolded Row as Integer Boolean Returns whether the specified row is within a currently folded code block.
LoaderHide None None Hides the loading spinner.
LoaderShow None None Shows a loading spinner that covers the entire component.
MatchingExpandTo None None Expands the current selection within matching blocks.
MatchingJumpTo None None Moves the cursor to the matching block element corresponding to the current selection.
NavigateDown byLines as Integer None Move the cursor down.
NavigateEnd None None Move the cursor to the end of the document.
NavigateLeft byCharacters as Integer None Move the cursor left by the specified number of characters.
NavigateLineEnd None None Move cursor to the end of the line.
NavigateLineStart None None Move cursor to the start of the line.
NavigateRight byCharacters as Integer None Move the cursor right by the specified number of characters.
NavigateStart None None Move the cursor to the start of the document.
NavigateTo Row as Integer None Move cursor to specified position.
Column as Integer
NavigateUp byLines as Integer None Move the cursor up by the specified number of lines.
NavigateWordLeft None None Move cursor one word to the left.
NavigateWordRight None None Move cursor one word to the right.
Outdent None None Remove an indent from the current line.
Paste None None Pastes the clipboard text in to the content at the current cursor position.
PrintDocument Title as String FolderItem Creates a printable format file for the content, then launches the browser to automatically print. Returns a FolderItem in case you wish to retain a copy.
Theme as Themes
WordWrap as Boolean = True
Redo None None Redo an undone change.
RemoveAnnotation Line as Integer None Removes an annotation from the specified line.
RemoveBreakpoint Line as Integer None Removes a breakpoint from the specified line.
Replace replaceWith as String None Replaces instance with replaceWith. Requires Find or FindAll to be called first.
ReplaceAll replaceWith as String None Replaces all instances with replaceWith. Requires Find or FindAll to be called first.
SelectAll None None Select all text in the document.
SelectDown None None Selects down one line.
SelectionDuplicate None None Duplicates the currently selected text within the document.
SelectionCopyLinesDown None None Copies the currently selected content on to the following line.
SelectionCopyLinesUp None None Copies the currently selected content on to the preceding line.
SelectionModifyNumber Delta as Integer None Modifies the currently selected number adding Delta.
SelectionMoveLinesDown None None Moves the selected text down one line.
SelectionMoveLinesUp None None Moves the selected text up one line.
SelectionSplitLine None None Splits the current line at the cursor position.
SelectionToLowercase None None Converts the current selection to lowercase.
SelectionToUppercase None None Converts the current selection to uppercase.
SelectionTranspose None None Reverses the order of the currently selected lines.
SelectionTransposeLetter None None Reverses the order of the currently selected characters in the document.
SelectLine None None Select entire current line.
SelectPageUp None None Selects the previous page of content.
SelectPageDown None None Selects the next page of document.
SelectToStart None None Selects all content from the current cursor position to the beginning of the document.
SelectToEnd None None Selects all content from the current cursor position to the end of the document.
SelectUp None None Selects up one line.
SelectWord None None Select word that the cursor currently resides in.
SelectWordLeft None None Select word to the immediate left of the cursor.
SelectWordRight None None Select word to the immediate right of the cursor.
ShowFind None None Shows the built-in find panel.
ShowReplace None None Shows the built-in replace panel.
ShowGotoLine PromptText as String = “Enter line number: ” None Shows the built-in “Go to Line” panel.
ShowSettingsMenu DEBUG ONLY None None Show a panel containing current control settings. Changes here are not reflected in the control’s properties.
ShowShortcutsMenu None None Shows a panel containing a list of the default keyboard shortcuts for the editor.
Undo None None Reverse a change.
Unfold None None Unfolds the currently selected block.
UnfoldAll None None Unfolds all folded blocks in the document.

Properties #

NameTypeDefault ValueDescription
AutoCompleteBooleanTrueWhen True, the editor will show a popup with suggestions while typing.
CanRedoBooleanFalseIf true, there are actions in the history which can be redone.
CanUndoBooleanFalseIf true, there are actions in the history which can be undone.
CurrentColumnInteger(ReadOnly)0Current column of the cursor within the document.
CurrentLineInteger(ReadOnly)0Current line of the cursor within the document.
FadeFoldWidgetsBooleanTrueWhen True, fold widgets will fade out when the block is not hovered.
FileDropAllowedBooleanTrueWhen True, users can drop files on the component in an attempt to load them into the editor.
FileDropCaptionString“Drop file to load”Text displayed in the file drop capture interface.
FileDropCaptionWorkingString“Loading File…”Text displayed in the file drop capture interface while a file is being read.
FontFamilyString“monospace”Sets the editor to use the provided HTML-supported font family.
FontSizeInteger12Size of the font used to display text in the viewport.
IsDirtyBooleanFalseWhen True, the Xojo properties of the component may not yet reflect the true values. Wait for IsDirty = True before saving.
ModeNameString“”When Mode = Custom, this will select the mode supplied via AddMode.
ModesModesModes.ABAPCurrent syntax mode, or language, of the control.
PrintMarginColumnInteger80Width of the print margin in pixels.
SelLengthInteger0Length of current selection.
SelStartInteger0Starting point of current selection.
SelTextString“”Currently selected text.
ShowFoldWidgetBooleanTrueWhen True, disclosure triangles are drawn in the left gutter for blocks.
ShowGutterBooleanTrueDetermines visibility of the line number and breakpoint gutter.
ShowInvisibleBooleanFalseWhen True, invisible characters are made visible in the viewport.
ShowLoaderOnEventsBooleanFalseIf true, the loading spinner will be shown to denote that the control is busy when communicating.
ShowPrintMarginBooleanTrueWhen True, the print margin is displayed on the right side.
TabSizeInteger4Length, in characters, of an indent/outdent/tab.
TextString“”Text content of the editor.
ThemeThemesThemes.AmbianceThe visual style of the editor, including colors for syntax hightlighting.
ThemeNameString“”Custom theme to apply.
WordWrapBooleanFalseWhen true long lines will wrap down the next line.

Examples #

There are currently no examples for this class.