bergercookie / asm-lsp

Language server for NASM/GAS/GO Assembly
https://crates.io/crates/asm-lsp
BSD 2-Clause "Simplified" License
267 stars 18 forks source link

fix: Remove leading slash from paths on windows with colon drive separators #181

Open WillLillis opened 1 day ago

WillLillis commented 1 day ago

After dealing with a number of issues surrounding how paths are communicated from various lsp clients on Windows, I believe this should fix #173. The basic idea is this:

  1. We see a leading slash '/' on a path on Windows
  2. We see that the path contains a drive separator, ':' (this check is performed after percent decoding)
  3. Remove the leading slash

Feels a little hacky, but in theory we should have a valid path after that.

@elli0t43 I don't currently have a full setup on Windows to test this with. I can get to that eventually, but if you have the time to test this fix that could really expedite things and would be greatly appreciated. :)

elli0t43 commented 18 hours ago

After dealing with a number of issues surrounding how paths are communicated from various lsp clients on Windows, I believe this should fix #173. The basic idea is this:

  1. We see a leading slash '/' on a path on Windows
  2. We see that the path contains a drive separator, ':' (this check is performed after percent decoding)
  3. Remove the leading slash

Feels a little hacky, but in theory we should have a valid path after that.

@elli0t43 I don't currently have a full setup on Windows to test this with. I can get to that eventually, but if you have the time to test this fix that could really expedite things and would be greatly appreciated. :)

I would be more than happy to, let me try and get back to you

elli0t43 commented 18 hours ago

I've compiled from your fork with the branch, and replaced the original asm-lsp.exe in mason packages, and from there this is the log generated with the new asm-lsp

Steps I took

  1. ran this command cargo install --git https://github.com/WillLillis/asm-lsp --branch windows_paths asm-lsp

image

  1. copy pasted the asm-lsp.exe from .cargo\bin\ to C:\Users\elli0t43\AppData\Local\nvim-data\mason\packages\bin\asm-lsp\

  2. Ran nvim first without having a .git in the folder, secondly with having a .git in the folder, and third removing the .git from the folder, below are the logs generated from that

Logs

[START][2024-11-22 15:26:42] LSP logging initiated
[INFO][2024-11-22 15:26:42] .../vim/lsp/rpc.lua:731 "Starting RPC client"   {  cmd = { "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD" },  extra = {    cwd = "C:/Users/elli0t43/Desktop/testasm"  }}
[DEBUG][2024-11-22 15:26:42] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 1,  jsonrpc = "2.0",  method = "initialize",  params = {    capabilities = {      general = {        positionEncodings = { "utf-16" }      },      textDocument = {        callHierarchy = {          dynamicRegistration = false        },        codeAction = {          codeActionLiteralSupport = {            codeActionKind = {              valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }            }          },          dataSupport = true,          dynamicRegistration = true,          isPreferredSupport = true,          resolveSupport = {            properties = { "edit" }          }        },        completion = {          completionItem = {            commitCharactersSupport = true,            deprecatedSupport = true,            documentationFormat = { "markdown", "plaintext" },            insertReplaceSupport = true,            insertTextModeSupport = {              valueSet = { 1, 2 }            },            labelDetailsSupport = true,            preselectSupport = true,            resolveSupport = {              properties = { "documentation", "detail", "additionalTextEdits", "sortText", "filterText", "insertText", "textEdit", "insertTextFormat", "insertTextMode" }            },            snippetSupport = true,            tagSupport = {              valueSet = { 1 }            }          },          completionItemKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }          },          completionList = {            itemDefaults = { "commitCharacters", "editRange", "insertTextFormat", "insertTextMode", "data" }          },          contextSupport = true,          dynamicRegistration = false,          insertTextMode = 1        },        declaration = {          linkSupport = true        },        definition = {          dynamicRegistration = true,          linkSupport = true        },        diagnostic = {          dynamicRegistration = false        },        documentHighlight = {          dynamicRegistration = false        },        documentSymbol = {          dynamicRegistration = false,          hierarchicalDocumentSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        formatting = {          dynamicRegistration = true        },        hover = {          contentFormat = { "markdown", "plaintext" },          dynamicRegistration = true        },        implementation = {          linkSupport = true        },        inlayHint = {          dynamicRegistration = true,          resolveSupport = {            properties = { "textEdits", "tooltip", "location", "command" }          }        },        publishDiagnostics = {          dataSupport = true,          relatedInformation = true,          tagSupport = {            valueSet = { 1, 2 }          }        },        rangeFormatting = {          dynamicRegistration = true        },        references = {          dynamicRegistration = false        },        rename = {          dynamicRegistration = true,          prepareSupport = true        },        semanticTokens = {          augmentsSyntaxTokens = true,          dynamicRegistration = false,          formats = { "relative" },          multilineTokenSupport = false,          overlappingTokenSupport = true,          requests = {            full = {              delta = true            },            range = false          },          serverCancelSupport = false,          tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },          tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }        },        signatureHelp = {          dynamicRegistration = false,          signatureInformation = {            activeParameterSupport = true,            documentationFormat = { "markdown", "plaintext" },            parameterInformation = {              labelOffsetSupport = true            }          }        },        synchronization = {          didSave = true,          dynamicRegistration = false,          willSave = true,          willSaveWaitUntil = true        },        typeDefinition = {          linkSupport = true        }      },      window = {        showDocument = {          support = true        },        showMessage = {          messageActionItem = {            additionalPropertiesSupport = false          }        },        workDoneProgress = true      },      workspace = {        applyEdit = true,        configuration = true,        didChangeConfiguration = {          dynamicRegistration = false        },        didChangeWatchedFiles = {          dynamicRegistration = true,          relativePatternSupport = true        },        inlayHint = {          refreshSupport = true        },        semanticTokens = {          refreshSupport = true        },        symbol = {          dynamicRegistration = false,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        workspaceEdit = {          resourceOperations = { "rename", "create", "delete" }        },        workspaceFolders = true      }    },    clientInfo = {      name = "Neovim",      version = "0.10.1+g7e194f0d0"    },    initializationOptions = vim.empty_dict(),    processId = 2776,    rootPath = vim.NIL,    rootUri = vim.NIL,    trace = "off",    workDoneToken = "1",    workspaceFolders = vim.NIL  }}
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp] Starting asm-lsp-0.9.0\n"
[DEBUG][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  id = 1,  jsonrpc = "2.0",  result = {    capabilities = {      completionProvider = {        completionItem = {          labelDetailsSupport = true        },        triggerCharacters = { "%", "." }      },      definitionProvider = true,      diagnosticProvider = {        identifier = "asm-lsp",        interFileDependencies = true,        workspaceDiagnostics = false      },      documentSymbolProvider = true,      hoverProvider = true,      positionEncoding = "utf-16",      referencesProvider = true,      signatureHelpProvider = {        workDoneProgress = false      },      textDocumentSync = 2    }  }}
[DEBUG][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "initialized",  params = vim.empty_dict()}
[DEBUG][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "workspace/didChangeConfiguration",  params = {    settings = {      asm = {        syntax = "nasm"      },      nasm = {        syntax = "nasm"      }    }  }}
[DEBUG][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "asm",      text = "section .text\r\n    global main\r\nmain:\r\n        ;write your code here\r\n        xor eax,,,,,1\r\n        mov ecx, 2\r\n        ret\r\n\r\n",      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s",      version = 0    }  }}
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp] Client initialization params: InitializeParams { process_id: Some(2776), root_path: None, root_uri: None, initialization_options: Some(Object {}), capabilities: ClientCapabilities { workspace: Some(WorkspaceClientCapabilities { apply_edit: Some(true), workspace_edit: Some(WorkspaceEditClientCapabilities { document_changes: None, resource_operations: Some([Rename, Create, Delete]), failure_handling: None, normalizes_line_endings: None, change_annotation_support: None }), did_change_configuration: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), did_change_watched_files: Some(DidChangeWatchedFilesClientCapabilities { dynamic_registration: Some(true), relative_pattern_support: Some(true) }), symbol: Some(WorkspaceSymbolClientCapabilities { dynamic_registration: Some(false), symbol_kind: Some(SymbolKindCapability { value_set: Some([File, Module, Namespace, Package, Class, Method, Property, Field, Constructor, Enum, Interface, Function, Variable, Constant, String, Number, Boolean, Array, Object, Key, Null, EnumMember, Struct, Event, Operator, TypeParameter]) }), tag_support: None, resolve_support: None }), execute_command: None, workspace_folders: Some(true), configuration: Some(true), semantic_tokens: Some(SemanticTokensWorkspaceClientCapabilities { refresh_support: Some(true) }), code_lens: None, file_operations: None, inline_value: None, inlay_hint: Some(InlayHintWorkspaceClientCapabilities { refresh_support: Some(true) }), diagnostic: None }), text_document: Some(TextDocumentClientCapabilities { synchronization: Some(TextDocumentSyncClientCapabilities { dynamic_registration: Some(false), will_save: Some(true), will_save_wait_until: Some(true), did_save: Some(true) }), completion: Some(CompletionClientCapabilities { dynamic_registration: Some(false), completion_item: Some(CompletionItemCapability { snippet_support: Some(true), commit_characters_support: Some(true), documentation_format: Some([Markdown, PlainText]), deprecated_support: Some(true), preselect_support: Some(true), tag_support: Some(TagSupport { value_set: [Deprecated] }), insert_replace_support: Some(true), resolve_support: Some(CompletionItemCapabilityResolveSupport { properties: ["documentation", "detail", "additionalTextEdits", "sortText", "filterText", "insertText", "textEdit", "insertTextFormat", "insertTextMode"] }), insert_text_mode_support: Some(InsertTextModeSupport { value_set: [AsIs, AdjustIndentation] }), label_details_support: Some(true) }), completion_item_kind: Some(CompletionItemKindCapability { value_set: Some([Text, Method, Function, Constructor, Field, Variable, Class, Interface, Module, Property, Unit, Value, Enum, Keyword, Snippet, Color, File, Reference, Folder, EnumMember, Constant, Struct, Event, Operator, TypeParameter]) }), context_support: Some(true), insert_text_mode: Some(AsIs), completion_list: Some(CompletionListCapability { item_defaults: Some(["commitCharacters", "editRange", "insertTextFormat", "insertTextMode", "data"]) }) }), hover: Some(HoverClientCapabilities { dynamic_registration: Some(true), content_format: Some([Markdown, PlainText]) }), signature_help: Some(SignatureHelpClientCapabilities { dynamic_registration: Some(false), signature_information: Some(SignatureInformationSettings { documentation_format: Some([Markdown, PlainText]), parameter_information: Some(ParameterInformationSettings { label_offset_support: Some(true) }), active_parameter_support: Some(true) }), context_support: None }), references: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), document_highlight: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), document_symbol: Some(DocumentSymbolClientCapabilities { dynamic_registration: Some(false), symbol_kind: Some(SymbolKindCapability { value_set: Some([File, Module, Namespace, Package, Class, Method, Property, Field, Constructor, Enum, Interface, Function, Variable, Constant, String, Number, Boolean, Array, Object, Key, Null, EnumMember, Struct, Event, Operator, TypeParameter]) }), hierarchical_document_symbol_support: Some(true), tag_support: None }), formatting: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), range_formatting: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), on_type_formatting: None, declaration: Some(GotoCapability { dynamic_registration: None, link_support: Some(true) }), definition: Some(GotoCapability { dynamic_registration: Some(true), link_support: Some(true) }), type_definition: Some(GotoCapability { dynamic_registration: None, link_support: Some(true) }), implementation: Some(GotoCapability { dynamic_registration: None, link_support: Some(true) }), code_action: Some(CodeActionClientCapabilities { dynamic_registration: Some(true), code_action_literal_support: Some(CodeActionLiteralSupport { code_action_kind: CodeActionKindLiteralSupport { value_set: ["", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports"] } }), is_preferred_support: Some(true), disabled_support: None, data_support: Some(true), resolve_support: Some(CodeActionCapabilityResolveSupport { properties: ["edit"] }), honors_change_annotations: None }), code_lens: None, document_link: None, color_provider: None, rename: Some(RenameClientCapabilities { dynamic_registration: Some(true), prepare_support: Some(true), prepare_support_default_behavior: None, honors_change_annotations: None }), publish_diagnostics: Some(PublishDiagnosticsClientCapabilities { related_information: Some(true), tag_support: Some(TagSupport { value_set: [Unnecessary, Deprecated] }), version_support: None, code_description_support: None, data_support: Some(true) }), folding_range: None, selection_range: None, linked_editing_range: None, call_hierarchy: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), semantic_tokens: Some(SemanticTokensClientCapabilities { dynamic_registration: Some(false), requests: SemanticTokensClientCapabilitiesRequests { range: Some(false), full: Some(Delta { delta: Some(true) }) }, token_types: [SemanticTokenType("namespace"), SemanticTokenType("type"), SemanticTokenType("class"), SemanticTokenType("enum"), SemanticTokenType("interface"), SemanticTokenType("struct"), SemanticTokenType("typeParameter"), SemanticTokenType("parameter"), SemanticTokenType("variable"), SemanticTokenType("property"), SemanticTokenType("enumMember"), SemanticTokenType("event"), SemanticTokenType("function"), SemanticTokenType("method"), SemanticTokenType("macro"), SemanticTokenType("keyword"), SemanticTokenType("modifier"), SemanticTokenType("comment"), SemanticTokenType("string"), SemanticTokenType("number"), SemanticTokenType("regexp"), SemanticTokenType("operator"), SemanticTokenType("decorator")], token_modifiers: [SemanticTokenModifier("declaration"), SemanticTokenModifier("definition"), SemanticTokenModifier("readonly"), SemanticTokenModifier("static"), SemanticTokenModifier("deprecated"), SemanticTokenModifier("abstract"), SemanticTokenModifier("async"), SemanticTokenModifier("modification"), SemanticTokenModifier("documentation"), SemanticTokenModifier("defaultLibrary")], formats: [TokenFormat("relative")], overlapping_token_support: Some(true), multiline_token_support: Some(false), server_cancel_support: Some(false), augments_syntax_tokens: Some(true) }), moniker: None, type_hierarchy: None, inline_value: None, inlay_hint: Some(InlayHintClientCapabilities { dynamic_registration: Some(true), resolve_support: Some(InlayHintResolveClientCapabilities { properties: ["textEdits", "tooltip", "location", "command"] }) }), diagnostic: Some(DiagnosticClientCapabilities { dynamic_registration: Some(false), related_document_support: None }) }), notebook_document: None, window: Some(WindowClientCapabilities { work_done_progress: Some(true), show_message: Some(ShowMessageRequestClientCapabilities { message_action_item: Some(MessageActionItemCapabilities { additional_properties_support: Some(false) }) }), show_document: Some(ShowDocumentClientCapabilities { support: true }) }), general: Some(GeneralClientCapabilities { regular_expressions: None, markdown: None, stale_request_support: None, position_encodings: Some([PositionEncodingKind("utf-16")]) }), experimental: None }, trace: Some(Off), workspace_folders: None, client_info: Some(ClientInfo { name: "Neovim", version: Some("0.10.1+g7e194f0d0") }), locale: None, work_done_progress_params: WorkDoneProgressParams { work_done_token: Some(String("1")) } }\nINFO [asm_lsp::lsp] Creating directories along C:\\Users\\elli0t43\\AppData\\Roaming\\asm-lsp as necessary...\n'
[INFO][2024-11-22 15:26:43] ...m/lsp/client.lua:620 "LSP[asm_lsp]"  "server_capabilities"   {  server_capabilities = {    completionProvider = {      completionItem = {        labelDetailsSupport = true      },      triggerCharacters = { "%", "." }    },    definitionProvider = true,    diagnosticProvider = {      identifier = "asm-lsp",      interFileDependencies = true,      workspaceDiagnostics = false    },    documentSymbolProvider = true,    hoverProvider = true,    positionEncoding = "utf-16",    referencesProvider = true,    signatureHelpProvider = {      workDoneProgress = false    },    textDocumentSync = {      change = 2,      openClose = true,      save = {        includeText = false      },      willSave = false,      willSaveWaitUntil = false    }  }}
[DEBUG][2024-11-22 15:26:43] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 8    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"  }}   <function 1>    4
[DEBUG][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 2,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 8      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"    }  }}
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::lsp] Parsing global asm-lsp config from file -> C:\\Users\\elli0t43\\AppData\\Roaming\\asm-lsp\\.asm-lsp.toml\nWARN [asm_lsp::lsp] Failed to detect project root\nINFO [asm_lsp::types] Detected host arch as x86-64\nINFO [asm_lsp] Server Configuration: RootConfig { default_config: Some(Config { version: Some("0.9.0"), assembler: Nasm, instruction_set: X86_AND_X86_64, opts: Some(ConfigOptions { compiler: Some("gcc"), compile_flags_txt: Some(["-g"]), diagnostics: Some(true), default_diagnostics: Some(false) }), client: None }), projects: None }\n'
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86 instruction set loaded in 6ms\n"
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86-64 instruction set loaded in 5ms\n"
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86 register set loaded in 0ms\n"
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86-64 register set loaded in 0ms\n"
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] nasm directive set loaded in 0ms\n"
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "WARN [asm_lsp::lsp] Failed to detect project root\n"
[ERROR][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::lsp] Include directory map: {All: []}\nINFO [asm_lsp] Starting asm-lsp loop...\nWARN [asm_lsp::handle] Invalid notification format: "workspace/didChangeConfiguration"\nINFO [asm_lsp::handle] textDocument/didOpen notification serviced in 0ms\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.s",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.s",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n'
[DEBUG][2024-11-22 15:26:43] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"  }}
[INFO][2024-11-22 15:27:53] .../lua/vim/lsp.lua:799 "exit_handler"  { {    _log_prefix = "LSP[asm_lsp]",    _on_attach_cbs = { <function 1> },    _on_exit_cbs = { <function 2>, <function 3> },    _on_init_cbs = { <function 4> },    _trace = "off",    attached_buffers = {      [4] = true    },    cancel_request = <function 5>,    capabilities = <1>{      general = {        positionEncodings = { "utf-16" }      },      textDocument = {        callHierarchy = {          dynamicRegistration = false        },        codeAction = {          codeActionLiteralSupport = {            codeActionKind = {              valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }            }          },          dataSupport = true,          dynamicRegistration = true,          isPreferredSupport = true,          resolveSupport = {            properties = { "edit" }          }        },        completion = {          completionItem = {            commitCharactersSupport = true,            deprecatedSupport = true,            documentationFormat = { "markdown", "plaintext" },            insertReplaceSupport = true,            insertTextModeSupport = {              valueSet = { 1, 2 }            },            labelDetailsSupport = true,            preselectSupport = true,            resolveSupport = {              properties = { "documentation", "detail", "additionalTextEdits", "sortText", "filterText", "insertText", "textEdit", "insertTextFormat", "insertTextMode" }            },            snippetSupport = true,            tagSupport = {              valueSet = { 1 }            }          },          completionItemKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }          },          completionList = {            itemDefaults = { "commitCharacters", "editRange", "insertTextFormat", "insertTextMode", "data" }          },          contextSupport = true,          dynamicRegistration = false,          insertTextMode = 1        },        declaration = {          linkSupport = true        },        definition = {          dynamicRegistration = true,          linkSupport = true        },        diagnostic = {          dynamicRegistration = false        },        documentHighlight = {          dynamicRegistration = false        },        documentSymbol = {          dynamicRegistration = false,          hierarchicalDocumentSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        formatting = {          dynamicRegistration = true        },        hover = {          contentFormat = { "markdown", "plaintext" },          dynamicRegistration = true        },        implementation = {          linkSupport = true        },        inlayHint = {          dynamicRegistration = true,          resolveSupport = {            properties = { "textEdits", "tooltip", "location", "command" }          }        },        publishDiagnostics = {          dataSupport = true,          relatedInformation = true,          tagSupport = {            valueSet = { 1, 2 }          }        },        rangeFormatting = {          dynamicRegistration = true        },        references = {          dynamicRegistration = false        },        rename = {          dynamicRegistration = true,          prepareSupport = true        },        semanticTokens = {          augmentsSyntaxTokens = true,          dynamicRegistration = false,          formats = { "relative" },          multilineTokenSupport = false,          overlappingTokenSupport = true,          requests = {            full = {              delta = true            },            range = false          },          serverCancelSupport = false,          tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },          tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }        },        signatureHelp = {          dynamicRegistration = false,          signatureInformation = {            activeParameterSupport = true,            documentationFormat = { "markdown", "plaintext" },            parameterInformation = {              labelOffsetSupport = true            }          }        },        synchronization = {          didSave = true,          dynamicRegistration = false,          willSave = true,          willSaveWaitUntil = true        },        typeDefinition = {          linkSupport = true        }      },      window = {        showDocument = {          support = true        },        showMessage = {          messageActionItem = {            additionalPropertiesSupport = false          }        },        workDoneProgress = true      },      workspace = {        applyEdit = true,        configuration = true,        didChangeConfiguration = {          dynamicRegistration = false        },        didChangeWatchedFiles = {          dynamicRegistration = true,          relativePatternSupport = true        },        inlayHint = {          refreshSupport = true        },        semanticTokens = {          refreshSupport = true        },        symbol = {          dynamicRegistration = false,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        workspaceEdit = {          resourceOperations = { "rename", "create", "delete" }        },        workspaceFolders = true      }    },    commands = {},    config = {      autostart = true,      capabilities = <table 1>,      cmd = { "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD" },      cmd_cwd = "C:/Users/elli0t43/Desktop/testasm",      filetypes = { "asm", "vmasm", "nasm", "s", "S" },      handlers = <2>{},      init_options = vim.empty_dict(),      log_level = 2,      message_level = 2,      name = "asm_lsp",      on_attach = <function 1>,      on_exit = <function 2>,      on_init = <function 4>,      settings = <3>{        asm = {          syntax = "nasm"        },        nasm = {          syntax = "nasm"        }      },      single_file_support = true,      <metatable> = <4>{        __tostring = <function 6>      }    },    dynamic_capabilities = {      capabilities = {},      client_id = 1,      <metatable> = {        __index = {          get = <function 7>,          match = <function 8>,          new = <function 9>,          register = <function 10>,          supports = <function 11>,          supports_registration = <function 12>,          unregister = <function 13>        }      }    },    flags = {},    get_language_id = <function 14>,    handlers = <table 2>,    id = 1,    initialized = true,    is_stopped = <function 15>,    messages = {      messages = {},      name = "asm_lsp",      progress = {},      status = {}    },    name = "asm_lsp",    notify = <function 16>,    offset_encoding = "utf-16",    on_attach = <function 17>,    progress = {      _idx_read = 0,      _idx_write = 0,      _items = {},      _size = 51,      pending = {},      <metatable> = {        __call = <function 18>,        __index = {          clear = <function 19>,          peek = <function 20>,          pop = <function 21>,          push = <function 22>        }      }    },    request = <function 23>,    request_sync = <function 24>,    requests = {      [2] = {        bufnr = 4,        method = "textDocument/diagnostic",        type = "pending"      }    },    rpc = {      is_closing = <function 25>,      notify = <function 26>,      request = <function 27>,      terminate = <function 28>    },    server_capabilities = {      completionProvider = {        completionItem = {          labelDetailsSupport = true        },        triggerCharacters = { "%", "." }      },      definitionProvider = true,      diagnosticProvider = {        identifier = "asm-lsp",        interFileDependencies = true,        workspaceDiagnostics = false      },      documentSymbolProvider = true,      hoverProvider = true,      positionEncoding = "utf-16",      referencesProvider = true,      signatureHelpProvider = {        workDoneProgress = false      },      textDocumentSync = {        change = 2,        openClose = true,        save = {          includeText = false        },        willSave = false,        willSaveWaitUntil = false      }    },    settings = <table 3>,    stop = <function 29>,    supports_method = <function 30>,    workspace_did_change_configuration = <function 31>,    <metatable> = <5>{      __index = <table 5>,      _add_workspace_folder = <function 32>,      _cancel_request = <function 33>,      _exec_cmd = <function 34>,      _is_stopped = <function 35>,      _notification = <function 36>,      _notify = <function 37>,      _on_attach = <function 38>,      _on_error = <function 39>,      _on_exit = <function 40>,      _remove_workspace_folder = <function 41>,      _request = <function 42>,      _request_sync = <function 43>,      _resolve_handler = <function 44>,      _run_callbacks = <function 45>,      _server_request = <function 46>,      _stop = <function 47>,      _supports_method = <function 48>,      _text_document_did_open_handler = <function 49>,      create = <function 50>,      initialize = <function 51>,      write_error = <function 52>    }  } }
[DEBUG][2024-11-22 15:27:53] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 3,  jsonrpc = "2.0",  method = "shutdown"}
[DEBUG][2024-11-22 15:27:53] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  id = 3,  jsonrpc = "2.0"}
[DEBUG][2024-11-22 15:27:53] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "exit"}
[START][2024-11-22 15:27:57] LSP logging initiated
[INFO][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:731 "Starting RPC client"   {  cmd = { "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD" },  extra = {    cwd = "C:/Users/elli0t43/Desktop/testasm"  }}
[DEBUG][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 1,  jsonrpc = "2.0",  method = "initialize",  params = {    capabilities = {      general = {        positionEncodings = { "utf-16" }      },      textDocument = {        callHierarchy = {          dynamicRegistration = false        },        codeAction = {          codeActionLiteralSupport = {            codeActionKind = {              valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }            }          },          dataSupport = true,          dynamicRegistration = true,          isPreferredSupport = true,          resolveSupport = {            properties = { "edit" }          }        },        completion = {          completionItem = {            commitCharactersSupport = true,            deprecatedSupport = true,            documentationFormat = { "markdown", "plaintext" },            insertReplaceSupport = true,            insertTextModeSupport = {              valueSet = { 1, 2 }            },            labelDetailsSupport = true,            preselectSupport = true,            resolveSupport = {              properties = { "documentation", "detail", "additionalTextEdits", "sortText", "filterText", "insertText", "textEdit", "insertTextFormat", "insertTextMode" }            },            snippetSupport = true,            tagSupport = {              valueSet = { 1 }            }          },          completionItemKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }          },          completionList = {            itemDefaults = { "commitCharacters", "editRange", "insertTextFormat", "insertTextMode", "data" }          },          contextSupport = true,          dynamicRegistration = false,          insertTextMode = 1        },        declaration = {          linkSupport = true        },        definition = {          dynamicRegistration = true,          linkSupport = true        },        diagnostic = {          dynamicRegistration = false        },        documentHighlight = {          dynamicRegistration = false        },        documentSymbol = {          dynamicRegistration = false,          hierarchicalDocumentSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        formatting = {          dynamicRegistration = true        },        hover = {          contentFormat = { "markdown", "plaintext" },          dynamicRegistration = true        },        implementation = {          linkSupport = true        },        inlayHint = {          dynamicRegistration = true,          resolveSupport = {            properties = { "textEdits", "tooltip", "location", "command" }          }        },        publishDiagnostics = {          dataSupport = true,          relatedInformation = true,          tagSupport = {            valueSet = { 1, 2 }          }        },        rangeFormatting = {          dynamicRegistration = true        },        references = {          dynamicRegistration = false        },        rename = {          dynamicRegistration = true,          prepareSupport = true        },        semanticTokens = {          augmentsSyntaxTokens = true,          dynamicRegistration = false,          formats = { "relative" },          multilineTokenSupport = false,          overlappingTokenSupport = true,          requests = {            full = {              delta = true            },            range = false          },          serverCancelSupport = false,          tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },          tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }        },        signatureHelp = {          dynamicRegistration = false,          signatureInformation = {            activeParameterSupport = true,            documentationFormat = { "markdown", "plaintext" },            parameterInformation = {              labelOffsetSupport = true            }          }        },        synchronization = {          didSave = true,          dynamicRegistration = false,          willSave = true,          willSaveWaitUntil = true        },        typeDefinition = {          linkSupport = true        }      },      window = {        showDocument = {          support = true        },        showMessage = {          messageActionItem = {            additionalPropertiesSupport = false          }        },        workDoneProgress = true      },      workspace = {        applyEdit = true,        configuration = true,        didChangeConfiguration = {          dynamicRegistration = false        },        didChangeWatchedFiles = {          dynamicRegistration = true,          relativePatternSupport = true        },        inlayHint = {          refreshSupport = true        },        semanticTokens = {          refreshSupport = true        },        symbol = {          dynamicRegistration = false,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        workspaceEdit = {          resourceOperations = { "rename", "create", "delete" }        },        workspaceFolders = true      }    },    clientInfo = {      name = "Neovim",      version = "0.10.1+g7e194f0d0"    },    initializationOptions = vim.empty_dict(),    processId = 2904,    rootPath = "C:\\Users\\elli0t43\\Desktop\\testasm",    rootUri = "file:///C:/Users/elli0t43/Desktop/testasm",    trace = "off",    workDoneToken = "1",    workspaceFolders = { {        name = "C:/Users/elli0t43/Desktop/testasm",        uri = "file:///C:/Users/elli0t43/Desktop/testasm"      } }  }}
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp] Starting asm-lsp-0.9.0\n"
[DEBUG][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  id = 1,  jsonrpc = "2.0",  result = {    capabilities = {      completionProvider = {        completionItem = {          labelDetailsSupport = true        },        triggerCharacters = { "%", "." }      },      definitionProvider = true,      diagnosticProvider = {        identifier = "asm-lsp",        interFileDependencies = true,        workspaceDiagnostics = false      },      documentSymbolProvider = true,      hoverProvider = true,      positionEncoding = "utf-16",      referencesProvider = true,      signatureHelpProvider = {        workDoneProgress = false      },      textDocumentSync = 2    }  }}
[DEBUG][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "initialized",  params = vim.empty_dict()}
[DEBUG][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "workspace/didChangeConfiguration",  params = {    settings = {      asm = {        syntax = "nasm"      },      nasm = {        syntax = "nasm"      }    }  }}
[DEBUG][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "asm",      text = "section .text\r\n    global main\r\nmain:\r\n        ;write your code here\r\n        xor eax,,,,,1\r\n        mov ecx, 2\r\n        ret\r\n\r\n",      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s",      version = 0    }  }}
[INFO][2024-11-22 15:27:57] ...m/lsp/client.lua:620 "LSP[asm_lsp]"  "server_capabilities"   {  server_capabilities = {    completionProvider = {      completionItem = {        labelDetailsSupport = true      },      triggerCharacters = { "%", "." }    },    definitionProvider = true,    diagnosticProvider = {      identifier = "asm-lsp",      interFileDependencies = true,      workspaceDiagnostics = false    },    documentSymbolProvider = true,    hoverProvider = true,    positionEncoding = "utf-16",    referencesProvider = true,    signatureHelpProvider = {      workDoneProgress = false    },    textDocumentSync = {      change = 2,      openClose = true,      save = {        includeText = false      },      willSave = false,      willSaveWaitUntil = false    }  }}
[DEBUG][2024-11-22 15:27:57] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 8    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"  }}   <function 1>    4
[DEBUG][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 2,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 8      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"    }  }}
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp] Client initialization params: InitializeParams { process_id: Some(2904), root_path: Some("C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm"), root_uri: Some(Uri(Uri { scheme: Some("file"), authority: Some(Authority { userinfo: None, host: Host { text: "", data: RegName("") }, port: None }), path: "/C:/Users/elli0t43/Desktop/testasm", query: None, fragment: None })), initialization_options: Some(Object {}), capabilities: ClientCapabilities { workspace: Some(WorkspaceClientCapabilities { apply_edit: Some(true), workspace_edit: Some(WorkspaceEditClientCapabilities { document_changes: None, resource_operations: Some([Rename, Create, Delete]), failure_handling: None, normalizes_line_endings: None, change_annotation_support: None }), did_change_configuration: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), did_change_watched_files: Some(DidChangeWatchedFilesClientCapabilities { dynamic_registration: Some(true), relative_pattern_support: Some(true) }), symbol: Some(WorkspaceSymbolClientCapabilities { dynamic_registration: Some(false), symbol_kind: Some(SymbolKindCapability { value_set: Some([File, Module, Namespace, Package, Class, Method, Property, Field, Constructor, Enum, Interface, Function, Variable, Constant, String, Number, Boolean, Array, Object, Key, Null, EnumMember, Struct, Event, Operator, TypeParameter]) }), tag_support: None, resolve_support: None }), execute_command: None, workspace_folders: Some(true), configuration: Some(true), semantic_tokens: Some(SemanticTokensWorkspaceClientCapabilities { refresh_support: Some(true) }), code_lens: None, file_operations: None, inline_value: None, inlay_hint: Some(InlayHintWorkspaceClientCapabilities { refresh_support: Some(true) }), diagnostic: None }), text_document: Some(TextDocumentClientCapabilities { synchronization: Some(TextDocumentSyncClientCapabilities { dynamic_registration: Some(false), will_save: Some(true), will_save_wait_until: Some(true), did_save: Some(true) }), completion: Some(CompletionClientCapabilities { dynamic_registration: Some(false), completion_item: Some(CompletionItemCapability { snippet_support: Some(true), commit_characters_support: Some(true), documentation_format: Some([Markdown, PlainText]), deprecated_support: Some(true), preselect_support: Some(true), tag_support: Some(TagSupport { value_set: [Deprecated] }), insert_replace_support: Some(true), resolve_support: Some(CompletionItemCapabilityResolveSupport { properties: ["documentation", "detail", "additionalTextEdits", "sortText", "filterText", "insertText", "textEdit", "insertTextFormat", "insertTextMode"] }), insert_text_mode_support: Some(InsertTextModeSupport { value_set: [AsIs, AdjustIndentation] }), label_details_support: Some(true) }), completion_item_kind: Some(CompletionItemKindCapability { value_set: Some([Text, Method, Function, Constructor, Field, Variable, Class, Interface, Module, Property, Unit, Value, Enum, Keyword, Snippet, Color, File, Reference, Folder, EnumMember, Constant, Struct, Event, Operator, TypeParameter]) }), context_support: Some(true), insert_text_mode: Some(AsIs), completion_list: Some(CompletionListCapability { item_defaults: Some(["commitCharacters", "editRange", "insertTextFormat", "insertTextMode", "data"]) }) }), hover: Some(HoverClientCapabilities { dynamic_registration: Some(true), content_format: Some([Markdown, PlainText]) }), signature_help: Some(SignatureHelpClientCapabilities { dynamic_registration: Some(false), signature_information: Some(SignatureInformationSettings { documentation_format: Some([Markdown, PlainText]), parameter_information: Some(ParameterInformationSettings { label_offset_support: Some(true) }), active_parameter_support: Some(true) }), context_support: None }), references: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), document_highlight: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), document_symbol: Some(DocumentSymbolClientCapabilities { dynamic_registration: Some(false), symbol_kind: Some(SymbolKindCapability { value_set: Some([File, Module, Namespace, Package, Class, Method, Property, Field, Constructor, Enum, Interface, Function, Variable, Constant, String, Number, Boolean, Array, Object, Key, Null, EnumMember, Struct, Event, Operator, TypeParameter]) }), hierarchical_document_symbol_support: Some(true), tag_support: None }), formatting: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), range_formatting: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), on_type_formatting: None, declaration: Some(GotoCapability { dynamic_registration: None, link_support: Some(true) }), definition: Some(GotoCapability { dynamic_registration: Some(true), link_support: Some(true) }), type_definition: Some(GotoCapability { dynamic_registration: None, link_support: Some(true) }), implementation: Some(GotoCapability { dynamic_registration: None, link_support: Some(true) }), code_action: Some(CodeActionClientCapabilities { dynamic_registration: Some(true), code_action_literal_support: Some(CodeActionLiteralSupport { code_action_kind: CodeActionKindLiteralSupport { value_set: ["", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports"] } }), is_preferred_support: Some(true), disabled_support: None, data_support: Some(true), resolve_support: Some(CodeActionCapabilityResolveSupport { properties: ["edit"] }), honors_change_annotations: None }), code_lens: None, document_link: None, color_provider: None, rename: Some(RenameClientCapabilities { dynamic_registration: Some(true), prepare_support: Some(true), prepare_support_default_behavior: None, honors_change_annotations: None }), publish_diagnostics: Some(PublishDiagnosticsClientCapabilities { related_information: Some(true), tag_support: Some(TagSupport { value_set: [Unnecessary, Deprecated] }), version_support: None, code_description_support: None, data_support: Some(true) }), folding_range: None, selection_range: None, linked_editing_range: None, call_hierarchy: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), semantic_tokens: Some(SemanticTokensClientCapabilities { dynamic_registration: Some(false), requests: SemanticTokensClientCapabilitiesRequests { range: Some(false), full: Some(Delta { delta: Some(true) }) }, token_types: [SemanticTokenType("namespace"), SemanticTokenType("type"), SemanticTokenType("class"), SemanticTokenType("enum"), SemanticTokenType("interface"), SemanticTokenType("struct"), SemanticTokenType("typeParameter"), SemanticTokenType("parameter"), SemanticTokenType("variable"), SemanticTokenType("property"), SemanticTokenType("enumMember"), SemanticTokenType("event"), SemanticTokenType("function"), SemanticTokenType("method"), SemanticTokenType("macro"), SemanticTokenType("keyword"), SemanticTokenType("modifier"), SemanticTokenType("comment"), SemanticTokenType("string"), SemanticTokenType("number"), SemanticTokenType("regexp"), SemanticTokenType("operator"), SemanticTokenType("decorator")], token_modifiers: [SemanticTokenModifier("declaration"), SemanticTokenModifier("definition"), SemanticTokenModifier("readonly"), SemanticTokenModifier("static"), SemanticTokenModifier("deprecated"), SemanticTokenModifier("abstract"), SemanticTokenModifier("async"), SemanticTokenModifier("modification"), SemanticTokenModifier("documentation"), SemanticTokenModifier("defaultLibrary")], formats: [TokenFormat("relative")], overlapping_token_support: Some(true), multiline_token_support: Some(false), server_cancel_support: Some(false), augments_syntax_tokens: Some(true) }), moniker: None, type_hierarchy: None, inline_value: None, inlay_hint: Some(InlayHintClientCapabilities { dynamic_registration: Some(true), resolve_support: Some(InlayHintResolveClientCapabilities { properties: ["textEdits", "tooltip", "location", "command"] }) }), diagnostic: Some(DiagnosticClientCapabilities { dynamic_registration: Some(false), related_document_support: None }) }), notebook_document: None, window: Some(WindowClientCapabilities { work_done_progress: Some(true), show_message: Some(ShowMessageRequestClientCapabilities { message_action_item: Some(MessageActionItemCapabilities { additional_properties_support: Some(false) }) }), show_document: Some(ShowDocumentClientCapabilities { support: true }) }), general: Some(GeneralClientCapabilities { regular_expressions: None, markdown: None, stale_request_support: None, position_encodings: Some([PositionEncodingKind("utf-16")]) }), experimental: None }, trace: Some(Off), workspace_folders: Some([WorkspaceFolder { uri: Uri(Uri { scheme: Some("file"), authority: Some(Authority { userinfo: None, host: Host { text: "", data: RegName("") }, port: None }), path: "/C:/Users/elli0t43/Desktop/testasm", query: None, fragment: None }), name: "C:/Users/elli0t43/Desktop/testasm" }]), client_info: Some(ClientInfo { name: "Neovim", version: Some("0.10.1+g7e194f0d0") }), locale: None, work_done_progress_params: WorkDoneProgressParams { work_done_token: Some(String("1")) } }\n'
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::lsp] Creating directories along C:\\Users\\elli0t43\\AppData\\Roaming\\asm-lsp as necessary...\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::lsp] Parsing global asm-lsp config from file -> C:\\Users\\elli0t43\\AppData\\Roaming\\asm-lsp\\.asm-lsp.toml\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "ERROR [asm_lsp::lsp] Failed to read config file \\\\?\\C:\\Users\\elli0t43\\Desktop\\testasm\\.asm-lsp.toml - Error: The system cannot find the file specified. (os error 2)\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] Detected host arch as x86-64\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp] Server Configuration: RootConfig { default_config: Some(Config { version: Some("0.9.0"), assembler: Nasm, instruction_set: X86_AND_X86_64, opts: Some(ConfigOptions { compiler: Some("gcc"), compile_flags_txt: Some(["-g"]), diagnostics: Some(true), default_diagnostics: Some(false) }), client: None }), projects: None }\n'
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86 instruction set loaded in 6ms\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86-64 instruction set loaded in 5ms\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86 register set loaded in 0ms\nINFO [asm_lsp::types] x86-64 register set loaded in 0ms\nINFO [asm_lsp::types] nasm directive set loaded in 0ms\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::lsp] Include directory map: {All: []}\nINFO [asm_lsp] Starting asm-lsp loop...\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'WARN [asm_lsp::handle] Invalid notification format: "workspace/didChangeConfiguration"\n'
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/didOpen notification serviced in 0ms\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] Selected root config\n"
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] Selected root config\n"
[DEBUG][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"  }}
[ERROR][2024-11-22 15:27:57] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.s",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.s",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n'
[DEBUG][2024-11-22 15:28:07] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "asm",      text = "section .text\r\n    global main\r\nmain:\r\n        ;write your code here\r\n        xor eax,,,1\r\n        \r\n        mov ecx, 2\r\n        ret\r\n\r\n",      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm",      version = 0    }  }}
[ERROR][2024-11-22 15:28:07] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/didOpen notification serviced in 0ms\n"
[DEBUG][2024-11-22 15:28:07] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 9    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }} <function 1>    6
[DEBUG][2024-11-22 15:28:07] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 3,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 9      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:28:07] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n'
[DEBUG][2024-11-22 15:28:07] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[DEBUG][2024-11-22 15:28:08] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didSave",  params = {    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:28:08] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] Selected root config\n"
[ERROR][2024-11-22 15:28:08] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] Published diagnostics on save in 0ms\n'
[DEBUG][2024-11-22 15:28:08] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[INFO][2024-11-22 15:31:13] .../lua/vim/lsp.lua:799 "exit_handler"  { {    _log_prefix = "LSP[asm_lsp]",    _on_attach_cbs = { <function 1> },    _on_exit_cbs = { <function 2>, <function 3> },    _on_init_cbs = { <function 4> },    _trace = "off",    attached_buffers = {      [4] = true,      [6] = true    },    cancel_request = <function 5>,    capabilities = <1>{      general = {        positionEncodings = { "utf-16" }      },      textDocument = {        callHierarchy = {          dynamicRegistration = false        },        codeAction = {          codeActionLiteralSupport = {            codeActionKind = {              valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }            }          },          dataSupport = true,          dynamicRegistration = true,          isPreferredSupport = true,          resolveSupport = {            properties = { "edit" }          }        },        completion = {          completionItem = {            commitCharactersSupport = true,            deprecatedSupport = true,            documentationFormat = { "markdown", "plaintext" },            insertReplaceSupport = true,            insertTextModeSupport = {              valueSet = { 1, 2 }            },            labelDetailsSupport = true,            preselectSupport = true,            resolveSupport = {              properties = { "documentation", "detail", "additionalTextEdits", "sortText", "filterText", "insertText", "textEdit", "insertTextFormat", "insertTextMode" }            },            snippetSupport = true,            tagSupport = {              valueSet = { 1 }            }          },          completionItemKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }          },          completionList = {            itemDefaults = { "commitCharacters", "editRange", "insertTextFormat", "insertTextMode", "data" }          },          contextSupport = true,          dynamicRegistration = false,          insertTextMode = 1        },        declaration = {          linkSupport = true        },        definition = {          dynamicRegistration = true,          linkSupport = true        },        diagnostic = {          dynamicRegistration = false        },        documentHighlight = {          dynamicRegistration = false        },        documentSymbol = {          dynamicRegistration = false,          hierarchicalDocumentSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        formatting = {          dynamicRegistration = true        },        hover = {          contentFormat = { "markdown", "plaintext" },          dynamicRegistration = true        },        implementation = {          linkSupport = true        },        inlayHint = {          dynamicRegistration = true,          resolveSupport = {            properties = { "textEdits", "tooltip", "location", "command" }          }        },        publishDiagnostics = {          dataSupport = true,          relatedInformation = true,          tagSupport = {            valueSet = { 1, 2 }          }        },        rangeFormatting = {          dynamicRegistration = true        },        references = {          dynamicRegistration = false        },        rename = {          dynamicRegistration = true,          prepareSupport = true        },        semanticTokens = {          augmentsSyntaxTokens = true,          dynamicRegistration = false,          formats = { "relative" },          multilineTokenSupport = false,          overlappingTokenSupport = true,          requests = {            full = {              delta = true            },            range = false          },          serverCancelSupport = false,          tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },          tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }        },        signatureHelp = {          dynamicRegistration = false,          signatureInformation = {            activeParameterSupport = true,            documentationFormat = { "markdown", "plaintext" },            parameterInformation = {              labelOffsetSupport = true            }          }        },        synchronization = {          didSave = true,          dynamicRegistration = false,          willSave = true,          willSaveWaitUntil = true        },        typeDefinition = {          linkSupport = true        }      },      window = {        showDocument = {          support = true        },        showMessage = {          messageActionItem = {            additionalPropertiesSupport = false          }        },        workDoneProgress = true      },      workspace = {        applyEdit = true,        configuration = true,        didChangeConfiguration = {          dynamicRegistration = false        },        didChangeWatchedFiles = {          dynamicRegistration = true,          relativePatternSupport = true        },        inlayHint = {          refreshSupport = true        },        semanticTokens = {          refreshSupport = true        },        symbol = {          dynamicRegistration = false,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        workspaceEdit = {          resourceOperations = { "rename", "create", "delete" }        },        workspaceFolders = true      }    },    commands = {},    config = {      autostart = true,      capabilities = <table 1>,      cmd = { "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD" },      cmd_cwd = "C:/Users/elli0t43/Desktop/testasm",      filetypes = { "asm", "vmasm", "nasm", "s", "S" },      handlers = <2>{},      init_options = vim.empty_dict(),      log_level = 2,      message_level = 2,      name = "asm_lsp",      on_attach = <function 1>,      on_exit = <function 2>,      on_init = <function 4>,      root_dir = "C:/Users/elli0t43/Desktop/testasm",      settings = <3>{        asm = {          syntax = "nasm"        },        nasm = {          syntax = "nasm"        }      },      single_file_support = true,      workspace_folders = <4>{ {          name = "C:/Users/elli0t43/Desktop/testasm",          uri = "file:///C:/Users/elli0t43/Desktop/testasm"        } },      <metatable> = <5>{        __tostring = <function 6>      }    },    dynamic_capabilities = {      capabilities = {},      client_id = 1,      <metatable> = {        __index = {          get = <function 7>,          match = <function 8>,          new = <function 9>,          register = <function 10>,          supports = <function 11>,          supports_registration = <function 12>,          unregister = <function 13>        }      }    },    flags = {},    get_language_id = <function 14>,    handlers = <table 2>,    id = 1,    initialized = true,    is_stopped = <function 15>,    messages = {      messages = {},      name = "asm_lsp",      progress = {},      status = {}    },    name = "asm_lsp",    notify = <function 16>,    offset_encoding = "utf-16",    on_attach = <function 17>,    progress = {      _idx_read = 0,      _idx_write = 0,      _items = {},      _size = 51,      pending = {},      <metatable> = {        __call = <function 18>,        __index = {          clear = <function 19>,          peek = <function 20>,          pop = <function 21>,          push = <function 22>        }      }    },    request = <function 23>,    request_sync = <function 24>,    requests = {      [2] = {        bufnr = 4,        method = "textDocument/diagnostic",        type = "pending"      },      [3] = {        bufnr = 6,        method = "textDocument/diagnostic",        type = "pending"      }    },    root_dir = "C:/Users/elli0t43/Desktop/testasm",    rpc = {      is_closing = <function 25>,      notify = <function 26>,      request = <function 27>,      terminate = <function 28>    },    server_capabilities = {      completionProvider = {        completionItem = {          labelDetailsSupport = true        },        triggerCharacters = { "%", "." }      },      definitionProvider = true,      diagnosticProvider = {        identifier = "asm-lsp",        interFileDependencies = true,        workspaceDiagnostics = false      },      documentSymbolProvider = true,      hoverProvider = true,      positionEncoding = "utf-16",      referencesProvider = true,      signatureHelpProvider = {        workDoneProgress = false      },      textDocumentSync = {        change = 2,        openClose = true,        save = {          includeText = false        },        willSave = false,        willSaveWaitUntil = false      }    },    settings = <table 3>,    stop = <function 29>,    supports_method = <function 30>,    workspace_did_change_configuration = <function 31>,    workspace_folders = <table 4>,    <metatable> = <6>{      __index = <table 6>,      _add_workspace_folder = <function 32>,      _cancel_request = <function 33>,      _exec_cmd = <function 34>,      _is_stopped = <function 35>,      _notification = <function 36>,      _notify = <function 37>,      _on_attach = <function 38>,      _on_error = <function 39>,      _on_exit = <function 40>,      _remove_workspace_folder = <function 41>,      _request = <function 42>,      _request_sync = <function 43>,      _resolve_handler = <function 44>,      _run_callbacks = <function 45>,      _server_request = <function 46>,      _stop = <function 47>,      _supports_method = <function 48>,      _text_document_did_open_handler = <function 49>,      create = <function 50>,      initialize = <function 51>,      write_error = <function 52>    }  } }
[DEBUG][2024-11-22 15:31:13] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 4,  jsonrpc = "2.0",  method = "shutdown"}
[DEBUG][2024-11-22 15:31:13] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  id = 4,  jsonrpc = "2.0"}
[DEBUG][2024-11-22 15:31:13] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "exit"}
[START][2024-11-22 15:31:18] LSP logging initiated
[INFO][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:731 "Starting RPC client"   {  cmd = { "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD" },  extra = {    cwd = "C:/Users/elli0t43/Desktop/testasm"  }}
[DEBUG][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 1,  jsonrpc = "2.0",  method = "initialize",  params = {    capabilities = {      general = {        positionEncodings = { "utf-16" }      },      textDocument = {        callHierarchy = {          dynamicRegistration = false        },        codeAction = {          codeActionLiteralSupport = {            codeActionKind = {              valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }            }          },          dataSupport = true,          dynamicRegistration = true,          isPreferredSupport = true,          resolveSupport = {            properties = { "edit" }          }        },        completion = {          completionItem = {            commitCharactersSupport = true,            deprecatedSupport = true,            documentationFormat = { "markdown", "plaintext" },            insertReplaceSupport = true,            insertTextModeSupport = {              valueSet = { 1, 2 }            },            labelDetailsSupport = true,            preselectSupport = true,            resolveSupport = {              properties = { "documentation", "detail", "additionalTextEdits", "sortText", "filterText", "insertText", "textEdit", "insertTextFormat", "insertTextMode" }            },            snippetSupport = true,            tagSupport = {              valueSet = { 1 }            }          },          completionItemKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }          },          completionList = {            itemDefaults = { "commitCharacters", "editRange", "insertTextFormat", "insertTextMode", "data" }          },          contextSupport = true,          dynamicRegistration = false,          insertTextMode = 1        },        declaration = {          linkSupport = true        },        definition = {          dynamicRegistration = true,          linkSupport = true        },        diagnostic = {          dynamicRegistration = false        },        documentHighlight = {          dynamicRegistration = false        },        documentSymbol = {          dynamicRegistration = false,          hierarchicalDocumentSymbolSupport = true,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        formatting = {          dynamicRegistration = true        },        hover = {          contentFormat = { "markdown", "plaintext" },          dynamicRegistration = true        },        implementation = {          linkSupport = true        },        inlayHint = {          dynamicRegistration = true,          resolveSupport = {            properties = { "textEdits", "tooltip", "location", "command" }          }        },        publishDiagnostics = {          dataSupport = true,          relatedInformation = true,          tagSupport = {            valueSet = { 1, 2 }          }        },        rangeFormatting = {          dynamicRegistration = true        },        references = {          dynamicRegistration = false        },        rename = {          dynamicRegistration = true,          prepareSupport = true        },        semanticTokens = {          augmentsSyntaxTokens = true,          dynamicRegistration = false,          formats = { "relative" },          multilineTokenSupport = false,          overlappingTokenSupport = true,          requests = {            full = {              delta = true            },            range = false          },          serverCancelSupport = false,          tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },          tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }        },        signatureHelp = {          dynamicRegistration = false,          signatureInformation = {            activeParameterSupport = true,            documentationFormat = { "markdown", "plaintext" },            parameterInformation = {              labelOffsetSupport = true            }          }        },        synchronization = {          didSave = true,          dynamicRegistration = false,          willSave = true,          willSaveWaitUntil = true        },        typeDefinition = {          linkSupport = true        }      },      window = {        showDocument = {          support = true        },        showMessage = {          messageActionItem = {            additionalPropertiesSupport = false          }        },        workDoneProgress = true      },      workspace = {        applyEdit = true,        configuration = true,        didChangeConfiguration = {          dynamicRegistration = false        },        didChangeWatchedFiles = {          dynamicRegistration = true,          relativePatternSupport = true        },        inlayHint = {          refreshSupport = true        },        semanticTokens = {          refreshSupport = true        },        symbol = {          dynamicRegistration = false,          symbolKind = {            valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }          }        },        workspaceEdit = {          resourceOperations = { "rename", "create", "delete" }        },        workspaceFolders = true      }    },    clientInfo = {      name = "Neovim",      version = "0.10.1+g7e194f0d0"    },    initializationOptions = vim.empty_dict(),    processId = 7196,    rootPath = vim.NIL,    rootUri = vim.NIL,    trace = "off",    workDoneToken = "1",    workspaceFolders = vim.NIL  }}
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp] Starting asm-lsp-0.9.0\n"
[DEBUG][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  id = 1,  jsonrpc = "2.0",  result = {    capabilities = {      completionProvider = {        completionItem = {          labelDetailsSupport = true        },        triggerCharacters = { "%", "." }      },      definitionProvider = true,      diagnosticProvider = {        identifier = "asm-lsp",        interFileDependencies = true,        workspaceDiagnostics = false      },      documentSymbolProvider = true,      hoverProvider = true,      positionEncoding = "utf-16",      referencesProvider = true,      signatureHelpProvider = {        workDoneProgress = false      },      textDocumentSync = 2    }  }}
[DEBUG][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "initialized",  params = vim.empty_dict()}
[DEBUG][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "workspace/didChangeConfiguration",  params = {    settings = {      asm = {        syntax = "nasm"      },      nasm = {        syntax = "nasm"      }    }  }}
[DEBUG][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "asm",      text = "section .text\r\n    global main\r\nmain:\r\n        ;write your code here\r\n        xor eax,,,,,1\r\n        mov ecx, 2\r\n        ret\r\n\r\n",      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s",      version = 0    }  }}
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp] Client initialization params: InitializeParams { process_id: Some(7196), root_path: None, root_uri: None, initialization_options: Some(Object {}), capabilities: ClientCapabilities { workspace: Some(WorkspaceClientCapabilities { apply_edit: Some(true), workspace_edit: Some(WorkspaceEditClientCapabilities { document_changes: None, resource_operations: Some([Rename, Create, Delete]), failure_handling: None, normalizes_line_endings: None, change_annotation_support: None }), did_change_configuration: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), did_change_watched_files: Some(DidChangeWatchedFilesClientCapabilities { dynamic_registration: Some(true), relative_pattern_support: Some(true) }), symbol: Some(WorkspaceSymbolClientCapabilities { dynamic_registration: Some(false), symbol_kind: Some(SymbolKindCapability { value_set: Some([File, Module, Namespace, Package, Class, Method, Property, Field, Constructor, Enum, Interface, Function, Variable, Constant, String, Number, Boolean, Array, Object, Key, Null, EnumMember, Struct, Event, Operator, TypeParameter]) }), tag_support: None, resolve_support: None }), execute_command: None, workspace_folders: Some(true), configuration: Some(true), semantic_tokens: Some(SemanticTokensWorkspaceClientCapabilities { refresh_support: Some(true) }), code_lens: None, file_operations: None, inline_value: None, inlay_hint: Some(InlayHintWorkspaceClientCapabilities { refresh_support: Some(true) }), diagnostic: None }), text_document: Some(TextDocumentClientCapabilities { synchronization: Some(TextDocumentSyncClientCapabilities { dynamic_registration: Some(false), will_save: Some(true), will_save_wait_until: Some(true), did_save: Some(true) }), completion: Some(CompletionClientCapabilities { dynamic_registration: Some(false), completion_item: Some(CompletionItemCapability { snippet_support: Some(true), commit_characters_support: Some(true), documentation_format: Some([Markdown, PlainText]), deprecated_support: Some(true), preselect_support: Some(true), tag_support: Some(TagSupport { value_set: [Deprecated] }), insert_replace_support: Some(true), resolve_support: Some(CompletionItemCapabilityResolveSupport { properties: ["documentation", "detail", "additionalTextEdits", "sortText", "filterText", "insertText", "textEdit", "insertTextFormat", "insertTextMode"] }), insert_text_mode_support: Some(InsertTextModeSupport { value_set: [AsIs, AdjustIndentation] }), label_details_support: Some(true) }), completion_item_kind: Some(CompletionItemKindCapability { value_set: Some([Text, Method, Function, Constructor, Field, Variable, Class, Interface, Module, Property, Unit, Value, Enum, Keyword, Snippet, Color, File, Reference, Folder, EnumMember, Constant, Struct, Event, Operator, TypeParameter]) }), context_support: Some(true), insert_text_mode: Some(AsIs), completion_list: Some(CompletionListCapability { item_defaults: Some(["commitCharacters", "editRange", "insertTextFormat", "insertTextMode", "data"]) }) }), hover: Some(HoverClientCapabilities { dynamic_registration: Some(true), content_format: Some([Markdown, PlainText]) }), signature_help: Some(SignatureHelpClientCapabilities { dynamic_registration: Some(false), signature_information: Some(SignatureInformationSettings { documentation_format: Some([Markdown, PlainText]), parameter_information: Some(ParameterInformationSettings { label_offset_support: Some(true) }), active_parameter_support: Some(true) }), context_support: None }), references: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), document_highlight: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), document_symbol: Some(DocumentSymbolClientCapabilities { dynamic_registration: Some(false), symbol_kind: Some(SymbolKindCapability { value_set: Some([File, Module, Namespace, Package, Class, Method, Property, Field, Constructor, Enum, Interface, Function, Variable, Constant, String, Number, Boolean, Array, Object, Key, Null, EnumMember, Struct, Event, Operator, TypeParameter]) }), hierarchical_document_symbol_support: Some(true), tag_support: None }), formatting: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), range_formatting: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), on_type_formatting: None, declaration: Some(GotoCapability { dynamic_registration: None, link_support: Some(true) }), definition: Some(GotoCapability { dynamic_registration: Some(true), link_support: Some(true) }), type_definition: Some(GotoCapability { dynamic_registration: None, link_support: Some(true) }), implementation: Some(GotoCapability { dynamic_registration: None, link_support: Some(true) }), code_action: Some(CodeActionClientCapabilities { dynamic_registration: Some(true), code_action_literal_support: Some(CodeActionLiteralSupport { code_action_kind: CodeActionKindLiteralSupport { value_set: ["", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports"] } }), is_preferred_support: Some(true), disabled_support: None, data_support: Some(true), resolve_support: Some(CodeActionCapabilityResolveSupport { properties: ["edit"] }), honors_change_annotations: None }), code_lens: None, document_link: None, color_provider: None, rename: Some(RenameClientCapabilities { dynamic_registration: Some(true), prepare_support: Some(true), prepare_support_default_behavior: None, honors_change_annotations: None }), publish_diagnostics: Some(PublishDiagnosticsClientCapabilities { related_information: Some(true), tag_support: Some(TagSupport { value_set: [Unnecessary, Deprecated] }), version_support: None, code_description_support: None, data_support: Some(true) }), folding_range: None, selection_range: None, linked_editing_range: None, call_hierarchy: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(false) }), semantic_tokens: Some(SemanticTokensClientCapabilities { dynamic_registration: Some(false), requests: SemanticTokensClientCapabilitiesRequests { range: Some(false), full: Some(Delta { delta: Some(true) }) }, token_types: [SemanticTokenType("namespace"), SemanticTokenType("type"), SemanticTokenType("class"), SemanticTokenType("enum"), SemanticTokenType("interface"), SemanticTokenType("struct"), SemanticTokenType("typeParameter"), SemanticTokenType("parameter"), SemanticTokenType("variable"), SemanticTokenType("property"), SemanticTokenType("enumMember"), SemanticTokenType("event"), SemanticTokenType("function"), SemanticTokenType("method"), SemanticTokenType("macro"), SemanticTokenType("keyword"), SemanticTokenType("modifier"), SemanticTokenType("comment"), SemanticTokenType("string"), SemanticTokenType("number"), SemanticTokenType("regexp"), SemanticTokenType("operator"), SemanticTokenType("decorator")], token_modifiers: [SemanticTokenModifier("declaration"), SemanticTokenModifier("definition"), SemanticTokenModifier("readonly"), SemanticTokenModifier("static"), SemanticTokenModifier("deprecated"), SemanticTokenModifier("abstract"), SemanticTokenModifier("async"), SemanticTokenModifier("modification"), SemanticTokenModifier("documentation"), SemanticTokenModifier("defaultLibrary")], formats: [TokenFormat("relative")], overlapping_token_support: Some(true), multiline_token_support: Some(false), server_cancel_support: Some(false), augments_syntax_tokens: Some(true) }), moniker: None, type_hierarchy: None, inline_value: None, inlay_hint: Some(InlayHintClientCapabilities { dynamic_registration: Some(true), resolve_support: Some(InlayHintResolveClientCapabilities { properties: ["textEdits", "tooltip", "location", "command"] }) }), diagnostic: Some(DiagnosticClientCapabilities { dynamic_registration: Some(false), related_document_support: None }) }), notebook_document: None, window: Some(WindowClientCapabilities { work_done_progress: Some(true), show_message: Some(ShowMessageRequestClientCapabilities { message_action_item: Some(MessageActionItemCapabilities { additional_properties_support: Some(false) }) }), show_document: Some(ShowDocumentClientCapabilities { support: true }) }), general: Some(GeneralClientCapabilities { regular_expressions: None, markdown: None, stale_request_support: None, position_encodings: Some([PositionEncodingKind("utf-16")]) }), experimental: None }, trace: Some(Off), workspace_folders: None, client_info: Some(ClientInfo { name: "Neovim", version: Some("0.10.1+g7e194f0d0") }), locale: None, work_done_progress_params: WorkDoneProgressParams { work_done_token: Some(String("1")) } }\n'
[INFO][2024-11-22 15:31:18] ...m/lsp/client.lua:620 "LSP[asm_lsp]"  "server_capabilities"   {  server_capabilities = {    completionProvider = {      completionItem = {        labelDetailsSupport = true      },      triggerCharacters = { "%", "." }    },    definitionProvider = true,    diagnosticProvider = {      identifier = "asm-lsp",      interFileDependencies = true,      workspaceDiagnostics = false    },    documentSymbolProvider = true,    hoverProvider = true,    positionEncoding = "utf-16",    referencesProvider = true,    signatureHelpProvider = {      workDoneProgress = false    },    textDocumentSync = {      change = 2,      openClose = true,      save = {        includeText = false      },      willSave = false,      willSaveWaitUntil = false    }  }}
[DEBUG][2024-11-22 15:31:18] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 8    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"  }}   <function 1>    4
[DEBUG][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 2,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 8      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"    }  }}
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::lsp] Creating directories along C:\\Users\\elli0t43\\AppData\\Roaming\\asm-lsp as necessary...\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::lsp] Parsing global asm-lsp config from file -> C:\\Users\\elli0t43\\AppData\\Roaming\\asm-lsp\\.asm-lsp.toml\nWARN [asm_lsp::lsp] Failed to detect project root\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Detected host arch as x86-64\nINFO [asm_lsp] Server Configuration: RootConfig { default_config: Some(Config { version: Some("0.9.0"), assembler: Nasm, instruction_set: X86_AND_X86_64, opts: Some(ConfigOptions { compiler: Some("gcc"), compile_flags_txt: Some(["-g"]), diagnostics: Some(true), default_diagnostics: Some(false) }), client: None }), projects: None }\n'
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86 instruction set loaded in 6ms\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86-64 instruction set loaded in 6ms\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86 register set loaded in 0ms\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] x86-64 register set loaded in 0ms\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] nasm directive set loaded in 0ms\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "WARN [asm_lsp::lsp] Failed to detect project root\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::lsp] Include directory map: {All: []}\nINFO [asm_lsp] Starting asm-lsp loop...\nWARN [asm_lsp::handle] Invalid notification format: "workspace/didChangeConfiguration"\n'
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/didOpen notification serviced in 0ms\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] Selected root config\n"
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.s",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.s",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\n'
[DEBUG][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"  }}
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n"
[DEBUG][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didSave",  params = {    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"    }  }}
[ERROR][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.s",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.s",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] Published diagnostics on save in 0ms\n'
[DEBUG][2024-11-22 15:31:18] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.s"  }}
[DEBUG][2024-11-22 15:31:19] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "asm",      text = "section .text\r\n    global main\r\nmain:\r\n        ;write your code here\r\n        xor eax,,,1\r\n        \r\n        mov ecx, 2\r\n        ret\r\n\r\n",      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm",      version = 0    }  }}
[ERROR][2024-11-22 15:31:19] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/didOpen notification serviced in 0ms\n"
[DEBUG][2024-11-22 15:31:19] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 9    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }} <function 1>    6
[DEBUG][2024-11-22 15:31:19] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 3,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 9      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:19] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n'
[DEBUG][2024-11-22 15:31:19] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[DEBUG][2024-11-22 15:31:20] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didSave",  params = {    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:20] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] Published diagnostics on save in 0ms\n'
[DEBUG][2024-11-22 15:31:20] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[DEBUG][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didChange",  params = {    contentChanges = { {        range = {          ["end"] = {            character = 19,            line = 4          },          start = {            character = 18,            line = 4          }        },        rangeLength = 1,        text = ""      } },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm",      version = 3    }  }}
[DEBUG][2024-11-22 15:31:22] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 9    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }} <function 1>    6
[DEBUG][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 4,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 9      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/didChange notification serviced in 0ms\n"
[ERROR][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] Selected root config\n"
[ERROR][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] Selected root config\n"
[DEBUG][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[ERROR][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n'
[DEBUG][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didChange",  params = {    contentChanges = { {        range = {          ["end"] = {            character = 18,            line = 4          },          start = {            character = 18,            line = 4          }        },        rangeLength = 0,        text = "."      } },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm",      version = 4    }  }}
[ERROR][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/didChange notification serviced in 0ms\n"
[DEBUG][2024-11-22 15:31:22] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/completion"   {  context = {    triggerCharacter = ".",    triggerKind = 2  },  position = {    character = 19,    line = 4  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}   <function 1>    6
[DEBUG][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 5,  jsonrpc = "2.0",  method = "textDocument/completion",  params = {    context = {      triggerCharacter = ".",      triggerKind = 2    },    position = {      character = 19,      line = 4    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] textDocument/completion request serviced in 0ms\n"
[DEBUG][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  id = 5,  jsonrpc = "2.0",  result = {    isIncomplete = true,    items = { {        documentation = {          kind = "markdown",          value = ".att_syntax [nasm]\nswitch to AT&amp;T syntax"        },        kind = 24,        label = ".att_syntax"      }, {        documentation = {          kind = "markdown",          value = ".intel_syntax [nasm]\nswitch to INTEL syntax"        },        kind = 24,        label = ".intel_syntax"      } }  }}
[DEBUG][2024-11-22 15:31:22] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 9    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }} <function 1>    6
[DEBUG][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 6,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 9      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n'
[DEBUG][2024-11-22 15:31:22] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didChange",  params = {    contentChanges = { {        range = {          ["end"] = {            character = 19,            line = 4          },          start = {            character = 18,            line = 4          }        },        rangeLength = 1,        text = ""      } },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm",      version = 5    }  }}
[ERROR][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/didChange notification serviced in 0ms\n"
[DEBUG][2024-11-22 15:31:23] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 9    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }} <function 1>    6
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 7,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 9      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n'
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didChange",  params = {    contentChanges = { {        range = {          ["end"] = {            character = 18,            line = 4          },          start = {            character = 18,            line = 4          }        },        rangeLength = 0,        text = ","      } },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm",      version = 6    }  }}
[ERROR][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/didChange notification serviced in 0ms\n"
[DEBUG][2024-11-22 15:31:23] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 9    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }} <function 1>    6
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 8,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 9      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n'
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didChange",  params = {    contentChanges = { {        range = {          ["end"] = {            character = 19,            line = 4          },          start = {            character = 19,            line = 4          }        },        rangeLength = 0,        text = "1"      } },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm",      version = 7    }  }}
[DEBUG][2024-11-22 15:31:23] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/completion"   {  context = {    triggerKind = 1  },  position = {    character = 20,    line = 4  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}  <function 1>    6
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 9,  jsonrpc = "2.0",  method = "textDocument/completion",  params = {    context = {      triggerKind = 1    },    position = {      character = 20,      line = 4    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/didChange notification serviced in 0ms\nINFO [asm_lsp::types] Selected root config\n"
[ERROR][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::handle] textDocument/completion request serviced in 0ms\n"
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  id = 9,  jsonrpc = "2.0"}
[DEBUG][2024-11-22 15:31:23] ...m/lsp/client.lua:678    "LSP[asm_lsp]"  "client.request"    1   "textDocument/diagnostic"   {  range = {    ["end"] = {      character = 0,      line = 9    },    start = {      character = 0,      line = 0    }  },  textDocument = {    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }} <function 1>    6
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:286    "rpc.send"  {  id = 10,  jsonrpc = "2.0",  method = "textDocument/diagnostic",  params = {    range = {      ["end"] = {        character = 0,        line = 9      },      start = {        character = 0,        line = 0      }    },    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] textDocument/diagnostic request serviced in 0ms\n'
[DEBUG][2024-11-22 15:31:23] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[DEBUG][2024-11-22 15:31:24] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didSave",  params = {    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:24] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    "INFO [asm_lsp::types] Selected root config\n"
[ERROR][2024-11-22 15:31:24] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] Published diagnostics on save in 0ms\n'
[DEBUG][2024-11-22 15:31:24] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}
[DEBUG][2024-11-22 15:31:24] .../vim/lsp/rpc.lua:286    "rpc.send"  {  jsonrpc = "2.0",  method = "textDocument/didSave",  params = {    textDocument = {      uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"    }  }}
[ERROR][2024-11-22 15:31:24] .../vim/lsp/rpc.lua:770    "rpc"   "C:\\Users\\elli0t43\\AppData\\Local\\nvim-data\\mason\\bin\\asm-lsp.CMD"   "stderr"    'INFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::types] Selected root config\nINFO [asm_lsp::handle] Selected compile command(s) for request: [\n    CompileCommand {\n        directory: "",\n        file: File(\n            "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n        ),\n        arguments: Some(\n            Arguments(\n                [\n                    "gcc",\n                    "-g",\n                    "\\\\\\\\?\\\\C:\\\\Users\\\\elli0t43\\\\Desktop\\\\testasm\\\\test.asm",\n                ],\n            ),\n        ),\n        command: None,\n        output: None,\n    },\n]\nINFO [asm_lsp::handle] Published diagnostics on save in 0ms\n'
[DEBUG][2024-11-22 15:31:24] .../vim/lsp/rpc.lua:408    "rpc.receive"   {  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///C:/Users/elli0t43/Desktop/testasm/test.asm"  }}

One thing I noticed, is that when it doesn't find the project root which is supposed to be a .git, it doesn't ask for .asm-lsp.toml in the project root, but only after it finds the git it asks for the config file in project root, even though the global config is being parsed.

But apart from that no luck, do let me know if I did any step wrong

WillLillis commented 4 hours ago

The server not detecting things properly when the .git marker is missing is to be expected, it's mentioned in the README here.

It's unfortunate things still aren't working. I'll try to find some more time to spend on the issue this weekend. Thanks so much for taking a look! :)