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 @@ -13,5 +13,9 @@ namespace ICSharpCode.PythonBinding
{
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 @@ -13,5 +13,9 @@ namespace ICSharpCode.RubyBinding
{
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 @@ @@ -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 @@ -17,6 +18,7 @@ namespace ICSharpCode.Scripting
public ScriptingConsolePad()
{
textEditor = CreateTextEditor();
textEditor.SyntaxHighlighting = GetSyntaxHighlighting();
CreateConsoleHost();
host.Run();
}
@ -28,6 +30,13 @@ namespace ICSharpCode.Scripting @@ -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 @@ -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; }

Loading…
Cancel
Save