...
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using NubLang.Ast;
|
||||
using NubLang.Syntax;
|
||||
using OmniSharp.Extensions.LanguageServer.Protocol.Models;
|
||||
using Range = OmniSharp.Extensions.LanguageServer.Protocol.Models.Range;
|
||||
|
||||
@@ -58,16 +57,16 @@ public static class AstExtensions
|
||||
return false;
|
||||
}
|
||||
|
||||
public static FuncNode? FunctionAtPosition(this CompilationUnit compilationUnit, int line, int character)
|
||||
public static FuncNode? FunctionAtPosition(this List<TopLevelNode> compilationUnit, int line, int character)
|
||||
{
|
||||
return compilationUnit
|
||||
.Functions
|
||||
.OfType<FuncNode>()
|
||||
.FirstOrDefault(x => x.ContainsPosition(line, character));
|
||||
}
|
||||
|
||||
public static Node? DeepestNodeAtPosition(this CompilationUnit compilationUnit, int line, int character)
|
||||
public static Node? DeepestNodeAtPosition(this List<TopLevelNode> compilationUnit, int line, int character)
|
||||
{
|
||||
return compilationUnit.Functions
|
||||
return compilationUnit
|
||||
.SelectMany(x => x.DescendantsAndSelf())
|
||||
.Where(n => n.ContainsPosition(line, character))
|
||||
.OrderBy(n => n.Tokens.First().Span.Start.Line)
|
||||
|
||||
Reference in New Issue
Block a user