diff --git a/src/Server.zig b/src/Server.zig index 754c0e735..71924a75f 100644 --- a/src/Server.zig +++ b/src/Server.zig @@ -1561,6 +1561,7 @@ fn semanticTokensRangeHandler(server: *Server, arena: std.mem.Allocator, request fn completionHandler(server: *Server, arena: std.mem.Allocator, request: types.CompletionParams) Error!lsp.ResultType("textDocument/completion") { const handle = server.document_store.getHandle(request.textDocument.uri) orelse return null; + if (handle.tree.mode == .zon) return null; const source_index = offsets.positionToIndex(handle.tree.source, request.position, server.offset_encoding); @@ -1574,6 +1575,7 @@ fn completionHandler(server: *Server, arena: std.mem.Allocator, request: types.C fn signatureHelpHandler(server: *Server, arena: std.mem.Allocator, request: types.SignatureHelpParams) Error!?types.SignatureHelp { const handle = server.document_store.getHandle(request.textDocument.uri) orelse return null; + if (handle.tree.mode == .zon) return null; if (request.position.character == 0) return null; @@ -1653,6 +1655,7 @@ fn hoverHandler(server: *Server, arena: std.mem.Allocator, request: types.HoverP if (request.position.character == 0) return null; const handle = server.document_store.getHandle(request.textDocument.uri) orelse return null; + if (handle.tree.mode == .zon) return null; const source_index = offsets.positionToIndex(handle.tree.source, request.position, server.offset_encoding); const markup_kind: types.MarkupKind = if (server.client_capabilities.hover_supports_md) .markdown else .plaintext; @@ -1673,6 +1676,7 @@ fn hoverHandler(server: *Server, arena: std.mem.Allocator, request: types.HoverP fn documentSymbolsHandler(server: *Server, arena: std.mem.Allocator, request: types.DocumentSymbolParams) Error!lsp.ResultType("textDocument/documentSymbol") { const handle = server.document_store.getHandle(request.textDocument.uri) orelse return null; + if (handle.tree.mode == .zon) return null; return .{ .array_of_DocumentSymbol = try document_symbol.getDocumentSymbols(arena, handle.tree, server.offset_encoding), }; @@ -1708,6 +1712,7 @@ fn documentHighlightHandler(server: *Server, arena: std.mem.Allocator, request: fn inlayHintHandler(server: *Server, arena: std.mem.Allocator, request: types.InlayHintParams) Error!?[]types.InlayHint { const handle = server.document_store.getHandle(request.textDocument.uri) orelse return null; + if (handle.tree.mode == .zon) return null; // The Language Server Specification does not provide a client capabilities that allows the client to specify the MarkupKind of inlay hints. const hover_kind: types.MarkupKind = if (server.client_capabilities.hover_supports_md) .markdown else .plaintext; diff --git a/src/features/goto.zig b/src/features/goto.zig index 94658c586..9a91e2252 100644 --- a/src/features/goto.zig +++ b/src/features/goto.zig @@ -236,6 +236,7 @@ pub fn gotoHandler( if (request.position.character == 0) return null; const handle = server.document_store.getHandle(request.textDocument.uri) orelse return null; + if (handle.tree.mode == .zon) return null; var analyser = Analyser.init( server.allocator, diff --git a/src/features/references.zig b/src/features/references.zig index ac6672e41..af0b78568 100644 --- a/src/features/references.zig +++ b/src/features/references.zig @@ -443,6 +443,7 @@ pub fn referencesHandler(server: *Server, arena: std.mem.Allocator, request: Gen defer tracy_zone.end(); const handle = server.document_store.getHandle(request.uri()) orelse return null; + if (handle.tree.mode == .zon) return null; if (request.position().character <= 0) return null;