Skip to content

Commit

Permalink
rename diagnosticHandler to diagnosticChecker, support chinese name path
Browse files Browse the repository at this point in the history
  • Loading branch information
CppCXY committed Apr 28, 2024
1 parent 9f34a9b commit e98b178
Show file tree
Hide file tree
Showing 22 changed files with 41 additions and 36 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using EmmyLua.CodeAnalysis.Compilation;

namespace EmmyLua.CodeAnalysis.Diagnostics.Handlers;
namespace EmmyLua.CodeAnalysis.Diagnostics.Checkers;

public abstract class DiagnosticHandlerBase(LuaCompilation compilation, List<DiagnosticCode> codes)
public abstract class DiagnosticCheckerBase(LuaCompilation compilation, List<DiagnosticCode> codes)
{
public LuaCompilation Compilation { get; } = compilation;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using EmmyLua.CodeAnalysis.Compilation;

namespace EmmyLua.CodeAnalysis.Diagnostics.Handlers;
namespace EmmyLua.CodeAnalysis.Diagnostics.Checkers;

public class TypeCheckHandler(LuaCompilation compilation) : DiagnosticHandlerBase(compilation, [])
public class TypeChecker(LuaCompilation compilation) : DiagnosticCheckerBase(compilation, [])
{
public override void Check(DiagnosticContext context)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
using EmmyLua.CodeAnalysis.Compilation.Type;
using EmmyLua.CodeAnalysis.Syntax.Node.SyntaxNodes;

namespace EmmyLua.CodeAnalysis.Diagnostics.Handlers;
namespace EmmyLua.CodeAnalysis.Diagnostics.Checkers;

public class UndefinedGlobalHandler(LuaCompilation compilation)
: DiagnosticHandlerBase(compilation,
public class UndefinedGlobalChecker(LuaCompilation compilation)
: DiagnosticCheckerBase(compilation,
[DiagnosticCode.UndefinedGlobal, DiagnosticCode.NeedImport])
{
public override void Check(DiagnosticContext context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
using EmmyLua.CodeAnalysis.Compilation.Semantic;
using EmmyLua.CodeAnalysis.Syntax.Node.SyntaxNodes;

namespace EmmyLua.CodeAnalysis.Diagnostics.Handlers;
namespace EmmyLua.CodeAnalysis.Diagnostics.Checkers;

public class UnusedHandler(LuaCompilation compilation) : DiagnosticHandlerBase(compilation, [DiagnosticCode.Unused])
public class UnusedChecker(LuaCompilation compilation) : DiagnosticCheckerBase(compilation, [DiagnosticCode.Unused])
{
public override void Check(DiagnosticContext context)
{
Expand Down
14 changes: 7 additions & 7 deletions EmmyLua/CodeAnalysis/Diagnostics/LuaDiagnostics.cs
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
using EmmyLua.CodeAnalysis.Compilation;
using EmmyLua.CodeAnalysis.Diagnostics.Handlers;
using EmmyLua.CodeAnalysis.Diagnostics.Checkers;
using EmmyLua.CodeAnalysis.Document;

namespace EmmyLua.CodeAnalysis.Diagnostics;

public class LuaDiagnostics(LuaCompilation compilation)
{
private List<DiagnosticHandlerBase> Handlers { get; } = new()
private List<DiagnosticCheckerBase> Handlers { get; } = new()
{
new UnusedHandler(compilation),
new UndefinedGlobalHandler(compilation),
new TypeCheckHandler(compilation)
new UnusedChecker(compilation),
new UndefinedGlobalChecker(compilation),
new TypeChecker(compilation)
};

public LuaCompilation Compilation { get; } = compilation;
Expand Down Expand Up @@ -44,9 +44,9 @@ public void Check(LuaDocument document)
}
}

public bool CanCheck(LuaDocumentId documentId, DiagnosticHandlerBase handlerBase)
public bool CanCheck(LuaDocumentId documentId, DiagnosticCheckerBase checkerBase)
{
var codes = handlerBase.Codes;
var codes = checkerBase.Codes;
return codes.Count != 0 && codes.Any(code => CanCheckCode(documentId, code));
}

Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/CodeAction/CodeActionHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ protected override CodeActionRegistrationOptions CreateRegistrationOptions(CodeA
CancellationToken cancellationToken)
{
var result = new List<CommandOrCodeAction>();
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
var diagnostics = request.Context.Diagnostics;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/Completion/CompletionHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ protected override CompletionRegistrationOptions CreateRegistrationOptions(Compl

public override Task<CompletionList> Handle(CompletionParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
CompletionList container = new();
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/Definition/DefinitionHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ protected override DefinitionRegistrationOptions CreateRegistrationOptions(Defin

public override Task<LocationOrLocationLinks?> Handle(DefinitionParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
LocationOrLocationLinks? locationLinks = null;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/DocumentColor/ColorPresentationHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class ColorPresentationHandler(ServerContext context) : ColorPresentationHandler

public override Task<Container<ColorPresentation>> Handle(ColorPresentationParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
Container<ColorPresentation> container = new Container<ColorPresentation>();
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/DocumentColor/DocumentColorHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ protected override DocumentColorRegistrationOptions CreateRegistrationOptions(Co

public override Task<Container<ColorInformation>?> Handle(DocumentColorParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
Container<ColorInformation>? container = null;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/DocumentLink/DocumentLinkHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ protected override DocumentLinkRegistrationOptions CreateRegistrationOptions(Doc

public override Task<DocumentLinkContainer?> Handle(DocumentLinkParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
DocumentLinkContainer? container = null;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/DocumentRender/EmmyAnnotatorHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class EmmyAnnotatorHandler(ServerContext context) : IJsonRpcRequestHandle
public Task<List<EmmyAnnotatorResponse>> Handle(EmmyAnnotatorRequestParams request, CancellationToken cancellationToken)
{
var documentUri = DocumentUri.From(request.uri);
var uri = documentUri.ToUnencodedString();
var uri = documentUri.ToUri().AbsoluteUri;
var response = new List<EmmyAnnotatorResponse>();
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/DocumentSymbol/DocumentSymbolHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ protected override DocumentSymbolRegistrationOptions CreateRegistrationOptions(D
public override Task<SymbolInformationOrDocumentSymbolContainer?> Handle(DocumentSymbolParams request,
CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
SymbolInformationOrDocumentSymbolContainer? container = null;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/Hover/HoverHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ protected override HoverRegistrationOptions CreateRegistrationOptions(HoverCapab
public override Task<OmniSharp.Extensions.LanguageServer.Protocol.Models.Hover?> Handle(HoverParams request,
CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
OmniSharp.Extensions.LanguageServer.Protocol.Models.Hover? hover = null;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/InlayHint/InlayHintHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ protected override InlayHintRegistrationOptions CreateRegistrationOptions(InlayH

public override Task<InlayHintContainer?> Handle(InlayHintParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
InlayHintContainer? inlayHintContainer = null;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/InlineValues/InlineValuesHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ protected override InlineValueRegistrationOptions CreateRegistrationOptions(Inli

public override Task<Container<InlineValueBase>?> Handle(InlineValueParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
Container<InlineValueBase>? container = null;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/References/ReferencesHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ protected override ReferenceRegistrationOptions CreateRegistrationOptions(Refere

public override Task<LocationContainer?> Handle(ReferenceParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
LocationContainer? locationContainer = null;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/Rename/RenameHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ protected override RenameRegistrationOptions CreateRegistrationOptions(RenameCap

public override Task<WorkspaceEdit?> Handle(RenameParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
WorkspaceEdit? workspaceEdit = null;
context.ReadyRead(() =>
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/SemanticToken/SemanticTokenHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ protected override SemanticTokensRegistrationOptions CreateRegistrationOptions(S
protected override Task Tokenize(SemanticTokensBuilder builder, ITextDocumentIdentifierParams identifier,
CancellationToken cancellationToken)
{
var uri = identifier.TextDocument.Uri.ToUri().AbsoluteUri;
context.ReadyRead(() =>
{
var uri = identifier.TextDocument.Uri.ToUnencodedString();
var semanticModel = context.LuaWorkspace.Compilation.GetSemanticModel(uri);
if (semanticModel is not null)
{
Expand Down
2 changes: 1 addition & 1 deletion LanguageServer/SignatureHelper/SignatureHelperHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ protected override SignatureHelpRegistrationOptions CreateRegistrationOptions(Si

public override Task<SignatureHelp?> Handle(SignatureHelpParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
SignatureHelp? signatureHelp = null;
context.ReadyRead(() =>
{
Expand Down
12 changes: 8 additions & 4 deletions LanguageServer/TextDocument/TextDocumentHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ protected override TextDocumentSyncRegistrationOptions CreateRegistrationOptions

public override Task<Unit> Handle(DidOpenTextDocumentParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
context.ReadyWrite(() =>
{
context.LuaWorkspace.UpdateDocumentByUri(uri, request.TextDocument.Text);
Expand All @@ -52,11 +52,14 @@ public override Task<Unit> Handle(DidOpenTextDocumentParams request, Cancellatio
public override Task<Unit> Handle(DidChangeTextDocumentParams request, CancellationToken cancellationToken)
{
var changes = request.ContentChanges.ToList();
var uri = request.TextDocument.Uri.ToUnencodedString();
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
context.ReadyWrite(() =>
{
context.LuaWorkspace.UpdateDocumentByUri(uri, changes[0].Text);
PushDiagnostic(request.TextDocument, context.LuaWorkspace.Compilation.GetSemanticModel(uri)!);
if (context.LuaWorkspace.Compilation.GetSemanticModel(uri) is { } semanticModel)
{
PushDiagnostic(request.TextDocument, semanticModel);
}
});

return Unit.Task;
Expand All @@ -69,9 +72,10 @@ public override Task<Unit> Handle(DidSaveTextDocumentParams request, Cancellatio

public override Task<Unit> Handle(DidCloseTextDocumentParams request, CancellationToken cancellationToken)
{
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
context.ReadyWrite(() =>
{
context.LuaWorkspace.CloseDocument(request.TextDocument.Uri.ToUnencodedString());
context.LuaWorkspace.CloseDocument(uri);
});

return Unit.Task;
Expand Down
3 changes: 2 additions & 1 deletion LanguageServer/TypeHierarchy/TypeHierarchyHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,10 @@ protected override TypeHierarchyRegistrationOptions CreateRegistrationOptions(Ty
CancellationToken cancellationToken)
{
Container<TypeHierarchyItem>? result = null;
var uri = request.TextDocument.Uri.ToUri().AbsoluteUri;
context.ReadyRead(() =>
{
var semanticModel = context.GetSemanticModel(request.TextDocument.Uri.ToUnencodedString());
var semanticModel = context.GetSemanticModel(uri);
if (semanticModel is not null)
{
var node = semanticModel.Document.SyntaxTree.SyntaxRoot.NameNodeAt(request.Position.Line,
Expand Down

0 comments on commit e98b178

Please sign in to comment.