rename fields
This commit is contained in:
@@ -227,19 +227,19 @@ public partial class SharpIdeCodeEdit : CodeEdit
|
|||||||
await _fileChangedService.SharpIdeFileChanged(_currentFile, text, FileChangeType.IdeUnsavedChange);
|
await _fileChangedService.SharpIdeFileChanged(_currentFile, text, FileChangeType.IdeUnsavedChange);
|
||||||
if (pendingCompletionTrigger is not null)
|
if (pendingCompletionTrigger is not null)
|
||||||
{
|
{
|
||||||
completionTrigger = pendingCompletionTrigger;
|
_completionTrigger = pendingCompletionTrigger;
|
||||||
var linePosition = new LinePosition(cursorPosition.line, cursorPosition.col);
|
var linePosition = new LinePosition(cursorPosition.line, cursorPosition.col);
|
||||||
var shouldTriggerCompletion = await _roslynAnalysis.ShouldTriggerCompletionAsync(_currentFile, text, linePosition, completionTrigger!.Value);
|
var shouldTriggerCompletion = await _roslynAnalysis.ShouldTriggerCompletionAsync(_currentFile, text, linePosition, _completionTrigger!.Value);
|
||||||
GD.Print($"Code completion trigger typed: '{completionTrigger.Value.Character}' at {linePosition.Line}:{linePosition.Character} should trigger: {shouldTriggerCompletion}");
|
GD.Print($"Code completion trigger typed: '{_completionTrigger.Value.Character}' at {linePosition.Line}:{linePosition.Character} should trigger: {shouldTriggerCompletion}");
|
||||||
if (shouldTriggerCompletion)
|
if (shouldTriggerCompletion)
|
||||||
{
|
{
|
||||||
await OnCodeCompletionRequested(completionTrigger.Value, text, cursorPosition);
|
await OnCodeCompletionRequested(_completionTrigger.Value, text, cursorPosition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (pendingCompletionFilterReason is not null)
|
else if (_pendingCompletionFilterReason is not null)
|
||||||
{
|
{
|
||||||
var filterReason = pendingCompletionFilterReason.Value;
|
var filterReason = _pendingCompletionFilterReason.Value;
|
||||||
pendingCompletionFilterReason = null;
|
_pendingCompletionFilterReason = null;
|
||||||
await CustomFilterCodeCompletionCandidates(filterReason);
|
await CustomFilterCodeCompletionCandidates(filterReason);
|
||||||
}
|
}
|
||||||
__?.Dispose();
|
__?.Dispose();
|
||||||
|
|||||||
@@ -68,11 +68,11 @@ public partial class SharpIdeCodeEdit
|
|||||||
}
|
}
|
||||||
|
|
||||||
private EventWrapper<CompletionTrigger, string, (int,int), Task> CustomCodeCompletionRequested { get; } = new((_, _, _) => Task.CompletedTask);
|
private EventWrapper<CompletionTrigger, string, (int,int), Task> CustomCodeCompletionRequested { get; } = new((_, _, _) => Task.CompletedTask);
|
||||||
private CompletionList? completionList;
|
private CompletionList? _completionList;
|
||||||
private Document? completionResultDocument;
|
private Document? _completionResultDocument;
|
||||||
private CompletionTrigger? completionTrigger;
|
private CompletionTrigger? _completionTrigger;
|
||||||
private CompletionTrigger? _pendingCompletionTrigger;
|
private CompletionTrigger? _pendingCompletionTrigger;
|
||||||
private CompletionFilterReason? pendingCompletionFilterReason;
|
private CompletionFilterReason? _pendingCompletionFilterReason;
|
||||||
|
|
||||||
private readonly List<string> _codeCompletionTriggers =
|
private readonly List<string> _codeCompletionTriggers =
|
||||||
[
|
[
|
||||||
@@ -83,9 +83,9 @@ public partial class SharpIdeCodeEdit
|
|||||||
private void ResetCompletionPopupState()
|
private void ResetCompletionPopupState()
|
||||||
{
|
{
|
||||||
_codeCompletionOptions = ImmutableArray<SharpIdeCompletionItem>.Empty;
|
_codeCompletionOptions = ImmutableArray<SharpIdeCompletionItem>.Empty;
|
||||||
completionList = null;
|
_completionList = null;
|
||||||
completionResultDocument = null;
|
_completionResultDocument = null;
|
||||||
completionTrigger = null;
|
_completionTrigger = null;
|
||||||
_completionTriggerPosition = null;
|
_completionTriggerPosition = null;
|
||||||
_codeCompletionCurrentSelected = 0;
|
_codeCompletionCurrentSelected = 0;
|
||||||
_codeCompletionForceItemCenter = -1;
|
_codeCompletionForceItemCenter = -1;
|
||||||
@@ -93,10 +93,10 @@ public partial class SharpIdeCodeEdit
|
|||||||
|
|
||||||
private async Task CustomFilterCodeCompletionCandidates(CompletionFilterReason filterReason)
|
private async Task CustomFilterCodeCompletionCandidates(CompletionFilterReason filterReason)
|
||||||
{
|
{
|
||||||
if (completionList is null || completionList.ItemsList.Count is 0) return;
|
if (_completionList is null || _completionList.ItemsList.Count is 0) return;
|
||||||
var cursorPosition = await this.InvokeAsync(() => GetCaretPosition());
|
var cursorPosition = await this.InvokeAsync(() => GetCaretPosition());
|
||||||
var linePosition = new LinePosition(cursorPosition.line, cursorPosition.col);
|
var linePosition = new LinePosition(cursorPosition.line, cursorPosition.col);
|
||||||
var filteredCompletions = RoslynAnalysis.FilterCompletions(_currentFile, Text, linePosition, completionList, completionTrigger!.Value, filterReason);
|
var filteredCompletions = RoslynAnalysis.FilterCompletions(_currentFile, Text, linePosition, _completionList, _completionTrigger!.Value, filterReason);
|
||||||
_codeCompletionOptions = filteredCompletions;
|
_codeCompletionOptions = filteredCompletions;
|
||||||
await this.InvokeAsync(QueueRedraw);
|
await this.InvokeAsync(QueueRedraw);
|
||||||
}
|
}
|
||||||
@@ -113,8 +113,8 @@ public partial class SharpIdeCodeEdit
|
|||||||
// We can't draw until we get this position
|
// We can't draw until we get this position
|
||||||
_completionTriggerPosition = await this.InvokeAsync(() => GetPosAtLineColumn(completionsResult.LinePosition.Line, completionsResult.LinePosition.Character));
|
_completionTriggerPosition = await this.InvokeAsync(() => GetPosAtLineColumn(completionsResult.LinePosition.Line, completionsResult.LinePosition.Character));
|
||||||
|
|
||||||
completionList = completionsResult.CompletionList;
|
_completionList = completionsResult.CompletionList;
|
||||||
completionResultDocument = completionsResult.Document;
|
_completionResultDocument = completionsResult.Document;
|
||||||
var filterReason = completionTrigger.Kind switch
|
var filterReason = completionTrigger.Kind switch
|
||||||
{
|
{
|
||||||
CompletionTriggerKind.Insertion => CompletionFilterReason.Insertion,
|
CompletionTriggerKind.Insertion => CompletionFilterReason.Insertion,
|
||||||
@@ -130,7 +130,7 @@ public partial class SharpIdeCodeEdit
|
|||||||
{
|
{
|
||||||
var selectedIndex = _codeCompletionCurrentSelected;
|
var selectedIndex = _codeCompletionCurrentSelected;
|
||||||
var completionItem = _codeCompletionOptions[selectedIndex];
|
var completionItem = _codeCompletionOptions[selectedIndex];
|
||||||
var document = completionResultDocument;
|
var document = _completionResultDocument;
|
||||||
_ = Task.GodotRun(async () =>
|
_ = Task.GodotRun(async () =>
|
||||||
{
|
{
|
||||||
Guard.Against.Null(document);
|
Guard.Against.Null(document);
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ public partial class SharpIdeCodeEdit
|
|||||||
{
|
{
|
||||||
if (@event.IsActionPressed(InputStringNames.CodeEditorRequestCompletions))
|
if (@event.IsActionPressed(InputStringNames.CodeEditorRequestCompletions))
|
||||||
{
|
{
|
||||||
completionTrigger = new CompletionTrigger(CompletionTriggerKind.InvokeAndCommitIfUnique);
|
_completionTrigger = new CompletionTrigger(CompletionTriggerKind.InvokeAndCommitIfUnique);
|
||||||
CustomCodeCompletionRequested.InvokeParallelFireAndForget(completionTrigger!.Value, Text, GetCaretPosition());
|
CustomCodeCompletionRequested.InvokeParallelFireAndForget(_completionTrigger!.Value, Text, GetCaretPosition());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -67,7 +67,7 @@ public partial class SharpIdeCodeEdit
|
|||||||
}
|
}
|
||||||
else if (@event.IsActionPressed(InputStringNames.Backspace))
|
else if (@event.IsActionPressed(InputStringNames.Backspace))
|
||||||
{
|
{
|
||||||
pendingCompletionFilterReason = CompletionFilterReason.Deletion;
|
_pendingCompletionFilterReason = CompletionFilterReason.Deletion;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ public partial class SharpIdeCodeEdit
|
|||||||
var unicodeString = char.ConvertFromUtf32((int)keyEvent.Unicode);
|
var unicodeString = char.ConvertFromUtf32((int)keyEvent.Unicode);
|
||||||
if (isCodeCompletionPopupOpen && keyEvent.Unicode >= 32)
|
if (isCodeCompletionPopupOpen && keyEvent.Unicode >= 32)
|
||||||
{
|
{
|
||||||
pendingCompletionFilterReason = CompletionFilterReason.Insertion;
|
_pendingCompletionFilterReason = CompletionFilterReason.Insertion;
|
||||||
return false; // Let the text update happen
|
return false; // Let the text update happen
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user