bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#63433: Eglot "eglot--apply-workspace-edit > documentChanges > create


From: Stefan Kangas
Subject: bug#63433: Eglot "eglot--apply-workspace-edit > documentChanges > create" fails
Date: Thu, 7 Sep 2023 02:59:37 -0700

Felician Nemeth <felician.nemeth@gmail.com> writes:

> In its initializationOptions, Eglot do not state that it supports any
> resourceOperations.  So the server made a mistake when it sent a
> "create" kind.
>
> Sure, Eglot could handle better the server's mistake or support this
> feature, but this is primarily a server bug in my opinion.
>
> Background:
> https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspaceEditClientCapabilities

João, any comments here?

> Misha Zharov <mishazharov1@gmail.com> writes:
>
>> When I declare a module that does not exist in Rust,
>> `M-x eglot-code-actions` suggests that I create the file. However, when I
>> select this option I get the following traceback and the change is not
>> applied:
>>
>> ```
>> Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
>>   file-truename(nil)
>>   find-buffer-visiting(nil)
>>   cl-every(find-buffer-visiting (nil))
>>   cl-notevery(find-buffer-visiting (nil))
>>   eglot--apply-workspace-edit((:documentChanges [(:kind "create" :uri
>> "file:///home/misha/sweet/repos/tmp/thing.rs")]))
>>   eglot--read-execute-code-action(((:title "Create module at
>> `thing.rs`" :kind "quickfix" :edit (:documentChanges [(:kind "create"
>> :uri "file:///home/misha/sweet/repos/tmp/thing.rs")])) (:title "Create
>> module at `thing/mod.rs`" :kind "quickfix" :edit (:documentChanges
>> [(:kind "create" :uri
>> "file:///home/misha/sweet/repos/tmp/thing/mod.rs")])))
>> #<eglot-lsp-server eglot-lsp-server-156498df5f36> nil)
>>   eglot-code-actions(5 10 nil t)
>>   funcall-interactively(eglot-code-actions 5 10 nil t)
>>   command-execute(eglot-code-actions record)
>>   execute-extended-command(nil "eglot-code-actions" "eglot-code-actions")
>>   funcall-interactively(execute-extended-command nil
>> "eglot-code-actions" "eglot-code-actions")
>>   command-execute(execute-extended-command)
>> ```
>>
>> Reproduction (from `emacs -Q`):
>> Create a `Cargo.toml`:
>> ```
>> [package]
>> name = "tmp"
>> version = "0.1.0"
>> edition = "2021"
>>
>> # See more keys and their definitions at
>> https://doc.rust-lang.org/cargo/reference/manifest.html
>>
>> [dependencies]
>>
>> [[bin]]
>> name = "tmp"
>> path = "main.rs"
>> ```
>>
>> Create a `main.rs`:
>> ```
>> mod thing;
>>
>> fn main() {
>>    println!("Hello world");
>> }
>> ```
>>
>> Enable `rust-ts-mode` (the treesit grammar has to be installed I
>> assume). Flymake and ElDoc appear to be enabled as well. Enable eglot:
>> `M-x eglot`.
>>
>> Eglot should prompt us to choose a language server. This reproduces with
>> rust-analyzer which is shipped with Rust 1.69 (can be obtained at
>> `https://www.rust-lang.org/tools/install`). RLS should not be used.
>>
>> Now there should be a code action to fix the issue with the missing
>> module (by creating the file `thing.rs`). However, we see that the code
>> action is not applied successfully.
>>
>> `M-x eglot-events-buffer`:
>> ```
>> [internal] Wed May 10 21:26:58 2023:
>> (:message "Running language server: /home/misha/.cargo/bin/rust-analyzer")
>> [client-request] (id:1) Wed May 10 21:26:58 2023:
>> (:jsonrpc "2.0" :id 1 :method "initialize" :params
>>       (:processId 14861 :rootPath "/home/misha/sweet/repos/tmp/"
>> :rootUri "file:///home/misha/sweet/repos/tmp" :initializationOptions
>> #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125
>> data
>>                                                                             
>> ())
>>               :capabilities
>>               (:workspace
>>                (:applyEdit t :executeCommand
>>                    (:dynamicRegistration :json-false)
>>                    :workspaceEdit
>>                    (:documentChanges t)
>>                    :didChangeWatchedFiles
>>                    (:dynamicRegistration t)
>>                    :symbol
>>                    (:dynamicRegistration :json-false)
>>                    :configuration t :workspaceFolders t)
>>                :textDocument
>>                (:synchronization
>>             (:dynamicRegistration :json-false :willSave t
>> :willSaveWaitUntil t :didSave t)
>>             :completion
>>             (:dynamicRegistration :json-false :completionItem
>>                           (:snippetSupport :json-false
>> :deprecatedSupport t :resolveSupport
>>                                    (:properties
>>                                 ["documentation" "details"
>> "additionalTextEdits"])
>>                                    :tagSupport
>>                                    (:valueSet
>>                                 [1]))
>>                           :contextSupport t)
>>             :hover
>>             (:dynamicRegistration :json-false :contentFormat
>>                           ["plaintext"])
>>             :signatureHelp
>>             (:dynamicRegistration :json-false :signatureInformation
>>                           (:parameterInformation
>>                            (:labelOffsetSupport t)
>>                            :activeParameterSupport t))
>>             :references
>>             (:dynamicRegistration :json-false)
>>             :definition
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :declaration
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :implementation
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :typeDefinition
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :documentSymbol
>>             (:dynamicRegistration :json-false
>> :hierarchicalDocumentSymbolSupport t :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]))
>>             :documentHighlight
>>             (:dynamicRegistration :json-false)
>>             :codeAction
>>             (:dynamicRegistration :json-false :codeActionLiteralSupport
>>                           (:codeActionKind
>>                            (:valueSet
>>                         ["quickfix" "refactor" "refactor.extract"
>> "refactor.inline" "refactor.rewrite" "source"
>> "source.organizeImports"]))
>>                           :isPreferredSupport t)
>>             :formatting
>>             (:dynamicRegistration :json-false)
>>             :rangeFormatting
>>             (:dynamicRegistration :json-false)
>>             :rename
>>             (:dynamicRegistration :json-false)
>>             :inlayHint
>>             (:dynamicRegistration :json-false)
>>             :publishDiagnostics
>>             (:relatedInformation :json-false :codeDescriptionSupport
>> :json-false :tagSupport
>>                          (:valueSet
>>                           [1 2])))
>>                :window
>>                (:workDoneProgress t)
>>                :general
>>                (:positionEncodings
>>             ["utf-32" "utf-8" "utf-16"])
>>                :experimental #s(hash-table size 1 test eql rehash-size
>> 1.5 rehash-threshold 0.8125 data
>>                            ()))
>>               :workspaceFolders
>>               [(:uri "file:///home/misha/sweet/repos/tmp" :name
>> "~/sweet/repos/tmp/")]))
>> [server-reply] (id:1) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 1 :result
>>       (:capabilities
>>        (:positionEncoding "utf-32" :textDocumentSync
>>                   (:openClose t :change 2 :save nil)
>>                   :selectionRangeProvider t :hoverProvider t 
>> :completionProvider
>>                   (:resolveProvider t :triggerCharacters
>>                         [":" "." "'" "("]
>>                         :completionItem
>>                         (:labelDetailsSupport :json-false))
>>                   :signatureHelpProvider
>>                   (:triggerCharacters
>>                    ["(" "," "<"])
>>                   :definitionProvider t :typeDefinitionProvider t
>> :implementationProvider t :referencesProvider t
>> :documentHighlightProvider t :documentSymbolProvider t
>> :workspaceSymbolProvider t :codeActionProvider
>>                   (:codeActionKinds
>>                    ["" "quickfix" "refactor" "refactor.extract"
>> "refactor.inline" "refactor.rewrite"]
>>                    :resolveProvider t)
>>                   :codeLensProvider
>>                   (:resolveProvider t)
>>                   :documentFormattingProvider t
>> :documentRangeFormattingProvider :json-false
>> :documentOnTypeFormattingProvider
>>                   (:firstTriggerCharacter "=" :moreTriggerCharacter
>>                               ["." ">" "{"])
>>                   :renameProvider
>>                   (:prepareProvider t)
>>                   :foldingRangeProvider t :declarationProvider t :workspace
>>                   (:workspaceFolders
>>                    (:supported t :changeNotifications t)
>>                    :fileOperations
>>                    (:willRename
>>                 (:filters
>>                  [(:scheme "file" :pattern
>>                        (:glob "**/*.rs" :matches "file"))
>>                   (:scheme "file" :pattern
>>                        (:glob "**" :matches "folder"))])))
>>                   :callHierarchyProvider t :semanticTokensProvider
>>                   (:legend
>>                    (:tokenTypes
>>                 ["comment" "decorator" "enumMember" "enum" "function"
>> "interface" "keyword" "macro" "method" "namespace" "number" "operator"
>> "parameter" "property" "string" "struct" "typeParameter" "variable"
>> "angle" "arithmetic" "attribute" "attributeBracket" "bitwise"
>> "boolean" "brace" "bracket" "builtinAttribute" "builtinType"
>> "character" "colon" "comma" "comparison" "constParameter" "derive"
>> "deriveHelper" "dot" "escapeSequence" "formatSpecifier" "generic"
>> "label" "lifetime" "logical" "macroBang" "parenthesis" "punctuation"
>> "selfKeyword" "selfTypeKeyword" "semicolon" "typeAlias" "toolModule"
>> "union" "unresolvedReference"]
>>                 :tokenModifiers
>>                 ["documentation" "declaration" "static"
>> "defaultLibrary" "async" "attribute" "callable" "constant" "consuming"
>> "controlFlow" "crateRoot" "injected" "intraDocLink" "library"
>> "mutable" "public" "reference" "trait" "unsafe"])
>>                    :range t :full
>>                    (:delta t))
>>                   :inlayHintProvider
>>                   (:resolveProvider t)
>>                   :experimental
>>                   (:externalDocs t :hoverRange t :joinLines t
>> :matchingBrace t :moveItem t :onEnter t :openCargoToml t :parentModule
>> t :runnables
>>                          (:kinds
>>                           ["cargo"])
>>                          :ssr t :workspaceSymbolScopeKindFiltering t))
>>        :serverInfo
>>        (:name "rust-analyzer" :version "1.69.0 (84c898d 2023-04-16)")))
>> [client-notification] Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 1
>> test eql rehash-size 1.5 rehash-threshold 0.8125 data
>>                                 ()))
>> [client-notification] Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :method "textDocument/didOpen" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 0
>> :languageId "rust-ts" :text "mod thing;\n\nfn main() {\n
>> println!(\"Hello world\");\n}")))
>> [client-notification] Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
>>       (:settings #s(hash-table size 1 test eql rehash-size 1.5
>> rehash-threshold 0.8125 data
>>                    ())))
>> [client-request] (id:2) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 2 :method "textDocument/inlayHint" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 0)
>>         :end
>>         (:line 4 :character 1))))
>> [stderr] [ERROR rust_analyzer::config] failed to find any projects in
>> [AbsPathBuf("/home/misha/sweet/repos/tmp")]
>> [stderr] [ERROR rust_analyzer::lsp_utils] rust-analyzer failed to
>> discover workspace
>> [server-notification] Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :method "window/showMessage" :params
>>       (:type 1 :message "rust-analyzer failed to discover workspace"))
>> [stderr] [ERROR rust_analyzer::lsp_utils] rust-analyzer failed to
>> discover workspace
>> [server-request] (id:0) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 0 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Fetching"))
>> [client-reply] (id:0) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 0 :result nil)
>> [server-notification] Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "begin" :title "Fetching" :cancellable :json-false)))
>> [server-notification] Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :method "window/showMessage" :params
>>       (:type 1 :message "rust-analyzer failed to discover workspace"))
>> [server-notification] Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "end")))
>> [server-request] (id:1) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 1 :method "workspace/configuration" :params
>>       (:items
>>        [(:section "rust-analyzer")]))
>> [client-reply] (id:1) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 1 :result
>>       [nil])
>> [server-request] (id:2) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 2 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Indexing"))
>> [client-reply] (id:2) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 2 :result nil)
>> [server-notification] Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "begin" :title "Indexing" :cancellable :json-false
>> :percentage 0)))
>> [server-notification] Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "end")))
>> [server-reply] (id:2) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 2 :result
>>       [])
>> [client-request] (id:3) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 3 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 3 :character 24)))
>> [client-request] (id:4) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 4 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 3 :character 24)))
>> [client-request] (id:5) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 5 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 3 :character 24)))
>> [server-reply] (id:3) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 3 :result nil)
>> [server-reply] (id:4) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 4 :result nil)
>> [server-reply] (id:5) Wed May 10 21:27:00 2023:
>> (:jsonrpc "2.0" :id 5 :result nil)
>> [client-request] (id:6) Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :id 6 :method "shutdown" :params nil)
>> [server-reply] (id:6) Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :id 6 :result nil)
>> [client-notification] Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :method "exit" :params nil)
>> [internal] Wed May 10 21:29:29 2023:
>> (:message "Connection state changed" :change "killed\n")
>>
>> ----------b---y---e---b---y---e----------
>> [stderr]
>> [stderr]
>> [stderr] nil
>> [stderr] nil
>> [stderr] Process EGLOT (tmp/(rust-ts-mode rust-mode)) stderr finished
>> [client-request] (id:1) Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :id 1 :method "initialize" :params
>>       (:processId 14861 :rootPath "/home/misha/sweet/repos/tmp/"
>> :rootUri "file:///home/misha/sweet/repos/tmp" :initializationOptions
>> #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125
>> data
>>                                                                             
>> ())
>>               :capabilities
>>               (:workspace
>>                (:applyEdit t :executeCommand
>>                    (:dynamicRegistration :json-false)
>>                    :workspaceEdit
>>                    (:documentChanges t)
>>                    :didChangeWatchedFiles
>>                    (:dynamicRegistration t)
>>                    :symbol
>>                    (:dynamicRegistration :json-false)
>>                    :configuration t :workspaceFolders t)
>>                :textDocument
>>                (:synchronization
>>             (:dynamicRegistration :json-false :willSave t
>> :willSaveWaitUntil t :didSave t)
>>             :completion
>>             (:dynamicRegistration :json-false :completionItem
>>                           (:snippetSupport :json-false
>> :deprecatedSupport t :resolveSupport
>>                                    (:properties
>>                                 ["documentation" "details"
>> "additionalTextEdits"])
>>                                    :tagSupport
>>                                    (:valueSet
>>                                 [1]))
>>                           :contextSupport t)
>>             :hover
>>             (:dynamicRegistration :json-false :contentFormat
>>                           ["plaintext"])
>>             :signatureHelp
>>             (:dynamicRegistration :json-false :signatureInformation
>>                           (:parameterInformation
>>                            (:labelOffsetSupport t)
>>                            :activeParameterSupport t))
>>             :references
>>             (:dynamicRegistration :json-false)
>>             :definition
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :declaration
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :implementation
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :typeDefinition
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :documentSymbol
>>             (:dynamicRegistration :json-false
>> :hierarchicalDocumentSymbolSupport t :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]))
>>             :documentHighlight
>>             (:dynamicRegistration :json-false)
>>             :codeAction
>>             (:dynamicRegistration :json-false :codeActionLiteralSupport
>>                           (:codeActionKind
>>                            (:valueSet
>>                         ["quickfix" "refactor" "refactor.extract"
>> "refactor.inline" "refactor.rewrite" "source"
>> "source.organizeImports"]))
>>                           :isPreferredSupport t)
>>             :formatting
>>             (:dynamicRegistration :json-false)
>>             :rangeFormatting
>>             (:dynamicRegistration :json-false)
>>             :rename
>>             (:dynamicRegistration :json-false)
>>             :inlayHint
>>             (:dynamicRegistration :json-false)
>>             :publishDiagnostics
>>             (:relatedInformation :json-false :codeDescriptionSupport
>> :json-false :tagSupport
>>                          (:valueSet
>>                           [1 2])))
>>                :window
>>                (:workDoneProgress t)
>>                :general
>>                (:positionEncodings
>>             ["utf-32" "utf-8" "utf-16"])
>>                :experimental #s(hash-table size 1 test eql rehash-size
>> 1.5 rehash-threshold 0.8125 data
>>                            ()))
>>               :workspaceFolders
>>               [(:uri "file:///home/misha/sweet/repos/tmp" :name
>> "~/sweet/repos/tmp/")]))
>> [server-reply] (id:1) Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :id 1 :result
>>       (:capabilities
>>        (:positionEncoding "utf-32" :textDocumentSync
>>                   (:openClose t :change 2 :save nil)
>>                   :selectionRangeProvider t :hoverProvider t 
>> :completionProvider
>>                   (:resolveProvider t :triggerCharacters
>>                         [":" "." "'" "("]
>>                         :completionItem
>>                         (:labelDetailsSupport :json-false))
>>                   :signatureHelpProvider
>>                   (:triggerCharacters
>>                    ["(" "," "<"])
>>                   :definitionProvider t :typeDefinitionProvider t
>> :implementationProvider t :referencesProvider t
>> :documentHighlightProvider t :documentSymbolProvider t
>> :workspaceSymbolProvider t :codeActionProvider
>>                   (:codeActionKinds
>>                    ["" "quickfix" "refactor" "refactor.extract"
>> "refactor.inline" "refactor.rewrite"]
>>                    :resolveProvider t)
>>                   :codeLensProvider
>>                   (:resolveProvider t)
>>                   :documentFormattingProvider t
>> :documentRangeFormattingProvider :json-false
>> :documentOnTypeFormattingProvider
>>                   (:firstTriggerCharacter "=" :moreTriggerCharacter
>>                               ["." ">" "{"])
>>                   :renameProvider
>>                   (:prepareProvider t)
>>                   :foldingRangeProvider t :declarationProvider t :workspace
>>                   (:workspaceFolders
>>                    (:supported t :changeNotifications t)
>>                    :fileOperations
>>                    (:willRename
>>                 (:filters
>>                  [(:scheme "file" :pattern
>>                        (:glob "**/*.rs" :matches "file"))
>>                   (:scheme "file" :pattern
>>                        (:glob "**" :matches "folder"))])))
>>                   :callHierarchyProvider t :semanticTokensProvider
>>                   (:legend
>>                    (:tokenTypes
>>                 ["comment" "decorator" "enumMember" "enum" "function"
>> "interface" "keyword" "macro" "method" "namespace" "number" "operator"
>> "parameter" "property" "string" "struct" "typeParameter" "variable"
>> "angle" "arithmetic" "attribute" "attributeBracket" "bitwise"
>> "boolean" "brace" "bracket" "builtinAttribute" "builtinType"
>> "character" "colon" "comma" "comparison" "constParameter" "derive"
>> "deriveHelper" "dot" "escapeSequence" "formatSpecifier" "generic"
>> "label" "lifetime" "logical" "macroBang" "parenthesis" "punctuation"
>> "selfKeyword" "selfTypeKeyword" "semicolon" "typeAlias" "toolModule"
>> "union" "unresolvedReference"]
>>                 :tokenModifiers
>>                 ["documentation" "declaration" "static"
>> "defaultLibrary" "async" "attribute" "callable" "constant" "consuming"
>> "controlFlow" "crateRoot" "injected" "intraDocLink" "library"
>> "mutable" "public" "reference" "trait" "unsafe"])
>>                    :range t :full
>>                    (:delta t))
>>                   :inlayHintProvider
>>                   (:resolveProvider t)
>>                   :experimental
>>                   (:externalDocs t :hoverRange t :joinLines t
>> :matchingBrace t :moveItem t :onEnter t :openCargoToml t :parentModule
>> t :runnables
>>                          (:kinds
>>                           ["cargo"])
>>                          :ssr t :workspaceSymbolScopeKindFiltering t))
>>        :serverInfo
>>        (:name "rust-analyzer" :version "1.69.0 (84c898d 2023-04-16)")))
>> [client-notification] Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 1
>> test eql rehash-size 1.5 rehash-threshold 0.8125 data
>>                                 ()))
>> [client-notification] Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
>>       (:settings #s(hash-table size 1 test eql rehash-size 1.5
>> rehash-threshold 0.8125 data
>>                    ())))
>> [server-request] (id:0) Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :id 0 :method "workspace/configuration" :params
>>       (:items
>>        [(:section "rust-analyzer")]))
>> [client-reply] (id:0) Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :id 0 :result
>>       [nil])
>> [server-request] (id:1) Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :id 1 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Fetching"))
>> [client-reply] (id:1) Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :id 1 :result nil)
>> [server-notification] Wed May 10 21:29:29 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "begin" :title "Fetching" :cancellable :json-false)))
>> [server-notification] Wed May 10 21:29:32 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "report" :cancellable :json-false :message "metadata")))
>> [server-request] (id:2) Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :id 2 :method "client/registerCapability" :params
>>       (:registrations
>>        [(:id "workspace/didChangeWatchedFiles" :method
>> "workspace/didChangeWatchedFiles" :registerOptions
>>          (:watchers
>>           [(:globPattern "/home/misha/sweet/repos/tmp/**/*.rs")
>>            (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.toml")
>>            (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.lock")]))]))
>> [client-reply] (id:2) Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :id 2 :result nil)
>> [server-notification] Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "end")))
>> [server-request] (id:3) Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :id 3 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Roots Scanned"))
>> [client-reply] (id:3) Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :id 3 :result nil)
>> [server-notification] Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "begin" :title "Roots Scanned" :cancellable
>> :json-false :message "0/2" :percentage 0)))
>> [server-notification] Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "report" :cancellable :json-false :message "1/2"
>> :percentage 50)))
>> [server-request] (id:4) Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :id 4 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Fetching"))
>> [client-reply] (id:4) Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :id 4 :result nil)
>> [server-notification] Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "begin" :title "Fetching" :cancellable :json-false)))
>> [server-notification] Wed May 10 21:29:35 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "report" :cancellable :json-false :message "metadata")))
>> [server-notification] Wed May 10 21:29:36 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "end")))
>> [server-request] (id:5) Wed May 10 21:29:36 2023:
>> (:jsonrpc "2.0" :id 5 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Loading"))
>> [client-reply] (id:5) Wed May 10 21:29:36 2023:
>> (:jsonrpc "2.0" :id 5 :result nil)
>> [server-notification] Wed May 10 21:29:36 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Loading" :value
>>           (:kind "begin" :title "Loading" :cancellable :json-false)))
>> [server-notification] Wed May 10 21:29:36 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Loading" :value
>>           (:kind "report" :cancellable :json-false :message "building
>> proc-macros: tmp")))
>> [server-notification] Wed May 10 21:29:36 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Loading" :value
>>           (:kind "report" :cancellable :json-false :message "building
>> proc-macros: tmp")))
>> [server-request] (id:6) Wed May 10 21:29:36 2023:
>> (:jsonrpc "2.0" :id 6 :method "client/registerCapability" :params
>>       (:registrations
>>        [(:id "workspace/didChangeWatchedFiles" :method
>> "workspace/didChangeWatchedFiles" :registerOptions
>>          (:watchers
>>           [(:globPattern "/home/misha/sweet/repos/tmp/**/*.rs")
>>            (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.toml")
>>            (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.lock")]))]))
>> [client-reply] (id:6) Wed May 10 21:29:36 2023:
>> (:jsonrpc "2.0" :id 6 :result nil)
>> [server-notification] Wed May 10 21:29:36 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Loading" :value
>>           (:kind "end")))
>> [server-notification] Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "end" :message "2/2")))
>> [server-request] (id:7) Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :id 7 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Roots Scanned"))
>> [client-reply] (id:7) Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :id 7 :result nil)
>> [server-notification] Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "begin" :title "Roots Scanned" :cancellable
>> :json-false :message "0/2" :percentage 0)))
>> [server-notification] Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "report" :cancellable :json-false :message "1/2"
>> :percentage 50)))
>> [server-notification] Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "end" :message "2/2")))
>> [server-request] (id:8) Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :id 8 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Fetching"))
>> [client-reply] (id:8) Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :id 8 :result nil)
>> [server-notification] Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "begin" :title "Fetching" :cancellable :json-false)))
>> [server-notification] Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "report" :cancellable :json-false :message "metadata")))
>> [server-notification] Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "end")))
>> [server-request] (id:9) Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :id 9 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Indexing"))
>> [client-reply] (id:9) Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :id 9 :result nil)
>> [server-notification] Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "begin" :title "Indexing" :cancellable :json-false
>> :percentage 0)))
>> [server-notification] Wed May 10 21:29:48 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "0/5 (test
>> + 1 more)" :percentage 0)))
>> [server-request] (id:10) Wed May 10 21:29:49 2023:
>> (:jsonrpc "2.0" :id 10 :method "window/workDoneProgress/create" :params
>>       (:token "rust-analyzer/flycheck/0"))
>> [client-reply] (id:10) Wed May 10 21:29:49 2023:
>> (:jsonrpc "2.0" :id 10 :result nil)
>> [server-notification] Wed May 10 21:29:49 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rust-analyzer/flycheck/0" :value
>>           (:kind "begin" :title "cargo check" :cancellable t)))
>> [server-notification] Wed May 10 21:29:49 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "1/5
>> (core)" :percentage 20)))
>> [server-notification] Wed May 10 21:29:49 2023:
>> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
>>       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
>>         [(:range
>>           (:start
>>            (:line 0 :character 0)
>>            :end
>>            (:line 0 :character 10))
>>           :severity 1 :code "E0583" :codeDescription
>>           (:href "https://doc.rust-lang.org/error-index.html#E0583";)
>>           :source "rustc" :message "file not found for module
>> `thing`\nto create the module `thing`, create file \"thing.rs\" or
>> \"thing/mod.rs\"" :data
>>           (:rendered "error[E0583]: file not found for module
>> `thing`\n --> main.rs:1:1\n  |\n1 | mod thing;\n  | ^^^^^^^^^^\n  |\n
>> = help: to create the module `thing`, create file \"thing.rs\" or
>> \"thing/mod.rs\"\n\n"))]))
>> [server-notification] Wed May 10 21:29:52 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :percentage 40)))
>> [server-notification] Wed May 10 21:29:52 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "2/5
>> (alloc)" :percentage 40)))
>> [server-notification] Wed May 10 21:29:52 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :percentage 60)))
>> [server-notification] Wed May 10 21:29:52 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "3/5
>> (std)" :percentage 60)))
>> [server-notification] Wed May 10 21:29:53 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :percentage 80)))
>> [server-notification] Wed May 10 21:29:53 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "4/5
>> (proc_macro)" :percentage 80)))
>> [server-notification] Wed May 10 21:29:53 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :percentage 100)))
>> [server-notification] Wed May 10 21:29:53 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "end")))
>> [server-notification] Wed May 10 21:29:54 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rust-analyzer/flycheck/0" :value
>>           (:kind "end")))
>> [client-notification] Wed May 10 21:30:01 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri 
>> "file:///home/misha/sweet/repos/tmp/misha@misha-N552VX.14861%3A1683769648"
>> :type 1)]))
>> [client-notification] Wed May 10 21:30:08 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri "file:///home/misha/sweet/repos/tmp/main.rs" :type 1)]))
>> [client-notification] Wed May 10 21:30:08 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri "file:///home/misha/sweet/repos/tmp/main.rs" :type 2)]))
>> [client-notification] Wed May 10 21:30:08 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri "file:///home/misha/sweet/repos/tmp/.%23main.rs" :type 3)]))
>> [stderr]
>> [stderr]
>> [stderr] nil
>> [stderr] nil
>> [stderr] Process EGLOT (tmp/(rust-ts-mode rust-mode)) stderr finished
>> [internal] Wed May 10 21:30:16 2023:
>> (:message "Running language server: /home/misha/.cargo/bin/rust-analyzer")
>> [client-request] (id:1) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 1 :method "initialize" :params
>>       (:processId 14861 :rootPath "/home/misha/sweet/repos/tmp/"
>> :rootUri "file:///home/misha/sweet/repos/tmp" :initializationOptions
>> #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125
>> data
>>                                                                             
>> ())
>>               :capabilities
>>               (:workspace
>>                (:applyEdit t :executeCommand
>>                    (:dynamicRegistration :json-false)
>>                    :workspaceEdit
>>                    (:documentChanges t)
>>                    :didChangeWatchedFiles
>>                    (:dynamicRegistration t)
>>                    :symbol
>>                    (:dynamicRegistration :json-false)
>>                    :configuration t :workspaceFolders t)
>>                :textDocument
>>                (:synchronization
>>             (:dynamicRegistration :json-false :willSave t
>> :willSaveWaitUntil t :didSave t)
>>             :completion
>>             (:dynamicRegistration :json-false :completionItem
>>                           (:snippetSupport :json-false
>> :deprecatedSupport t :resolveSupport
>>                                    (:properties
>>                                 ["documentation" "details"
>> "additionalTextEdits"])
>>                                    :tagSupport
>>                                    (:valueSet
>>                                 [1]))
>>                           :contextSupport t)
>>             :hover
>>             (:dynamicRegistration :json-false :contentFormat
>>                           ["plaintext"])
>>             :signatureHelp
>>             (:dynamicRegistration :json-false :signatureInformation
>>                           (:parameterInformation
>>                            (:labelOffsetSupport t)
>>                            :activeParameterSupport t))
>>             :references
>>             (:dynamicRegistration :json-false)
>>             :definition
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :declaration
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :implementation
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :typeDefinition
>>             (:dynamicRegistration :json-false :linkSupport t)
>>             :documentSymbol
>>             (:dynamicRegistration :json-false
>> :hierarchicalDocumentSymbolSupport t :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]))
>>             :documentHighlight
>>             (:dynamicRegistration :json-false)
>>             :codeAction
>>             (:dynamicRegistration :json-false :codeActionLiteralSupport
>>                           (:codeActionKind
>>                            (:valueSet
>>                         ["quickfix" "refactor" "refactor.extract"
>> "refactor.inline" "refactor.rewrite" "source"
>> "source.organizeImports"]))
>>                           :isPreferredSupport t)
>>             :formatting
>>             (:dynamicRegistration :json-false)
>>             :rangeFormatting
>>             (:dynamicRegistration :json-false)
>>             :rename
>>             (:dynamicRegistration :json-false)
>>             :inlayHint
>>             (:dynamicRegistration :json-false)
>>             :publishDiagnostics
>>             (:relatedInformation :json-false :codeDescriptionSupport
>> :json-false :tagSupport
>>                          (:valueSet
>>                           [1 2])))
>>                :window
>>                (:workDoneProgress t)
>>                :general
>>                (:positionEncodings
>>             ["utf-32" "utf-8" "utf-16"])
>>                :experimental #s(hash-table size 1 test eql rehash-size
>> 1.5 rehash-threshold 0.8125 data
>>                            ()))
>>               :workspaceFolders
>>               [(:uri "file:///home/misha/sweet/repos/tmp" :name
>> "~/sweet/repos/tmp/")]))
>> [server-reply] (id:1) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 1 :result
>>       (:capabilities
>>        (:positionEncoding "utf-32" :textDocumentSync
>>                   (:openClose t :change 2 :save nil)
>>                   :selectionRangeProvider t :hoverProvider t 
>> :completionProvider
>>                   (:resolveProvider t :triggerCharacters
>>                         [":" "." "'" "("]
>>                         :completionItem
>>                         (:labelDetailsSupport :json-false))
>>                   :signatureHelpProvider
>>                   (:triggerCharacters
>>                    ["(" "," "<"])
>>                   :definitionProvider t :typeDefinitionProvider t
>> :implementationProvider t :referencesProvider t
>> :documentHighlightProvider t :documentSymbolProvider t
>> :workspaceSymbolProvider t :codeActionProvider
>>                   (:codeActionKinds
>>                    ["" "quickfix" "refactor" "refactor.extract"
>> "refactor.inline" "refactor.rewrite"]
>>                    :resolveProvider t)
>>                   :codeLensProvider
>>                   (:resolveProvider t)
>>                   :documentFormattingProvider t
>> :documentRangeFormattingProvider :json-false
>> :documentOnTypeFormattingProvider
>>                   (:firstTriggerCharacter "=" :moreTriggerCharacter
>>                               ["." ">" "{"])
>>                   :renameProvider
>>                   (:prepareProvider t)
>>                   :foldingRangeProvider t :declarationProvider t :workspace
>>                   (:workspaceFolders
>>                    (:supported t :changeNotifications t)
>>                    :fileOperations
>>                    (:willRename
>>                 (:filters
>>                  [(:scheme "file" :pattern
>>                        (:glob "**/*.rs" :matches "file"))
>>                   (:scheme "file" :pattern
>>                        (:glob "**" :matches "folder"))])))
>>                   :callHierarchyProvider t :semanticTokensProvider
>>                   (:legend
>>                    (:tokenTypes
>>                 ["comment" "decorator" "enumMember" "enum" "function"
>> "interface" "keyword" "macro" "method" "namespace" "number" "operator"
>> "parameter" "property" "string" "struct" "typeParameter" "variable"
>> "angle" "arithmetic" "attribute" "attributeBracket" "bitwise"
>> "boolean" "brace" "bracket" "builtinAttribute" "builtinType"
>> "character" "colon" "comma" "comparison" "constParameter" "derive"
>> "deriveHelper" "dot" "escapeSequence" "formatSpecifier" "generic"
>> "label" "lifetime" "logical" "macroBang" "parenthesis" "punctuation"
>> "selfKeyword" "selfTypeKeyword" "semicolon" "typeAlias" "toolModule"
>> "union" "unresolvedReference"]
>>                 :tokenModifiers
>>                 ["documentation" "declaration" "static"
>> "defaultLibrary" "async" "attribute" "callable" "constant" "consuming"
>> "controlFlow" "crateRoot" "injected" "intraDocLink" "library"
>> "mutable" "public" "reference" "trait" "unsafe"])
>>                    :range t :full
>>                    (:delta t))
>>                   :inlayHintProvider
>>                   (:resolveProvider t)
>>                   :experimental
>>                   (:externalDocs t :hoverRange t :joinLines t
>> :matchingBrace t :moveItem t :onEnter t :openCargoToml t :parentModule
>> t :runnables
>>                          (:kinds
>>                           ["cargo"])
>>                          :ssr t :workspaceSymbolScopeKindFiltering t))
>>        :serverInfo
>>        (:name "rust-analyzer" :version "1.69.0 (84c898d 2023-04-16)")))
>> [client-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 1
>> test eql rehash-size 1.5 rehash-threshold 0.8125 data
>>                                 ()))
>> [client-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "textDocument/didOpen" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 0
>> :languageId "rust-ts" :text "fn main() {\n   println!(\"Hello
>> world\");\n}\n")))
>> [client-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
>>       (:settings #s(hash-table size 1 test eql rehash-size 1.5
>> rehash-threshold 0.8125 data
>>                    ())))
>> [client-request] (id:2) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 2 :method "textDocument/inlayHint" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 0)
>>         :end
>>         (:line 3 :character 0))))
>> [server-request] (id:0) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 0 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Fetching"))
>> [client-reply] (id:0) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 0 :result nil)
>> [server-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "begin" :title "Fetching" :cancellable :json-false)))
>> [server-request] (id:1) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 1 :method "workspace/configuration" :params
>>       (:items
>>        [(:section "rust-analyzer")]))
>> [client-reply] (id:1) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 1 :result
>>       [nil])
>> [server-reply] (id:2) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 2 :result
>>       [])
>> [server-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "report" :cancellable :json-false :message "metadata")))
>> [server-request] (id:2) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 2 :method "client/registerCapability" :params
>>       (:registrations
>>        [(:id "workspace/didChangeWatchedFiles" :method
>> "workspace/didChangeWatchedFiles" :registerOptions
>>          (:watchers
>>           [(:globPattern "/home/misha/sweet/repos/tmp/**/*.rs")
>>            (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.toml")
>>            (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.lock")]))]))
>> [client-reply] (id:2) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 2 :result nil)
>> [server-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "end")))
>> [server-request] (id:3) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 3 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Roots Scanned"))
>> [client-reply] (id:3) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 3 :result nil)
>> [server-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "begin" :title "Roots Scanned" :cancellable
>> :json-false :message "0/2" :percentage 0)))
>> [server-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "report" :cancellable :json-false :message "1/2"
>> :percentage 50)))
>> [server-request] (id:4) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 4 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Fetching"))
>> [client-reply] (id:4) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 4 :result nil)
>> [server-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "begin" :title "Fetching" :cancellable :json-false)))
>> [client-request] (id:3) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 3 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 0)))
>> [client-request] (id:4) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 4 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 0)))
>> [client-request] (id:5) Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :id 5 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 0)))
>> [server-notification] Wed May 10 21:30:16 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "end" :message "2/2")))
>> [server-reply] (id:3) Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :id 3 :result nil)
>> [server-reply] (id:4) Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :id 4 :result nil)
>> [server-notification] Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "report" :cancellable :json-false :message "metadata")))
>> [server-notification] Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "end")))
>> [server-request] (id:5) Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :id 5 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Fetching"))
>> [client-reply] (id:5) Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :id 5 :result nil)
>> [server-notification] Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "begin" :title "Fetching" :cancellable :json-false)))
>> [server-notification] Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "report" :cancellable :json-false :message "metadata")))
>> [server-notification] Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Fetching" :value
>>           (:kind "end")))
>> [server-request] (id:6) Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :id 6 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Loading"))
>> [client-reply] (id:6) Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :id 6 :result nil)
>> [server-notification] Wed May 10 21:30:17 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Loading" :value
>>           (:kind "begin" :title "Loading" :cancellable :json-false)))
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Loading" :value
>>           (:kind "report" :cancellable :json-false :message "building
>> proc-macros: tmp")))
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Loading" :value
>>           (:kind "report" :cancellable :json-false :message "building
>> proc-macros: tmp")))
>> [server-request] (id:7) Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :id 7 :method "client/registerCapability" :params
>>       (:registrations
>>        [(:id "workspace/didChangeWatchedFiles" :method
>> "workspace/didChangeWatchedFiles" :registerOptions
>>          (:watchers
>>           [(:globPattern "/home/misha/sweet/repos/tmp/**/*.rs")
>>            (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.toml")
>>            (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.lock")]))]))
>> [client-reply] (id:7) Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :id 7 :result nil)
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Loading" :value
>>           (:kind "end")))
>> [server-request] (id:8) Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :id 8 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Roots Scanned"))
>> [client-reply] (id:8) Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :id 8 :result nil)
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "begin" :title "Roots Scanned" :cancellable
>> :json-false :message "0/2" :percentage 0)))
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "report" :cancellable :json-false :message "1/2"
>> :percentage 50)))
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Roots Scanned" :value
>>           (:kind "end" :message "2/2")))
>> [server-request] (id:9) Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :id 9 :method "window/workDoneProgress/create" :params
>>       (:token "rustAnalyzer/Indexing"))
>> [client-reply] (id:9) Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :id 9 :result nil)
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "begin" :title "Indexing" :cancellable :json-false
>> :percentage 0)))
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "0/5 (core
>> + 1 more)" :percentage 0)))
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "1/5
>> (core)" :percentage 20)))
>> [server-request] (id:10) Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :id 10 :method "window/workDoneProgress/create" :params
>>       (:token "rust-analyzer/flycheck/0"))
>> [client-reply] (id:10) Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :id 10 :result nil)
>> [server-notification] Wed May 10 21:30:18 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rust-analyzer/flycheck/0" :value
>>           (:kind "begin" :title "cargo check" :cancellable t)))
>> [server-notification] Wed May 10 21:30:19 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rust-analyzer/flycheck/0" :value
>>           (:kind "report" :cancellable t :message "tmp")))
>> [server-notification] Wed May 10 21:30:19 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rust-analyzer/flycheck/0" :value
>>           (:kind "report" :cancellable t :message "tmp")))
>> [server-notification] Wed May 10 21:30:19 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rust-analyzer/flycheck/0" :value
>>           (:kind "end")))
>> [server-notification] Wed May 10 21:30:20 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "2/5
>> (alloc)" :percentage 40)))
>> [server-notification] Wed May 10 21:30:21 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :percentage 60)))
>> [server-notification] Wed May 10 21:30:21 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "3/5
>> (std)" :percentage 60)))
>> [server-notification] Wed May 10 21:30:21 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :percentage 80)))
>> [server-notification] Wed May 10 21:30:21 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :message "4/5
>> (proc_macro)" :percentage 80)))
>> [client-notification] Wed May 10 21:30:21 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri 
>> "file:///home/misha/sweet/repos/tmp/misha@misha-N552VX.14861%3A1683769648"
>> :type 1)]))
>> [client-notification] Wed May 10 21:30:21 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri 
>> "file:///home/misha/sweet/repos/tmp/misha@misha-N552VX.14861%3A1683769648"
>> :type 1)]))
>> [server-notification] Wed May 10 21:30:21 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "report" :cancellable :json-false :percentage 100)))
>> [server-notification] Wed May 10 21:30:21 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rustAnalyzer/Indexing" :value
>>           (:kind "end")))
>> [server-reply] (id:5) Wed May 10 21:30:23 2023:
>> (:jsonrpc "2.0" :id 5 :result
>>       [])
>> [server-notification] Wed May 10 21:30:23 2023:
>> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
>>       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
>>         []
>>         :version 0))
>> [client-notification] Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :method "textDocument/didChange" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 9)
>>        :contentChanges
>>        [(:range
>>          (:start
>>           (:line 0 :character 0)
>>           :end
>>           (:line 0 :character 0))
>>          :rangeLength 0 :text "\n")
>>         (:range
>>          (:start
>>           (:line 1 :character 0)
>>           :end
>>           (:line 1 :character 0))
>>          :rangeLength 0 :text "\n")
>>         (:range
>>          (:start
>>           (:line 0 :character 0)
>>           :end
>>           (:line 0 :character 0))
>>          :rangeLength 0 :text "m")
>>         (:range
>>          (:start
>>           (:line 0 :character 1)
>>           :end
>>           (:line 0 :character 1))
>>          :rangeLength 0 :text "d")
>>         (:range
>>          (:start
>>           (:line 0 :character 1)
>>           :end
>>           (:line 0 :character 2))
>>          :rangeLength 1 :text "")
>>         (:range
>>          (:start
>>           (:line 0 :character 1)
>>           :end
>>           (:line 0 :character 1))
>>          :rangeLength 0 :text "d")
>>         (:range
>>          (:start
>>           (:line 0 :character 2)
>>           :end
>>           (:line 0 :character 2))
>>          :rangeLength 0 :text " ")
>>         (:range
>>          (:start
>>           (:line 0 :character 2)
>>           :end
>>           (:line 0 :character 3))
>>          :rangeLength 1 :text "")
>>         (:range
>>          (:start
>>           (:line 0 :character 1)
>>           :end
>>           (:line 0 :character 2))
>>          :rangeLength 1 :text "")]))
>> [client-request] (id:6) Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :id 6 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 1)))
>> [client-request] (id:7) Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :id 7 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 1)))
>> [client-request] (id:8) Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :id 8 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 1)))
>> [client-request] (id:9) Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :id 9 :method "textDocument/inlayHint" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 0)
>>         :end
>>         (:line 5 :character 0))))
>> [server-reply] (id:6) Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :id 6 :result nil)
>> [server-reply] (id:7) Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :id 7 :result nil)
>> [server-reply] (id:8) Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :id 8 :result nil)
>> [server-reply] (id:9) Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :id 9 :result
>>       [])
>> [server-notification] Wed May 10 21:30:24 2023:
>> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
>>       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
>>         [(:range
>>           (:start
>>            (:line 0 :character 1)
>>            :end
>>            (:line 0 :character 1))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected BANG")
>>          (:range
>>           (:start
>>            (:line 0 :character 1)
>>            :end
>>            (:line 0 :character 1))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected
>> `{`, `[`, `(`")
>>          (:range
>>           (:start
>>            (:line 0 :character 1)
>>            :end
>>            (:line 0 :character 1))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected 
>> SEMICOLON")]
>>         :version 9))
>> [client-notification] Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :method "textDocument/didChange" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 12)
>>        :contentChanges
>>        [(:range
>>          (:start
>>           (:line 0 :character 1)
>>           :end
>>           (:line 0 :character 1))
>>          :rangeLength 0 :text "o")
>>         (:range
>>          (:start
>>           (:line 0 :character 2)
>>           :end
>>           (:line 0 :character 2))
>>          :rangeLength 0 :text "d")
>>         (:range
>>          (:start
>>           (:line 0 :character 3)
>>           :end
>>           (:line 0 :character 3))
>>          :rangeLength 0 :text " ")]))
>> [client-request] (id:10) Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :id 10 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 4)))
>> [client-request] (id:11) Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :id 11 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 4)))
>> [client-request] (id:12) Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :id 12 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 4)))
>> [client-request] (id:13) Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :id 13 :method "textDocument/inlayHint" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 0)
>>         :end
>>         (:line 5 :character 0))))
>> [server-notification] Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
>>       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
>>         [(:range
>>           (:start
>>            (:line 2 :character 0)
>>            :end
>>            (:line 2 :character 0))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected a name")
>>          (:range
>>           (:start
>>            (:line 2 :character 2)
>>            :end
>>            (:line 2 :character 2))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected `;` or 
>> `{`")
>>          (:range
>>           (:start
>>            (:line 2 :character 7)
>>            :end
>>            (:line 2 :character 7))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected BANG")
>>          (:range
>>           (:start
>>            (:line 2 :character 9)
>>            :end
>>            (:line 2 :character 9))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected 
>> SEMICOLON")
>>          (:range
>>           (:start
>>            (:line 2 :character 10)
>>            :end
>>            (:line 2 :character 10))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected an item")]
>>         :version 12))
>> [server-reply] (id:10) Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :id 10 :result nil)
>> [server-reply] (id:11) Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :id 11 :result nil)
>> [server-reply] (id:12) Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :id 12 :result nil)
>> [server-reply] (id:13) Wed May 10 21:30:25 2023:
>> (:jsonrpc "2.0" :id 13 :result
>>       [])
>> [client-notification] Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :method "textDocument/didChange" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 15)
>>        :contentChanges
>>        [(:range
>>          (:start
>>           (:line 0 :character 4)
>>           :end
>>           (:line 0 :character 4))
>>          :rangeLength 0 :text "t")
>>         (:range
>>          (:start
>>           (:line 0 :character 5)
>>           :end
>>           (:line 0 :character 5))
>>          :rangeLength 0 :text "m")
>>         (:range
>>          (:start
>>           (:line 0 :character 6)
>>           :end
>>           (:line 0 :character 6))
>>          :rangeLength 0 :text "p")]))
>> [client-request] (id:14) Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :id 14 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 7)))
>> [client-request] (id:15) Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :id 15 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 7)))
>> [client-request] (id:16) Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :id 16 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 7)))
>> [client-request] (id:17) Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :id 17 :method "textDocument/inlayHint" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 0)
>>         :end
>>         (:line 5 :character 0))))
>> [server-notification] Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
>>       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
>>         [(:range
>>           (:start
>>            (:line 0 :character 7)
>>            :end
>>            (:line 0 :character 7))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected `;` or 
>> `{`")]
>>         :version 15))
>> [server-reply] (id:14) Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :id 14 :result nil)
>> [server-reply] (id:17) Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :id 17 :result
>>       [])
>> [server-reply] (id:15) Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :id 15 :result
>>       (:contents
>>        (:kind "plaintext" :value "tmp\n\nmod tmp")
>>        :range
>>        (:start
>>         (:line 0 :character 4)
>>         :end
>>         (:line 0 :character 7))))
>> [server-reply] (id:16) Wed May 10 21:30:27 2023:
>> (:jsonrpc "2.0" :id 16 :result
>>       [(:range
>>         (:start
>>          (:line 0 :character 4)
>>          :end
>>          (:line 0 :character 7)))])
>> [internal] (id:18) Wed May 10 21:30:29 2023:
>> (:deferring :textDocument/signatureHelp :id 18 :params
>>         (:textDocument
>>          (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>          :position
>>          (:line 0 :character 8)))
>> [internal] (id:19) Wed May 10 21:30:29 2023:
>> (:deferring :textDocument/hover :id 19 :params
>>         (:textDocument
>>          (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>          :position
>>          (:line 0 :character 8)))
>> [internal] (id:20) Wed May 10 21:30:29 2023:
>> (:deferring :textDocument/documentHighlight :id 20 :params
>>         (:textDocument
>>          (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>          :position
>>          (:line 0 :character 8)))
>> [client-notification] Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :method "textDocument/didChange" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 16)
>>        :contentChanges
>>        [(:range
>>          (:start
>>           (:line 0 :character 7)
>>           :end
>>           (:line 0 :character 7))
>>          :rangeLength 0 :text ";")]))
>> [internal] Wed May 10 21:30:29 2023:
>> (:maybe-run-deferred
>>  (20 19 18))
>> [client-request] (id:20) Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :id 20 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 8)))
>> [client-request] (id:19) Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :id 19 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 8)))
>> [client-request] (id:18) Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :id 18 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 8)))
>> [client-request] (id:21) Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :id 21 :method "textDocument/inlayHint" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 0)
>>         :end
>>         (:line 5 :character 0))))
>> [server-reply] (id:20) Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :id 20 :result nil)
>> [server-reply] (id:19) Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :id 19 :result nil)
>> [server-reply] (id:18) Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :id 18 :result nil)
>> [server-notification] Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
>>       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
>>         [(:range
>>           (:start
>>            (:line 0 :character 0)
>>            :end
>>            (:line 0 :character 8))
>>           :severity 1 :code "unresolved-module" :codeDescription
>>           (:href
>> "https://rust-analyzer.github.io/manual.html#unresolved-module";)
>>           :source "rust-analyzer" :message "unresolved module, can't
>> find module file: tmp.rs, or tmp/mod.rs")]
>>         :version 16))
>> [server-reply] (id:21) Wed May 10 21:30:29 2023:
>> (:jsonrpc "2.0" :id 21 :result
>>       [])
>> [client-notification] Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :method "textDocument/didChange" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 19)
>>        :contentChanges
>>        [(:range
>>          (:start
>>           (:line 0 :character 6)
>>           :end
>>           (:line 0 :character 7))
>>          :rangeLength 1 :text "")
>>         (:range
>>          (:start
>>           (:line 0 :character 5)
>>           :end
>>           (:line 0 :character 6))
>>          :rangeLength 1 :text "")
>>         (:range
>>          (:start
>>           (:line 0 :character 4)
>>           :end
>>           (:line 0 :character 5))
>>          :rangeLength 1 :text "")]))
>> [client-request] (id:22) Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :id 22 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 4)))
>> [client-request] (id:23) Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :id 23 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 4)))
>> [client-request] (id:24) Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :id 24 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 4)))
>> [client-request] (id:25) Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :id 25 :method "textDocument/inlayHint" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 0)
>>         :end
>>         (:line 5 :character 0))))
>> [server-notification] Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
>>       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
>>         [(:range
>>           (:start
>>            (:line 0 :character 4)
>>            :end
>>            (:line 0 :character 4))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected a name")
>>          (:range
>>           (:start
>>            (:line 0 :character 5)
>>            :end
>>            (:line 0 :character 5))
>>           :severity 1 :code "syntax-error" :codeDescription
>>           (:href "https://rust-analyzer.github.io/manual.html#syntax-error";)
>>           :source "rust-analyzer" :message "Syntax Error: expected `;` or 
>> `{`")]
>>         :version 19))
>> [server-reply] (id:22) Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :id 22 :result nil)
>> [server-reply] (id:23) Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :id 23 :result nil)
>> [server-reply] (id:24) Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :id 24 :result nil)
>> [server-reply] (id:25) Wed May 10 21:30:31 2023:
>> (:jsonrpc "2.0" :id 25 :result
>>       [])
>> [client-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "textDocument/didChange" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 24)
>>        :contentChanges
>>        [(:range
>>          (:start
>>           (:line 0 :character 4)
>>           :end
>>           (:line 0 :character 4))
>>          :rangeLength 0 :text "t")
>>         (:range
>>          (:start
>>           (:line 0 :character 5)
>>           :end
>>           (:line 0 :character 5))
>>          :rangeLength 0 :text "h")
>>         (:range
>>          (:start
>>           (:line 0 :character 6)
>>           :end
>>           (:line 0 :character 6))
>>          :rangeLength 0 :text "i")
>>         (:range
>>          (:start
>>           (:line 0 :character 7)
>>           :end
>>           (:line 0 :character 7))
>>          :rangeLength 0 :text "n")
>>         (:range
>>          (:start
>>           (:line 0 :character 8)
>>           :end
>>           (:line 0 :character 8))
>>          :rangeLength 0 :text "g")]))
>> [client-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "textDocument/didSave" :params
>>       (:text "mod thing;\n\nfn main() {\n   println!(\"Hello
>> world\");\n}\n" :textDocument
>>          (:uri "file:///home/misha/sweet/repos/tmp/main.rs")))
>> [server-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
>>       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
>>         [(:range
>>           (:start
>>            (:line 0 :character 0)
>>            :end
>>            (:line 0 :character 10))
>>           :severity 1 :code "unresolved-module" :codeDescription
>>           (:href
>> "https://rust-analyzer.github.io/manual.html#unresolved-module";)
>>           :source "rust-analyzer" :message "unresolved module, can't
>> find module file: thing.rs, or thing/mod.rs")]
>>         :version 24))
>> [client-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri "file:///home/misha/sweet/repos/tmp/main.rs" :type 2)]))
>> [client-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri "file:///home/misha/sweet/repos/tmp/main.rs" :type 2)]))
>> [client-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri "file:///home/misha/sweet/repos/tmp/.%23main.rs" :type 3)]))
>> [client-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
>>       (:changes
>>        [(:uri "file:///home/misha/sweet/repos/tmp/.%23main.rs" :type 3)]))
>> [server-request] (id:11) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 11 :method "window/workDoneProgress/create" :params
>>       (:token "rust-analyzer/flycheck/0"))
>> [client-reply] (id:11) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 11 :result nil)
>> [server-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rust-analyzer/flycheck/0" :value
>>           (:kind "begin" :title "cargo check" :cancellable t)))
>> [server-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
>>       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
>>         [(:range
>>           (:start
>>            (:line 0 :character 0)
>>            :end
>>            (:line 0 :character 10))
>>           :severity 1 :code "unresolved-module" :codeDescription
>>           (:href
>> "https://rust-analyzer.github.io/manual.html#unresolved-module";)
>>           :source "rust-analyzer" :message "unresolved module, can't
>> find module file: thing.rs, or thing/mod.rs")
>>          (:range
>>           (:start
>>            (:line 0 :character 0)
>>            :end
>>            (:line 0 :character 10))
>>           :severity 1 :code "E0583" :codeDescription
>>           (:href "https://doc.rust-lang.org/error-index.html#E0583";)
>>           :source "rustc" :message "file not found for module
>> `thing`\nto create the module `thing`, create file \"thing.rs\" or
>> \"thing/mod.rs\"" :data
>>           (:rendered "error[E0583]: file not found for module
>> `thing`\n --> main.rs:1:1\n  |\n1 | mod thing;\n  | ^^^^^^^^^^\n  |\n
>> = help: to create the module `thing`, create file \"thing.rs\" or
>> \"thing/mod.rs\"\n\n"))]
>>         :version 24))
>> [server-notification] Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :method "$/progress" :params
>>       (:token "rust-analyzer/flycheck/0" :value
>>           (:kind "end")))
>> [client-request] (id:26) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 26 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 9)))
>> [client-request] (id:27) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 27 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 9)))
>> [client-request] (id:28) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 28 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 9)))
>> [client-request] (id:29) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 29 :method "textDocument/inlayHint" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 0)
>>         :end
>>         (:line 5 :character 0))))
>> [server-reply] (id:26) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 26 :result nil)
>> [server-reply] (id:27) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 27 :result
>>       (:contents
>>        (:kind "plaintext" :value "tmp\n\nmod thing")
>>        :range
>>        (:start
>>         (:line 0 :character 4)
>>         :end
>>         (:line 0 :character 9))))
>> [server-reply] (id:28) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 28 :result
>>       [(:range
>>         (:start
>>          (:line 0 :character 4)
>>          :end
>>          (:line 0 :character 9)))])
>> [server-reply] (id:29) Wed May 10 21:30:33 2023:
>> (:jsonrpc "2.0" :id 29 :result
>>       [])
>> [internal] (id:18) Wed May 10 21:30:39 2023:
>> (:timed-out :textDocument/signatureHelp :id 18 :params
>>         (:textDocument
>>          (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>          :position
>>          (:line 0 :character 8)))
>> [internal] (id:19) Wed May 10 21:30:39 2023:
>> (:timed-out :textDocument/hover :id 19 :params
>>         (:textDocument
>>          (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>          :position
>>          (:line 0 :character 8)))
>> [internal] (id:20) Wed May 10 21:30:39 2023:
>> (:timed-out :textDocument/documentHighlight :id 20 :params
>>         (:textDocument
>>          (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>          :position
>>          (:line 0 :character 8)))
>> [client-request] (id:30) Wed May 10 21:30:40 2023:
>> (:jsonrpc "2.0" :id 30 :method "textDocument/codeAction" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 4)
>>         :end
>>         (:line 0 :character 9))
>>        :context
>>        (:diagnostics
>>         [(:range
>>           (:start
>>            (:line 0 :character 0)
>>            :end
>>            (:line 0 :character 10))
>>           :severity 1 :code "E0583" :codeDescription
>>           (:href "https://doc.rust-lang.org/error-index.html#E0583";)
>>           :source "rustc" :message "file not found for module
>> `thing`\nto create the module `thing`, create file \"thing.rs\" or
>> \"thing/mod.rs\"" :data
>>           (:rendered "error[E0583]: file not found for module
>> `thing`\n --> main.rs:1:1\n  |\n1 | mod thing;\n  | ^^^^^^^^^^\n  |\n
>> = help: to create the module `thing`, create file \"thing.rs\" or
>> \"thing/mod.rs\"\n\n"))
>>          (:range
>>           (:start
>>            (:line 0 :character 0)
>>            :end
>>            (:line 0 :character 10))
>>           :severity 1 :code "unresolved-module" :codeDescription
>>           (:href
>> "https://rust-analyzer.github.io/manual.html#unresolved-module";)
>>           :source "rust-analyzer" :message "unresolved module, can't
>> find module file: thing.rs, or thing/mod.rs")])))
>> [server-reply] (id:30) Wed May 10 21:30:41 2023:
>> (:jsonrpc "2.0" :id 30 :result
>>       [(:title "Create module at `thing.rs`" :kind "quickfix" :edit
>>            (:documentChanges
>>             [(:kind "create" :uri
>> "file:///home/misha/sweet/repos/tmp/thing.rs")]))
>>        (:title "Create module at `thing/mod.rs`" :kind "quickfix" :edit
>>            (:documentChanges
>>             [(:kind "create" :uri
>> "file:///home/misha/sweet/repos/tmp/thing/mod.rs")]))])
>> [client-request] (id:31) Wed May 10 21:30:43 2023:
>> (:jsonrpc "2.0" :id 31 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 9)))
>> [client-request] (id:32) Wed May 10 21:30:43 2023:
>> (:jsonrpc "2.0" :id 32 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 9)))
>> [client-request] (id:33) Wed May 10 21:30:43 2023:
>> (:jsonrpc "2.0" :id 33 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 9)))
>> [server-reply] (id:31) Wed May 10 21:30:43 2023:
>> (:jsonrpc "2.0" :id 31 :result nil)
>> [server-reply] (id:32) Wed May 10 21:30:43 2023:
>> (:jsonrpc "2.0" :id 32 :result
>>       (:contents
>>        (:kind "plaintext" :value "tmp\n\nmod thing")
>>        :range
>>        (:start
>>         (:line 0 :character 4)
>>         :end
>>         (:line 0 :character 9))))
>> [server-reply] (id:33) Wed May 10 21:30:43 2023:
>> (:jsonrpc "2.0" :id 33 :result
>>       [(:range
>>         (:start
>>          (:line 0 :character 4)
>>          :end
>>          (:line 0 :character 9)))])
>> [client-request] (id:34) Wed May 10 21:31:45 2023:
>> (:jsonrpc "2.0" :id 34 :method "textDocument/codeAction" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :range
>>        (:start
>>         (:line 0 :character 4)
>>         :end
>>         (:line 0 :character 9))
>>        :context
>>        (:diagnostics
>>         [(:range
>>           (:start
>>            (:line 0 :character 0)
>>            :end
>>            (:line 0 :character 10))
>>           :severity 1 :code "E0583" :codeDescription
>>           (:href "https://doc.rust-lang.org/error-index.html#E0583";)
>>           :source "rustc" :message "file not found for module
>> `thing`\nto create the module `thing`, create file \"thing.rs\" or
>> \"thing/mod.rs\"" :data
>>           (:rendered "error[E0583]: file not found for module
>> `thing`\n --> main.rs:1:1\n  |\n1 | mod thing;\n  | ^^^^^^^^^^\n  |\n
>> = help: to create the module `thing`, create file \"thing.rs\" or
>> \"thing/mod.rs\"\n\n"))
>>          (:range
>>           (:start
>>            (:line 0 :character 0)
>>            :end
>>            (:line 0 :character 10))
>>           :severity 1 :code "unresolved-module" :codeDescription
>>           (:href
>> "https://rust-analyzer.github.io/manual.html#unresolved-module";)
>>           :source "rust-analyzer" :message "unresolved module, can't
>> find module file: thing.rs, or thing/mod.rs")])))
>> [server-reply] (id:34) Wed May 10 21:31:45 2023:
>> (:jsonrpc "2.0" :id 34 :result
>>       [(:title "Create module at `thing.rs`" :kind "quickfix" :edit
>>            (:documentChanges
>>             [(:kind "create" :uri
>> "file:///home/misha/sweet/repos/tmp/thing.rs")]))
>>        (:title "Create module at `thing/mod.rs`" :kind "quickfix" :edit
>>            (:documentChanges
>>             [(:kind "create" :uri
>> "file:///home/misha/sweet/repos/tmp/thing/mod.rs")]))])
>> [client-request] (id:35) Wed May 10 21:38:05 2023:
>> (:jsonrpc "2.0" :id 35 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 10)))
>> [client-request] (id:36) Wed May 10 21:38:05 2023:
>> (:jsonrpc "2.0" :id 36 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 10)))
>> [client-request] (id:37) Wed May 10 21:38:05 2023:
>> (:jsonrpc "2.0" :id 37 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 0 :character 10)))
>> [server-reply] (id:35) Wed May 10 21:38:05 2023:
>> (:jsonrpc "2.0" :id 35 :result nil)
>> [server-reply] (id:36) Wed May 10 21:38:05 2023:
>> (:jsonrpc "2.0" :id 36 :result nil)
>> [server-reply] (id:37) Wed May 10 21:38:05 2023:
>> (:jsonrpc "2.0" :id 37 :result nil)
>> [client-request] (id:38) Wed May 10 21:38:08 2023:
>> (:jsonrpc "2.0" :id 38 :method "textDocument/signatureHelp" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 5 :character 0)))
>> [client-request] (id:39) Wed May 10 21:38:08 2023:
>> (:jsonrpc "2.0" :id 39 :method "textDocument/hover" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 5 :character 0)))
>> [client-request] (id:40) Wed May 10 21:38:08 2023:
>> (:jsonrpc "2.0" :id 40 :method "textDocument/documentHighlight" :params
>>       (:textDocument
>>        (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
>>        :position
>>        (:line 5 :character 0)))
>> [server-reply] (id:38) Wed May 10 21:38:08 2023:
>> (:jsonrpc "2.0" :id 38 :result nil)
>> [server-reply] (id:39) Wed May 10 21:38:08 2023:
>> (:jsonrpc "2.0" :id 39 :result nil)
>> [server-reply] (id:40) Wed May 10 21:38:08 2023:
>> (:jsonrpc "2.0" :id 40 :result nil)
>> ```
>>
>> There's nothing in `M-x eglot-stderr-buffer`
>>
>>
>> In GNU Emacs 29.0.90 (build 1, x86_64-pc-linux-gnu, GTK+ Version
>>  3.24.33, cairo version 1.16.0) of 2023-05-10 built on misha-N552VX
>> Repository revision: 93005cd9dc2bab882e66ac7b81f593cd6c021e43
>> Repository branch: emacs-29
>> Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
>> System Description: Ubuntu 22.04.2 LTS
>>
>> Configured using:
>>  'configure --with-json --with-cairo --with-xwidgets
>>  --prefix=/opt/emacs/ --with-x-toolkit=gtk3 --with-tree-sitter
>>  --with-native-compilation --with-modules'
>>
>> Configured features:
>> CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
>> LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG
>> SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11
>> XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB
>>
>> Important settings:
>>   value of $LANG: en_CA.UTF-8
>>   value of $XMODIFIERS: @im=ibus
>>   locale-coding-system: utf-8-unix
>>
>> Major mode: Rust
>>
>> Minor modes in effect:
>>   eglot-inlay-hints-mode: t
>>   eglot--managed-mode: t
>>   flymake-mode: t
>>   tooltip-mode: t
>>   global-eldoc-mode: t
>>   eldoc-mode: t
>>   show-paren-mode: t
>>   electric-indent-mode: t
>>   mouse-wheel-mode: t
>>   tool-bar-mode: t
>>   menu-bar-mode: t
>>   file-name-shadow-mode: t
>>   global-font-lock-mode: t
>>   font-lock-mode: t
>>   blink-cursor-mode: t
>>   line-number-mode: t
>>   transient-mark-mode: t
>>   auto-composition-mode: t
>>   auto-encryption-mode: t
>>   auto-compression-mode: t
>>
>> Load-path shadows:
>> None found.
>>
>> Features:
>> (shadow sort mail-extr help-fns radix-tree cl-print cus-start cus-load
>> emacsbug message mailcap yank-media puny rfc822 mml mml-sec epa derived
>> epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode
>> mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
>> rfc2045 ietf-drums mm-util mail-prsvr mail-utils files-x find-dired grep
>> misearch multi-isearch vc-git diff-mode easy-mmode vc-dispatcher
>> conf-mode time-date eglot external-completion array filenotify jsonrpc
>> ert pp ewoc debug backtrace find-func xref flymake-proc flymake
>> thingatpt compile text-property-search comint ansi-osc ansi-color ring
>> pcase url-util url-parse auth-source eieio eieio-core password-cache
>> json map url-vars project byte-opt imenu rust-ts-mode c-ts-common
>> treesit dired-aux cl-loaddefs comp comp-cstr warnings icons subr-x rx
>> cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-lib dired
>> dired-loaddefs rmc iso-transl tooltip cconv eldoc paren electric
>> uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
>> term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
>> regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
>> prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
>> timer select scroll-bar mouse jit-lock font-lock syntax font-core
>> term/tty-colors frame minibuffer nadvice seq simple cl-generic
>> indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
>> tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
>> romanian slovak czech european ethiopic indian cyrillic chinese
>> composite emoji-zwj charscript charprop case-table epa-hook
>> jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
>> theme-loaddefs faces cus-face macroexp files window text-properties
>> overlay sha1 md5 base64 format env code-pages mule custom widget keymap
>> hashtable-print-readable backquote threads xwidget-internal dbusbind
>> inotify dynamic-setting system-font-setting font-render-setting cairo
>> move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
>> native-compile emacs)
>>
>> Memory information:
>> ((conses 16 156384 23572)
>>  (symbols 48 13274 0)
>>  (strings 32 39865 2264)
>>  (string-bytes 1 1247909)
>>  (vectors 16 27590)
>>  (vector-slots 8 541569 23397)
>>  (floats 8 51 48)
>>  (intervals 56 943 0)
>>  (buffers 984 23))





reply via email to

[Prev in Thread] Current Thread [Next in Thread]