Browse Source

Merge branch '4.0' of https://github.com/icsharpcode/SharpDevelop into 4.0

pull/14/head
Eusebiu Marcu 15 years ago
parent
commit
4d16b9d2a8
  1. 8
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs
  2. 7
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs
  3. 43
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ContextActionsRenderer.cs
  4. 12
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Document/TextDocument.cs
  5. 25
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/ASPX.xshd
  6. 427
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/CPP-Mode.xshd
  7. 165
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/Coco-Mode.xshd
  8. 763
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/HTML-Mode.xshd
  9. 326
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/Java-Mode.xshd
  10. 253
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/JavaScript-Mode.xshd
  11. 350
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/PHP-Mode.xshd
  12. 2
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/Deque.cs
  13. 14
      src/Main/Base/Project/Src/Services/File/FileService.cs
  14. 27
      src/Main/Core/Project/Src/Services/MessageService/MessageService.cs

8
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs

@ -217,10 +217,11 @@ namespace ICSharpCode.AvalonEdit.AddIn
TextCopied(this, e); TextCopied(this, e);
} }
protected virtual void DisposeTextEditor(TextEditor textEditor) protected virtual void DisposeTextEditor(CodeEditorView textEditor)
{ {
// detach IconBarMargin from IconBarManager // detach IconBarMargin from IconBarManager
textEditor.TextArea.LeftMargins.OfType<IconBarMargin>().Single().TextView = null; textEditor.TextArea.LeftMargins.OfType<IconBarMargin>().Single().TextView = null;
textEditor.Dispose();
} }
void textEditor_GotFocus(object sender, RoutedEventArgs e) void textEditor_GotFocus(object sender, RoutedEventArgs e)
@ -332,9 +333,9 @@ namespace ICSharpCode.AvalonEdit.AddIn
// remove secondary editor // remove secondary editor
this.Children.Remove(secondaryTextEditor); this.Children.Remove(secondaryTextEditor);
this.Children.Remove(gridSplitter); this.Children.Remove(gridSplitter);
secondaryTextEditorAdapter.Language.Detach();
DisposeTextEditor(secondaryTextEditor); DisposeTextEditor(secondaryTextEditor);
secondaryTextEditor = null; secondaryTextEditor = null;
secondaryTextEditorAdapter.Language.Detach();
secondaryTextEditorAdapter = null; secondaryTextEditorAdapter = null;
gridSplitter = null; gridSplitter = null;
this.RowDefinitions.RemoveAt(this.RowDefinitions.Count - 1); this.RowDefinitions.RemoveAt(this.RowDefinitions.Count - 1);
@ -574,6 +575,9 @@ namespace ICSharpCode.AvalonEdit.AddIn
if (errorPainter != null) if (errorPainter != null)
errorPainter.Dispose(); errorPainter.Dispose();
this.Document = null; this.Document = null;
DisposeTextEditor(primaryTextEditor);
if (secondaryTextEditor != null)
DisposeTextEditor(secondaryTextEditor);
} }
} }
} }

7
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs

@ -34,7 +34,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
/// There can be two CodeEditorView instances in a single CodeEditor if split-view /// There can be two CodeEditorView instances in a single CodeEditor if split-view
/// is enabled. /// is enabled.
/// </summary> /// </summary>
public class CodeEditorView : SharpDevelopTextEditor public class CodeEditorView : SharpDevelopTextEditor, IDisposable
{ {
public ITextEditor Adapter { get; set; } public ITextEditor Adapter { get; set; }
@ -69,6 +69,11 @@ namespace ICSharpCode.AvalonEdit.AddIn
this.toolTip.IsOpen = false; this.toolTip.IsOpen = false;
} }
public virtual void Dispose()
{
contextActionsRenderer.Dispose();
}
protected override string FileName { protected override string FileName {
get { return this.Adapter.FileName; } get { return this.Adapter.FileName; }
} }

43
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ContextActionsRenderer.cs

@ -18,7 +18,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
/// <summary> /// <summary>
/// Renders Popup with context actions on the left side of the current line in the editor. /// Renders Popup with context actions on the left side of the current line in the editor.
/// </summary> /// </summary>
public class ContextActionsRenderer public sealed class ContextActionsRenderer : IDisposable
{ {
readonly CodeEditorView editorView; readonly CodeEditorView editorView;
ITextEditor Editor { get { return this.editorView.Adapter; } } ITextEditor Editor { get { return this.editorView.Adapter; } }
@ -36,12 +36,11 @@ namespace ICSharpCode.AvalonEdit.AddIn
public bool IsEnabled public bool IsEnabled
{ {
get { get {
try { string fileName = this.Editor.FileName;
string fileName = this.Editor.FileName; if (String.IsNullOrEmpty(fileName))
return fileName.EndsWith(".cs") || fileName.EndsWith(".vb");
} catch {
return false; return false;
} return fileName.EndsWith(".cs", StringComparison.OrdinalIgnoreCase)
|| fileName.EndsWith(".vb", StringComparison.OrdinalIgnoreCase);
} }
} }
@ -59,10 +58,16 @@ namespace ICSharpCode.AvalonEdit.AddIn
this.delayMoveTimer = new DispatcherTimer() { Interval = TimeSpan.FromMilliseconds(delayMoveMilliseconds) }; this.delayMoveTimer = new DispatcherTimer() { Interval = TimeSpan.FromMilliseconds(delayMoveMilliseconds) };
this.delayMoveTimer.Stop(); this.delayMoveTimer.Stop();
this.delayMoveTimer.Tick += TimerMoveTick; this.delayMoveTimer.Tick += TimerMoveTick;
WorkbenchSingleton.Workbench.ViewClosed += WorkbenchSingleton_Workbench_ViewClosed;
WorkbenchSingleton.Workbench.ActiveViewContentChanged += WorkbenchSingleton_Workbench_ActiveViewContentChanged; WorkbenchSingleton.Workbench.ActiveViewContentChanged += WorkbenchSingleton_Workbench_ActiveViewContentChanged;
} }
public void Dispose()
{
ClosePopup();
WorkbenchSingleton.Workbench.ActiveViewContentChanged -= WorkbenchSingleton_Workbench_ActiveViewContentChanged;
delayMoveTimer.Stop();
}
void ContextActionsRenderer_KeyDown(object sender, KeyEventArgs e) void ContextActionsRenderer_KeyDown(object sender, KeyEventArgs e)
{ {
if (this.popup == null) if (this.popup == null)
@ -131,26 +136,14 @@ namespace ICSharpCode.AvalonEdit.AddIn
this.popup.IsHiddenActionsExpanded = false; this.popup.IsHiddenActionsExpanded = false;
this.popup.ViewModel = null; this.popup.ViewModel = null;
} }
void WorkbenchSingleton_Workbench_ViewClosed(object sender, ViewContentEventArgs e)
{
try {
// prevent memory leaks
if (e.Content.PrimaryFileName == this.Editor.FileName) {
WorkbenchSingleton.Workbench.ViewClosed -= WorkbenchSingleton_Workbench_ViewClosed;
WorkbenchSingleton.Workbench.ActiveViewContentChanged -= WorkbenchSingleton_Workbench_ActiveViewContentChanged;
}
} catch {}
}
void WorkbenchSingleton_Workbench_ActiveViewContentChanged(object sender, EventArgs e) void WorkbenchSingleton_Workbench_ActiveViewContentChanged(object sender, EventArgs e)
{ {
ClosePopup(); // open the popup again if in current file
try { IViewContent activeViewContent = WorkbenchSingleton.Workbench.ActiveViewContent;
// open the popup again if in current file if (activeViewContent != null && activeViewContent.PrimaryFileName == this.Editor.FileName)
if (((IViewContent)WorkbenchSingleton.Workbench.ActiveContent).PrimaryFileName == this.Editor.FileName) CaretPositionChanged(this, EventArgs.Empty);
CaretPositionChanged(this, EventArgs.Empty); else // otherwise close popup
} catch {} ClosePopup();
} }
} }
} }

12
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Document/TextDocument.cs

@ -722,13 +722,23 @@ namespace ICSharpCode.AvalonEdit.Document
} }
} }
readonly UndoStack undoStack; UndoStack undoStack;
/// <summary> /// <summary>
/// Gets the <see cref="UndoStack"/> of the document. /// Gets the <see cref="UndoStack"/> of the document.
/// </summary> /// </summary>
/// <remarks>This property can also be used to set the undo stack, e.g. for sharing a common undo stack between multiple documents.</remarks>
public UndoStack UndoStack { public UndoStack UndoStack {
get { return undoStack; } get { return undoStack; }
set {
if (value == null)
throw new ArgumentNullException();
if (value != undoStack) {
undoStack.ClearAll(); // first clear old undo stack, so that it can't be used to perform unexpected changes on this document
// ClearAll() will also throw an exception when it's not safe to replace the undo stack (e.g. update is currently in progress)
undoStack = value;
}
}
} }
/// <summary> /// <summary>

25
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/ASPX.xshd

@ -1,13 +1,16 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<SyntaxDefinition name = "ASP/XHTML" extensions = ".asp;.aspx;.asax;.asmx" extends = "HTML"> <!-- converted to AvalonEdit format by Siegfried Pammer in 2010 -->
<RuleSets> <SyntaxDefinition name="ASP/XHTML" extensions=".asp;.aspx;.asax;.asmx" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<RuleSet ignorecase = "true"> <Color name="ASPSectionStartEndTags" foreground="Black" background="Yellow" exampleText="&lt;% System.Console.WriteLine(&quot;Hello World!&quot;); %&gt;" />
<Span name = "ASPCode" rule = "ASP" bold = "false" italic = "false" color = "Black" bgcolor = "#F7F2E3" stopateol = "false"> <Color name="ASPSection" foreground="Black" background="#FFF7F2E3" exampleText="&lt;% System.Console.WriteLine(&quot;Hello World!&quot;); %&gt;" />
<Begin color="Black" bgcolor="Yellow">&lt;%</Begin> <RuleSet ignoreCase="true">
<End color="Black" bgcolor="Yellow">%&gt;</End> <Span color="ASPSection" ruleSet="ASP" multiline="true">
</Span> <Begin color="ASPSectionStartEndTags">&lt;%</Begin>
</RuleSet> <End color="ASPSectionStartEndTags">%&gt;</End>
</Span>
<RuleSet name="ASP" reference="C#" /> <Import ruleSet="HTML/" />
</RuleSets> </RuleSet>
<RuleSet name="ASP">
<Import ruleSet="C#/" />
</RuleSet>
</SyntaxDefinition> </SyntaxDefinition>

427
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/CPP-Mode.xshd

@ -1,236 +1,195 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- syntaxdefinition for C/C++ 2001 by Andrea Paatz and Mike Krueger <!-- syntaxdefinition for C/C++ 2001 by Andrea Paatz and Mike Krueger -->
this should be rewritten to xshd v2.0 syntax to handle c++/cli keywords with whitespaces properly --> <!-- converted to AvalonEdit format by Siegfried Pammer in 2010 -->
<SyntaxDefinition name="C++" extensions=".c;.h;.cc;.cpp;.hpp" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<SyntaxDefinition name = "C++" extensions = ".c;.h;.cc;.cpp;.hpp"> <Color name="Comment" foreground="Green" />
<Color name="Character" foreground="Fuchsia" />
<Properties> <Color name="String" foreground="Fuchsia" />
<Property name="LineComment" value="//"/> <Color name="Preprocessor" foreground="Green" />
</Properties> <Color name="Punctuation" foreground="DarkGreen" />
<Color name="MethodName" foreground="MidnightBlue" fontWeight="bold" />
<Digits name = "Digits" bold = "false" italic = "false" color = "DarkBlue"/> <Color name="Digits" foreground="DarkBlue" />
<Color name="CompoundKeywords" foreground="Black" fontWeight="bold" />
<RuleSets> <Color name="This" foreground="Black" fontWeight="bold" />
<RuleSet ignorecase = "false"> <Color name="Operators" foreground="#FF008B8B" fontWeight="bold" />
<Delimiters>~!%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters> <Color name="Namespace" foreground="#FF008000" fontWeight="bold" />
<Color name="Friend" foreground="#FFA52A2A" />
<Span name = "PreprocessorDirectives" bold="false" italic="false" color="Green" stopateol = "true"> <Color name="Modifiers" foreground="#FF0000FF" fontWeight="bold" />
<Begin>#</Begin> <Color name="TypeKeywords" foreground="#FFFF0000" />
</Span> <Color name="BooleanConstants" foreground="#FF000000" fontWeight="bold" />
<Color name="Keywords" foreground="#FF0000FF" fontWeight="bold" />
<Span name = "LineComment" bold = "false" italic = "false" color = "Green" stopateol = "true"> <Color name="LoopKeywords" foreground="#FF0000FF" fontWeight="bold" />
<Begin>//</Begin> <Color name="JumpKeywords" foreground="#FF000080" />
</Span> <Color name="ExceptionHandling" foreground="#FF008080" fontWeight="bold" />
<Color name="ControlFlow" foreground="#FF0000FF" fontWeight="bold" />
<Span name = "BlockComment" bold = "false" italic = "false" color = "Green" stopateol = "false"> <RuleSet ignoreCase="false">
<Begin>/*</Begin> <Rule color="Punctuation">
<End>*/</End> [?,.;()\[\]{}+\-/%*&lt;&gt;^=~!&amp;]+
</Span> </Rule>
<Keywords color="CompoundKeywords">
<Span name = "String" bold = "false" italic = "false" color = "Magenta" stopateol = "true" escapecharacter="\"> <Word>__abstract</Word>
<Begin>"</Begin> <Word>__box</Word>
<End>"</End> <Word>__delegate</Word>
</Span> <Word>__gc</Word>
<Word>__identifier</Word>
<Span name = "Char" bold = "false" italic = "false" color = "Magenta" stopateol = "true" escapecharacter="\"> <Word>__nogc</Word>
<Begin>&apos;</Begin> <Word>__pin</Word>
<End>&apos;</End> <Word>__property</Word>
</Span> <Word>__sealed</Word>
<Word>__try_cast</Word>
<MarkPrevious bold = "true" italic = "false" color = "MidnightBlue">(</MarkPrevious> <Word>__typeof</Word>
<Word>__value</Word>
<KeyWords name = "Punctuation" bold = "false" italic = "false" color = "DarkGreen"> <Word>__event</Word>
<Key word = "?" /> <Word>__hook</Word>
<Key word = "," /> <Word>__raise</Word>
<Key word = "." /> <Word>__unhook</Word>
<Key word = ";" /> <Word>__interface</Word>
<Key word = "(" /> <Word>ref class</Word>
<Key word = ")" /> <Word>ref struct</Word>
<Key word = "[" /> <Word>value class</Word>
<Key word = "]" /> <Word>value struct</Word>
<Key word = "{" /> <Word>interface class</Word>
<Key word = "}" /> <Word>interface struct</Word>
<Key word = "+" /> <Word>enum class</Word>
<Key word = "-" /> <Word>enum struct</Word>
<Key word = "/" /> <Word>delegate</Word>
<Key word = "%" /> <Word>event</Word>
<Key word = "*" /> <Word>property</Word>
<Key word = "&lt;" /> <Word>abstract</Word>
<Key word = "&gt;" /> <Word>override</Word>
<Key word = "^" /> <Word>sealed</Word>
<Key word = "=" /> <Word>generic</Word>
<Key word = "~" /> <Word>where</Word>
<Key word = "!" /> <Word>finally</Word>
<Key word = "|" /> <Word>for each</Word>
<Key word = "&amp;" /> <Word>gcnew</Word>
</KeyWords> <Word>in</Word>
<Word>initonly</Word>
<KeyWords name = "ManagedKeyWords" bold="true" italic="false" color="Black"> <Word>literal</Word>
<Key word = "__abstract" /> <Word>nullptr</Word>
<Key word = "__box" /> </Keywords>
<Key word = "__delegate" /> <Keywords color="This">
<Key word = "__gc" /> <Word>this</Word>
<Key word = "__identifier" /> </Keywords>
<Key word = "__nogc" /> <Keywords color="Operators">
<Key word = "__pin" /> <Word>and</Word>
<Key word = "__property" /> <Word>and_eq</Word>
<Key word = "__sealed" /> <Word>bitand</Word>
<Key word = "__try_cast" /> <Word>bitor</Word>
<Key word = "__typeof" /> <Word>new</Word>
<Key word = "__value" /> <Word>not</Word>
<Word>not_eq</Word>
<Word>or</Word>
<Key word = "__event" /> <Word>or_eq</Word>
<Key word = "__hook" /> <Word>xor</Word>
<Key word = "__raise" /> <Word>xor_eq</Word>
<Key word = "__unhook" /> </Keywords>
<Keywords color="Namespace">
<Key word = "__interface" /> <Word>using</Word>
<Word>namespace</Word>
<!-- c++/cli new syntax managed keywords //--> </Keywords>
<Key word = "ref class" /> <Keywords color="Friend">
<Key word = "ref struct" /> <Word>friend</Word>
<Key word = "value class" /> </Keywords>
<Key word = "value struct" /> <Keywords color="Modifiers">
<Key word = "interface class" /> <Word>private</Word>
<Key word = "interface struct" /> <Word>protected</Word>
<Key word = "enum class" /> <Word>public</Word>
<Key word = "enum struct" /> <Word>const</Word>
<Word>volatile</Word>
<Key word = "delegate" /> <Word>static</Word>
<Key word = "event" /> </Keywords>
<Key word = "property" /> <Keywords color="TypeKeywords">
<Word>bool</Word>
<Key word = "abstract" /> <Word>char</Word>
<Key word = "override" /> <Word>unsigned</Word>
<Key word = "sealed" /> <Word>union</Word>
<Word>virtual</Word>
<Key word = "generic" /> <Word>double</Word>
<Key word = "where" /> <Word>float</Word>
<Word>short</Word>
<Key word = "finally" /> <Word>signed</Word>
<Key word = "for each" /> <Word>void</Word>
<Key word = "gcnew" /> <Word>class</Word>
<Key word = "in" /> <Word>enum</Word>
<Key word = "initonly" /> <Word>struct</Word>
<Key word = "literal" /> </Keywords>
<Key word = "nullptr" /> <Keywords color="BooleanConstants">
</KeyWords> <Word>false</Word>
<Word>true</Word>
<KeyWords name = "AccessKeywords" bold="true" italic="false" color="Black"> </Keywords>
<Key word = "this" /> <Keywords color="LoopKeywords">
</KeyWords> <Word>do</Word>
<Word>for</Word>
<KeyWords name = "OperatorKeywords" bold="true" italic="false" color="DarkCyan"> <Word>while</Word>
<Key word = "and" /> </Keywords>
<Key word = "and_eq" /> <Keywords color="JumpKeywords">
<Word>break</Word>
<Key word = "bitand" /> <Word>continue</Word>
<Key word = "bitor" /> <Word>goto</Word>
<Word>return</Word>
<Key word = "new" /> </Keywords>
<Key word = "not" /> <Keywords color="ExceptionHandling">
<Key word = "not_eq" /> <Word>catch</Word>
<Key word = "or" /> <Word>throw</Word>
<Key word = "or_eq" /> <Word>try</Word>
<Key word = "xor" /> </Keywords>
<Key word = "xor_eq" /> <Keywords color="ControlFlow">
</KeyWords> <Word>case</Word>
<Word>else</Word>
<KeyWords name = "NameSpaces" bold="true" italic="false" color="Green"> <Word>if</Word>
<Key word = "using" /> <Word>switch</Word>
<Key word = "namespace" /> <Word>default</Word>
</KeyWords> </Keywords>
<Keywords color="Keywords">
<KeyWords name = "Friends" bold="false" italic="false" color="Brown"> <Word>asm</Word>
<Key word = "friend" /> <Word>auto</Word>
</KeyWords> <Word>compl</Word>
<Word>mutable</Word>
<KeyWords name = "AccessModifiers" bold="true" italic="false" color="Blue"> <Word>const_cast</Word>
<Key word = "private" /> <Word>delete</Word>
<Key word = "protected" /> <Word>dynamic_cast</Word>
<Key word = "public" /> <Word>explicit</Word>
<Word>export</Word>
<Key word = "const" /> <Word>extern</Word>
<Key word = "volatile" /> <Word>inline</Word>
<Word>int</Word>
<Key word = "static" /> <Word>long</Word>
</KeyWords> <Word>operator</Word>
<Word>register</Word>
<KeyWords name = "Types" bold="false" italic="false" color="Red"> <Word>reinterpret_cast</Word>
<Key word = "bool" /> <Word>sizeof</Word>
<Key word = "char" /> <Word>static_cast</Word>
<Key word = "unsigned" /> <Word>template</Word>
<Key word = "union" /> <Word>typedef</Word>
<Key word = "virtual" /> <Word>typeid</Word>
<Key word = "double" /> <Word>typename</Word>
<Key word = "float" /> </Keywords>
<Key word = "short" /> <Span color="Preprocessor">
<Key word = "signed" /> <Begin>\#</Begin>
<Key word = "void" /> </Span>
<Key word = "class" /> <Span color="Comment">
<Begin>//</Begin>
<Key word = "enum" /> </Span>
<Key word = "struct" /> <Span color="Comment" multiline="true">
</KeyWords> <Begin>/\*</Begin>
<End>\*/</End>
<KeyWords name = "Literals" bold="true" italic="false" color="Black"> </Span>
<Key word = "false" /> <Span color="String">
<Key word = "true" /> <Begin>"</Begin>
</KeyWords> <End>"</End>
<RuleSet>
<KeyWords name = "IterationStatements" bold="true" italic="false" color="Blue"> <Span begin="\\" end="." />
<Key word = "do" /> </RuleSet>
<Key word = "for" /> </Span>
<Key word = "while" /> <Span color="Character">
</KeyWords> <Begin>'</Begin>
<End>'</End>
<KeyWords name = "JumpStatements" bold="false" italic="false" color="Navy"> <RuleSet>
<Key word = "break" /> <Span begin="\\" end="." />
<Key word = "continue" /> </RuleSet>
<Key word = "goto" /> </Span>
<Key word = "return" /> <Rule color="MethodName">[\d\w_]+(?=(\s*\())</Rule>
</KeyWords> <Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
</RuleSet>
<KeyWords name = "ExceptionHandlingStatements" bold="true" italic="false" color="Teal">
<Key word = "catch" />
<Key word = "throw" />
<Key word = "try" />
</KeyWords>
<KeyWords name = "SelectionStatements" bold="true" italic="false" color="Blue">
<Key word = "case" />
<Key word = "else" />
<Key word = "if" />
<Key word = "switch" />
<Key word = "default" />
</KeyWords>
<KeyWords name = "KEYWORD1" bold="true" italic="false" color="Blue">
<Key word = "asm" />
<Key word = "auto" />
<Key word = "compl" />
<Key word = "mutable" />
<Key word = "const_cast" />
<Key word = "delete" />
<Key word = "dynamic_cast" />
<Key word = "explicit" />
<Key word = "export" />
<Key word = "extern" />
<Key word = "inline" />
<Key word = "int" />
<Key word = "long" />
<Key word = "operator" />
<Key word = "register" />
<Key word = "reinterpret_cast" />
<Key word = "sizeof" />
<Key word = "static_cast" />
<Key word = "template" />
<Key word = "typedef" />
<Key word = "typeid" />
<Key word = "typename" />
</KeyWords>
</RuleSet>
</RuleSets>
</SyntaxDefinition> </SyntaxDefinition>

165
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/Coco-Mode.xshd

@ -1,97 +1,74 @@
<?xml version="1.0" ?> <?xml version="1.0" ?>
<!-- syntaxdefinition for Coco/R 2003 by Mike Krueger --> <!-- syntaxdefinition for Coco/R 2003 by Mike Krueger -->
<SyntaxDefinition name="Coco" extensions=".atg"> <!-- converted to AvalonEdit format by Siegfried Pammer in 2010 -->
<SyntaxDefinition name="Coco" extensions=".atg" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<Digits name="Digits" bold="false" italic="false" color="DarkBlue" /> <Color name="Comment" foreground="#FF808080" fontStyle="italic" />
<Color name="Punctuation" foreground="#FF000000" fontWeight="bold" />
<RuleSets> <Color name="Keywords" foreground="#FF0000FF" fontWeight="bold" />
<RuleSet ignorecase="false"> <Color name="String" foreground="#FF006400" />
<Delimiters>&amp;&lt;&gt;~!@%^*()-+=|\#/{}[]:;"' , .?</Delimiters> <RuleSet ignoreCase="false">
<Rule color="Punctuation">
<Span name = "LINECOMMENT" bold = "false" italic = "true" color = "Gray" stopateol = "true"> [{}\(\)\[\]|+\-=\.]+
<Begin>//</Begin> </Rule>
</Span> <Keywords color="Keywords">
<Word>ANY</Word>
<Span name = "BLOCKCOMMENT" bold = "false" italic = "true" color = "Gray" stopateol = "false"> <Word>CHARACTERS</Word>
<Begin>/*</Begin> <Word>COMMENTS</Word>
<End>*/</End> <Word>COMPILER</Word>
</Span> <Word>CONTEXT</Word>
<Word>END</Word>
<Word>FROM</Word>
<Span name="CSharpCode2" rule="CSharp" bold="false" italic="false" color="Black" stopateol="false"> <Word>IF</Word>
<Begin bold = "true" color = "Blue">COMPILER</Begin> <Word>IGNORE</Word>
<End bold = "true" color = "Blue">TOKENNAMES</End> <Word>NAMESPACE</Word>
</Span> <Word>NESTED</Word>
<Word>PRAGMAS</Word>
<Span name = "STRING" bold = "false" italic = "false" color = "DarkGreen" stopateol = "true"> <Word>PRODUCTIONS</Word>
<Begin>"</Begin> <Word>SYNC</Word>
<End>"</End> <Word>TO</Word>
</Span> <Word>TOKENS</Word>
<Word>TOKENNAMES</Word>
<Span name = "CHAR" bold = "false" italic = "false" color = "DarkGreen" stopateol = "true"> <Word>WEAK</Word>
<Begin>'</Begin> <Word>using</Word>
<End>'</End> </Keywords>
</Span> <Span color="Comment">
<Begin>//</Begin>
<Span name = "paramlist" rule="ParamList" bold = "false" italic = "false" color = "Black" stopateol = "true"> </Span>
<Begin bold="true" color = "Black" >&lt;</Begin> <Span color="Comment" multiline="true">
<End bold="true" color = "Black" >&gt;</End> <Begin>/\*</Begin>
</Span> <End>\*/</End>
</Span>
<Span name="CSharpCode" rule="CSharp" bold="false" italic="false" color="DarkSlateGray" stopateol="false"> <Span foreground="Black" ruleSet="CSharp" multiline="true">
<Begin bold = "true" italic="true" color = "Green">(.</Begin> <Begin color="Keywords">COMPILER</Begin>
<End bold = "true" italic="true" color = "Green">.)</End> <End color="Keywords">TOKENNAMES</End>
</Span> </Span>
<Span color="String">
<Begin>"</Begin>
<KeyWords name = "Punctuation" bold = "true" italic = "false" color = "Black"> <End>"</End>
<Key word = "{"/> </Span>
<Key word = "}"/> <Span color="String">
<Key word = "("/> <Begin>'</Begin>
<Key word = ")"/> <End>'</End>
<Key word = "["/> </Span>
<Key word = "]"/> <Span foreground="#FF000000" ruleSet="ParamList">
<Key word = "|"/> <Begin foreground="#FF000000" fontWeight="bold">&lt;</Begin>
<Key word = "+"/> <End foreground="#FF000000" fontWeight="bold">&gt;</End>
<Key word = "-"/> </Span>
<Key word = "="/> <Span foreground="#FF2F4F4F" fontWeight="normal" fontStyle="normal" ruleSet="CSharp" multiline="true">
<Key word = "."/> <Begin foreground="#FF008000" fontWeight="bold" fontStyle="italic">\(\.</Begin>
</KeyWords> <End foreground="#FF008000" fontWeight="bold" fontStyle="italic">\.\)</End>
</Span>
<KeyWords name = "KeyWords" bold = "true" italic = "false" color = "Blue"> <Rule foreground="#FF00008B" fontWeight="normal" fontStyle="normal">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
<Key word = "ANY"/> </RuleSet>
<Key word = "CHARACTERS"/> <RuleSet name="CSharp" ignoreCase="false">
<Key word = "COMMENTS"/> <Import ruleSet="C#/" />
<Key word = "COMPILER"/> <Rule foreground="#FF00008B" fontWeight="normal" fontStyle="normal">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
<Key word = "CONTEXT"/> </RuleSet>
<Key word = "END"/> <RuleSet name="ParamList" ignoreCase="false">
<Key word = "FROM"/> <Import ruleSet="C#/" />
<Key word = "IF"/> <Rule foreground="#FF00008B" fontWeight="normal" fontStyle="normal">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
<Key word = "IGNORE"/> </RuleSet>
<Key word = "NAMESPACE"/> <RuleSet name="RuleDefinition" ignoreCase="false">
<Key word = "NESTED"/> <Rule foreground="#FF00008B" fontWeight="normal" fontStyle="normal">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
<Key word = "PRAGMAS"/> </RuleSet>
<Key word = "PRODUCTIONS"/>
<Key word = "SYNC"/>
<Key word = "TO"/>
<Key word = "TOKENS"/>
<Key word = "TOKENNAMES"/>
<Key word = "WEAK"/>
<Key word = "using"/>
</KeyWords>
</RuleSet>
<RuleSet name="CSharp" reference = "C#" ignorecase="false">
</RuleSet>
<RuleSet name="ParamList" reference = "C#" ignorecase="false">
</RuleSet>
<RuleSet name="RuleDefinition" ignorecase="false">
</RuleSet>
</RuleSets>
</SyntaxDefinition> </SyntaxDefinition>

763
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/HTML-Mode.xshd

@ -1,385 +1,384 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- syntaxdefinition for HTML 2000 by Mike Krueger --> <!-- syntaxdefinition for HTML 2000 by Mike Krueger -->
<!-- converted to AvalonEdit format by Siegfried Pammer in 2010 -->
<SyntaxDefinition name = "HTML" extensions = ".htm;.html"> <SyntaxDefinition name="HTML" extensions=".htm;.html" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<Color name="Comment" foreground="DarkSlateGray" />
<Digits name = "Digits" bold = "false" italic = "false" color = "DarkBlue"/> <Color name="Digits" foreground="DarkBlue" />
<Color name="ScriptTag" foreground="#FF00FF7F" />
<RuleSets> <Color name="JavaScriptTag" foreground="#FF00FF7F" />
<RuleSet ignorecase = "true"> <Color name="JScriptTag" foreground="#FF00FF7F" />
<!-- It is not necessary to define span-delimiting characters as delimiters --> <Color name="VBScriptTag" foreground="#FF00FF7F" />
<Delimiters></Delimiters> <Color name="UnknownScriptTag" foreground="#FF00FF7F" />
<Color name="HtmlTag" foreground="#FF8B008B" />
<Span name="Comment" bold="false" italic="false" color="DarkSlateGray" stopateol="false"> <Color name="Tags" foreground="#FF8B008B" />
<Begin>&lt;!--</Begin> <Color name="Attributes" foreground="Red" />
<End>--&gt;</End> <Color name="Slash" foreground="DarkMagenta" />
</Span> <Color name="Assignment" foreground="Blue" />
<Span name="ScriptTag" rule="JavaScriptSet" bold="false" italic="false" color="SpringGreen" stopateol="false"> <Color name="String" foreground="Blue" />
<Begin>&lt;script&gt;</Begin> <Color name="EntityReference" foreground="Blue" />
<End>&lt;/script&gt;</End> <Color name="Entities" foreground="#FF008000" />
</Span> <Color name="UnknownAttribute" foreground="Blue" />
<Span name="JavaScriptTag" rule="JavaScriptSet" bold="false" italic="false" color="SpringGreen" stopateol="false"> <RuleSet ignoreCase="true">
<Begin>&lt;script lang="JavaScript"&gt;</Begin> <Span color="Comment" multiline="true">
<End>&lt;/script&gt;</End> <Begin>&lt;!--</Begin>
</Span> <End>--&gt;</End>
<Span name="JScriptTag" bold="false" italic="false" color="SpringGreen" stopateol="false"> </Span>
<Begin>&lt;script lang="JScript"&gt;</Begin> <Span color="ScriptTag" ruleSet="JavaScriptSet" multiline="true">
<End>&lt;/script&gt;</End> <Begin>&lt;script&gt;</Begin>
</Span> <End>&lt;/script&gt;</End>
<Span name="VBScriptTag" bold="false" italic="false" color="SpringGreen" stopateol="false"> </Span>
<Begin>&lt;script lang="VBScript"&gt;</Begin> <Span color="JavaScriptTag" ruleSet="JavaScriptSet" multiline="true">
<End>&lt;/script&gt;</End> <Begin>&lt;script\ lang="JavaScript"&gt;</Begin>
</Span> <End>&lt;/script&gt;</End>
<Span name="UnknownScriptTag" bold="false" italic="false" color="SpringGreen" stopateol="false"> </Span>
<Begin>&lt;script@C</Begin> <Span color="JScriptTag" multiline="true">
<End>&lt;/script&gt;</End> <Begin>&lt;script\ lang="JScript"&gt;</Begin>
</Span> <End>&lt;/script&gt;</End>
<Span name="HtmlTag" rule="HtmlTagSet" bold="false" italic="false" color="DarkMagenta" stopateol="false"> </Span>
<Begin>&lt;</Begin> <Span color="VBScriptTag" multiline="true">
<End>&gt;</End> <Begin>&lt;script\ lang="VBScript"&gt;</Begin>
</Span> <End>&lt;/script&gt;</End>
</Span>
<Span name="EntityReference" rule="EntityReferenceSet" bold="false" italic="false" color="Blue" stopateol="true"> <Span color="UnknownScriptTag" multiline="true">
<Begin>&amp;</Begin> <Begin>&lt;script[^\w\d_]</Begin>
<End>;</End> <End>&lt;/script&gt;</End>
</Span> </Span>
<Span color="HtmlTag" ruleSet="HtmlTagSet" multiline="true">
</RuleSet> <Begin>&lt;</Begin>
<End>&gt;</End>
<RuleSet name="JavaScriptSet" reference="JavaScript" /> </Span>
<Span color="EntityReference" ruleSet="EntityReferenceSet">
<RuleSet name="EntityReferenceSet" ignorecase="false"> <Begin>&amp;</Begin>
<KeyWords name = "Entities" bold="false" italic="false" color="Green"> <End>;</End>
<Key word = "aacute" /> </Span>
<Key word = "agrave" /> <Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
<Key word = "acirc" /> </RuleSet>
<Key word = "amp" /> <RuleSet name="JavaScriptSet">
<Key word = "atilde" /> <Import ruleSet="JavaScript/" />
<Key word = "aring" /> <Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
<Key word = "auml" /> </RuleSet>
<Key word = "aelig" /> <RuleSet name="EntityReferenceSet" ignoreCase="false">
<Key word = "ccedil" /> <Keywords color="Entities">
<Key word = "copy" /> <Word>aacute</Word>
<Key word = "eacute" /> <Word>agrave</Word>
<Key word = "egrave" /> <Word>acirc</Word>
<Key word = "ecirc" /> <Word>amp</Word>
<Key word = "euml" /> <Word>atilde</Word>
<Key word = "iacute" /> <Word>aring</Word>
<Key word = "igrave" /> <Word>auml</Word>
<Key word = "icirc" /> <Word>aelig</Word>
<Key word = "iuml" /> <Word>ccedil</Word>
<Key word = "eth" /> <Word>copy</Word>
<Key word = "gt" /> <Word>eacute</Word>
<Key word = "lt" /> <Word>egrave</Word>
<Key word = "nbsp" /> <Word>ecirc</Word>
<Key word = "ntilde" /> <Word>euml</Word>
<Key word = "oacute" /> <Word>iacute</Word>
<Key word = "ograve" /> <Word>igrave</Word>
<Key word = "ocirc" /> <Word>icirc</Word>
<Key word = "otilde" /> <Word>iuml</Word>
<Key word = "ouml" /> <Word>eth</Word>
<Key word = "oslash" /> <Word>gt</Word>
<Key word = "quot" /> <Word>lt</Word>
<Key word = "reg" /> <Word>nbsp</Word>
<Key word = "szlig" /> <Word>ntilde</Word>
<Key word = "uacute" /> <Word>oacute</Word>
<Key word = "ugrave" /> <Word>ograve</Word>
<Key word = "ucirc" /> <Word>ocirc</Word>
<Key word = "uuml" /> <Word>otilde</Word>
<Key word = "yacute" /> <Word>ouml</Word>
<Key word = "thorn" /> <Word>oslash</Word>
<Key word = "trade" /> <Word>quot</Word>
<Key word = "yuml" /> <Word>reg</Word>
</KeyWords> <Word>szlig</Word>
</RuleSet> <Word>uacute</Word>
<Word>ugrave</Word>
<RuleSet name="HtmlTagSet" ignorecase="false"> <Word>ucirc</Word>
<Delimiters>/=</Delimiters> <Word>uuml</Word>
<Word>yacute</Word>
<Span name="String" bold="false" italic="false" color="Blue" stopateol="true"> <Word>thorn</Word>
<Begin>&quot;</Begin> <Word>trade</Word>
<End>&quot;</End> <Word>yuml</Word>
</Span> </Keywords>
<Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
<Span name="Char" bold="false" italic="false" color="Blue" stopateol="true"> </RuleSet>
<Begin>&apos;</Begin> <RuleSet name="HtmlTagSet" ignoreCase="false">
<End>&apos;</End> <Keywords color="Slash">
</Span> <Word>/</Word>
</Keywords>
<MarkPrevious bold="false" italic="false" color="Red">=</MarkPrevious> <Keywords color="Assignment">
<Word>=</Word>
<KeyWords name="Slash" bold="false" italic="false" color="DarkMagenta"> </Keywords>
<Key word="/" /> <Keywords color="Tags">
</KeyWords> <Word>!DOCTYPE</Word>
<Word>A</Word>
<KeyWords name="Assignment" bold="false" italic="false" color="Blue"> <Word>ABBR</Word>
<Key word="=" /> <Word>ACRONYM</Word>
</KeyWords> <Word>ADDRESS</Word>
<Word>APPLET</Word>
<KeyWords name = "Tags" bold="false" italic="false" color="DarkMagenta"> <Word>AREA</Word>
<Key word = "!DOCTYPE" /> <Word>B</Word>
<Key word = "A" /> <Word>BASE</Word>
<Key word = "ABBR" /> <Word>BASEFONT</Word>
<Key word = "ACRONYM" /> <Word>BGSOUND</Word>
<Key word = "ADDRESS" /> <Word>BDO</Word>
<Key word = "APPLET" /> <Word>BIG</Word>
<Key word = "AREA" /> <Word>BLINK</Word>
<Key word = "B" /> <Word>BLOCKQUOTE</Word>
<Key word = "BASE" /> <Word>BODY</Word>
<Key word = "BASEFONT" /> <Word>BR</Word>
<Key word = "BGSOUND" /> <Word>BUTTON</Word>
<Key word = "BDO" /> <Word>CAPTION</Word>
<Key word = "BIG" /> <Word>CENTER</Word>
<Key word = "BLINK" /> <Word>CITE</Word>
<Key word = "BLOCKQUOTE" /> <Word>CODE</Word>
<Key word = "BODY" /> <Word>COL</Word>
<Key word = "BR" /> <Word>COLGROUP</Word>
<Key word = "BUTTON" /> <Word>COMMENT</Word>
<Key word = "CAPTION" /> <Word>DD</Word>
<Key word = "CENTER" /> <Word>DEL</Word>
<Key word = "CITE" /> <Word>DFN</Word>
<Key word = "CODE" /> <Word>DIR</Word>
<Key word = "COL" /> <Word>DIV</Word>
<Key word = "COLGROUP" /> <Word>DL</Word>
<Key word = "COMMENT" /> <Word>DT</Word>
<Key word = "DD" /> <Word>EM</Word>
<Key word = "DEL" /> <Word>EMBED</Word>
<Key word = "DFN" /> <Word>FIELDSET</Word>
<Key word = "DIR" /> <Word>FONT</Word>
<Key word = "DIV" /> <Word>FORM</Word>
<Key word = "DL" /> <Word>FRAME</Word>
<Key word = "DT" /> <Word>FRAMESET</Word>
<Key word = "EM" /> <Word>H</Word>
<Key word = "EMBED" /> <Word>H1</Word>
<Key word = "FIELDSET" /> <Word>H2</Word>
<Key word = "FONT" /> <Word>H3</Word>
<Key word = "FORM" /> <Word>H4</Word>
<Key word = "FRAME" /> <Word>H5</Word>
<Key word = "FRAMESET" /> <Word>H6</Word>
<Key word = "H" /> <Word>HEAD</Word>
<Key word = "H1" /> <Word>HR</Word>
<Key word = "H2" /> <Word>HTA:APPLICATION</Word>
<Key word = "H3" /> <Word>HTML</Word>
<Key word = "H4" /> <Word>I</Word>
<Key word = "H5" /> <Word>IFRAME</Word>
<Key word = "H6" /> <Word>IMG</Word>
<Key word = "HEAD" /> <Word>INPUT</Word>
<Key word = "HR" /> <Word>INS</Word>
<Key word = "HTA:APPLICATION" /> <Word>ISINDEX</Word>
<Key word = "HTML" /> <Word>KBD</Word>
<Key word = "I" /> <Word>LABEL</Word>
<Key word = "IFRAME" /> <Word>LEGEnd</Word>
<Key word = "IMG" /> <Word>LI</Word>
<Key word = "INPUT" /> <Word>LINK</Word>
<Key word = "INS" /> <Word>LISTING</Word>
<Key word = "ISINDEX" /> <Word>MAP</Word>
<Key word = "KBD" /> <Word>MARQUEE</Word>
<Key word = "LABEL" /> <Word>MENU</Word>
<Key word = "LEGEnd" /> <Word>META</Word>
<Key word = "LI" /> <Word>MULTICOL</Word>
<Key word = "LINK" /> <Word>NEXTID</Word>
<Key word = "LISTING" /> <Word>NOBR</Word>
<Key word = "MAP" /> <Word>NOFRAMES</Word>
<Key word = "MARQUEE" /> <Word>NOSCRIPT</Word>
<Key word = "MENU" /> <Word>OBJECT</Word>
<Key word = "META" /> <Word>OL</Word>
<Key word = "MULTICOL" /> <Word>OPTGROUP</Word>
<Key word = "NEXTID" /> <Word>OPTION</Word>
<Key word = "NOBR" /> <Word>P</Word>
<Key word = "NOFRAMES" /> <Word>PARAM</Word>
<Key word = "NOSCRIPT" /> <Word>PLAINTEXT</Word>
<Key word = "OBJECT" /> <Word>PRE</Word>
<Key word = "OL" /> <Word>Q</Word>
<Key word = "OPTGROUP" /> <Word>S</Word>
<Key word = "OPTION" /> <Word>SAMP</Word>
<Key word = "P" /> <Word>SCRIPT</Word>
<Key word = "PARAM" /> <Word>SELECT</Word>
<Key word = "PLAINTEXT" /> <Word>SERVER</Word>
<Key word = "PRE" /> <Word>SMALL</Word>
<Key word = "Q" /> <Word>SOUND</Word>
<Key word = "S" /> <Word>SPACER</Word>
<Key word = "SAMP" /> <Word>Span</Word>
<Key word = "SCRIPT" /> <Word>STRONG</Word>
<Key word = "SELECT" /> <Word>STYLE</Word>
<Key word = "SERVER" /> <Word>SUB</Word>
<Key word = "SMALL" /> <Word>SUP</Word>
<Key word = "SOUND" /> <Word>TABLE</Word>
<Key word = "SPACER" /> <Word>TBODY</Word>
<Key word = "Span" /> <Word>TD</Word>
<Key word = "STRONG" /> <Word>TEXTAREA</Word>
<Key word = "STYLE" /> <Word>TEXTFLOW</Word>
<Key word = "SUB" /> <Word>TFOOT</Word>
<Key word = "SUP" /> <Word>TH</Word>
<Key word = "TABLE" /> <Word>THEAD</Word>
<Key word = "TBODY" /> <Word>TITLE</Word>
<Key word = "TD" /> <Word>TR</Word>
<Key word = "TEXTAREA" /> <Word>TT</Word>
<Key word = "TEXTFLOW" /> <Word>U</Word>
<Key word = "TFOOT" /> <Word>VAR</Word>
<Key word = "TH" /> <Word>WBR</Word>
<Key word = "THEAD" /> <Word>XMP</Word>
<Key word = "TITLE" /> </Keywords>
<Key word = "TR" /> <Keywords color="Attributes">
<Key word = "TT" /> <Word>abbr</Word>
<Key word = "U" /> <Word>accept-charset</Word>
<Key word = "VAR" /> <Word>accept</Word>
<Key word = "WBR" /> <Word>accesskey</Word>
<Key word = "XMP" /> <Word>action</Word>
</KeyWords> <Word>align</Word>
<Word>alink</Word>
<KeyWords name = "Attributes" bold="false" italic="false" color="Red"> <Word>alt</Word>
<Key word = "abbr" /> <Word>applicationname</Word>
<Key word = "accept-charset" /> <Word>archive</Word>
<Key word = "accept" /> <Word>axis</Word>
<Key word = "accesskey" /> <Word>background</Word>
<Key word = "action" /> <Word>behavior</Word>
<Key word = "align" /> <Word>bgcolor</Word>
<Key word = "alink" /> <Word>bgproperties</Word>
<Key word = "alt" /> <Word>border</Word>
<Key word = "applicationname" /> <Word>bordercolor</Word>
<Key word = "archive" /> <Word>bordercolordark</Word>
<Key word = "axis" /> <Word>bordercolorligh</Word>
<Key word = "background" /> <Word>borderstyle</Word>
<Key word = "behavior" /> <Word>caption</Word>
<Key word = "bgcolor" /> <Word>cellpadding</Word>
<Key word = "bgproperties" /> <Word>cellspacing</Word>
<Key word = "border" /> <Word>char</Word>
<Key word = "bordercolor" /> <Word>charoff</Word>
<Key word = "bordercolordark" /> <Word>charset</Word>
<Key word = "bordercolorligh" /> <Word>checked</Word>
<Key word = "borderstyle" /> <Word>cite</Word>
<Key word = "caption" /> <Word>class</Word>
<Key word = "cellpadding" /> <Word>classid</Word>
<Key word = "cellspacing" /> <Word>clear</Word>
<Key word = "char" /> <Word>code</Word>
<Key word = "charoff" /> <Word>codetype</Word>
<Key word = "charset" /> <Word>color</Word>
<Key word = "checked" /> <Word>cols</Word>
<Key word = "cite" /> <Word>colspan</Word>
<Key word = "class" /> <Word>compact</Word>
<Key word = "classid" /> <Word>content</Word>
<Key word = "clear" /> <Word>coords</Word>
<Key word = "code" /> <Word>data</Word>
<Key word = "codetype" /> <Word>datetime</Word>
<Key word = "color" /> <Word>declare</Word>
<Key word = "cols" /> <Word>defer</Word>
<Key word = "colspan" /> <Word>dir</Word>
<Key word = "compact" /> <Word>direction</Word>
<Key word = "content" /> <Word>disabled</Word>
<Key word = "coords" /> <Word>dynsrc</Word>
<Key word = "data" /> <Word>enctype</Word>
<Key word = "datetime" /> <Word>face</Word>
<Key word = "declare" /> <Word>for</Word>
<Key word = "defer" /> <Word>frame</Word>
<Key word = "dir" /> <Word>frameborder</Word>
<Key word = "direction" /> <Word>framespacing</Word>
<Key word = "disabled" /> <Word>gutter</Word>
<Key word = "dynsrc" /> <Word>headers</Word>
<Key word = "enctype" /> <Word>height</Word>
<Key word = "face" /> <Word>href</Word>
<Key word = "for" /> <Word>hreflang</Word>
<Key word = "frame" /> <Word>hspace</Word>
<Key word = "frameborder" /> <Word>http-equiv</Word>
<Key word = "framespacing" /> <Word>icon</Word>
<Key word = "gutter" /> <Word>id</Word>
<Key word = "headers" /> <Word>ismap</Word>
<Key word = "height" /> <Word>label</Word>
<Key word = "href" /> <Word>language</Word>
<Key word = "hreflang" /> <Word>leftmargin</Word>
<Key word = "hspace" /> <Word>link</Word>
<Key word = "http-equiv" /> <Word>longdesc</Word>
<Key word = "icon" /> <Word>loop</Word>
<Key word = "id" /> <Word>lowsrc</Word>
<Key word = "ismap" /> <Word>marginheight</Word>
<Key word = "label" /> <Word>marginwidth</Word>
<Key word = "language" /> <Word>maximizebutton</Word>
<Key word = "leftmargin" /> <Word>maxlength</Word>
<Key word = "link" /> <Word>media</Word>
<Key word = "longdesc" /> <Word>method</Word>
<Key word = "loop" /> <Word>methods</Word>
<Key word = "lowsrc" /> <Word>minimizebutton</Word>
<Key word = "marginheight" /> <Word>multiple</Word>
<Key word = "marginwidth" /> <Word>name</Word>
<Key word = "maximizebutton" /> <Word>nohref</Word>
<Key word = "maxlength" /> <Word>noresize</Word>
<Key word = "media" /> <Word>noshade</Word>
<Key word = "method" /> <Word>nowrap</Word>
<Key word = "methods" /> <Word>object</Word>
<Key word = "minimizebutton" /> <Word>onabort</Word>
<Key word = "multiple" /> <Word>onblur</Word>
<Key word = "name" /> <Word>onchange</Word>
<Key word = "nohref" /> <Word>onclick</Word>
<Key word = "noresize" /> <Word>ondblclick</Word>
<Key word = "noshade" /> <Word>onerror</Word>
<Key word = "nowrap" /> <Word>onfocus</Word>
<Key word = "object" /> <Word>onkeydown</Word>
<Key word = "onabort" /> <Word>onkeypress</Word>
<Key word = "onblur" /> <Word>onkeyup</Word>
<Key word = "onchange" /> <Word>onload</Word>
<Key word = "onclick" /> <Word>onmousedown</Word>
<Key word = "ondblclick" /> <Word>onmousemove</Word>
<Key word = "onerror" /> <Word>onmouseout</Word>
<Key word = "onfocus" /> <Word>onmouseover</Word>
<Key word = "onkeydown" /> <Word>onmouseup</Word>
<Key word = "onkeypress" /> <Word>onreset</Word>
<Key word = "onkeyup" /> <Word>onselect</Word>
<Key word = "onload" /> <Word>onsubmit</Word>
<Key word = "onmousedown" /> <Word>onunload</Word>
<Key word = "onmousemove" /> <Word>profile</Word>
<Key word = "onmouseout" /> <Word>prompt</Word>
<Key word = "onmouseover" /> <Word>readonly</Word>
<Key word = "onmouseup" /> <Word>rel</Word>
<Key word = "onreset" /> <Word>rev</Word>
<Key word = "onselect" /> <Word>rows</Word>
<Key word = "onsubmit" /> <Word>rowspan</Word>
<Key word = "onunload" /> <Word>rules</Word>
<Key word = "profile" /> <Word>runat</Word>
<Key word = "prompt" /> <Word>scheme</Word>
<Key word = "readonly" /> <Word>scope</Word>
<Key word = "rel" /> <Word>scrollamount</Word>
<Key word = "rev" /> <Word>scrolldelay</Word>
<Key word = "rows" /> <Word>scrolling</Word>
<Key word = "rowspan" /> <Word>selected</Word>
<Key word = "rules" /> <Word>shape</Word>
<Key word = "runat" /> <Word>showintaskbar</Word>
<Key word = "scheme" /> <Word>singleinstance</Word>
<Key word = "scope" /> <Word>size</Word>
<Key word = "scrollamount" /> <Word>span</Word>
<Key word = "scrolldelay" /> <Word>src</Word>
<Key word = "scrolling" /> <Word>standby</Word>
<Key word = "selected" /> <Word>start</Word>
<Key word = "shape" /> <Word>style</Word>
<Key word = "showintaskbar" /> <Word>summary</Word>
<Key word = "singleinstance" /> <Word>sysmenu</Word>
<Key word = "size" /> <Word>tabindex</Word>
<Key word = "span" /> <Word>target</Word>
<Key word = "src" /> <Word>text</Word>
<Key word = "standby" /> <Word>title</Word>
<Key word = "start" /> <Word>topmargin</Word>
<Key word = "style" /> <Word>type</Word>
<Key word = "summary" /> <Word>urn</Word>
<Key word = "sysmenu" /> <Word>usemap</Word>
<Key word = "tabindex" /> <Word>valign</Word>
<Key word = "target" /> <Word>value</Word>
<Key word = "text" /> <Word>valuetype</Word>
<Key word = "title" /> <Word>version</Word>
<Key word = "topmargin" /> <Word>vlink</Word>
<Key word = "type" /> <Word>vrml</Word>
<Key word = "urn" /> <Word>vspace</Word>
<Key word = "usemap" /> <Word>width</Word>
<Key word = "valign" /> <Word>windowstate</Word>
<Key word = "value" /> <Word>wrap</Word>
<Key word = "valuetype" /> </Keywords>
<Key word = "version" /> <Span color="String">
<Key word = "vlink" /> <Begin>"</Begin>
<Key word = "vrml" /> <End>"</End>
<Key word = "vspace" /> </Span>
<Key word = "width" /> <Span color="String">
<Key word = "windowstate" /> <Begin>'</Begin>
<Key word = "wrap" /> <End>'</End>
</KeyWords> </Span>
</RuleSet> <Rule color="UnknownAttribute">[\d\w_]+(?=(\s*=))</Rule>
<Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
</RuleSets> </RuleSet>
</SyntaxDefinition> </SyntaxDefinition>

326
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/Java-Mode.xshd

@ -1,180 +1,152 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- syntaxdefinition for Java 2001 by Jonathan Pierce & Mike Krueger --> <!-- syntaxdefinition for Java 2001 by Jonathan Pierce & Mike Krueger -->
<!-- converted to AvalonEdit format by Siegfried Pammer in 2010 -->
<SyntaxDefinition name = "Java" extensions = ".java"> <SyntaxDefinition name="Java" extensions=".java" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<Color name="MethodName" foreground="DarkBlue" />
<Properties> <Color name="Digits" foreground="DarkBlue" fontStyle="italic" />
<Property name="LineComment" value="//"/> <Color name="String" foreground="Magenta" />
</Properties> <Color name="Character" foreground="Magenta" />
<Color name="Comment" foreground="SlateGray" />
<Digits name = "Digits" bold = "false" italic = "false" color = "DarkBlue"/> <Color name="Punctuation" foreground="DarkGreen" />
<Color name="AccessKeywords" foreground="Black" fontWeight="bold" />
<RuleSets> <Color name="OperatorKeywords" foreground="DarkCyan" fontWeight="bold" />
<RuleSet ignorecase = "false"> <Color name="SelectionStatements" foreground="Blue" fontWeight="bold" />
<Delimiters>~!%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters> <Color name="IterationStatements" foreground="Blue" fontWeight="bold" />
<Color name="ExceptionHandlingStatements" foreground="Teal" fontWeight="bold" />
<Span name = "LINECOMMENT" rule = "TestSet" bold = "false" italic = "true" color = "SlateGray" stopateol = "true"> <Color name="ValueTypes" foreground="Red" fontWeight="bold" />
<Begin>//</Begin> <Color name="ReferenceTypes" foreground="Red" />
</Span> <Color name="Void" foreground="Red" />
<Color name="JumpStatements" foreground="Navy" />
<Span name = "BLOCKCOMMENT" rule = "TestSet" bold = "false" italic = "true" color = "SlateGray" stopateol = "false"> <Color name="Modifiers" foreground="Brown" />
<Begin>/*</Begin> <Color name="AccessModifiers" foreground="Blue" fontWeight="bold" />
<End>*/</End> <Color name="Package" foreground="Green" fontWeight="bold" />
</Span> <Color name="Literals" foreground="Black" fontWeight="bold" />
<Color name="CommentTags" foreground="Red" fontWeight="bold" fontStyle="italic" />
<Span name = "STRING" bold = "false" italic = "false" color = "Magenta" stopateol = "true" escapecharacter="\"> <Color name="JavaDocTags" foreground="DarkGray" fontWeight="bold" fontStyle="italic" />
<Begin>"</Begin> <RuleSet ignoreCase="false">
<End>"</End> <Rule color="Punctuation">
</Span> [?,.()\[\]{}+\-/%*&lt;&gt;^!|]+
</Rule>
<Span name = "CHAR" bold = "false" italic = "false" color = "Magenta" stopateol = "true" escapecharacter="\"> <Keywords color="AccessKeywords">
<Begin>'</Begin> <Word>this</Word>
<End>'</End> <Word>super</Word>
</Span> </Keywords>
<Keywords color="OperatorKeywords">
<MarkPrevious bold = "true" italic = "false" color = "MidnightBlue">(</MarkPrevious> <Word>new</Word>
<Word>instanceof</Word>
<KeyWords name = "Punctuation" bold = "false" italic = "false" color = "DarkGreen"> <Word>true</Word>
<Key word = "?" /> <Word>false</Word>
<Key word = "," /> </Keywords>
<Key word = "." /> <Keywords color="SelectionStatements">
<Key word = "(" /> <Word>else</Word>
<Key word = ")" /> <Word>if</Word>
<Key word = "[" /> <Word>switch</Word>
<Key word = "]" /> <Word>case</Word>
<Key word = "{" /> </Keywords>
<Key word = "}" /> <Keywords color="IterationStatements">
<Key word = "+" /> <Word>do</Word>
<Key word = "-" /> <Word>for</Word>
<Key word = "/" /> <Word>while</Word>
<Key word = "%" /> </Keywords>
<Key word = "*" /> <Keywords color="JumpStatements">
<Key word = "&lt;" /> <Word>break</Word>
<Key word = "&gt;" /> <Word>continue</Word>
<Key word = "^" /> <Word>default</Word>
<Key word = "!" /> <Word>goto</Word>
<Key word = "|" /> <Word>return</Word>
</KeyWords> </Keywords>
<Keywords color="ExceptionHandlingStatements">
<Word>try</Word>
<Word>throw</Word>
<KeyWords name = "AccessKeywords" bold="true" italic="false" color="Black"> <Word>catch</Word>
<Key word = "this" /> <Word>finally</Word>
<Key word = "super" /> </Keywords>
</KeyWords> <Keywords color="ValueTypes">
<Word>boolean</Word>
<KeyWords name = "OperatorKeywords" bold="true" italic="false" color="DarkCyan"> <Word>double</Word>
<Key word = "new" /> <Word>int</Word>
<Key word = "instanceof" /> <Word>short</Word>
<Key word = "true" /> <Word>long</Word>
<Key word = "false" /> <Word>float</Word>
</KeyWords> <Word>byte</Word>
<Word>char</Word>
<KeyWords name = "SelectionStatements" bold="true" italic="false" color="Blue"> </Keywords>
<Key word = "else" /> <Keywords color="ReferenceTypes">
<Key word = "if" /> <Word>class</Word>
<Key word = "switch" /> <Word>interface</Word>
<Key word = "case" /> <Word>object</Word>
</KeyWords> </Keywords>
<Keywords color="Void">
<KeyWords name = "IterationStatements" bold="true" italic="false" color="Blue"> <Word>void</Word>
<Key word = "do" /> </Keywords>
<Key word = "for" /> <Keywords color="Modifiers">
<Key word = "while" /> <Word>abstract</Word>
</KeyWords> <Word>const</Word>
<Word>static</Word>
<KeyWords name = "JumpStatements" bold="false" italic="false" color="Navy"> <Word>final</Word>
<Key word = "break" /> <Word>native</Word>
<Key word = "continue" /> <Word>extends</Word>
<Key word = "default" /> <Word>implements</Word>
<Key word = "goto" /> <Word>volatile</Word>
<Key word = "return" /> <Word>transient</Word>
</KeyWords> <Word>throws</Word>
<Word>strictfp</Word>
<KeyWords name = "ExceptionHandlingStatements" bold="true" italic="false" color="Teal"> <Word>synchronized</Word>
<Key word = "try" /> </Keywords>
<Key word = "throw" /> <Keywords color="AccessModifiers">
<Key word = "catch" /> <Word>public</Word>
<Key word = "finally" /> <Word>protected</Word>
</KeyWords> <Word>private</Word>
</Keywords>
<Keywords color="Package">
<KeyWords name = "ValueTypes" bold="true" italic="false" color="Red"> <Word>package</Word>
<Key word = "boolean" /> <Word>import</Word>
<Key word = "double" /> </Keywords>
<Key word = "int" /> <Keywords color="Literals">
<Key word = "short" /> <Word>null</Word>
<Key word = "long" /> </Keywords>
<Key word = "float" /> <Span color="Comment" ruleSet="TestSet">
<Key word = "byte" /> <Begin>//</Begin>
<Key word = "char" /> </Span>
</KeyWords> <Span color="Comment" ruleSet="TestSet" multiline="true">
<Begin>/\*</Begin>
<KeyWords name = "ReferenceTypes" bold="false" italic="false" color="Red"> <End>\*/</End>
<Key word = "class" /> </Span>
<Key word = "interface" /> <Span color="String">
<Key word = "object" /> <Begin>"</Begin>
</KeyWords> <End>"</End>
<RuleSet>
<KeyWords name = "Void" bold="false" italic="false" color="Red"> <Span begin="\\" end="." />
<Key word = "void" /> </RuleSet>
</KeyWords> </Span>
<Span color="Character">
<Begin>'</Begin>
<KeyWords name = "Modifiers" bold="false" italic="false" color="Brown"> <End>'</End>
<Key word = "abstract" /> <RuleSet>
<Key word = "const" /> <Span begin="\\" end="." />
<Key word = "static" /> </RuleSet>
<Key word = "final" /> </Span>
<Key word = "native" /> <Rule color="MethodName">[\d\w_]+(?=(\s*\())</Rule>
<Key word = "extends" /> <Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
<Key word = "implements" /> </RuleSet>
<Key word = "volatile" /> <RuleSet name="TestSet" ignoreCase="true">
<Key word = "transient" /> <Keywords color="CommentTags">
<Key word = "throws" /> <Word>TODO</Word>
<Key word = "strictfp" /> </Keywords>
<Key word = "synchronized" /> <Keywords color="JavaDocTags">
</KeyWords> <Word>@author</Word>
<Word>@version</Word>
<KeyWords name = "AccessModifiers" bold="true" italic="false" color="Blue"> <Word>@param</Word>
<Key word = "public" /> <Word>@return</Word>
<Key word = "protected" /> <Word>@exception</Word>
<Key word = "private" /> <Word>@throws</Word>
</KeyWords> <Word>@see</Word>
<Word>@since</Word>
<KeyWords name = "NameSpaces" bold="true" italic="false" color="Green"> <Word>@serial</Word>
<Key word = "package" /> <Word>@serialField</Word>
<Key word = "import" /> <Word>@serialData</Word>
</KeyWords> <Word>@deprecated</Word>
</Keywords>
<KeyWords name = "Literals" bold="true" italic="false" color="Black"> <Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
<Key word = "null" /> </RuleSet>
</KeyWords>
</RuleSet>
<RuleSet name = "TestSet" ignorecase = "true">
<Delimiters>~!%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
<KeyWords name = "Todoword" bold="true" italic="true" color="Red">
<Key word = "TODO" />
</KeyWords>
<KeyWords name = "JAVADOC comments" bold="true" italic="true" color="DarkGray">
<Key word = "@author" />
<Key word = "@version" />
<Key word = "@param" />
<Key word = "@return" />
<Key word = "@exception" />
<Key word = "@throws" />
<Key word = "@see" />
<Key word = "@since" />
<Key word = "@serial" />
<Key word = "@serialField" />
<Key word = "@serialData" />
<Key word = "@deprecated" />
</KeyWords>
</RuleSet>
</RuleSets>
</SyntaxDefinition> </SyntaxDefinition>

253
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/JavaScript-Mode.xshd

@ -1,136 +1,123 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- syntaxdefinition for JavaScript 2.0 by Svante Lidman --> <!-- syntaxdefinition for JavaScript 2.0 by Svante Lidman -->
<!-- converted to AvalonEdit format by Siegfried Pammer in 2010 -->
<SyntaxDefinition name ="JavaScript" extensions = ".js"> <SyntaxDefinition name="JavaScript" extensions=".js" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<Color name="Digits" foreground="DarkBlue" />
<Properties> <Color name="Comment" foreground="DarkSlateGray" />
<Property name="LineComment" value="//"/> <Color name="String" foreground="Sienna" />
</Properties> <Color name="Character" foreground="Sienna" />
<Color name="JavaScriptKeyWords" foreground="Blue" />
<Digits name ="Digits" bold ="false" italic ="false" color ="DarkBlue"/> <Color name="JavaScriptIntrinsics" foreground="Blue" />
<Color name="JavaScriptLiterals" foreground="Blue" />
<RuleSets> <Color name="JavaScriptGlobalFunctions" foreground="Blue" />
<RuleSet ignorecase = "false"> <RuleSet ignoreCase="false">
<Delimiters>=!&gt;&lt;+-/*%&amp;|^~.}{,;][?:</Delimiters> <Keywords color="JavaScriptKeyWords">
<Word>break</Word>
<Span name ="LineComment" bold ="false" italic ="false" color ="DarkSlateGray" stopateol ="true"> <Word>continue</Word>
<Begin>//</Begin> <Word>delete</Word>
</Span> <Word>else</Word>
<Word>for</Word>
<Span name ="BlockComment" bold ="false" italic ="false" color ="DarkSlateGray" stopateol ="false"> <Word>function</Word>
<Begin>/*</Begin> <Word>if</Word>
<End>*/</End> <Word>in</Word>
</Span> <Word>new</Word>
<Word>return</Word>
<Span name ="String" bold ="false" italic ="false" color ="Sienna" stopateol ="false" escapecharacter="\"> <Word>this</Word>
<Begin>&quot;</Begin> <Word>typeof</Word>
<End>&quot;</End> <Word>var</Word>
</Span> <Word>void</Word>
<Word>while</Word>
<Span name = "Character" bold = "false" italic = "false" color = "Sienna" stopateol = "true" escapecharacter="\"> <Word>with</Word>
<Begin>&apos;</Begin> <Word>abstract</Word>
<End>&apos;</End> <Word>boolean</Word>
</Span> <Word>byte</Word>
<Word>case</Word>
<KeyWords name ="JavaScriptKeyWords" bold="false" italic = "false" color = "Blue"> <Word>catch</Word>
<Key word = "break" /> <Word>char</Word>
<Key word = "continue" /> <Word>class</Word>
<Key word = "delete" /> <Word>const</Word>
<Key word = "else" /> <Word>debugger</Word>
<Key word = "for" /> <Word>default</Word>
<Key word = "function" /> <Word>do</Word>
<Key word = "if" /> <Word>double</Word>
<Key word = "in" /> <Word>enum</Word>
<Key word = "new" /> <Word>export</Word>
<Key word = "return" /> <Word>extends</Word>
<Key word = "this" /> <Word>final</Word>
<Key word = "typeof" /> <Word>finally</Word>
<Key word = "var" /> <Word>float</Word>
<Key word = "void" /> <Word>goto</Word>
<Key word = "while" /> <Word>implements</Word>
<Key word = "with" /> <Word>import</Word>
<!--ECMAScript keywords--> <Word>instanceof</Word>
<!-- Reserved for future use <Word>int</Word>
(some are already used in some Javascript Engines) <Word>interface</Word>
--> <Word>long</Word>
<Key word = "abstract" /> <Word>native</Word>
<Key word = "boolean" /> <Word>package</Word>
<Key word = "byte" /> <Word>private</Word>
<Key word = "case" /> <Word>protected</Word>
<Key word = "catch" /> <Word>public</Word>
<Key word = "char" /> <Word>short</Word>
<Key word = "class" /> <Word>static</Word>
<Key word = "const" /> <Word>super</Word>
<Key word = "debugger" /> <Word>switch</Word>
<Key word = "default" /> <Word>synchronized</Word>
<Key word = "do" /> <Word>throw</Word>
<Key word = "double" /> <Word>throws</Word>
<Key word = "enum" /> <Word>transient</Word>
<Key word = "export" /> <Word>try</Word>
<Key word = "extends" /> <Word>volatile</Word>
<Key word = "final" /> </Keywords>
<Key word = "finally" /> <Keywords color="JavaScriptIntrinsics">
<Key word = "float" /> <Word>Array</Word>
<Key word = "goto" /> <Word>Boolean</Word>
<Key word = "implements" /> <Word>Date</Word>
<Key word = "import" /> <Word>Function</Word>
<Key word = "instanceof" /> <Word>Global</Word>
<Key word = "int" /> <Word>Math</Word>
<Key word = "interface" /> <Word>Number</Word>
<Key word = "long" /> <Word>Object</Word>
<Key word = "native" /> <Word>RegExp</Word>
<Key word = "package" /> <Word>String</Word>
<Key word = "private" /> </Keywords>
<Key word = "protected" /> <Keywords color="JavaScriptLiterals">
<Key word = "public" /> <Word>false</Word>
<Key word = "short" /> <Word>null</Word>
<Key word = "static" /> <Word>true</Word>
<Key word = "super" /> <Word>NaN</Word>
<Key word = "switch" /> <Word>Infinity</Word>
<Key word = "synchronized" /> </Keywords>
<Key word = "throw" /> <Keywords color="JavaScriptGlobalFunctions">
<Key word = "throws" /> <Word>eval</Word>
<Key word = "transient" /> <Word>parseInt</Word>
<Key word = "try" /> <Word>parseFloat</Word>
<Key word = "volatile" /> <Word>escape</Word>
</KeyWords> <Word>unescape</Word>
<Word>isNaN</Word>
<KeyWords name ="JavaScriptIntrinsics" bold="false" italic = "false" color = "Blue"> <Word>isFinite</Word>
<Key word = "Array" /> </Keywords>
<Key word = "Boolean" /> <Span color="Comment">
<Key word = "Date" /> <Begin>//</Begin>
<Key word = "Function" /> </Span>
<Key word = "Global" /> <Span color="Comment" multiline="true">
<Key word = "Math" /> <Begin>/\*</Begin>
<Key word = "Number" /> <End>\*/</End>
<Key word = "Object" /> </Span>
<Key word = "RegExp" /> <Span color="String" multiline="true">
<Key word = "String" /> <Begin>"</Begin>
</KeyWords> <End>"</End>
<RuleSet>
<KeyWords name ="JavaScriptLiterals" bold="false" italic = "false" color = "Blue"> <Span begin="\\" end="." />
<Key word = "false" /> </RuleSet>
<Key word = "null" /> </Span>
<Key word = "true" /> <Span color="Character">
<Key word = "NaN" /> <Begin>'</Begin>
<Key word = "Infinity" /> <End>'</End>
</KeyWords> <RuleSet>
<Span begin="\\" end="." />
<KeyWords name ="JavaScriptLiterals" bold="false" italic = "false" color = "Blue"> </RuleSet>
<Key word = "" /> </Span>
</KeyWords> <Rule color="Digits">\b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)?</Rule>
</RuleSet>
<KeyWords name ="JavaScriptGlobalFunctions" bold="false" italic = "false" color = "Blue">
<Key word = "eval" />
<Key word = "parseInt" />
<Key word = "parseFloat" />
<Key word = "escape" />
<Key word = "unescape" />
<Key word = "isNaN" />
<Key word = "isFinite" />
</KeyWords>
</RuleSet>
</RuleSets>
</SyntaxDefinition> </SyntaxDefinition>

350
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/PHP-Mode.xshd

@ -1,198 +1,158 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- syntaxdefinition for PHP 2001 by Chad Smith & Mike Krueger --> <!-- syntaxdefinition for PHP 2001 by Chad Smith & Mike Krueger -->
<!-- converted to AvalonEdit format by Siegfried Pammer in 2010 -->
<SyntaxDefinition name ="PHP" extensions = ".php"> <SyntaxDefinition name ="PHP" extensions = ".php" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<Color name="Comment" foreground="Green" exampleText="// comment" />
<Digits name ="Digits" bold ="false" italic ="false" color ="DarkBlue"/> <Color name="String" foreground="Blue" exampleText="$text = &quot;Hello, World!&quot;" />
<Color name="NumberLiteral" foreground="DarkBlue" exampleText="3.1415" />
<RuleSets> <Color name="Punctuation" foreground="DarkGreen" exampleText="a(b + c)" />
<RuleSet ignorecase = "false"> <Color name="FunctionCall" foreground="MidnightBlue" fontWeight="bold" exampleText="abs(num);"/>
<Delimiters>~!%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters> <Color name="AccessKeywords" foreground="Black" fontWeight="bold" exampleText="global $database;" />
<Color name="OperatorKeywords" foreground="DarkCyan" fontWeight="bold" exampleText="if (x === false and y === false) { }" />
<Span name ="PreprocessorDirectives" bold="false" italic = "false" color = "Green" stopateol ="true"> <Color name="SelectionStatements" foreground="Blue" fontWeight="bold" exampleText="if (true) { } else { }" />
<Begin>#</Begin> <Color name="IterationStatements" foreground="Blue" fontWeight="bold" exampleText="while (true) { }" />
</Span> <Color name="JumpStatements" foreground="Navy" fontWeight="bold" exampleText="if (x == 5) continue;" />
<Color name="ControlStatements" foreground="Teal" fontWeight="bold" exampleText="include(&quot;test.php&quot;);" />
<Span name ="LINECOMMENT" rule = "DocumentSet" bold ="false" italic ="true" color ="SlateGray" stopateol ="true"> <Color name="ValueTypes" foreground="Red" fontWeight="bold" exampleText="int test = 5;" />
<Begin>///</Begin> <Color name="OtherTypes" foreground="Red" exampleText="object test = null;" />
</Span> <Color name="AccessModifiers" foreground="Blue" fontWeight="bold" exampleText="public function test() {}" />
<RuleSet>
<Span name ="LINECOMMENT" rule = "TestSet" bold ="false" italic ="true" color ="SlateGray" stopateol ="true"> <Span color="Comment">
<Begin>//@!/@</Begin> <Begin>\#</Begin>
</Span> </Span>
<Span name ="BLOCKCOMMENT" rule = "TestSet" bold ="false" italic ="true" color ="SlateGray" stopateol ="false"> <Span color="Comment">
<Begin>/*</Begin> <Begin>//</Begin>
<End>*/</End> </Span>
</Span>
<Span color="Comment" multiline="true">
<Span name ="STRING" bold ="false" italic ="false" color ="Magenta" stopateol ="true" escapecharacter="\"> <Begin>/\*</Begin>
<Begin>"</Begin> <End>\*/</End>
<End>"</End> </Span>
</Span>
<!-- Digits -->
<Span name ="MORELINEDSTRING" bold ="false" italic ="false" color ="Magenta" stopateol ="false" escapecharacter="\"> <Rule color="NumberLiteral">
<Begin>@@"</Begin> \b0[xX][0-9a-fA-F]+ # hex number
<End>"</End> |
</Span> \b0[0-9]+ # octal number
|
<Span name ="CHAR" bold ="false" italic ="false" color ="Magenta" stopateol ="true" escapecharacter="\"> ( \b\d+(\.[0-9]+)? #number with optional floating point
<Begin>'</Begin> | \.[0-9]+ #or just starting with floating point
<End>'</End> )
</Span> ([eE][+-]?[0-9]+)? # optional exponent
</Rule>
<MarkPrevious bold ="true" italic ="false" color ="MidnightBlue">(</MarkPrevious>
<Rule color="Punctuation">
<KeyWords name ="Punctuation" bold ="false" italic ="false" color ="DarkGreen"> [?,.:;()\[\]{}+\-/%*&lt;&gt;&amp;^!|~@]+
<Key word = "?" /> </Rule>
<Key word = "," />
<Key word = "." /> <!-- Mark previous rule-->
<Key word = "(" /> <Rule color="FunctionCall">
<Key word = ")" /> \b
<Key word = "[" /> [\d\w_]+ # an identifier
<Key word = "]" /> (?=\s*\() # followed by (
<Key word = "{" /> </Rule>
<Key word = "}" />
<Key word = "+" /> <Span color="String" multiline="true">
<Key word = "-" /> <Begin>'</Begin>
<Key word = "/" /> <End>'</End>
<Key word = "%" /> <RuleSet>
<Key word = "*" /> <!-- span for escape sequences -->
<Key word = "&lt;" /> <Span begin="\\" end="."/>
<Key word = "&gt;" /> </RuleSet>
<Key word = "^" /> </Span>
<Key word = "!" />
<Key word = "|" /> <Span color="String" multiline="true">
</KeyWords> <Begin>"</Begin>
<End>"</End>
<KeyWords name ="AccessKeywords" bold="true" italic = "false" color = "Black"> <RuleSet>
<Key word = "global" /> <!-- span for escape sequences -->
<Key word = "my" /> <Span begin="\\" end="."/>
</KeyWords> </RuleSet>
</Span>
<KeyWords name ="OperatorKeywords" bold="true" italic = "false" color = "DarkCyan">
<Key word = "and" /> <!-- heredoc syntax -->
<Key word = "or" /> <Span color="String" multiline="true">
<Key word = "new" /> <Begin>&lt;&lt;&lt;\"?[\d\w_]+\"?$</Begin>
<Key word = "xor" /> <End>^[\d\w_]+;</End>
<Key word = "true" /> </Span>
<Key word = "false" />
</KeyWords> <!-- nowdoc syntax -->
<Span color="String" multiline="true">
<Begin>&lt;&lt;&lt;\'[\d\w_]+\'$</Begin>
<KeyWords name ="SelectionStatements" bold="true" italic = "false" color = "Blue"> <End>^[\d\w_]+;</End>
<Key word = "else" /> </Span>
<Key word = "if" />
<Key word = "switch" /> <Keywords color="AccessKeywords">
<Key word = "case" /> <Word>global</Word>
<Key word = "endif" /> <Word>my</Word>
<Key word = "elseif" /> <Word>var</Word>
</KeyWords> </Keywords>
<KeyWords name ="IterationStatements" bold="true" italic = "false" color = "Blue"> <Keywords color="OperatorKeywords">
<Key word = "do" /> <Word>and</Word>
<Key word = "for" /> <Word>or</Word>
<Key word = "foreach" /> <Word>new</Word>
<Key word = "while" /> <Word>clone</Word>
<Key word = "endwhile" /> <Word>instanceof</Word>
<Key word = "exit" /> <Word>xor</Word>
</KeyWords> <Word>true</Word>
<Word>false</Word>
<KeyWords name ="JumpStatements" bold="false" italic = "false" color = "Navy"> </Keywords>
<Key word = "break" />
<Key word = "continue" /> <Keywords color="SelectionStatements">
<Key word = "default" /> <Word>else</Word>
<Key word = "goto" /> <Word>else</Word>
<Key word = "return" /> <Word>switch</Word>
</KeyWords> <Word>case</Word>
<Word>endif</Word>
<KeyWords name ="ExceptionHandlingStatements" bold="true" italic = "false" color = "Teal"> <Word>elseif</Word>
<Key word = "require" /> </Keywords>
<Key word = "include" />
<Key word = "function" /> <Keywords color="IterationStatements">
<Key word = "return" /> <Word>do</Word>
<Key word = "old_function" /> <Word>for</Word>
</KeyWords> <Word>foreach</Word>
<Word>while</Word>
<KeyWords name ="ValueTypes" bold="true" italic = "false" color = "Red"> <Word>endwhile</Word>
<Key word = "int" /> <Word>exit</Word>
<Key word = "integer" /> </Keywords>
<Key word = "real" />
<Key word = "double" /> <Keywords color="JumpStatements">
<Key word = "float" /> <Word>break</Word>
<Key word = "string" /> <Word>continue</Word>
<Key word = "array" /> <Word>default</Word>
<Key word = "object" /> <Word>goto</Word>
</KeyWords> <Word>return</Word>
</Keywords>
<KeyWords name ="ReferenceTypes" bold="false" italic = "false" color = "Red">
<Key word = "class" /> <Keywords color="ControlStatements">
<Key word = "new" /> <Word>require</Word>
</KeyWords> <Word>include</Word>
<Word>require</Word>
<KeyWords name ="Void" bold="false" italic = "false" color = "Red"> <Word>include</Word>
<Key word = "void" /> <Word>function</Word>
</KeyWords> </Keywords>
<KeyWords name ="AccessModifiers" bold="true" italic = "false" color = "Blue"> <Keywords color="ValueTypes">
<Key word = "public" /> <Word>int</Word>
<Key word = "private" /> <Word>integer</Word>
</KeyWords> <Word>real</Word>
<Word>double</Word>
<KeyWords name ="GetSet" bold="false" italic = "false" color = "SaddleBrown"> <Word>float</Word>
<Key word = "get" /> <Word>string</Word>
<Key word = "set" /> <Word>array</Word>
</KeyWords> <Word>object</Word>
</Keywords>
<KeyWords name ="Literals" bold="true" italic = "false" color = "Black">
<Key word = "null" /> <Keywords color="OtherTypes">
<Key word = "value" /> <Word>class</Word>
</KeyWords> <Word>void</Word>
</Keywords>
<KeyWords name ="Statements" bold="true" italic = "false" color = "DarkBlue">
<Key word = "var" /> <Keywords color="AccessModifiers">
<Key word = "extends" /> <Word>public</Word>
<Key word = "list" /> <Word>private</Word>
<Key word = "each" /> </Keywords>
<Key word = "PHP_SELF" /> </RuleSet>
</KeyWords>
</RuleSet>
<RuleSet name ="TestSet" ignorecase = "true">
<Delimiters>~!@%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
<KeyWords name ="Testword" bold="true" italic = "true" color = "Red">
<Key word = "TODO" />
</KeyWords>
</RuleSet>
<RuleSet name ="DocumentSet" ignorecase = "false">
<Delimiters>~!@%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
<Span name ="XMLTAG" rule = "XMLDocuSet" bold ="false" italic ="true" color ="Gray" stopateol ="true">
<Begin>&lt;</Begin>
<End>&gt;</End>
</Span>
<KeyWords name ="Testword" bold="true" italic = "true" color = "Red">
<Key word = "TODO" />
</KeyWords>
</RuleSet>
<RuleSet name ="XMLDocuSet" ignorecase = "false">
<Delimiters>~!@%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
<Span name ="STRING" bold ="true" italic ="true" color ="Silver" stopateol ="true">
<Begin>"</Begin>
<End>"</End>
</Span>
<KeyWords name ="Punctuation" bold ="true" italic ="true" color ="Gray">
<Key word = "/" />
<Key word = "|" />
<Key word = "=" />
</KeyWords>
</RuleSet>
</RuleSets>
</SyntaxDefinition> </SyntaxDefinition>

2
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/Deque.cs

@ -12,7 +12,7 @@ namespace ICSharpCode.AvalonEdit.Utils
/// </summary> /// </summary>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")]
[Serializable] [Serializable]
public class Deque<T> : ICollection<T> public sealed class Deque<T> : ICollection<T>
{ {
T[] arr = Empty<T>.Array; T[] arr = Empty<T>.Array;
int size, head, tail; int size, head, tail;

14
src/Main/Base/Project/Src/Services/File/FileService.cs

@ -412,8 +412,7 @@ namespace ICSharpCode.SharpDevelop
Directory.Delete(fileName, true); Directory.Delete(fileName, true);
} }
} catch (Exception e) { } catch (Exception e) {
MessageService.ShowException(e, "Can't remove directory " + fileName); MessageService.ShowHandledException(e, "Can't remove directory " + fileName);
// return;
} }
} else { } else {
try { try {
@ -424,8 +423,7 @@ namespace ICSharpCode.SharpDevelop
File.Delete(fileName); File.Delete(fileName);
} }
} catch (Exception e) { } catch (Exception e) {
MessageService.ShowException(e, "Can't remove file " + fileName); MessageService.ShowHandledException(e, "Can't remove file " + fileName);
// return;
} }
} }
} }
@ -464,9 +462,9 @@ namespace ICSharpCode.SharpDevelop
} }
} catch (Exception e) { } catch (Exception e) {
if (isDirectory) { if (isDirectory) {
MessageService.ShowException(e, "Can't rename directory " + oldName); MessageService.ShowHandledException(e, "Can't rename directory " + oldName);
} else { } else {
MessageService.ShowException(e, "Can't rename file " + oldName); MessageService.ShowHandledException(e, "Can't rename file " + oldName);
} }
return false; return false;
} }
@ -508,9 +506,9 @@ namespace ICSharpCode.SharpDevelop
} }
} catch (Exception e) { } catch (Exception e) {
if (isDirectory) { if (isDirectory) {
MessageService.ShowException(e, "Can't copy directory " + oldName); MessageService.ShowHandledException(e, "Can't copy directory " + oldName);
} else { } else {
MessageService.ShowException(e, "Can't copy file " + oldName); MessageService.ShowHandledException(e, "Can't copy file " + oldName);
} }
return false; return false;
} }

27
src/Main/Core/Project/Src/Services/MessageService/MessageService.cs

@ -52,6 +52,33 @@ namespace ICSharpCode.Core
ServiceManager.Instance.MessageService.ShowException(ex, message); ServiceManager.Instance.MessageService.ShowException(ex, message);
} }
/// <summary>
/// Shows an exception.
/// </summary>
public static void ShowHandledException(Exception ex)
{
ShowHandledException(ex, null);
}
/// <summary>
/// Shows an exception.
/// </summary>
public static void ShowHandledException(Exception ex, string message)
{
LoggingService.Error(message, ex);
LoggingService.Warn("Stack trace of last exception log:\n" + Environment.StackTrace);
message = GetMessage(message, ex);
ServiceManager.Instance.MessageService.ShowError(message);
}
static string GetMessage(string message, Exception ex)
{
if (message == null) {
return ex.Message;
}
return message + "\r\n\r\n" + ex.Message;
}
/// <summary> /// <summary>
/// Shows a warning message. /// Shows a warning message.
/// </summary> /// </summary>

Loading…
Cancel
Save