diff --git a/src/analysis.zig b/src/analysis.zig index ceb3e6d..94de206 100644 --- a/src/analysis.zig +++ b/src/analysis.zig @@ -1,11 +1,11 @@ const std = @import("std"); -const DocumentStore = @import("document_store.zig"); +const DocumentStore = @import("./document_store.zig"); const ast = std.zig.Ast; -const types = @import("types.zig"); -const offsets = @import("offsets.zig"); +const types = @import("./types.zig"); +const offsets = @import("./offsets.zig"); const log = std.log.scoped(.analysis); const Analysis = @This(); -usingnamespace @import("ast.zig"); +usingnamespace @import("./ast.zig"); var using_trail: std.ArrayList([*]const u8) = undefined; var resolve_trail: std.ArrayList(NodeWithHandle) = undefined; @@ -1516,7 +1516,7 @@ fn tokenRangeAppend(prev: SourceRange, token: std.zig.Token) SourceRange { }; } -const DocumentPosition = @import("offsets.zig").DocumentPosition; +const DocumentPosition = offsets.DocumentPosition; pub fn documentPositionContext( arena: *std.heap.ArenaAllocator, diff --git a/src/document_store.zig b/src/document_store.zig index 8e2d5e7..f8b0681 100644 --- a/src/document_store.zig +++ b/src/document_store.zig @@ -1,11 +1,11 @@ const std = @import("std"); -const types = @import("types.zig"); -const URI = @import("uri.zig"); -const analysis = @import("analysis.zig"); -const offsets = @import("offsets.zig"); +const types = @import("./types.zig"); +const URI = @import("./uri.zig"); +const analysis = @import("./analysis.zig"); +const offsets = @import("./offsets.zig"); const log = std.log.scoped(.doc_store); const Tree = std.zig.Ast; -const BuildAssociatedConfig = @import("build_associated_config.zig"); +const BuildAssociatedConfig = @import("./build_associated_config.zig"); const DocumentStore = @This(); diff --git a/src/main.zig b/src/main.zig index 119fde1..364130d 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1,18 +1,18 @@ const std = @import("std"); const build_options = @import("build_options"); -const Config = @import("config.zig"); -const DocumentStore = @import("document_store.zig"); -const readRequestHeader = @import("header.zig").readRequestHeader; -const requests = @import("requests.zig"); -const types = @import("types.zig"); -const analysis = @import("analysis.zig"); -const URI = @import("uri.zig"); -const references = @import("references.zig"); -const rename = @import("rename.zig"); -const offsets = @import("offsets.zig"); -const setup = @import("setup.zig"); -const semantic_tokens = @import("semantic_tokens.zig"); +const Config = @import("./config.zig"); +const DocumentStore = @import("./document_store.zig"); +const readRequestHeader = @import("./header.zig").readRequestHeader; +const requests = @import("./requests.zig"); +const types = @import("./types.zig"); +const analysis = @import("./analysis.zig"); +const URI = @import("./uri.zig"); +const references = @import("./references.zig"); +const rename = @import("./rename.zig"); +const offsets = @import("./offsets.zig"); +const setup = @import("./setup.zig"); +const semantic_tokens = @import("./semantic_tokens.zig"); const ast = std.zig.Ast; const known_folders = @import("known-folders"); const data = blk: { @@ -294,13 +294,7 @@ fn publishDiagnostics(arena: *std.heap.ArenaAllocator, handle: DocumentStore.Han }); } -fn typeToCompletion( - arena: *std.heap.ArenaAllocator, - list: *std.ArrayList(types.CompletionItem), - field_access: analysis.FieldAccessReturn, - orig_handle: *DocumentStore.Handle, - config: Config, -) error{OutOfMemory}!void { +fn typeToCompletion(arena: *std.heap.ArenaAllocator, list: *std.ArrayList(types.CompletionItem), field_access: analysis.FieldAccessReturn, orig_handle: *DocumentStore.Handle, config: Config) error{OutOfMemory}!void { const type_handle = field_access.original; switch (type_handle.type.data) { .slice => { diff --git a/src/offsets.zig b/src/offsets.zig index a926e1e..51dbd29 100644 --- a/src/offsets.zig +++ b/src/offsets.zig @@ -1,5 +1,5 @@ const std = @import("std"); -const types = @import("types.zig"); +const types = @import("./types.zig"); const ast = std.zig.Ast; const Tree = ast; diff --git a/src/references.zig b/src/references.zig index 8b82172..cf1ce8b 100644 --- a/src/references.zig +++ b/src/references.zig @@ -1,11 +1,11 @@ const std = @import("std"); -const DocumentStore = @import("document_store.zig"); -const analysis = @import("analysis.zig"); -const types = @import("types.zig"); -const offsets = @import("offsets.zig"); +const DocumentStore = @import("./document_store.zig"); +const analysis = @import("./analysis.zig"); +const types = @import("./types.zig"); +const offsets = @import("./offsets.zig"); const log = std.log.scoped(.references); const Reference = @This(); -usingnamespace @import("ast.zig"); +usingnamespace @import("./ast.zig"); const ast = std.zig.Ast; diff --git a/src/rename.zig b/src/rename.zig index 5d87cec..096969b 100644 --- a/src/rename.zig +++ b/src/rename.zig @@ -1,11 +1,9 @@ const std = @import("std"); -const DocumentStore = @import("document_store.zig"); -const analysis = @import("analysis.zig"); -const references = @import("references.zig"); -const types = @import("types.zig"); -const offsets = @import("offsets.zig"); - -const ast = std.zig.ast; +const DocumentStore = @import("./document_store.zig"); +const analysis = @import("./analysis.zig"); +const references = @import("./references.zig"); +const types = @import("./types.zig"); +const offsets = @import("./offsets.zig"); // TODO Use a map to array lists and collect at the end instead? const RefHandlerContext = struct { diff --git a/src/requests.zig b/src/requests.zig index d1a8489..0be1c11 100644 --- a/src/requests.zig +++ b/src/requests.zig @@ -3,7 +3,7 @@ //! We only define what we actually use. const std = @import("std"); -const types = @import("types.zig"); +const types = @import("./types.zig"); /// Only check for the field's existence. const Exists = struct { diff --git a/src/semantic_tokens.zig b/src/semantic_tokens.zig index 4a85a8a..a61ed70 100644 --- a/src/semantic_tokens.zig +++ b/src/semantic_tokens.zig @@ -1,11 +1,11 @@ const std = @import("std"); -const offsets = @import("offsets.zig"); -const DocumentStore = @import("document_store.zig"); -const analysis = @import("analysis.zig"); +const offsets = @import("./offsets.zig"); +const DocumentStore = @import("./document_store.zig"); +const analysis = @import("./analysis.zig"); const ast = std.zig.Ast; const log = std.log.scoped(.semantic_tokens); const SemanticToken = @This(); -usingnamespace @import("ast.zig"); +usingnamespace @import("./ast.zig"); pub const TokenType = enum(u32) { type, diff --git a/src/signature_help.zig b/src/signature_help.zig index 2fb1956..8f12b85 100644 --- a/src/signature_help.zig +++ b/src/signature_help.zig @@ -1,13 +1,13 @@ const std = @import("std"); -const analysis = @import("analysis.zig"); -const offsets = @import("offsets.zig"); -const DocumentStore = @import("document_store.zig"); -const types = @import("types.zig"); +const analysis = @import("./analysis.zig"); +const offsets = @import("./offsets.zig"); +const DocumentStore = @import("./document_store.zig"); +const types = @import("./types.zig"); const ast = std.zig.Ast; const Token = std.zig.Token; -const identifierFromPosition = @import("main.zig").identifierFromPosition; +const identifierFromPosition = @import("./main.zig").identifierFromPosition; const SignatureHelp = @This(); -usingnamespace @import("ast.zig"); +usingnamespace @import("./ast.zig"); fn fnProtoToSignatureInfo( document_store: *DocumentStore, diff --git a/src/unit_tests.zig b/src/unit_tests.zig index 3d9fc9a..d104269 100644 --- a/src/unit_tests.zig +++ b/src/unit_tests.zig @@ -1,9 +1,8 @@ -const analysis = @import("analysis.zig"); -const types = @import("types.zig"); -const offsets = @import("offsets.zig"); -const URI = @import("uri.zig"); - const std = @import("std"); +const analysis = @import("./analysis.zig"); +const types = @import("./types.zig"); +const offsets = @import("./offsets.zig"); +const URI = @import("./uri.zig"); const allocator = std.testing.allocator; diff --git a/src/uri.zig b/src/uri.zig index f5875a7..a61ee25 100644 --- a/src/uri.zig +++ b/src/uri.zig @@ -6,6 +6,7 @@ const reserved_chars = &[_]u8{ '(', ')', '*', '+', ',', ':', ';', '=', '?', '@', '[', ']', }; + const reserved_escapes = blk: { var escapes: [reserved_chars.len][3]u8 = [_][3]u8{[_]u8{undefined} ** 3} ** reserved_chars.len;