XDSAceEditor

An advanced code editor with 36 themes. Syntax colorization & auto-completion for 169 programming languages. Ace Editor also checks syntax and reporting for some languages (ie JavaScript).

**USE OF A MONOSPACE FONT IS REQUIRED TO WORK CORRECTLY ON MACOS**

We highly recommend the free open-source font, Fira Code/Fira Retina Code. This is one of the only available fonts specifically created for developers. 

Version: 2023r1


Properties #

FontName as StringInitialLanguage as XDSAceEditor.Language
FontSize as IntegerTheme as XDSAceEditor.Theme

Methods #

ClearSelection()gotoPageUp()SetFontOptions(fontName as String, fontSize as String)
CursorPosition()Indent()SetFontSize(fontSize as Integer)
GetLanguageFromEnum(EnumVal as XDSAceEditor.Languages) as StringInsert(value as String)SetMode(ModeName as String)
SetMode(ModeName as XDSAceEditor.Languages)
GetThemeFromEnum(EnumVal as XDSAceEditor.Themes) as StringMoveCursorTo(row as Integer, column as Integer)SetTheme(ThemeName as String)
SetTheme(ThemeName as XDSAceEditor.Themes)
GetValue() as StringNavigateFileEnd()SetValue(Value as String, Optional location as Integer = 1)
GotoLine(row as Integer, column as Integer, animate as Boolean)PrintPage()TogglePrintMargin(Value as Boolean)
gotoPageDown()Ready() as BooleanToggleRTL(Value as Boolean)

Events #

EditorReadyTextChanged(data as String)CancelLoad(URL as String) as Boolean
LostFocusTextCopied(data as String)PrintComplete()
ReceivedFocusTextPasted(data as String)PrintError()

Enumerations #

XDSAceEditor.Languages #

abap = 0d = 29haskell = 57lsl = 85powershell = 113sparql = 141
abc = 1dart = 30haskell_cabal = 58lua = 86praat = 114sql = 142
actionscript = 2diff = 31haxe = 59luapage = 87prolog = 115sqlserver = 143
ada = 3django = 32hjson = 60lucene = 88properties = 116stylus = 144
apache_conf = 4dockerfile = 33html = 61makefile = 89protobuf = 117svg = 145
apex = 5dot = 34html_elixer = 62markdown = 90puppet = 118swift = 146
applescript = 6drools = 35html_ruby = 63mask = 91python = 119tcl = 147
aql = 7edifact = 36ini = 64matlab = 92r = 120terraform = 148
asciidoc = 8eiffel = 37io = 65maze = 93razor = 121tex = 149
asl = 9ejs = 38jack = 66mel = 94rdoc = 122text = 150
assembly_x86 = 10elixer = 39jade = 67mixal = 95red = 123textile = 151
autohotkey = 11elm = 40java = 68mushcode = 96redshift = 124toml = 152
batchfile = 12erlang = 41javascript = 69mysql = 97rhtml = 125tsx = 153
bro = 13forth = 42json = 70nginx = 98rst = 126turtle = 154
c9search = 14fortran = 43json5 = 71nim = 99ruby = 127twig = 155
c_cpp = 15fsharp = 44jsoniq = 72nix = 100rust = 128typescript = 156
cirru = 16fsl = 45jsp = 73nsis = 101sass = 129vala = 157
clojure = 17ftl = 46jssm = 74nunjucks = 102scad = 130vbscript = 158
cobol = 18gcode = 47jsx = 75objectivec = 103scala = 131velocity = 159
coffee = 19gherkin = 48julia = 76ocaml = 104scheme = 132verilog = 160
coldfusion = 20gitignore = 49kotlin = 77pascal = 105scss = 133vhdl = 161
crystal = 21glsl = 50latex = 78perl = 106sh = 134visualforce = 162
csharp = 22gobstones = 51less = 79perl6 = 107sjs = 135wollok = 163
csound_document = 23golang = 52liquid = 80pgsql = 108slim = 136xml = 164
csound_orchestra = 24graphsqlschema = 53lisp = 81php = 109smarty = 137xojo = 165
csound_score = 25groovy = 54livescript = 82php_laravel_blade = 110snippets = 138xquery = 166
csp = 26haml = 55logiql = 83pig = 111soy_templates = 139yaml = 167
curly = 28handlebars = 56logtalk = 84plain_text = 112space = 140zeek = 168

XDSAceEditor.Themes #

ambiance = 0eclipse = 9merbivore = 18textmate = 27
chaos = 1github = 10merbivore_soft = 19tomorrow = 28
clouds = 2gob = 11mono_industrial = 20tomorrow_night = 29
clouds_midnight = 3gruvbox = 12monokai = 21tomorrow_night_blue = 30
cobalt = 4idle_fingers = 13pastel_on_dark = 22tomorrow_night_bright = 31
crimson_editor = 5iplastic = 14solarized_dark = 23tomorrow_night_eighties = 32
dawn = 6katzenmilch = 15solarized_light = 24twilight = 33
dracula = 7kr_theme = 16sqlserver = 25vibrant_ink = 34
dreamweave = 8kuroir = 17terminal = 26xcode = 35

Included Dependencies #

XDSAceEditor is HTML/JavaScript based, and requires a build-script to be added to any project utilizing the control.

Under Build Settings, you will need to right-click the desired platform and choose:

Add to “Build Settings” > Build Step > Copy Files. Drop or add the “ACE” directory into the file pane that opens and set the destination to “Resources Folder” in the Xojo property settings. If you have done this correctly, XDSAceEditor is ready for use and to build into your final application.