neoclide / coc.nvim

Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
Other
24.47k stars 954 forks source link

Neovim complains about swap files when jumping to definition #549

Closed notskm closed 5 years ago

notskm commented 5 years ago

Result from CocInfo

## versions

vim version: NVIM v0.4.0-396-g8d00393d0
node version: v11.12.0
coc.nvim version: 0.0.60
term: undefined
platform: win32

## Error messages

## Output channel: highlight
[Info  - 12:00:42 PM] Highlight server running in node v11.12.0

## Output channel: languageserver.ccls
[Trace - 12:00:48 PM] Sending request 'initialize - (0)'.
Params: {
    "processId": 17640,
    "rootPath": "c:\\Users\\MyName\\Code\\emulators\\chip8emu",
    "rootUri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "textOnlyTransactional"
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "didChangeWatchedFiles": {
                "dynamicRegistration": true
            },
            "symbol": {
                "dynamicRegistration": 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
                    ]
                }
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "configuration": true
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true
                },
                "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
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    }
                }
            },
            "definition": {
                "dynamicRegistration": true
            },
            "references": {
                "dynamicRegistration": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": 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
                    ]
                }
            },
            "codeAction": {
                "dynamicRegistration": true,
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                }
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true
            },
            "documentLink": {
                "dynamicRegistration": true
            },
            "typeDefinition": {
                "dynamicRegistration": true
            },
            "implementation": {
                "dynamicRegistration": true
            },
            "declaration": {
                "dynamicRegistration": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true
            }
        }
    },
    "initializationOptions": {
        "cache": {
            "directory": ".ccls-cache"
        }
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu",
            "name": "chip8emu"
        }
    ]
}

12:00:48              ..\src\messages\initialize.cc:271 I initialize in directory C:/Users/MyName/Code/emulators/chip8emu with uri file:///c%3A/Users/MyName/Code/emulators/chip8emu
12:00:48              ..\src\messages\initialize.cc:294 I initializationOptions: {"compilationDatabaseCommand":"","compilationDatabaseDirectory":"","cache":{"directory":".ccls-cache","format":"binary","hierarchicalPath":false,"retainInMemory":1},"capabilities":{"documentOnTypeFormattingProvider":{"firstTriggerCharacter":"}","moreTriggerCharacter":[]},"foldingRangeProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":true}}},"clang":{"excludeArgs":[],"extraArgs":[],"pathMappings":[],"resourceDir":""},"client":{"hierarchicalDocumentSymbolSupport":true,"linkSupport":true,"snippetSupport":true},"codeLens":{"localVariables":true},"completion":{"caseSensitivity":2,"detailedLabel":true,"dropOldRequests":true,"duplicateOptional":true,"filterAndSort":true,"include":{"blacklist":[],"maxPathSize":30,"suffixWhitelist":[".h",".hpp",".hh",".inc"],"whitelist":[]},"maxNum":100},"diagnostics":{"blacklist":[],"onChange":1000,"onOpen":0,"onSave":0,"spellChecking":true,"whitelist":[]},"highlight":{"largeFileSize":2097152,"lsRanges":false,"blacklist":[],"whitelist":[]},"index":{"blacklist":[],"comments":2,"initialBlacklist":[],"initialWhitelist":[],"maxInitializerLines":5,"multiVersion":0,"multiVersionBlacklist":[],"multiVersionWhitelist":[],"onChange":false,"threads":0,"trackDependency":2,"whitelist":[]},"request":{"timeout":5000},"session":{"maxNum":10},"workspaceSymbol":{"caseSensitivity":1,"maxNum":1000,"sort":true},"xref":{"maxNum":2000}}
12:00:48              ..\src\messages\initialize.cc:323 I use -resource-dir=C:\Users\MyName\Code\tools\llvm-project\build\lib\clang\7.0.1
12:00:48              ..\src\messages\initialize.cc:344 I add workspace folder chip8emu: C:/Users/MyName/Code/emulators/chip8emu/
12:00:48              ..\src\project.cc:384 I loaded C:/Users/MyName/Code/emulators/chip8emu/compile_commands.json
[Trace - 12:00:48 PM] Received response 'initialize - (0)' in 29ms.
Result: {
    "capabilities": {
        "textDocumentSync": {
            "openClose": true,
            "change": 2,
            "willSave": false,
            "willSaveWaitUntil": false,
            "save": {
                "includeText": false
            }
        },
        "hoverProvider": true,
        "completionProvider": {
            "resolveProvider": false,
            "triggerCharacters": [
                ".",
                ":",
                ">",
                "#",
                "<",
                "\"",
                "/"
            ]
        },
        "signatureHelpProvider": {
            "triggerCharacters": [
                "(",
                ","
            ]
        },
        "definitionProvider": true,
        "implementationProvider": true,
        "typeDefinitionProvider": true,
        "referencesProvider": true,
        "documentHighlightProvider": true,
        "documentSymbolProvider": true,
        "workspaceSymbolProvider": true,
        "codeActionProvider": {
            "codeActionKinds": [
                "quickfix"
            ]
        },
        "codeLensProvider": {
            "resolveProvider": false
        },
        "documentFormattingProvider": true,
        "documentRangeFormattingProvider": true,
        "documentOnTypeFormattingProvider": {
            "firstTriggerCharacter": "}",
            "moreTriggerCharacter": []
        },
        "renameProvider": true,
        "documentLinkProvider": {
            "resolveProvider": true
        },
        "foldingRangeProvider": true,
        "executeCommandProvider": {
            "commands": [
                "ccls.xref"
            ]
        },
        "workspace": {
            "workspaceFolders": {
                "supported": true,
                "changeNotifications": true
            }
        }
    }
}

[Trace - 12:00:48 PM] Sending notification 'initialized'.
Params: {}

[Trace - 12:00:48 PM] Sending notification 'textDocument/didOpen'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp",
        "languageId": "cpp",
        "version": 1,
        "text": "/*\n\tCopyright (c) 2019, MyName\n\tBSD 3-Clause license\n\thttps://opensource.org/licenses/BSD-3Clause\n*/\n\n#ifndef CHIP8_CPU_HPP\n#define CHIP8_CPU_HPP\n\n#include <cstdint>\n\nnamespace chip8 {\n\tclass opcode;\n\tstruct system;\n\n\tvoid emulate_cycle(system& system);\n\n\tstd::uint16_t next_opcode_address(std::uint16_t program_counter,\n\t\t\t\t\t\t\t\t\t  unsigned int skip = 0);\n\n\tvoid cls(system& system);\n\tvoid ret(system& system);\n\tvoid sys(system& system, const opcode opcode);\n\tvoid jp_addr(system& system, const opcode opcode);\n\tvoid call(system& system, const opcode opcode);\n\tvoid se_vx_byte(system& system, const opcode opcode);\n\tvoid sne_vx_byte(system& system, const opcode opcode);\n\tvoid se_vx_vy(system& system, const opcode opcode);\n\tvoid ld_vx_byte(system& system, const opcode opcode);\n\tvoid add_vx_byte(system& system, const opcode opcode);\n\tvoid ld_vx_vy(system& system, const opcode opcode);\n\tvoid or_vx_vy(system& system, const opcode opcode);\n\tvoid and_vx_vy(system& system, const opcode opcode);\n\tvoid xor_vx_vy(system& system, const opcode opcode);\n\tvoid add_vx_vy(system& system, const opcode opcode);\n\tvoid sub_vx_vy(system& system, const opcode opcode);\n\tvoid shr(system& system, const opcode opcode);\n\tvoid subn(system& system, const opcode opcode);\n\tvoid shl(system& system, const opcode opcode);\n\tvoid sne_vx_vy(system& system, const opcode opcode);\n\tvoid ld_i_addr(system& system, const opcode opcode);\n\tvoid jp_v0_addr(system& system, const opcode opcode);\n\tvoid rnd(system& system, const opcode opcode);\n\tvoid drw(system& system, const opcode opcode);\n\tvoid skp(system& system, const opcode opcode);\n\tvoid sknp(system& system, const opcode opcode);\n\tvoid ld_vx_dt(system& system, const opcode opcode);\n\tvoid ld_vx_k(system& system, const opcode opcode);\n\tvoid ld_dt_vy(system& system, const opcode opcode);\n\tvoid ld_st_vx(system& system, const opcode opcode);\n\tvoid add_i_vx(system& system, const opcode opcode);\n\tvoid ld_f_vx(system& system, const opcode opcode);\n\tvoid ld_b_vx(system& system, const opcode opcode);\n\tvoid ld_i_vx(system& system, const opcode opcode);\n\tvoid ld_vx_i(system& system, const opcode opcode);\n\tvoid unknown_opcode(system& system, const opcode);\n\n} // namespace chip8\n\n#endif // CHIP8_CPU_HPP\n"
    }
}

[Trace - 12:00:48 PM] Sending request 'textDocument/codeLens - (1)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp"
    }
}

12:00:48              ..\src\project.cc:442 I search directory: C:/Users/MyName/Code/emulators/chip8emu/src/  
12:00:48              ..\src\project.cc:442 I search directory: C:/Program Files (x86)/Windows Kits/10/include/10.0.17763.0/shared/ <
12:00:48              ..\src\project.cc:442 I search directory: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/ <
12:00:48              ..\src\project.cc:442 I search directory: C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/  
12:00:48              ..\src\project.cc:442 I search directory: C:/Users/MyName/.conan/data/fmt/5.3.0/bincrafters/stable/package/8cf01e2f50fcd6b63525e70584df0326550364e1/include/  
12:00:48              ..\src\project.cc:442 I search directory: C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/ucrt/ <
12:00:48              ..\src\project.cc:442 I search directory: C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/ <
12:00:48              ..\src\project.cc:442 I search directory: C:/Program Files (x86)/Windows Kits/10/include/10.0.17763.0/um/ <
12:00:48              ..\src\project.cc:442 I search directory: C:/Program Files (x86)/Windows Kits/10/include/10.0.17763.0/winrt/ <
12:00:48              ..\src\project.cc:442 I search directory: C:/Users/MyName/.conan/data/Catch2/2.5.0/catchorg/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/  
12:00:48              ..\src\messages\initialize.cc:370 I start 8 indexers
12:00:48              ..\src\messages\initialize.cc:378 I dispatch initial index requests
[Trace - 12:00:48 PM] Received request 'client/registerCapability - (0)'.
Params: {
    "registrations": [
        {
            "id": "didChangeWatchedFiles",
            "method": "workspace/didChangeWatchedFiles",
            "registerOptions": {
                "watchers": [
                    {
                        "globPattern": "**/*"
                    }
                ]
            }
        }
    ]
}

[Trace - 12:00:48 PM] Sending response 'client/registerCapability - (0)'. Processing request took 103ms
No result returned.

12:00:48              ..\src\pipeline.cc:292 I load cache for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/opcode.cpp
12:00:48              ..\src\pipeline.cc:337 I parse C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.test.cpp
12:00:48              ..\src\pipeline.cc:292 I load cache for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/system.cpp
12:00:48              ..\src\sema_manager.cc:730 I create session for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp
12:00:48              ..\src\pipeline.cc:292 I load cache for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/system.test.cpp
12:00:48              ..\src\pipeline.cc:337 I parse C:/Users/MyName/Code/emulators/chip8emu/src/main.cpp
12:00:48              ..\src\pipeline.cc:471 I loaded project. Refresh semantic highlight for all working file.
12:00:48              ..\src\pipeline.cc:337 I parse C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp
12:00:48              ..\src\pipeline.cc:292 I load cache for C:/Users/MyName/Code/emulators/chip8emu/src/unit_tests.cpp
12:00:48              ..\src\pipeline.cc:292 I load cache for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/opcode.test.cpp
12:00:48              ..\src\pipeline.cc:337 I parse C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp
[Trace - 12:00:48 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///C%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp",
    "diagnostics": []
}

12:00:50              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.test.cpp (delta: 1)
12:00:50              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp (delta: 0)
12:00:50              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/cstdlib (delta: 0)
[Trace - 12:00:50 PM] Received response 'textDocument/codeLens - (1)' in 2095ms.
Result: [
    {
        "range": {
            "start": {
                "line": 42,
                "character": 6
            },
            "end": {
                "line": 42,
                "character": 9
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":17944868999061656797,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 24,
                "character": 6
            },
            "end": {
                "line": 24,
                "character": 10
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":1868704729875183493,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 47,
                "character": 6
            },
            "end": {
                "line": 47,
                "character": 13
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":2535999364483432309,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 29,
                "character": 6
            },
            "end": {
                "line": 29,
                "character": 17
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11593427256029020414,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 43,
                "character": 6
            },
            "end": {
                "line": 43,
                "character": 9
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3792682737993061027,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 36,
                "character": 6
            },
            "end": {
                "line": 36,
                "character": 9
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6398233953684636357,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 21,
                "character": 6
            },
            "end": {
                "line": 21,
                "character": 9
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8581762691154695504,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 50,
                "character": 6
            },
            "end": {
                "line": 50,
                "character": 14
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":77494628513601285,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 27,
                "character": 6
            },
            "end": {
                "line": 27,
                "character": 14
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3969377735491942151,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 32,
                "character": 6
            },
            "end": {
                "line": 32,
                "character": 15
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11185241065446436546,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 23,
                "character": 6
            },
            "end": {
                "line": 23,
                "character": 13
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5005145811233040242,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 48,
                "character": 6
            },
            "end": {
                "line": 48,
                "character": 14
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":12332983225209503265,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 28,
                "character": 6
            },
            "end": {
                "line": 28,
                "character": 16
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16382493220748773910,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 26,
                "character": 6
            },
            "end": {
                "line": 26,
                "character": 17
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3229978657404553115,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 53,
                "character": 6
            },
            "end": {
                "line": 53,
                "character": 13
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3276278951219233559,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 22,
                "character": 6
            },
            "end": {
                "line": 22,
                "character": 9
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3581138835266950579,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 38,
                "character": 6
            },
            "end": {
                "line": 38,
                "character": 9
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":9479354545914564761,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 39,
                "character": 6
            },
            "end": {
                "line": 39,
                "character": 15
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5428636683604340349,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 15,
                "character": 6
            },
            "end": {
                "line": 15,
                "character": 19
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11409410918496931046,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 20,
                "character": 6
            },
            "end": {
                "line": 20,
                "character": 9
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6396314333099231482,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 44,
                "character": 6
            },
            "end": {
                "line": 44,
                "character": 9
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":13177240366488871686,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 46,
                "character": 6
            },
            "end": {
                "line": 46,
                "character": 14
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7327779726373215777,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 25,
                "character": 6
            },
            "end": {
                "line": 25,
                "character": 16
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":17493894094263217811,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 12,
                "character": 7
            },
            "end": {
                "line": 12,
                "character": 13
            }
        },
        "command": {
            "title": "74 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":13677408596555682452,\"kind\":2,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 12,
                "character": 7
            },
            "end": {
                "line": 12,
                "character": 13
            }
        },
        "command": {
            "title": "12 vars",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":13677408596555682452,\"kind\":2,\"field\":\"instances\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 55,
                "character": 6
            },
            "end": {
                "line": 55,
                "character": 20
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":922840139223862491,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 52,
                "character": 6
            },
            "end": {
                "line": 52,
                "character": 13
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":1400140770704058875,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 30,
                "character": 6
            },
            "end": {
                "line": 30,
                "character": 14
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7357773806612130199,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 54,
                "character": 6
            },
            "end": {
                "line": 54,
                "character": 13
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6082127349237978686,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 13,
                "character": 8
            },
            "end": {
                "line": 13,
                "character": 14
            }
        },
        "command": {
            "title": "58 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":488278205291900296,\"kind\":2,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 13,
                "character": 8
            },
            "end": {
                "line": 13,
                "character": 14
            }
        },
        "command": {
            "title": "18 vars",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":488278205291900296,\"kind\":2,\"field\":\"instances\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 45,
                "character": 6
            },
            "end": {
                "line": 45,
                "character": 10
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3980205166182356281,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 49,
                "character": 6
            },
            "end": {
                "line": 49,
                "character": 14
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7502823955899346664,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 31,
                "character": 6
            },
            "end": {
                "line": 31,
                "character": 14
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6734779822113857021,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 51,
                "character": 6
            },
            "end": {
                "line": 51,
                "character": 13
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":17347457185947067897,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 33,
                "character": 6
            },
            "end": {
                "line": 33,
                "character": 15
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":4765986789669612935,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 37,
                "character": 6
            },
            "end": {
                "line": 37,
                "character": 10
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":18298833533833835526,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 17,
                "character": 15
            },
            "end": {
                "line": 17,
                "character": 34
            }
        },
        "command": {
            "title": "40 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3109760948035215284,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 34,
                "character": 6
            },
            "end": {
                "line": 34,
                "character": 15
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":9367344009745911407,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 35,
                "character": 6
            },
            "end": {
                "line": 35,
                "character": 15
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7561848291818346218,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 40,
                "character": 6
            },
            "end": {
                "line": 40,
                "character": 15
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":396570980954673830,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 41,
                "character": 6
            },
            "end": {
                "line": 41,
                "character": 16
            }
        },
        "command": {
            "title": "0 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":14962085432665305100,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 11,
                "character": 10
            },
            "end": {
                "line": 11,
                "character": 15
            }
        },
        "command": {
            "title": "118 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7728516625878963820,\"kind\":2,\"field\":\"uses\"}"
            ]
        }
    }
]

12:00:50              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/xmemory0 (delta: 0)
12:00:50              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/ucrt/stdlib.h (delta: 0)
[Trace - 12:00:50 PM] Sending notification 'textDocument/didSave'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp",
        "version": 1
    }
}

12:00:50              ..\src\pipeline.cc:337 I parse C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.test.cpp
[Trace - 12:00:50 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///C%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp",
    "diagnostics": []
}

12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp (delta: 1)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/details/logger_impl.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/condition_variable (delta: 1)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/details/log_msg.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/emmintrin.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/xxatomic (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/thr/xthreads.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/fxsrintrin.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/adxintrin.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/setjmp.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/ucrt/io.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/details/registry.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/mutex (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/details/console_globals.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/details/periodic_worker.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/thr/xthread (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/thread (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/ucrt/corecrt_io.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/thr/xtime (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/logger.h (delta: 0)
12:00:52              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/version.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/emulators/chip8emu/src/main.cpp (delta: 1)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/common.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/details/pattern_formatter.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/x86intrin.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/formatter.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/details/os.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/spdlog.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/sinks/wincolor_sink.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/atomic (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/xatomic.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/details/null_mutex.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/fmt/fmt.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/fmt/5.3.0/bincrafters/stable/package/8cf01e2f50fcd6b63525e70584df0326550364e1/include/fmt/core.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/fmt/5.3.0/bincrafters/stable/package/8cf01e2f50fcd6b63525e70584df0326550364e1/include/fmt/format.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/intrin.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/ia32intrin.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/immintrin.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/mmintrin.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/xmmintrin.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/tools/llvm-project/build/lib/clang/7.0.1/include/mm_malloc.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/ucrt/process.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/ucrt/corecrt_startup.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/vcruntime_startup.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/sinks/sink.h (delta: 0)
12:00:53              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/.conan/data/spdlog/1.3.1/bincrafters/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/spdlog/details/fmt_helper.h (delta: 0)
[Trace - 12:00:54 PM] Sending notification 'textDocument/didOpen'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp",
        "languageId": "cpp",
        "version": 1,
        "text": "/*\n\tCopyright (c) 2019, MyName\n\tBSD 3-Clause license\n\thttps://opensource.org/licenses/BSD-3Clause\n*/\n\n#include \"chip8/cpu.hpp\"\n#include \"chip8/opcode.hpp\"\n#include \"chip8/system.hpp\"\n#include <cassert>\n#include <spdlog/spdlog.h>\n\nvoid chip8::emulate_cycle(chip8::system& system)\n{\n\tspdlog::debug(\"Program counter: {:#06x}\", system.program_counter);\n\n\tchip8::opcode opcode{system.memory.at(system.program_counter),\n\t\t\t\t\t\t system.memory.at(system.program_counter + 1u)};\n\n\tspdlog::debug(\"Opcode: {:#06x}\", opcode.code);\n\n\tswitch (opcode.front()) {\n\tcase 0x0:\n\t\tswitch (opcode.constant_8bit()) {\n\t\tcase 0xEE:\n\t\t\tret(system);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tunknown_opcode(system, opcode);\n\t\t\tbreak;\n\t\t}\n\t\tbreak;\n\tcase 0x1:\n\t\tjp_addr(system, opcode);\n\t\tbreak;\n\tcase 0x2:\n\t\tcall(system, opcode);\n\t\tbreak;\n\tcase 0x3:\n\t\tse_vx_byte(system, opcode);\n\t\tbreak;\n\tcase 0x4:\n\t\tsne_vx_byte(system, opcode);\n\t\tbreak;\n\tcase 0x5:\n\t\tse_vx_vy(system, opcode);\n\t\tbreak;\n\tcase 0x6:\n\t\tld_vx_byte(system, opcode);\n\t\tbreak;\n\tcase 0x7:\n\t\tadd_vx_byte(system, opcode);\n\t\tbreak;\n\tcase 0x8:\n\t\tswitch (opcode.back()) {\n\t\tcase 0x0:\n\t\t\tld_vx_vy(system, opcode);\n\t\t\tbreak;\n\t\tcase 0x1:\n\t\t\tor_vx_vy(system, opcode);\n\t\t\tbreak;\n\t\tcase 0x2:\n\t\t\tand_vx_vy(system, opcode);\n\t\t\tbreak;\n\t\tcase 0x3:\n\t\t\txor_vx_vy(system, opcode);\n\t\t\tbreak;\n\t\tcase 0x4:\n\t\t\tadd_vx_vy(system, opcode);\n\t\t\tbreak;\n\t\tcase 0x5:\n\t\t\tsub_vx_vy(system, opcode);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tunknown_opcode(system, opcode);\n\t\t\tbreak;\n\t\t}\n\t\tbreak;\n\tcase 0xA:\n\t\tld_i_addr(system, opcode);\n\t\tbreak;\n\tdefault:\n\t\tunknown_opcode(system, opcode);\n\t\tbreak;\n\t}\n}\n\nstd::uint16_t chip8::next_opcode_address(std::uint16_t program_counter,\n\t\t\t\t\t\t\t\t\t\t unsigned int skip)\n{\n\treturn static_cast<std::uint16_t>(program_counter + 2u * (skip + 1u));\n}\n\nvoid chip8::cls(chip8::system& system)\n{\n\tspdlog::debug(\"Clearing screen\");\n\tsystem.screen.fill(false);\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n\nvoid chip8::ret(chip8::system& system)\n{\n\tspdlog::debug(\"Return to {:#06x} from subroutine\", system.stack.top());\n\n\tsystem.program_counter = system.stack.top();\n\tsystem.stack.pop();\n\n\tspdlog::debug(\"Stack Pop\");\n\tspdlog::debug(\"Stack Size: {}\", system.stack.size());\n}\n\n/* void chip8::sys(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\nvoid chip8::jp_addr(chip8::system& system, const chip8::opcode opcode)\n{\n\tsystem.program_counter = opcode.address();\n\tspdlog::debug(\"Jumping to address {:#06x}\", system.program_counter);\n}\n\nvoid chip8::call(chip8::system& system, const chip8::opcode opcode)\n{\n\tsystem.stack.push(system.program_counter);\n\tspdlog::debug(\"Stack Push: {:#06x}\", system.stack.top());\n\tspdlog::debug(\"Stack Size: {}\", system.stack.size());\n\n\tspdlog::debug(\"Calling subroutine at {:#06x}\", opcode.address());\n\tsystem.program_counter = opcode.address();\n}\n\nvoid chip8::se_vx_byte(chip8::system& system, const chip8::opcode opcode)\n{\n\tif (system.registers.at(opcode.reg_x()) == opcode.constant_8bit()) {\n\t\tsystem.program_counter =\n\t\t\tchip8::next_opcode_address(system.program_counter, 1);\n\t\tspdlog::debug(\"Skipping next instruction\");\n\t}\n\telse {\n\t\tsystem.program_counter =\n\t\t\tchip8::next_opcode_address(system.program_counter);\n\t\tspdlog::debug(\"Not skipping next instruction\");\n\t}\n}\n\nvoid chip8::sne_vx_byte(chip8::system& system, const chip8::opcode opcode)\n{\n\tif (system.registers.at(opcode.reg_x()) != opcode.constant_8bit()) {\n\t\tsystem.program_counter =\n\t\t\tchip8::next_opcode_address(system.program_counter, 1);\n\t\tspdlog::debug(\"Skipping next instruction\");\n\t}\n\telse {\n\t\tsystem.program_counter =\n\t\t\tchip8::next_opcode_address(system.program_counter);\n\t\tspdlog::debug(\"Not skipping next instruction\");\n\t}\n}\n\nvoid chip8::se_vx_vy(chip8::system& system, const chip8::opcode opcode)\n{\n\tif (system.registers.at(opcode.reg_x()) ==\n\t\tsystem.registers.at(opcode.reg_y())) {\n\t\tsystem.program_counter =\n\t\t\tchip8::next_opcode_address(system.program_counter, 1);\n\t\tspdlog::debug(\"Skipping next instruction\");\n\t}\n\telse {\n\t\tsystem.program_counter =\n\t\t\tchip8::next_opcode_address(system.program_counter);\n\t\tspdlog::debug(\"Not skipping next instruction\");\n\t}\n}\n\nvoid chip8::ld_vx_byte(chip8::system& system, const chip8::opcode opcode)\n{\n\tsystem.registers.at(opcode.reg_x()) = opcode.constant_8bit();\n\tspdlog::debug(\"REG {:#04x}: {:#04x}\", opcode.reg_x(),\n\t\t\t\t  system.registers.at(opcode.reg_x()));\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n\nvoid chip8::add_vx_byte(chip8::system& system, const chip8::opcode opcode)\n{\n\tauto& reg_x{system.registers.at(opcode.reg_x())};\n\n\tauto result{static_cast<unsigned>(reg_x + opcode.constant_8bit())};\n\tresult &= 0xFFu;\n\tassert(result < 0xFFu + 1u);\n\n\treg_x = static_cast<std::uint8_t>(result);\n\n\tspdlog::debug(\"REG {:#04x}: {:#04x}\", opcode.reg_x(),\n\t\t\t\t  system.registers.at(opcode.reg_x()));\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n\nvoid chip8::ld_vx_vy(chip8::system& system, const chip8::opcode opcode)\n{\n\tsystem.registers.at(opcode.reg_x()) = system.registers.at(opcode.reg_y());\n\tspdlog::debug(\"REG {:#04x}: {:#04x}\", opcode.reg_x(),\n\t\t\t\t  system.registers.at(opcode.reg_x()));\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n\nvoid chip8::or_vx_vy(chip8::system& system, const chip8::opcode opcode)\n{\n\tauto& reg_x{system.registers.at(opcode.reg_x())};\n\tauto& reg_y{system.registers.at(opcode.reg_y())};\n\treg_x |= reg_y;\n\tspdlog::debug(\"REG {:#04x}: {:#04x}\", opcode.reg_x(),\n\t\t\t\t  system.registers.at(opcode.reg_x()));\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n\nvoid chip8::and_vx_vy(chip8::system& system, const chip8::opcode opcode)\n{\n\tauto& reg_x{system.registers.at(opcode.reg_x())};\n\tauto& reg_y{system.registers.at(opcode.reg_y())};\n\treg_x &= reg_y;\n\tspdlog::debug(\"REG {:#04x}: {:#04x}\", opcode.reg_x(),\n\t\t\t\t  system.registers.at(opcode.reg_x()));\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n\nvoid chip8::xor_vx_vy(chip8::system& system, const chip8::opcode opcode)\n{\n\tauto& reg_x{system.registers.at(opcode.reg_x())};\n\tauto& reg_y{system.registers.at(opcode.reg_y())};\n\treg_x ^= reg_y;\n\tspdlog::debug(\"REG {:#04x}: {:#04x}\", opcode.reg_x(),\n\t\t\t\t  system.registers.at(opcode.reg_x()));\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n\nvoid chip8::add_vx_vy(chip8::system& system, const chip8::opcode opcode)\n{\n\tauto& reg_x{system.registers.at(opcode.reg_x())};\n\tauto& reg_y{system.registers.at(opcode.reg_y())};\n\n\tauto result{static_cast<unsigned>(reg_x + reg_y)};\n\n\tif (result > 0xFF) {\n\t\tsystem.registers.at(0xF) = 1;\n\t}\n\telse {\n\t\tsystem.registers.at(0xF) = 0;\n\t}\n\n\tresult &= 0xFFu;\n\tassert(result < 0xFFu + 1u);\n\n\treg_x = static_cast<std::uint8_t>(result);\n\n\tspdlog::debug(\"REG {:#04x}: {:#04x}\", opcode.reg_x(),\n\t\t\t\t  system.registers.at(opcode.reg_x()));\n\tspdlog::debug(\"REG {:#04x}: {:#04x}\", 0xF, system.registers.at(0xF));\n\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n\nvoid chip8::sub_vx_vy(chip8::system& system, const chip8::opcode opcode)\n{\n\tauto& reg_x{system.registers.at(opcode.reg_x())};\n\tauto& reg_y{system.registers.at(opcode.reg_y())};\n\n\tif (reg_x < reg_y) {\n\t\tauto result{static_cast<unsigned>(reg_x - reg_y)};\n\t\tresult &= 0xFFu;\n\t\tassert(result < 0xFFu);\n\t\treg_x = static_cast<std::uint8_t>(result);\n\t\tsystem.registers.at(0xF) = 1;\n\t}\n\telse {\n\t\treg_x -= reg_y;\n\t\tsystem.registers.at(0xF) = 0;\n\t}\n\n\tspdlog::debug(\"REG {:#04x}: {:#04x}\", opcode.reg_x(),\n\t\t\t\t  system.registers.at(opcode.reg_x()));\n\n\tsystem.program_counter = next_opcode_address(system.program_counter);\n}\n\n/* void chip8::shr(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::subn(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::shl(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::sne_vx_vy(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\nvoid chip8::ld_i_addr(chip8::system& system, const chip8::opcode opcode)\n{\n\tsystem.i_register = opcode.address();\n\tspdlog::debug(\"REG I: {:#06x}\", system.i_register);\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n\n/* void chip8::jp_v0_addr(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::rnd(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::drw(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::skp(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::sknp(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::ld_vx_dt(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::ld_vx_k(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::ld_dt_vy(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::ld_st_vx(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::add_i_vx(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::ld_f_vx(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::ld_b_vx(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::ld_i_vx(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\n/* void chip8::ld_vx_i(chip8::system& system, const chip8::opcode opcode) */\n/* { */\n/* } */\n\nvoid chip8::unknown_opcode(system& system, const chip8::opcode opcode)\n{\n\tspdlog::error(\"Unknown opcode: {:#06x}\", opcode.code);\n\tsystem.program_counter = chip8::next_opcode_address(system.program_counter);\n}\n"
    }
}

12:00:54              ..\src\sema_manager.cc:730 I create session for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp
12:00:54              ..\src\pipeline.cc:337 I parse C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp
[Trace - 12:00:55 PM] Sending request 'textDocument/codeLens - (2)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp"
    }
}

[Trace - 12:00:55 PM] Received response 'textDocument/codeLens - (2)' in 2ms.
Result: [
    {
        "range": {
            "start": {
                "line": 240,
                "character": 6
            },
            "end": {
                "line": 240,
                "character": 12
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5042888476298014095,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 115,
                "character": 35
            },
            "end": {
                "line": 115,
                "character": 41
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8582104026552815295,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 205,
                "character": 64
            },
            "end": {
                "line": 205,
                "character": 70
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":10382228712223666517,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 238,
                "character": 7
            },
            "end": {
                "line": 238,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6828811576324962770,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 100,
                "character": 31
            },
            "end": {
                "line": 100,
                "character": 37
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":14700251694326134122,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 197,
                "character": 36
            },
            "end": {
                "line": 197,
                "character": 42
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6197279635586326835,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 159,
                "character": 12
            },
            "end": {
                "line": 159,
                "character": 20
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3969377735491942151,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 215,
                "character": 37
            },
            "end": {
                "line": 215,
                "character": 43
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":13255683457410521123,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 182,
                "character": 12
            },
            "end": {
                "line": 182,
                "character": 23
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11593427256029020414,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 121,
                "character": 12
            },
            "end": {
                "line": 121,
                "character": 16
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":1868704729875183493,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 159,
                "character": 36
            },
            "end": {
                "line": 159,
                "character": 42
            }
        },
        "command": {
            "title": "6 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":17773213895578023301,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 261,
                "character": 37
            },
            "end": {
                "line": 261,
                "character": 43
            }
        },
        "command": {
            "title": "7 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":2286393469951006063,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 121,
                "character": 32
            },
            "end": {
                "line": 121,
                "character": 38
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11478967463082616630,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 363,
                "character": 12
            },
            "end": {
                "line": 363,
                "character": 26
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":922840139223862491,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 261,
                "character": 12
            },
            "end": {
                "line": 261,
                "character": 21
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7561848291818346218,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 267,
                "character": 7
            },
            "end": {
                "line": 267,
                "character": 13
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3281881383991834487,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 93,
                "character": 31
            },
            "end": {
                "line": 93,
                "character": 37
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":10816815893298244193,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 159,
                "character": 64
            },
            "end": {
                "line": 159,
                "character": 70
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5302951896675582313,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 215,
                "character": 12
            },
            "end": {
                "line": 215,
                "character": 21
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11185241065446436546,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 207,
                "character": 7
            },
            "end": {
                "line": 207,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11948414264985410332,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 174,
                "character": 66
            },
            "end": {
                "line": 174,
                "character": 72
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":13663827681074727613,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 174,
                "character": 12
            },
            "end": {
                "line": 174,
                "character": 22
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16382493220748773910,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 261,
                "character": 65
            },
            "end": {
                "line": 261,
                "character": 71
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6052528488709516580,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 87,
                "character": 55
            },
            "end": {
                "line": 87,
                "character": 70
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":17724006933230131755,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 225,
                "character": 12
            },
            "end": {
                "line": 225,
                "character": 21
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":4765986789669612935,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 300,
                "character": 65
            },
            "end": {
                "line": 300,
                "character": 71
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":15183461244992737550,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 218,
                "character": 7
            },
            "end": {
                "line": 218,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8552817027024585916,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 205,
                "character": 36
            },
            "end": {
                "line": 205,
                "character": 42
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16573229972861983829,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 235,
                "character": 37
            },
            "end": {
                "line": 235,
                "character": 43
            }
        },
        "command": {
            "title": "8 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5656281323333095095,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 263,
                "character": 7
            },
            "end": {
                "line": 263,
                "character": 12
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11212252057972831990,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 225,
                "character": 65
            },
            "end": {
                "line": 225,
                "character": 71
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":15778050323531883663,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 225,
                "character": 37
            },
            "end": {
                "line": 225,
                "character": 43
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":12201871816145927801,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 182,
                "character": 67
            },
            "end": {
                "line": 182,
                "character": 73
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6780173913878878014,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 237,
                "character": 7
            },
            "end": {
                "line": 237,
                "character": 12
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":1390984790744513447,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 205,
                "character": 12
            },
            "end": {
                "line": 205,
                "character": 20
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6734779822113857021,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 93,
                "character": 12
            },
            "end": {
                "line": 93,
                "character": 15
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6396314333099231482,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 131,
                "character": 66
            },
            "end": {
                "line": 131,
                "character": 72
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6133782582495160936,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 300,
                "character": 37
            },
            "end": {
                "line": 300,
                "character": 43
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":1249788912840230007,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 16,
                "character": 15
            },
            "end": {
                "line": 16,
                "character": 21
            }
        },
        "command": {
            "title": "21 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":4247737770298219993,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 235,
                "character": 65
            },
            "end": {
                "line": 235,
                "character": 71
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16481788504248248485,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 174,
                "character": 38
            },
            "end": {
                "line": 174,
                "character": 44
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":9211634784705238928,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 145,
                "character": 39
            },
            "end": {
                "line": 145,
                "character": 45
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":2321183875800550868,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 121,
                "character": 60
            },
            "end": {
                "line": 121,
                "character": 66
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8497556776898964643,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 12,
                "character": 12
            },
            "end": {
                "line": 12,
                "character": 25
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11409410918496931046,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 215,
                "character": 65
            },
            "end": {
                "line": 215,
                "character": 71
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":12888461592567622562,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 115,
                "character": 63
            },
            "end": {
                "line": 115,
                "character": 69
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6821804023345337654,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 131,
                "character": 12
            },
            "end": {
                "line": 131,
                "character": 22
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":17493894094263217811,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 87,
                "character": 21
            },
            "end": {
                "line": 87,
                "character": 40
            }
        },
        "command": {
            "title": "57 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3109760948035215284,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 145,
                "character": 67
            },
            "end": {
                "line": 145,
                "character": 73
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6692799752645657856,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 264,
                "character": 7
            },
            "end": {
                "line": 264,
                "character": 12
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11233513089366021904,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 363,
                "character": 35
            },
            "end": {
                "line": 363,
                "character": 41
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":15977410667985547632,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 182,
                "character": 39
            },
            "end": {
                "line": 182,
                "character": 45
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8158136566413243120,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 300,
                "character": 12
            },
            "end": {
                "line": 300,
                "character": 21
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":396570980954673830,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 184,
                "character": 7
            },
            "end": {
                "line": 184,
                "character": 12
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":14183108413575222049,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 363,
                "character": 63
            },
            "end": {
                "line": 363,
                "character": 69
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":10715322853866310926,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 197,
                "character": 12
            },
            "end": {
                "line": 197,
                "character": 20
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7357773806612130199,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 145,
                "character": 12
            },
            "end": {
                "line": 145,
                "character": 23
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3229978657404553115,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 186,
                "character": 6
            },
            "end": {
                "line": 186,
                "character": 12
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6751095398768358361,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 197,
                "character": 64
            },
            "end": {
                "line": 197,
                "character": 70
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8197578983608585939,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 227,
                "character": 7
            },
            "end": {
                "line": 227,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16125739799769113164,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 217,
                "character": 7
            },
            "end": {
                "line": 217,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5810192981535175532,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 208,
                "character": 7
            },
            "end": {
                "line": 208,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":4703991701129879413,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 131,
                "character": 38
            },
            "end": {
                "line": 131,
                "character": 44
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11171354240112208532,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 235,
                "character": 12
            },
            "end": {
                "line": 235,
                "character": 21
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":9367344009745911407,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 228,
                "character": 7
            },
            "end": {
                "line": 228,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7790854563710933246,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 115,
                "character": 12
            },
            "end": {
                "line": 115,
                "character": 19
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5005145811233040242,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 88,
                "character": 24
            },
            "end": {
                "line": 88,
                "character": 28
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":10715421578756108258,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 100,
                "character": 12
            },
            "end": {
                "line": 100,
                "character": 15
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8581762691154695504,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 12,
                "character": 41
            },
            "end": {
                "line": 12,
                "character": 47
            }
        },
        "command": {
            "title": "23 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16048288282946616103,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    }
]

[Trace - 12:00:57 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///C%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp",
    "diagnostics": []
}

12:00:58              ..\src\pipeline.cc:375 I store index for C:/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp (delta: 1)
[Trace - 12:00:59 PM] Sending request 'textDocument/documentHighlight - (3)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp"
    },
    "position": {
        "line": 12,
        "character": 12
    }
}

[Trace - 12:00:59 PM] Received response 'textDocument/documentHighlight - (3)' in 1ms.
Result: [
    {
        "range": {
            "start": {
                "line": 12,
                "character": 12
            },
            "end": {
                "line": 12,
                "character": 25
            }
        },
        "kind": 1,
        "role": 1026
    }
]

[Trace - 12:01:00 PM] Sending request 'textDocument/definition - (4)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp"
    },
    "position": {
        "line": 12,
        "character": 12
    }
}

[Trace - 12:01:00 PM] Received response 'textDocument/definition - (4)' in 1ms.
Result: [
    {
        "uri": "file:///C%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.hpp",
        "range": {
            "start": {
                "line": 15,
                "character": 6
            },
            "end": {
                "line": 15,
                "character": 19
            }
        }
    }
]

[Trace - 12:01:03 PM] Sending request 'textDocument/codeLens - (5)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp"
    }
}

[Trace - 12:01:03 PM] Received response 'textDocument/codeLens - (5)' in 3ms.
Result: [
    {
        "range": {
            "start": {
                "line": 240,
                "character": 6
            },
            "end": {
                "line": 240,
                "character": 12
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5042888476298014095,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 115,
                "character": 35
            },
            "end": {
                "line": 115,
                "character": 41
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8582104026552815295,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 205,
                "character": 64
            },
            "end": {
                "line": 205,
                "character": 70
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":10382228712223666517,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 238,
                "character": 7
            },
            "end": {
                "line": 238,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6828811576324962770,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 100,
                "character": 31
            },
            "end": {
                "line": 100,
                "character": 37
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":14700251694326134122,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 197,
                "character": 36
            },
            "end": {
                "line": 197,
                "character": 42
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6197279635586326835,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 159,
                "character": 12
            },
            "end": {
                "line": 159,
                "character": 20
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3969377735491942151,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 215,
                "character": 37
            },
            "end": {
                "line": 215,
                "character": 43
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":13255683457410521123,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 182,
                "character": 12
            },
            "end": {
                "line": 182,
                "character": 23
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11593427256029020414,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 121,
                "character": 12
            },
            "end": {
                "line": 121,
                "character": 16
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":1868704729875183493,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 159,
                "character": 36
            },
            "end": {
                "line": 159,
                "character": 42
            }
        },
        "command": {
            "title": "6 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":17773213895578023301,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 261,
                "character": 37
            },
            "end": {
                "line": 261,
                "character": 43
            }
        },
        "command": {
            "title": "7 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":2286393469951006063,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 121,
                "character": 32
            },
            "end": {
                "line": 121,
                "character": 38
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11478967463082616630,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 363,
                "character": 12
            },
            "end": {
                "line": 363,
                "character": 26
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":922840139223862491,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 261,
                "character": 12
            },
            "end": {
                "line": 261,
                "character": 21
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7561848291818346218,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 267,
                "character": 7
            },
            "end": {
                "line": 267,
                "character": 13
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3281881383991834487,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 93,
                "character": 31
            },
            "end": {
                "line": 93,
                "character": 37
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":10816815893298244193,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 159,
                "character": 64
            },
            "end": {
                "line": 159,
                "character": 70
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5302951896675582313,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 215,
                "character": 12
            },
            "end": {
                "line": 215,
                "character": 21
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11185241065446436546,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 207,
                "character": 7
            },
            "end": {
                "line": 207,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11948414264985410332,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 174,
                "character": 66
            },
            "end": {
                "line": 174,
                "character": 72
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":13663827681074727613,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 174,
                "character": 12
            },
            "end": {
                "line": 174,
                "character": 22
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16382493220748773910,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 261,
                "character": 65
            },
            "end": {
                "line": 261,
                "character": 71
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6052528488709516580,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 87,
                "character": 55
            },
            "end": {
                "line": 87,
                "character": 70
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":17724006933230131755,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 225,
                "character": 12
            },
            "end": {
                "line": 225,
                "character": 21
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":4765986789669612935,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 300,
                "character": 65
            },
            "end": {
                "line": 300,
                "character": 71
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":15183461244992737550,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 218,
                "character": 7
            },
            "end": {
                "line": 218,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8552817027024585916,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 205,
                "character": 36
            },
            "end": {
                "line": 205,
                "character": 42
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16573229972861983829,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 235,
                "character": 37
            },
            "end": {
                "line": 235,
                "character": 43
            }
        },
        "command": {
            "title": "8 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5656281323333095095,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 263,
                "character": 7
            },
            "end": {
                "line": 263,
                "character": 12
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11212252057972831990,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 225,
                "character": 65
            },
            "end": {
                "line": 225,
                "character": 71
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":15778050323531883663,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 225,
                "character": 37
            },
            "end": {
                "line": 225,
                "character": 43
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":12201871816145927801,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 182,
                "character": 67
            },
            "end": {
                "line": 182,
                "character": 73
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6780173913878878014,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 237,
                "character": 7
            },
            "end": {
                "line": 237,
                "character": 12
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":1390984790744513447,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 205,
                "character": 12
            },
            "end": {
                "line": 205,
                "character": 20
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6734779822113857021,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 93,
                "character": 12
            },
            "end": {
                "line": 93,
                "character": 15
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6396314333099231482,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 131,
                "character": 66
            },
            "end": {
                "line": 131,
                "character": 72
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6133782582495160936,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 300,
                "character": 37
            },
            "end": {
                "line": 300,
                "character": 43
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":1249788912840230007,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 16,
                "character": 15
            },
            "end": {
                "line": 16,
                "character": 21
            }
        },
        "command": {
            "title": "21 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":4247737770298219993,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 235,
                "character": 65
            },
            "end": {
                "line": 235,
                "character": 71
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16481788504248248485,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 174,
                "character": 38
            },
            "end": {
                "line": 174,
                "character": 44
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":9211634784705238928,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 145,
                "character": 39
            },
            "end": {
                "line": 145,
                "character": 45
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":2321183875800550868,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 121,
                "character": 60
            },
            "end": {
                "line": 121,
                "character": 66
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8497556776898964643,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 12,
                "character": 12
            },
            "end": {
                "line": 12,
                "character": 25
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11409410918496931046,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 215,
                "character": 65
            },
            "end": {
                "line": 215,
                "character": 71
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":12888461592567622562,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 115,
                "character": 63
            },
            "end": {
                "line": 115,
                "character": 69
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6821804023345337654,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 131,
                "character": 12
            },
            "end": {
                "line": 131,
                "character": 22
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":17493894094263217811,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 87,
                "character": 21
            },
            "end": {
                "line": 87,
                "character": 40
            }
        },
        "command": {
            "title": "57 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3109760948035215284,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 145,
                "character": 67
            },
            "end": {
                "line": 145,
                "character": 73
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6692799752645657856,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 264,
                "character": 7
            },
            "end": {
                "line": 264,
                "character": 12
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11233513089366021904,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 363,
                "character": 35
            },
            "end": {
                "line": 363,
                "character": 41
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":15977410667985547632,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 182,
                "character": 39
            },
            "end": {
                "line": 182,
                "character": 45
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8158136566413243120,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 300,
                "character": 12
            },
            "end": {
                "line": 300,
                "character": 21
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":396570980954673830,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 184,
                "character": 7
            },
            "end": {
                "line": 184,
                "character": 12
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":14183108413575222049,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 363,
                "character": 63
            },
            "end": {
                "line": 363,
                "character": 69
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":10715322853866310926,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 197,
                "character": 12
            },
            "end": {
                "line": 197,
                "character": 20
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7357773806612130199,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 145,
                "character": 12
            },
            "end": {
                "line": 145,
                "character": 23
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":3229978657404553115,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 186,
                "character": 6
            },
            "end": {
                "line": 186,
                "character": 12
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":6751095398768358361,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 197,
                "character": 64
            },
            "end": {
                "line": 197,
                "character": 70
            }
        },
        "command": {
            "title": "4 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8197578983608585939,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 227,
                "character": 7
            },
            "end": {
                "line": 227,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16125739799769113164,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 217,
                "character": 7
            },
            "end": {
                "line": 217,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5810192981535175532,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 208,
                "character": 7
            },
            "end": {
                "line": 208,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":4703991701129879413,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 131,
                "character": 38
            },
            "end": {
                "line": 131,
                "character": 44
            }
        },
        "command": {
            "title": "5 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":11171354240112208532,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 235,
                "character": 12
            },
            "end": {
                "line": 235,
                "character": 21
            }
        },
        "command": {
            "title": "3 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":9367344009745911407,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 228,
                "character": 7
            },
            "end": {
                "line": 228,
                "character": 12
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":7790854563710933246,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 115,
                "character": 12
            },
            "end": {
                "line": 115,
                "character": 19
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":5005145811233040242,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 88,
                "character": 24
            },
            "end": {
                "line": 88,
                "character": 28
            }
        },
        "command": {
            "title": "1 ref",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":10715421578756108258,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 100,
                "character": 12
            },
            "end": {
                "line": 100,
                "character": 15
            }
        },
        "command": {
            "title": "2 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":8581762691154695504,\"kind\":3,\"field\":\"uses\"}"
            ]
        }
    },
    {
        "range": {
            "start": {
                "line": 12,
                "character": 41
            },
            "end": {
                "line": 12,
                "character": 47
            }
        },
        "command": {
            "title": "23 refs",
            "command": "ccls.xref",
            "arguments": [
                "{\"usr\":16048288282946616103,\"kind\":4,\"field\":\"uses\"}"
            ]
        }
    }
]

[Trace - 12:01:04 PM] Sending request 'textDocument/documentHighlight - (6)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/MyName/Code/emulators/chip8emu/src/chip8/cpu.cpp"
    },
    "position": {
        "line": 12,
        "character": 0
    }
}

[Trace - 12:01:04 PM] Received response 'textDocument/documentHighlight - (6)' in 1ms.
Result: []

Describe the bug Neovim complains about a swap file already existing when using coc-definition or call CocAction('jumpDefinition') on Windows. Vim does not complain.

To Reproduce Using C++ and ccls or clangd with compile_commands.json,

  1. Declare a function in a header file.
  2. Implement the function in a cpp file.
  3. :call CocAction('jumpDefinition') or use the gd mapping in the readme to jump to the definition of the function.

If a swap file exists for the file you're jumping to, Neovim complains about the swap file.

chemzqm commented 5 years ago

It's problem of your neovim configuration, use set noswapfile in your init.vim to avoid that.

notskm commented 5 years ago

I would prefer not turning off swap files if possible. I find it weird that Vim works fine with swapfiles enabled, but Neovim doesn't. This only seems to happen when jumping around using coc.nvim features, as well.

chemzqm commented 5 years ago

Please provide minimal vimrc with nvim -u mini.vim. I can't reproduce it with minimal init.vim

set nocompatible
set runtimepath^=/path/to/coc.nvim
filetype plugin indent on
syntax on
set hidden
chemzqm commented 5 years ago

Could be some wired problem with neovim on windows.

notskm commented 5 years ago
set nocompatible
set runtimepath^=~/AppData/Local/nvim
filetype plugin indent on
syntax on
set hidden

call plug#begin('~/AppData/Local/nvim/plugged')
Plug 'neoclide/coc.nvim', {'tag': '*', 'do': 'yarn install'}
call plug#end()

call coc#config("languageserver", {
\   "ccls": {
\       "command": "ccls",
\       "filetypes": ["c", "cpp", "cuda", "objc", "objcpp"],
\       "rootPatterns": ["compile_commands.json", ".ccls-cache", ".git/", ".hg/"],
\       "trace.server": "verbose",
\       "initializationOptions": {
\           "cache": {
\               "directory": ".ccls-cache"
\           }
\       }
\   }
\})