Browse Source

Add syntax highlighting to IronPython and IronRuby console windows.

pull/1/head
mrward 15 years ago
parent
commit
eb62c75d5c
  1. 4
      src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs
  2. 4
      src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs
  3. 16
      src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsolePad.cs

4
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs

@ -13,5 +13,9 @@ namespace ICSharpCode.PythonBinding
{ {
return new PythonConsoleHost(consoleTextEditor, dispatcher); return new PythonConsoleHost(consoleTextEditor, dispatcher);
} }
protected override string SyntaxHighlightingName {
get { return "Python"; }
}
} }
} }

4
src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs

@ -13,5 +13,9 @@ namespace ICSharpCode.RubyBinding
{ {
return new RubyConsoleHost(consoleTextEditor, dispatcher); return new RubyConsoleHost(consoleTextEditor, dispatcher);
} }
protected override string SyntaxHighlightingName {
get { return "Ruby"; }
}
} }
} }

16
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) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using AvalonEdit = ICSharpCode.AvalonEdit; using AvalonEdit = ICSharpCode.AvalonEdit;
@ -17,6 +18,7 @@ namespace ICSharpCode.Scripting
public ScriptingConsolePad() public ScriptingConsolePad()
{ {
textEditor = CreateTextEditor(); textEditor = CreateTextEditor();
textEditor.SyntaxHighlighting = GetSyntaxHighlighting();
CreateConsoleHost(); CreateConsoleHost();
host.Run(); host.Run();
} }
@ -28,6 +30,13 @@ namespace ICSharpCode.Scripting
return (AvalonEdit.TextEditor)textEditor; return (AvalonEdit.TextEditor)textEditor;
} }
IHighlightingDefinition GetSyntaxHighlighting()
{
return HighlightingManager.Instance.GetDefinition(SyntaxHighlightingName);
}
protected abstract string SyntaxHighlightingName { get; }
void CreateConsoleHost() void CreateConsoleHost()
{ {
ControlDispatcher dispatcher = new ControlDispatcher(textEditor); ControlDispatcher dispatcher = new ControlDispatcher(textEditor);
@ -35,12 +44,9 @@ namespace ICSharpCode.Scripting
host = CreateConsoleHost(consoleTextEditor, dispatcher); host = CreateConsoleHost(consoleTextEditor, dispatcher);
} }
protected virtual IScriptingConsoleHost CreateConsoleHost( protected abstract IScriptingConsoleHost CreateConsoleHost(
IScriptingConsoleTextEditor consoleTextEditor, IScriptingConsoleTextEditor consoleTextEditor,
IControlDispatcher dispatcher) IControlDispatcher dispatcher);
{
return null;
}
public IScriptingConsoleTextEditor ScriptingConsoleTextEditor { public IScriptingConsoleTextEditor ScriptingConsoleTextEditor {
get { return consoleTextEditor; } get { return consoleTextEditor; }

Loading…
Cancel
Save