fannheyward / coc-rust-analyzer

rust-analyzer extension for coc.nvim
MIT License
1.13k stars 40 forks source link

Warning diagnostics disappear when moving to another file #1276

Open kbwo opened 2 weeks ago

kbwo commented 2 weeks ago

What's the output of :CocInfo

## versions

vim version: NVIM v0.10.2
node version: v18.19.1
coc.nvim version: 0.0.82-9fd85781 2024-09-21 00:59:00 +0900
coc.nvim directory: /home/devuser/.local/share/nvim/plugged/coc.nvim
term: xterm
platform: linux

## Log of coc.nvim

2024-11-08T10:20:42.814 INFO (pid:30) [plugin] - coc.nvim initialized with node: v18.19.1 after 182
2024-11-08T10:20:42.815 INFO (pid:30) [services] - LanguageClient Rust Analyzer Language Server state change: stopped => starting
2024-11-08T10:20:42.821 INFO (pid:30) [language-client-index] - Language server "rust-analyzer" started with 48
2024-11-08T10:20:42.859 INFO (pid:30) [services] - LanguageClient Rust Analyzer Language Server state change: starting => running
2024-11-08T10:20:42.897 INFO (pid:30) [services] - service rust-analyzer started

What's the output of :CocCommand rust-analyzer.serverVersion

[coc.nvim] rust-analyzer 0.3.2172-standalone

What's your coc-rust-analyzer version? You can get it from :CocList extensions

* coc-rust-analyzer 0.77.5 ~/.config/coc/extensions/node_modules/coc-rust-analyzer

Diagnostics work fine when I open a Rust file, but disappear when I move to another file.

Screencast from 2024-11-07 23-54-02.webm

Minimum reproduction

https://github.com/kbwo/neovim-docker-sandbox/blob/coc-ra-diagnostics/init.vim

call plug#begin('~/.local/share/nvim/plugged')
Plug 'neoclide/coc.nvim', {'branch': 'release'}

call plug#end()

let g:coc_global_extensions = [
      \'coc-rust-analyzer',
      \]
kbwo commented 2 weeks ago

The output of :CocCommand workspace.showOutput rust-analyzer in verbose tracing mode

[Trace - 2:37:22 PM] Sending request 'initialize - (0)'.
Params: {
    "processId": 760,
    "rootPath": "/home/devuser/projects/demo-rs",
    "rootUri": "file:///home/devuser/projects/demo-rs",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "undo",
                "normalizesLineEndings": true,
                "changeAnnotationSupport": {
                    "groupsOnLabel": false
                }
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "didChangeWatchedFiles": {
                "dynamicRegistration": true,
                "relativePatternSupport": true
            },
            "codeLens": {
                "refreshSupport": true
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "configuration": true,
            "fileOperations": {
                "dynamicRegistration": true,
                "didCreate": true,
                "didRename": true,
                "didDelete": true,
                "willCreate": true,
                "willRename": true,
                "willDelete": true
            },
            "semanticTokens": {
                "refreshSupport": true
            },
            "inlayHint": {
                "refreshSupport": true
            },
            "inlineValue": {
                "refreshSupport": true
            },
            "diagnostics": {
                "refreshSupport": 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
                    ]
                },
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "resolveSupport": {
                    "properties": [
                        "location.range"
                    ]
                }
            },
            "workspaceFolders": true
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true,
                "versionSupport": true,
                "tagSupport": {
                    "valueSet": [
                        1,
                        2
                    ]
                },
                "codeDescriptionSupport": true,
                "dataSupport": 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,
                    "insertReplaceSupport": true,
                    "tagSupport": {
                        "valueSet": [
                            1
                        ]
                    },
                    "resolveSupport": {
                        "properties": [
                            "documentation",
                            "detail",
                            "additionalTextEdits"
                        ]
                    },
                    "labelDetailsSupport": true,
                    "insertTextModeSupport": {
                        "valueSet": [
                            1,
                            2
                        ]
                    }
                },
                "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
                    ]
                },
                "insertTextMode": 2,
                "completionList": {
                    "itemDefaults": [
                        "commitCharacters",
                        "editRange",
                        "insertTextFormat",
                        "insertTextMode"
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "activeParameterSupport": true,
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    }
                }
            },
            "references": {
                "dynamicRegistration": true
            },
            "definition": {
                "dynamicRegistration": true,
                "linkSupport": 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
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true,
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "labelSupport": true
            },
            "codeAction": {
                "dynamicRegistration": true,
                "isPreferredSupport": true,
                "disabledSupport": true,
                "dataSupport": true,
                "honorsChangeAnnotations": false,
                "resolveSupport": {
                    "properties": [
                        "edit"
                    ]
                },
                "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,
                "honorsChangeAnnotations": true,
                "prepareSupportDefaultBehavior": 1
            },
            "documentLink": {
                "dynamicRegistration": true,
                "tooltipSupport": true
            },
            "typeDefinition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "implementation": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "declaration": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true,
                "foldingRangeKind": {
                    "valueSet": [
                        "comment",
                        "imports",
                        "region"
                    ]
                },
                "foldingRange": {
                    "collapsedText": false
                }
            },
            "selectionRange": {
                "dynamicRegistration": true
            },
            "callHierarchy": {
                "dynamicRegistration": true
            },
            "linkedEditingRange": {
                "dynamicRegistration": true
            },
            "semanticTokens": {
                "dynamicRegistration": true,
                "tokenTypes": [
                    "namespace",
                    "type",
                    "class",
                    "enum",
                    "interface",
                    "struct",
                    "typeParameter",
                    "parameter",
                    "variable",
                    "property",
                    "enumMember",
                    "event",
                    "function",
                    "method",
                    "macro",
                    "keyword",
                    "modifier",
                    "comment",
                    "string",
                    "number",
                    "regexp",
                    "decorator",
                    "operator"
                ],
                "tokenModifiers": [
                    "declaration",
                    "definition",
                    "readonly",
                    "static",
                    "deprecated",
                    "abstract",
                    "async",
                    "modification",
                    "documentation",
                    "defaultLibrary"
                ],
                "formats": [
                    "relative"
                ],
                "requests": {
                    "range": true,
                    "full": {
                        "delta": true
                    }
                },
                "multilineTokenSupport": false,
                "overlappingTokenSupport": false,
                "serverCancelSupport": true,
                "augmentsSyntaxTokens": true
            },
            "inlayHint": {
                "dynamicRegistration": true,
                "resolveSupport": {
                    "properties": [
                        "tooltip",
                        "textEdits",
                        "label.tooltip",
                        "label.location",
                        "label.command"
                    ]
                }
            },
            "inlineValue": {
                "dynamicRegistration": true
            },
            "diagnostic": {
                "dynamicRegistration": true,
                "relatedDocumentSupport": true
            },
            "typeHierarchy": {
                "dynamicRegistration": true
            }
        },
        "window": {
            "showMessage": {
                "messageActionItem": {
                    "additionalPropertiesSupport": true
                }
            },
            "showDocument": {
                "support": true
            },
            "workDoneProgress": true
        },
        "general": {
            "regularExpressions": {
                "engine": "ECMAScript",
                "version": "ES2020"
            },
            "markdown": {
                "parser": "marked",
                "version": "7.0.5"
            },
            "positionEncodings": [
                "utf-16"
            ],
            "staleRequestSupport": {
                "cancel": true,
                "retryOnContentModified": [
                    "textDocument/inlayHint",
                    "textDocument/semanticTokens/full",
                    "textDocument/semanticTokens/range",
                    "textDocument/semanticTokens/full/delta"
                ]
            }
        },
        "experimental": {
            "snippetTextEdit": true,
            "serverStatusNotification": true,
            "localDocs": true,
            "commands": {
                "commands": [
                    "rust-analyzer.runSingle",
                    "rust-analyzer.debugSingle",
                    "rust-analyzer.showReferences",
                    "rust-analyzer.gotoLocation",
                    "editor.action.triggerParameterHints"
                ]
            }
        }
    },
    "initializationOptions": {
        "enable": true,
        "disableProgressNotifications": false,
        "terminal": {
            "startinsert": false
        },
        "debug": {
            "runtime": "termdebug",
            "vimspector": {
                "configuration": {
                    "name": "launch"
                }
            },
            "nvimdap": {
                "configuration": {
                    "template": ""
                }
            }
        },
        "server": {
            "path": null,
            "extraEnv": null
        },
        "restartServerOnConfigChange": false,
        "trace": {
            "server": "verbose"
        },
        "updates": {
            "prompt": true,
            "checkOnStartup": true,
            "channel": "stable"
        },
        "assist": {
            "emitMustUse": false,
            "expressionFillDefault": "todo",
            "termSearch": {
                "borrowcheck": true,
                "fuel": 1800
            }
        },
        "cachePriming": {
            "enable": true,
            "numThreads": "physical"
        },
        "cargo": {
            "allTargets": true,
            "autoreload": true,
            "buildScripts": {
                "enable": true,
                "invocationStrategy": "per_workspace",
                "overrideCommand": null,
                "rebuildOnSave": true,
                "useRustcWrapper": true
            },
            "cfgs": {
                "debug_assertions": null,
                "miri": null
            },
            "extraArgs": [],
            "extraEnv": {},
            "features": [],
            "noDefaultFeatures": false,
            "sysroot": "discover",
            "sysrootSrc": null,
            "target": null,
            "targetDir": null
        },
        "checkOnSave": true,
        "check": {
            "allTargets": null,
            "command": "check",
            "extraArgs": [],
            "extraEnv": {},
            "features": null,
            "ignore": [],
            "invocationStrategy": "per_workspace",
            "noDefaultFeatures": null,
            "overrideCommand": null,
            "targets": null,
            "workspace": true
        },
        "completion": {
            "autoimport": {
                "enable": true
            },
            "autoself": {
                "enable": true
            },
            "callable": {
                "snippets": "fill_arguments"
            },
            "fullFunctionSignatures": {
                "enable": false
            },
            "hideDeprecated": false,
            "limit": null,
            "postfix": {
                "enable": true
            },
            "privateEditable": {
                "enable": false
            },
            "snippets": {
                "custom": {
                    "Arc::new": {
                        "postfix": "arc",
                        "body": "Arc::new(${receiver})",
                        "requires": "std::sync::Arc",
                        "description": "Put the expression into an `Arc`",
                        "scope": "expr"
                    },
                    "Rc::new": {
                        "postfix": "rc",
                        "body": "Rc::new(${receiver})",
                        "requires": "std::rc::Rc",
                        "description": "Put the expression into an `Rc`",
                        "scope": "expr"
                    },
                    "Box::pin": {
                        "postfix": "pinbox",
                        "body": "Box::pin(${receiver})",
                        "requires": "std::boxed::Box",
                        "description": "Put the expression into a pinned `Box`",
                        "scope": "expr"
                    },
                    "Err": {
                        "postfix": "err",
                        "body": "Err(${receiver})",
                        "description": "Wrap the expression in a `Result::Err`",
                        "scope": "expr"
                    },
                    "Some": {
                        "postfix": "some",
                        "body": "Some(${receiver})",
                        "description": "Wrap the expression in an `Option::Some`",
                        "scope": "expr"
                    },
                    "Ok": {
                        "postfix": "ok",
                        "body": "Ok(${receiver})",
                        "description": "Wrap the expression in a `Result::Ok`",
                        "scope": "expr"
                    }
                }
            },
            "termSearch": {
                "enable": false,
                "fuel": 1000
            }
        },
        "diagnostics": {
            "disabled": [],
            "enable": true,
            "experimental": {
                "enable": false
            },
            "remapPrefix": {},
            "styleLints": {
                "enable": false
            },
            "warningsAsHint": [],
            "warningsAsInfo": []
        },
        "files": {
            "excludeDirs": [],
            "watcher": "client"
        },
        "highlightRelated": {
            "breakPoints": {
                "enable": true
            },
            "closureCaptures": {
                "enable": true
            },
            "exitPoints": {
                "enable": true
            },
            "references": {
                "enable": true
            },
            "yieldPoints": {
                "enable": true
            }
        },
        "hover": {
            "documentation": {
                "enable": true,
                "keywords": {
                    "enable": true
                }
            },
            "links": {
                "enable": true
            },
            "memoryLayout": {
                "alignment": "hexadecimal",
                "enable": true,
                "niches": false,
                "offset": "hexadecimal",
                "size": "both"
            },
            "show": {
                "enumVariants": 5,
                "fields": 5,
                "traitAssocItems": null
            }
        },
        "imports": {
            "granularity": {
                "enforce": false,
                "group": "crate"
            },
            "group": {
                "enable": true
            },
            "merge": {
                "glob": true
            },
            "preferNoStd": false,
            "preferPrelude": false,
            "prefix": "plain",
            "prefixExternPrelude": false
        },
        "inlayHints": {
            "bindingModeHints": {
                "enable": false
            },
            "chainingHints": {
                "enable": true
            },
            "closingBraceHints": {
                "enable": true,
                "minLines": 25
            },
            "closureCaptureHints": {
                "enable": false
            },
            "closureReturnTypeHints": {
                "enable": "never"
            },
            "closureStyle": "impl_fn",
            "discriminantHints": {
                "enable": "never"
            },
            "expressionAdjustmentHints": {
                "enable": "never",
                "hideOutsideUnsafe": false,
                "mode": "prefix"
            },
            "genericParameterHints": {
                "const": {
                    "enable": true
                },
                "lifetime": {
                    "enable": false
                },
                "type": {
                    "enable": false
                }
            },
            "implicitDrops": {
                "enable": false
            },
            "lifetimeElisionHints": {
                "enable": "never",
                "useParameterNames": false
            },
            "maxLength": 25,
            "parameterHints": {
                "enable": true
            },
            "rangeExclusiveHints": {
                "enable": false
            },
            "reborrowHints": {
                "enable": "never"
            },
            "renderColons": true,
            "typeHints": {
                "enable": true,
                "hideClosureInitialization": false,
                "hideNamedConstructor": false
            }
        },
        "interpret": {
            "tests": false
        },
        "joinLines": {
            "joinAssignments": true,
            "joinElseIf": true,
            "removeTrailingComma": true,
            "unwrapTrivialBlock": true
        },
        "lens": {
            "debug": {
                "enable": true
            },
            "enable": true,
            "implementations": {
                "enable": true
            },
            "location": "above_name",
            "references": {
                "adt": {
                    "enable": false
                },
                "enumVariant": {
                    "enable": false
                },
                "method": {
                    "enable": false
                },
                "trait": {
                    "enable": false
                }
            },
            "run": {
                "enable": true
            }
        },
        "linkedProjects": [],
        "lru": {
            "capacity": null,
            "query": {
                "capacities": {}
            }
        },
        "notifications": {
            "cargoTomlNotFound": true
        },
        "numThreads": null,
        "procMacro": {
            "attributes": {
                "enable": true
            },
            "enable": true,
            "ignored": {},
            "server": null
        },
        "references": {
            "excludeImports": false,
            "excludeTests": false
        },
        "runnables": {
            "command": null,
            "extraArgs": [],
            "extraTestBinaryArgs": [
                "--show-output"
            ]
        },
        "rustc": {
            "source": null
        },
        "rustfmt": {
            "extraArgs": [],
            "overrideCommand": null,
            "rangeFormatting": {
                "enable": false
            }
        },
        "semanticHighlighting": {
            "doc": {
                "comment": {
                    "inject": {
                        "enable": true
                    }
                }
            },
            "nonStandardTokens": true,
            "operator": {
                "enable": true,
                "specialization": {
                    "enable": false
                }
            },
            "punctuation": {
                "enable": false,
                "separate": {
                    "macro": {
                        "bang": false
                    }
                },
                "specialization": {
                    "enable": false
                }
            },
            "strings": {
                "enable": true
            }
        },
        "signatureInfo": {
            "detail": "full",
            "documentation": {
                "enable": true
            }
        },
        "typing": {
            "autoClosingAngleBrackets": {
                "enable": false
            }
        },
        "workspace": {
            "discoverConfig": null,
            "symbol": {
                "search": {
                    "kind": "only_types",
                    "limit": 128,
                    "scope": "workspace"
                }
            }
        }
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///home/devuser/projects/demo-rs",
            "name": "demo-rs"
        }
    ],
    "locale": "en",
    "clientInfo": {
        "name": "coc.nvim",
        "version": "0.0.82"
    },
    "workDoneToken": "cf07e817-9652-4335-a593-ec050326e545"
}

[Trace - 2:37:22 PM] Received response 'initialize - (0)' in 5ms.
Result: {
    "capabilities": {
        "positionEncoding": "utf-16",
        "textDocumentSync": {
            "openClose": true,
            "change": 2,
            "save": {}
        },
        "selectionRangeProvider": true,
        "hoverProvider": true,
        "completionProvider": {
            "resolveProvider": true,
            "triggerCharacters": [
                ":",
                ".",
                "'",
                "("
            ],
            "completionItem": {
                "labelDetailsSupport": true
            }
        },
        "signatureHelpProvider": {
            "triggerCharacters": [
                "(",
                ",",
                "<"
            ]
        },
        "definitionProvider": true,
        "typeDefinitionProvider": true,
        "implementationProvider": true,
        "referencesProvider": true,
        "documentHighlightProvider": true,
        "documentSymbolProvider": true,
        "workspaceSymbolProvider": true,
        "codeActionProvider": {
            "codeActionKinds": [
                "",
                "quickfix",
                "refactor",
                "refactor.extract",
                "refactor.inline",
                "refactor.rewrite"
            ],
            "resolveProvider": true
        },
        "codeLensProvider": {
            "resolveProvider": true
        },
        "documentFormattingProvider": true,
        "documentRangeFormattingProvider": false,
        "documentOnTypeFormattingProvider": {
            "firstTriggerCharacter": "=",
            "moreTriggerCharacter": [
                ".",
                ">",
                "{",
                "(",
                "<"
            ]
        },
        "renameProvider": {
            "prepareProvider": true
        },
        "foldingRangeProvider": true,
        "declarationProvider": true,
        "workspace": {
            "workspaceFolders": {
                "supported": true,
                "changeNotifications": true
            },
            "fileOperations": {
                "willRename": {
                    "filters": [
                        {
                            "scheme": "file",
                            "pattern": {
                                "glob": "**/*.rs",
                                "matches": "file"
                            }
                        },
                        {
                            "scheme": "file",
                            "pattern": {
                                "glob": "**",
                                "matches": "folder"
                            }
                        }
                    ]
                }
            }
        },
        "callHierarchyProvider": true,
        "semanticTokensProvider": {
            "legend": {
                "tokenTypes": [
                    "comment",
                    "decorator",
                    "enumMember",
                    "enum",
                    "function",
                    "interface",
                    "keyword",
                    "macro",
                    "method",
                    "namespace",
                    "number",
                    "operator",
                    "parameter",
                    "property",
                    "string",
                    "struct",
                    "typeParameter",
                    "variable",
                    "angle",
                    "arithmetic",
                    "attributeBracket",
                    "attribute",
                    "bitwise",
                    "boolean",
                    "brace",
                    "bracket",
                    "builtinAttribute",
                    "builtinType",
                    "character",
                    "colon",
                    "comma",
                    "comparison",
                    "constParameter",
                    "const",
                    "deriveHelper",
                    "derive",
                    "dot",
                    "escapeSequence",
                    "formatSpecifier",
                    "generic",
                    "invalidEscapeSequence",
                    "label",
                    "lifetime",
                    "logical",
                    "macroBang",
                    "parenthesis",
                    "procMacro",
                    "punctuation",
                    "selfKeyword",
                    "selfTypeKeyword",
                    "semicolon",
                    "static",
                    "toolModule",
                    "typeAlias",
                    "union",
                    "unresolvedReference"
                ],
                "tokenModifiers": [
                    "async",
                    "documentation",
                    "declaration",
                    "static",
                    "defaultLibrary",
                    "associated",
                    "attribute",
                    "callable",
                    "constant",
                    "consuming",
                    "controlFlow",
                    "crateRoot",
                    "injected",
                    "intraDocLink",
                    "library",
                    "macro",
                    "mutable",
                    "procMacro",
                    "public",
                    "reference",
                    "trait",
                    "unsafe"
                ]
            },
            "range": true,
            "full": {
                "delta": true
            }
        },
        "inlayHintProvider": {
            "resolveProvider": true
        },
        "diagnosticProvider": {
            "interFileDependencies": true,
            "workspaceDiagnostics": false
        },
        "experimental": {
            "externalDocs": true,
            "hoverRange": true,
            "joinLines": true,
            "matchingBrace": true,
            "moveItem": true,
            "onEnter": true,
            "openCargoToml": true,
            "parentModule": true,
            "runnables": {
                "kinds": [
                    "cargo"
                ]
            },
            "ssr": true,
            "workspaceSymbolScopeKindFiltering": true
        }
    },
    "serverInfo": {
        "name": "rust-analyzer",
        "version": "0.3.2172-standalone"
    }
}

[Trace - 2:37:22 PM] Sending notification 'initialized'.
Params: {}

[Trace - 2:37:22 PM] Sending notification 'textDocument/didOpen'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
        "languageId": "rust",
        "version": 1,
        "text": "use std::env;\n\nfn main() {\n    println!(\"Hello, world!\");\n}\n"
    }
}

[Trace - 2:37:22 PM] Sending request 'textDocument/diagnostic - (1)'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs"
    }
}

[Trace - 2:37:22 PM] Received notification 'experimental/serverStatus'.
Params: {
    "health": "ok",
    "quiescent": false,
    "message": null
}

[Trace - 2:37:22 PM] Received request 'client/registerCapability - (0)'.
Params: {
    "registrations": [
        {
            "id": "textDocument/didSave",
            "method": "textDocument/didSave",
            "registerOptions": {
                "includeText": false,
                "documentSelector": [
                    {
                        "pattern": "**/*.rs"
                    },
                    {
                        "pattern": "**/Cargo.toml"
                    },
                    {
                        "pattern": "**/Cargo.lock"
                    }
                ]
            }
        }
    ]
}

[Trace - 2:37:22 PM] Sending response 'client/registerCapability - (0)'. Processing request took 0ms
No result returned.

[Trace - 2:37:22 PM] Received request 'window/workDoneProgress/create - (1)'.
Params: {
    "token": "rustAnalyzer/Fetching"
}

[Trace - 2:37:22 PM] Sending response 'window/workDoneProgress/create - (1)'. Processing request took 0ms
No result returned.

[Trace - 2:37:22 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "begin",
        "title": "Fetching",
        "cancellable": false
    }
}

[Trace - 2:37:22 PM] Received response 'textDocument/diagnostic - (1)' in 2ms.
Result: {
    "kind": "full",
    "items": []
}

[Trace - 2:37:22 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "metadata"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'client/registerCapability - (2)'.
Params: {
    "registrations": [
        {
            "id": "workspace/didChangeWatchedFiles",
            "method": "workspace/didChangeWatchedFiles",
            "registerOptions": {
                "watchers": [
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/*.rs"
                        }
                    },
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/Cargo.{lock,toml}"
                        }
                    },
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/rust-analyzer.toml"
                        }
                    },
                    {
                        "globPattern": "/home/devuser/.config/rust-analyzer/rust-analyzer.toml"
                    },
                    {
                        "globPattern": "/home/devuser/projects/demo-rs/Cargo.toml"
                    }
                ]
            }
        }
    ]
}

[Trace - 2:37:23 PM] Sending response 'client/registerCapability - (2)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (3)'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (3)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "begin",
        "title": "Building CrateGraph",
        "cancellable": false
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (4)'.
Params: {
    "token": "rustAnalyzer/Roots Scanned"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (4)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "begin",
        "title": "Roots Scanned",
        "cancellable": false,
        "message": "0/3",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (5)'.
Params: {
    "token": "rustAnalyzer/Fetching"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (5)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "begin",
        "title": "Fetching",
        "cancellable": false
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: ",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: ",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3",
        "percentage": 33
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-alloc",
        "percentage": 33
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3: src",
        "percentage": 33
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/backtrace",
        "percentage": 33
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-std",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/stdarch",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/sysroot",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/portable-simd",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/unwind",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rtstartup",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_abort",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/test",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/profiler_builtins",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_unwind",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "3/3",
        "percentage": 100
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "end",
        "message": "3/3"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "metadata"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'workspace/semanticTokens/refresh - (6)'.
[Trace - 2:37:23 PM] Sending response 'workspace/semanticTokens/refresh - (6)'. Processing request took 1ms
No result returned.

[Trace - 2:37:23 PM] Received request 'workspace/codeLens/refresh - (7)'.
[Trace - 2:37:23 PM] Sending response 'workspace/codeLens/refresh - (7)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received request 'workspace/inlayHint/refresh - (8)'.
[Trace - 2:37:23 PM] Sending response 'workspace/inlayHint/refresh - (8)'. Processing request took 1ms
No result returned.

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (9)'.
Params: {
    "token": "rustAnalyzer/Fetching"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (9)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "begin",
        "title": "Fetching",
        "cancellable": false
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (10)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (10)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/1 (demo_rs)",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 100
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (11)'.
Params: {
    "token": "rust-analyzer/flycheck/0"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (11)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "begin",
        "title": "cargo check",
        "cancellable": true
    }
}

[Trace - 2:37:23 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 4
                },
                "end": {
                    "line": 0,
                    "character": 12
                }
            },
            "severity": 2,
            "code": "unused_imports",
            "source": "rustc",
            "message": "unused import: `std::env`\n`#[warn(unused_imports)]` on by default",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 0
                            },
                            "end": {
                                "line": 1,
                                "character": 0
                            }
                        }
                    },
                    "message": "remove the whole `use` item"
                }
            ],
            "tags": [
                1
            ],
            "data": {
                "rendered": "warning: unused import: `std::env`\n --> src/main.rs:1:5\n  |\n1 | use std::env;\n  |     ^^^^^^^^\n  |\n  = note: `#[warn(unused_imports)]` on by default\n\n"
            }
        },
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 0
                },
                "end": {
                    "line": 1,
                    "character": 0
                }
            },
            "severity": 4,
            "code": "unused_imports",
            "source": "rustc",
            "message": "remove the whole `use` item",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 4
                            },
                            "end": {
                                "line": 0,
                                "character": 12
                            }
                        }
                    },
                    "message": "original diagnostic"
                }
            ]
        }
    ],
    "version": 1
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "metadata"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (12)'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (12)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "begin",
        "title": "Building CrateGraph",
        "cancellable": false
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'workspace/semanticTokens/refresh - (13)'.
[Trace - 2:37:23 PM] Sending response 'workspace/semanticTokens/refresh - (13)'. Processing request took 1ms
No result returned.

[Trace - 2:37:23 PM] Received request 'workspace/codeLens/refresh - (14)'.
[Trace - 2:37:23 PM] Sending response 'workspace/codeLens/refresh - (14)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received request 'workspace/inlayHint/refresh - (15)'.
[Trace - 2:37:23 PM] Sending response 'workspace/inlayHint/refresh - (15)'. Processing request took 1ms
No result returned.

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (16)'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (16)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "begin",
        "title": "Building build-artifacts",
        "cancellable": false
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (17)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (17)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (18)'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (18)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros",
    "value": {
        "kind": "begin",
        "title": "Loading proc-macros",
        "cancellable": false
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (19)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (19)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/12 (core + 6 more)",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/12 (core + 7 more)",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/12 (core + 6 more)",
        "percentage": 8
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "3/12 (core + 4 more)",
        "percentage": 25
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "4/12 (core + 3 more)",
        "percentage": 33
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "5/12 (core + 2 more)",
        "percentage": 41
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "6/12 (core + 1 more)",
        "percentage": 50
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "7/12 (core)",
        "percentage": 58
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (20)'.
Params: {
    "token": "rust-analyzer/flycheck/0"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (20)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "begin",
        "title": "cargo check",
        "cancellable": true
    }
}

[Trace - 2:37:23 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 4
                },
                "end": {
                    "line": 0,
                    "character": 12
                }
            },
            "severity": 2,
            "code": "unused_imports",
            "source": "rustc",
            "message": "unused import: `std::env`\n`#[warn(unused_imports)]` on by default",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 0
                            },
                            "end": {
                                "line": 1,
                                "character": 0
                            }
                        }
                    },
                    "message": "remove the whole `use` item"
                }
            ],
            "tags": [
                1
            ],
            "data": {
                "rendered": "warning: unused import: `std::env`\n --> src/main.rs:1:5\n  |\n1 | use std::env;\n  |     ^^^^^^^^\n  |\n  = note: `#[warn(unused_imports)]` on by default\n\n"
            }
        },
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 0
                },
                "end": {
                    "line": 1,
                    "character": 0
                }
            },
            "severity": 4,
            "code": "unused_imports",
            "source": "rustc",
            "message": "remove the whole `use` item",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 4
                            },
                            "end": {
                                "line": 0,
                                "character": 12
                            }
                        }
                    },
                    "message": "original diagnostic"
                }
            ]
        }
    ],
    "version": 1
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "demo-rs"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "demo-rs"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "building proc-macros: demo-rs"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "demo-rs"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "demo-rs"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "building proc-macros: demo-rs"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'client/registerCapability - (21)'.
Params: {
    "registrations": [
        {
            "id": "workspace/didChangeWatchedFiles",
            "method": "workspace/didChangeWatchedFiles",
            "registerOptions": {
                "watchers": [
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/*.rs"
                        }
                    },
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/Cargo.{lock,toml}"
                        }
                    },
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/rust-analyzer.toml"
                        }
                    },
                    {
                        "globPattern": "/home/devuser/.config/rust-analyzer/rust-analyzer.toml"
                    },
                    {
                        "globPattern": "/home/devuser/projects/demo-rs/Cargo.toml"
                    }
                ]
            }
        }
    ]
}

[Trace - 2:37:23 PM] Sending response 'client/registerCapability - (21)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (22)'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (22)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "begin",
        "title": "Building CrateGraph",
        "cancellable": false
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (23)'.
Params: {
    "token": "rustAnalyzer/Roots Scanned"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (23)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "begin",
        "title": "Roots Scanned",
        "cancellable": false,
        "message": "0/3",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: ",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: ",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-alloc",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: src",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3",
        "percentage": 33
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/backtrace",
        "percentage": 33
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-std",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/stdarch",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (24)'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (24)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros",
    "value": {
        "kind": "begin",
        "title": "Loading proc-macros",
        "cancellable": false
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (25)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (25)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/12 (core + 3 more)",
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (26)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (26)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/12 (core + 4 more)",
        "percentage": 8
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/12 (core + 6 more)",
        "percentage": 8
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/12 (core + 5 more)",
        "percentage": 16
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "4/12 (core + 3 more)",
        "percentage": 33
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "5/12 (core + 2 more)",
        "percentage": 41
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "6/12 (core + 1 more)",
        "percentage": 50
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "7/12 (core)",
        "percentage": 58
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/sysroot",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/portable-simd",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/unwind",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rtstartup",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_abort",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/test",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/profiler_builtins",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_unwind",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc",
        "percentage": 66
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "3/3",
        "percentage": 100
    }
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "end",
        "message": "3/3"
    }
}

[Trace - 2:37:23 PM] Received request 'workspace/semanticTokens/refresh - (27)'.
[Trace - 2:37:23 PM] Sending response 'workspace/semanticTokens/refresh - (27)'. Processing request took 1ms
No result returned.

[Trace - 2:37:23 PM] Received request 'workspace/codeLens/refresh - (28)'.
[Trace - 2:37:23 PM] Sending response 'workspace/codeLens/refresh - (28)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received request 'workspace/inlayHint/refresh - (29)'.
[Trace - 2:37:23 PM] Sending response 'workspace/inlayHint/refresh - (29)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (30)'.
Params: {
    "token": "rust-analyzer/flycheck/0"
}

[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (30)'. Processing request took 0ms
No result returned.

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "begin",
        "title": "cargo check",
        "cancellable": true
    }
}

[Trace - 2:37:23 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 4
                },
                "end": {
                    "line": 0,
                    "character": 12
                }
            },
            "severity": 2,
            "code": "unused_imports",
            "source": "rustc",
            "message": "unused import: `std::env`\n`#[warn(unused_imports)]` on by default",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 0
                            },
                            "end": {
                                "line": 1,
                                "character": 0
                            }
                        }
                    },
                    "message": "remove the whole `use` item"
                }
            ],
            "tags": [
                1
            ],
            "data": {
                "rendered": "warning: unused import: `std::env`\n --> src/main.rs:1:5\n  |\n1 | use std::env;\n  |     ^^^^^^^^\n  |\n  = note: `#[warn(unused_imports)]` on by default\n\n"
            }
        },
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 0
                },
                "end": {
                    "line": 1,
                    "character": 0
                }
            },
            "severity": 4,
            "code": "unused_imports",
            "source": "rustc",
            "message": "remove the whole `use` item",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 4
                            },
                            "end": {
                                "line": 0,
                                "character": 12
                            }
                        }
                    },
                    "message": "original diagnostic"
                }
            ]
        }
    ],
    "version": 1
}

[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:23 PM] Sending request 'textDocument/inlayHint - (2)'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs"
    },
    "range": {
        "start": {
            "line": 0,
            "character": 0
        },
        "end": {
            "line": 5,
            "character": 0
        }
    }
}

[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "8/12 (alloc)",
        "percentage": 66
    }
}

[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "9/12 (std)",
        "percentage": 75
    }
}

[Trace - 2:37:24 PM] Received response 'textDocument/inlayHint - (2)' in 1338ms.
Result: []

[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 83
    }
}

[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "10/12 (proc_macro)",
        "percentage": 83
    }
}

[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 91
    }
}

[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "11/12 (demo_rs)",
        "percentage": 91
    }
}

[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 100
    }
}

[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:25 PM] Received request 'window/workDoneProgress/create - (31)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}

[Trace - 2:37:25 PM] Sending response 'window/workDoneProgress/create - (31)'. Processing request took 0ms
No result returned.

[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}

[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 75
    }
}

[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 100
    }
}

[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}

[Trace - 2:37:25 PM] Received notification 'experimental/serverStatus'.
Params: {
    "health": "ok",
    "quiescent": true,
    "message": null
}

[Trace - 2:37:35 PM] Sending request 'textDocument/diagnostic - (3)'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs"
    }
}

[Trace - 2:37:35 PM] Received response 'textDocument/diagnostic - (3)' in 96ms.
Result: {
    "kind": "full",
    "items": []
}

[Trace - 2:38:05 PM] Sending request 'textDocument/diagnostic - (4)'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs"
    }
}

[Trace - 2:38:05 PM] Received response 'textDocument/diagnostic - (4)' in 2ms.
Result: {
    "kind": "full",
    "items": []
}