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
} }
} }
public static void StartAsyncParse(string fileName, string fileContent)
{
ThreadPool.QueueUserWorkItem(
delegate {
ParseFile(fileName, fileContent);
});
}
public static void StartParserThread() public static void StartParserThread()
{ {
abortParserUpdateThread = false; abortParserUpdateThread = false;

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

@ -327,6 +327,8 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
if (ccBinding.HandleKeyPress(this, ch)) if (ccBinding.HandleKeyPress(this, ch))
return false; return false;
} }
if (ch == '\n')
StartDelayedReparse();
} }
} catch (Exception ex) { } catch (Exception ex) {
LogException(ex); LogException(ex);
@ -336,6 +338,22 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
return false; 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() public void StartCtrlSpaceCompletion()
{ {
foreach (ICodeCompletionBinding ccBinding in CodeCompletionBindings) { foreach (ICodeCompletionBinding ccBinding in CodeCompletionBindings) {

Loading…
Cancel
Save