diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs index f52a3ed44d..b72b76bd68 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs @@ -13,5 +13,9 @@ namespace ICSharpCode.PythonBinding { return new PythonConsoleHost(consoleTextEditor, dispatcher); } + + protected override string SyntaxHighlightingName { + get { return "Python"; } + } } } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs index d10cd1bb4a..86a640f511 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs @@ -13,5 +13,9 @@ namespace ICSharpCode.RubyBinding { return new RubyConsoleHost(consoleTextEditor, dispatcher); } + + protected override string SyntaxHighlightingName { + get { return "Ruby"; } + } } } diff --git a/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsolePad.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsolePad.cs index c4fb9e5be7..362873c3d3 100644 --- a/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsolePad.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsolePad.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Gui; using AvalonEdit = ICSharpCode.AvalonEdit; @@ -17,6 +18,7 @@ namespace ICSharpCode.Scripting public ScriptingConsolePad() { textEditor = CreateTextEditor(); + textEditor.SyntaxHighlighting = GetSyntaxHighlighting(); CreateConsoleHost(); host.Run(); } @@ -28,6 +30,13 @@ namespace ICSharpCode.Scripting return (AvalonEdit.TextEditor)textEditor; } + IHighlightingDefinition GetSyntaxHighlighting() + { + return HighlightingManager.Instance.GetDefinition(SyntaxHighlightingName); + } + + protected abstract string SyntaxHighlightingName { get; } + void CreateConsoleHost() { ControlDispatcher dispatcher = new ControlDispatcher(textEditor); @@ -35,12 +44,9 @@ namespace ICSharpCode.Scripting host = CreateConsoleHost(consoleTextEditor, dispatcher); } - protected virtual IScriptingConsoleHost CreateConsoleHost( + protected abstract IScriptingConsoleHost CreateConsoleHost( IScriptingConsoleTextEditor consoleTextEditor, - IControlDispatcher dispatcher) - { - return null; - } + IControlDispatcher dispatcher); public IScriptingConsoleTextEditor ScriptingConsoleTextEditor { get { return consoleTextEditor; }