Browse Source

Reparse when return is pressed.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@4869 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 16 years ago
parent
commit
598a05e716
  1. 8
      src/Main/Base/Project/Src/Services/ParserService/ParserService.cs
  2. 18
      src/Main/Base/Project/Src/TextEditor/Gui/Editor/SharpDevelopTextAreaControl.cs

8
src/Main/Base/Project/Src/Services/ParserService/ParserService.cs

@ -366,6 +366,14 @@ namespace ICSharpCode.SharpDevelop @@ -366,6 +366,14 @@ namespace ICSharpCode.SharpDevelop
}
}
public static void StartAsyncParse(string fileName, string fileContent)
{
ThreadPool.QueueUserWorkItem(
delegate {
ParseFile(fileName, fileContent);
});
}
public static void StartParserThread()
{
abortParserUpdateThread = false;

18
src/Main/Base/Project/Src/TextEditor/Gui/Editor/SharpDevelopTextAreaControl.cs

@ -327,6 +327,8 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor @@ -327,6 +327,8 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
if (ccBinding.HandleKeyPress(this, ch))
return false;
}
if (ch == '\n')
StartDelayedReparse();
}
} catch (Exception ex) {
LogException(ex);
@ -336,6 +338,22 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor @@ -336,6 +338,22 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
return false;
}
bool startedDelayedReparse;
void StartDelayedReparse()
{
if (startedDelayedReparse)
return;
startedDelayedReparse = true;
WorkbenchSingleton.SafeThreadAsyncCall(
delegate {
startedDelayedReparse = false;
if (!this.IsDisposed) {
ParserService.StartAsyncParse(this.FileName, this.Document.TextContent);
}
});
}
public void StartCtrlSpaceCompletion()
{
foreach (ICodeCompletionBinding ccBinding in CodeCompletionBindings) {

Loading…
Cancel
Save