emacs-lsp / lsp-mode

Emacs client/library for the Language Server Protocol
https://emacs-lsp.github.io/lsp-mode
GNU General Public License v3.0
4.77k stars 883 forks source link

Godot GDScript problems #2127

Open mnewt opened 4 years ago

mnewt commented 4 years ago

lsp with GDScript mostly works fine but has two visible issues:

Problem 1

It repeatedly logs warnings and pops open the *Warnings* buffer. If I close the *Warnings* buffer, it just opens it up again. I presume there is a capability mismatch between Godot and lsp. Example *Warnings* entries:

Warning (lsp-mode): Unknown notification: gdscript/capabilities
Warning (lsp-mode): Unknown notification: nil
Warning (lsp-mode): Unknown notification: nil
Warning (lsp-mode): Unknown notification: nil
Warning (lsp-mode): Unknown notification: nil
Warning (lsp-mode): Unknown notification: nil
Warning (lsp-mode): Unknown notification: nil
Warning (lsp-mode): Unknown notification: nil
Warning (lsp-mode): Unknown notification: nil

lsp-log: https://gist.github.com/mnewt/20339c243dba4a5138c1354e3a0c78fa

The first warning will pop up when lsp is started and the subsequent warnings will pop up from time to time while editing.

Problem 2

company completion doesn't work when company-box-mode is enabled. I think I've narrowed down the problem to what happens in lsp-completion--exit-fn. It goes something like this:

  1. The lsp-completion-item plist entry has inside it :label and :insert-text?
  2. When company-mode is enabled but company-box-mode is not, :insert-text? is nil.
  3. When company-mode and company-box-mode are enabled, :insert-text? is "", so lsp-completion--exit-fn inserts that blank string.

I've confirmed that inserting this in lsp-completion--exit-fn does indeed cause the candidate to be inserted as expected:

(when (string-empty-p insert-text?) (setq insert-text? nil))

Questions

  1. What can we do to fix the warnings?
  2. If it's a lot of work to fix them, is there a way to silence them for now, or at least cause the *Warnings*buffer to not pop up every time one occurs?
  3. Is the completion bug a problem in lsp or company-box? Can you clarify what is going on there?

Reproduction Steps:

emacs -Q

(custom-set-variables
 '(straight-use-package-by-default t)
 '(straight-vc-git-default-clone-depth 1))

(defvar bootstrap-version)
(let ((bootstrap-file
       (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
      (bootstrap-version 5))
  (unless (file-exists-p bootstrap-file)
    (with-current-buffer
        (url-retrieve-synchronously
         "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
         'silent 'inhibit-cookies)
      (goto-char (point-max))
      (eval-print-last-sexp)))
  (load bootstrap-file nil 'nomessage))

(straight-use-package 'use-package)

(use-package company
  :hook
  (prog-mode . company-mode))

(use-package company-box
  :hook
  (company-mode . company-box-mode))

(use-package lsp-mode)

(use-package gdscript-mode
  :straight ( :type git :host github :repo "godotengine/emacs-gdscript-mode")
  :hook
  (gdscript-mode . lsp))

Now, open a GDScript file and try to insert a completion using company, e.g.:

func _re

And do M-x company-complete, then M-x company-complete-selection

Versions

lsp: 7.0.1 (commit 1185a48)

GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin19.6.0, NS appkit-1894.60 Version 10.15.6 (Build 19G2021)) of 2020-08-29

Godot 3.2.2

yyoncho commented 4 years ago

It repeatedly logs warnings and pops open the *Warnings* buffer. If I close the *Warnings* buffer, it just opens it up again. I presume there is a capability mismatch between Godot and lsp.

The issue is that servers from time to time introduce new notifications and we have to adjust lsp-mode accordingly.

company completion doesn't work when company-box-mode is enabled. I think I've narrowed down the problem to what happens in lsp-completion--exit-fn. It goes something like this:

@kiennq is using company-box - maybe we will need logs from the server to figure out this issue. In is in general strange issue, because company-box should be compatible with other frontends.

  1. What can we do to fix the warnings?

The easy fix is to bind this notifications to nil - see https://github.com/yyoncho/lsp-mode/blob/master/clients/lsp-hack.el#L47

kiennq commented 4 years ago

Warning (lsp-mode): Unknown notification: nil

This indicates more serious issues, mostly due to lsp-mode is being wrongly compiled and installed. You should probably reinstall lsp-mode for this.

company completion doesn't work when company-box-mode is enabled. I think I've narrowed down the problem to what happens in lsp-completion--exit-fn. It goes something like this:

I'm using a fork of company-box and haven't experience thing like that. Can you narrow down the log to right before and after problem happens (maybe before/after a few key strokes is also fine)? Well, if it not happens without company-box, I suspect that this is problem of company-box, it does check the candidate item to get completion kind, and may be setting insert-text? to wrong value accidentally.

mnewt commented 4 years ago

This indicates more serious issues, mostly due to lsp-mode is being wrongly compiled and installed. You should probably reinstall lsp-mode for this.

I'm a bit stymied by that. I've reproduced the issue with emacs -Q and a fresh installation of lsp-mode. I've never seen an error like that from any other major mode while running lsp. However, if no one else sees this issue then I guess we should table it.

Can you narrow down the log to right before and after problem happens

That gist was narrowed down to a few keystrokes. I just did another one. Here were my steps

  1. Load the gdscript file
  2. Move to the end of the file
  3. (setq lsp-log-io t)
  4. Type vel into the buffer and wait for the counsel-box to appear (multiple second pause--the pause only happens when lsp-log-io is t)
  5. (setq lsp-log-io nil)

Result: at least 50,000 lines. 100,000 if I cancel the counsel-box by pressing C-g.

Is there something I could do differently to narrow this down? Most of that appears to be happening as a direct result of company-capf.

Editing to add gist link: https://gist.github.com/mnewt/20339c243dba4a5138c1354e3a0c78fa#file-lsp-log-2

kiennq commented 4 years ago

I've taken a look at this, indeed no insertText is set. Did this problem only happen with company-box? If you disable company-box will it still happens?

The insert-text can be intentionally to be "" to indicate deleting, so blindly assign it back to nil is not good, IMO.

mnewt commented 4 years ago

Did this problem only happen with company-box? If you disable company-box will it still happens?

Correct. Invoking company-complete-selection with normal company-mode completes and fills in the selection. Invoking it with company-box-mode enabled erases the selection, including the part I typed before the company completion popped up. It does seem that in my setup insertText gets set to "" only when company-box-mode AND gdscript-mode are enabled.

hnmurz commented 4 years ago

I'm also seeing this lsp warning issue.

Is there a way to disable the warning buffer from popping up everytime?

kiennq commented 4 years ago

@sebastiencs for company-box support. It seems that company-box somehow alternates selected completion item's properties?

sebastiencs commented 4 years ago

@kiennq @mnewt company-box doesn't alter the candidates properties. I will take a look

yyoncho commented 4 years ago

I'm also seeing this lsp warning issue.

Is there a way to disable the warning buffer from popping up everytime?

@hnmurz

Someone should bind the missing notification handlers to no-op like this - https://github.com/yyoncho/lsp-mode/blob/master/clients/lsp-hack.el#L47

mnewt commented 4 years ago

@yyoncho Thanks, I did try to add a notification handler:

(lsp-register-client
   (make-lsp-client :new-connection (lsp-gdscript-tcp-connect-to-port)
                    :major-modes '(gdscript-mode)
                    :server-id 'gdscript
                    ;; Ignore unsupported messages.
                    :notification-handlers (lsp-ht ("executeCommand" 'ignore))))

But I still get this in *Messages*:

(error "Method not found: executeCommand")

And this in *Warnings*:

Warning (lsp-mode): Unknown notification: gdscript/capabilities
Warning (lsp-mode): Unknown notification: nil
Warning (lsp-mode): Unknown notification: nil

Did I do what you had in mind?

yyoncho commented 4 years ago

You have to use "gdscript/capabilities" as a key to get rid of that notification. For the one with nil name, I will need the input of lsp--on-notification which you can get when you do M-x trace-function RET lsp--on-notification RET

mnewt commented 4 years ago

That's great, I added gdscript/capabilities. I'm learning!

Here's an example of trace output when the nil notification pops up:

(fn ERROR)"] #6# nil #7# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #3#] :error lsp--request-cleanup-hooks] 3 #8#] #6# (24405 27911 264223 0) (24405 27911 264293 0)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (gdscript-mode) nil 0 gdscript nil nil nil nil nil nil nil nil nil nil nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil nil) nil #<process gdscript::tcp> #<process gdscript::tcp> (#<buffer Player.gd>) nil nil nil initialized #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil restart #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("jsonrpc" "2.0" "method" "textDocument/publishDiagnostics" "params" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("diagnostics" [#s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("code" -1 "message" "Expected \"(\" after the identifier (syntax: \"func <identifier>([arguments]):\" )." "range" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("end" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("character" 7 "line" 22)) "start" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("character" 0 "line" 22)))) "severity" 1 "source" "gdscript"))] "uri" "file:///Users/mn/Dropbox/Matt/code/Finnland/Player.gd")))))
1 <- lsp--on-notification: [nil 0 0 500000 nil lsp--on-idle (#<buffer Player.gd>) idle 0]

I wish I could say it's plain to me what the problem is, but I'm afraid it's not. Perhaps you could translate for me?

By the way @yyoncho thank you for this amazing project that works shockingly well the vast majority of the time and for taking the time to help me with my problem!

yyoncho commented 4 years ago

I wish I could say it's plain to me what the problem is, but I'm afraid it's not. Perhaps you could translate for me?

This doesn't seem to the notification that is causing the issue since it is "textDocument/publishDiagnostics".

benreyn commented 3 years ago

Coming in late to the thread, but Im having the warnings issues as well.

Someone should bind the missing notification handlers to no-op like this - https://github.com/yyoncho/lsp-mode/blob/master/clients/lsp-hack.el#L47

It looks like you already have this on a branch @yyoncho. Is there a reason that this can't just be opened as a PR to upstream it? If not, what needs to be done so that it can?

FWIW, Im also seeing the following in the Output console in Godot...

 modules/gdscript/language_server/gdscript_extend_parser.cpp:476 - Index p_position.character = 0 is out of bounds (line.size() = 0).
 modules/gdscript/language_server/gdscript_extend_parser.cpp:476 - Index p_position.character = 0 is out of bounds (line.size() = 0).
benreyn commented 3 years ago

Ok, Ive got some custom code in my emacs config that is suppressing notifications for...

"gdscript/capabilities"
"textDocument/publishDiagnostics" 
"executeCommand"

but I am still getting several...

Warning (lsp-mode): Unknown notification: nil

Is there a way to globally silence calls to warn inside lsp-gdscript until upstream contributions can be made to clean this up? (Im happy to help make these contributions if someone can help me figure out what needs to be done. Even happy to hop on a video call and pair through it) This is making the gdscript lsp completely unusable for me ass the Unknown notification: nil is constantly popping up.

benreyn commented 3 years ago

friendly ping to @mnewt and @yyoncho. Anything I can do to be helpful here?

benreyn commented 3 years ago

Output from trace-function on lsp--on-notification when I get the Unknown notification: nil warning...

I wasnt sure what section of this would be relevant so I took a large sampling of the *trace-output* buffer while I was reproducing this issue. (I wrapped this in a <details> and <summary> for convenience.)

`*trace-output*` ``` (fn RESULT)"] lsp--request-cleanup-hooks] 3 #9=" (fn RESULT)"] #[257 #10="\301\303!\210\304\300!\210\302!\207" [237 #3# #[257 #4# [#[257 #12="\301\302\303!\206 \0\304\305\300\"\"\207" [#5# lsp--warn #14="%s" lsp--error-string format #15="%s Request has failed"] 6 #16=" (fn ERROR)"] #5# nil #6# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 #18=" (fn ERROR)"] #5# (24536 57269 400252 203000) (24536 57269 400305 821000)) 238 (#11=#[257 #8# [238 #[257 #4# [lsp--handle-signature-update #13="textDocument/signatureHelp" nil #17=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] lsp--request-cleanup-hooks] 3 #9#] #[257 #10# [238 #11# #[257 #4# [#[257 #12# [#13# lsp--warn #14# lsp--error-string format #15#] 6 #16#] #13# nil #17# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 #18#] #13# (24536 57269 406915 289000) (24536 57269 406942 72000)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (gdscript-mode) nil 0 gdscript nil nil nil nil nil nil nil nil nil nil nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil nil) nil # # (#) nil nil nil initialized #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("error" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("code" -32601 "message" "Method not found: $/cancelRequest")) "id" nil "jsonrpc" "2.0"))) 1 <- lsp--on-notification: t ====================================================================== 1 -> (lsp--on-notification #2=#s(lsp--workspace nil #s(hash-table size 22 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("codeActionProvider" nil "codeLensProvider" nil "colorProvider" nil "completionProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" t "triggerCharacters" ["." "$" "'" "\""])) "declarationProvider" t "definitionProvider" t "documentFormattingProvider" nil "documentHighlightProvider" nil "documentLinkProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" nil)) "documentOnTypeFormattingProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("firstTriggerCharacter" "" "moreTriggerCharacter" #1=[])) "documentRangeFormattingProvider" nil "documentSymbolProvider" t "executeCommandProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("commands" #1#)) "foldingRangeProvider" nil "hoverProvider" t "implementationProvider" nil "referencesProvider" nil "renameProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("prepareProvider" nil)) "signatureHelpProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("triggerCharacters" ["," "("])) "textDocumentSync" #s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("change" 1 "openClose" t "save" nil "willSave" nil "willSaveWaitUntil" nil)) "typeDefinitionProvider" nil "workspaceSymbolProvider" t)) nil "/home/benreyn/code/Metroidvania" #s(lsp--client nil nil (:connect #[1028 "\301\302\303P#\304\305\"\210\306\"\210\307\"\210\211B\207" [lsp-gdscript-port "localhost" lsp--open-network-stream "::tcp" set-process-query-on-exit-flag nil set-process-filter set-process-sentinel] 11 " (fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\300\207" [t] 1]) nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("gdscript/capabilities" ignore "textDocument/publishDiagnostics" ignore "executeCommand" ignore)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data ( 237 (#3=#[257 #8="\302\300!\210\301!\207" [237 #[257 #4=" B\306=\203\0\305\305\242B\240\210\202\0\304\304\242B\240\210\210\305\242G\303G=?\205F\0\305\242G\304\242G\\\303G=\205F\0\300\302\203=\0\304\242\202E\0\307\310\311\304\242\"\301\"!\207" [#[257 "\300\301!\210\302\303\"\207" [lsp--remove-overlays lsp-link seq-do #[257 "\211\300\301\"\300\302\"\300\303\"\304\305!\305!\306\307!\310\311 \312\313\314#\210\312\315\314#\210\211\262\316\317&\320\321\322#\210\211\262\207" [gethash "range" "start" "end" make-button lsp--position-to-point action lsp--document-link-keymap keymap make-sparse-keymap define-key [M-return] push-button [mouse-2] help-echo "mouse-2, M-RET: Visit this link" overlay-put lsp-link t] 16 " (fn INPUT0)"]] 4 " (fn LINKS)"] #5="textDocument/documentLink" nil #6=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7=" (fn RESULT)"] lsp--request-cleanup-hooks] 3 #9=" (fn RESULT)"] #[257 #10="\301\303!\210\304\300!\210\302!\207" [237 #3# #[257 #4# [#[257 #12="\301\302\303!\206 \0\304\305\300\"\"\207" [#5# lsp--warn #14="%s" lsp--error-string format #15="%s Request has failed"] 6 #16=" (fn ERROR)"] #5# nil #6# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 #18=" (fn ERROR)"] #5# (24536 57269 400252 203000) (24536 57269 400305 821000)) 240 (#11=#[257 #8# [240 #[257 #4# [lsp--handle-signature-update #13="textDocument/signatureHelp" nil #17=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] lsp--request-cleanup-hooks] 3 #9#] #[257 #10# [240 #11# #[257 #4# [#[257 #12# [#13# lsp--warn #14# lsp--error-string format #15#] 6 #16#] #13# nil #17# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 #18#] #13# (24536 57269 497607 489000) (24536 57269 497624 42000)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (gdscript-mode) nil 0 gdscript nil nil nil nil nil nil nil nil nil nil nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil nil) nil # # (#) nil nil nil initialized #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("error" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("code" -32601 "message" "Method not found: $/cancelRequest")) "id" nil "jsonrpc" "2.0"))) 1 <- lsp--on-notification: t ====================================================================== 1 -> (lsp--on-notification #2=#s(lsp--workspace nil #s(hash-table size 22 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("codeActionProvider" nil "codeLensProvider" nil "colorProvider" nil "completionProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" t "triggerCharacters" ["." "$" "'" "\""])) "declarationProvider" t "definitionProvider" t "documentFormattingProvider" nil "documentHighlightProvider" nil "documentLinkProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" nil)) "documentOnTypeFormattingProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("firstTriggerCharacter" "" "moreTriggerCharacter" #1=[])) "documentRangeFormattingProvider" nil "documentSymbolProvider" t "executeCommandProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("commands" #1#)) "foldingRangeProvider" nil "hoverProvider" t "implementationProvider" nil "referencesProvider" nil "renameProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("prepareProvider" nil)) "signatureHelpProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("triggerCharacters" ["," "("])) "textDocumentSync" #s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("change" 1 "openClose" t "save" nil "willSave" nil "willSaveWaitUntil" nil)) "typeDefinitionProvider" nil "workspaceSymbolProvider" t)) nil "/home/benreyn/code/Metroidvania" #s(lsp--client nil nil (:connect #[1028 "\301\302\303P#\304\305\"\210\306\"\210\307\"\210\211B\207" [lsp-gdscript-port "localhost" lsp--open-network-stream "::tcp" set-process-query-on-exit-flag nil set-process-filter set-process-sentinel] 11 " (fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\300\207" [t] 1]) nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("gdscript/capabilities" ignore "textDocument/publishDiagnostics" ignore "executeCommand" ignore)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data ( 237 (#3=#[257 #8="\302\300!\210\301!\207" [237 #[257 #4=" B\306=\203\0\305\305\242B\240\210\202\0\304\304\242B\240\210\210\305\242G\303G=?\205F\0\305\242G\304\242G\\\303G=\205F\0\300\302\203=\0\304\242\202E\0\307\310\311\304\242\"\301\"!\207" [#[257 "\300\301!\210\302\303\"\207" [lsp--remove-overlays lsp-link seq-do #[257 "\211\300\301\"\300\302\"\300\303\"\304\305!\305!\306\307!\310\311 \312\313\314#\210\312\315\314#\210\211\262\316\317&\320\321\322#\210\211\262\207" [gethash "range" "start" "end" make-button lsp--position-to-point action lsp--document-link-keymap keymap make-sparse-keymap define-key [M-return] push-button [mouse-2] help-echo "mouse-2, M-RET: Visit this link" overlay-put lsp-link t] 16 " (fn INPUT0)"]] 4 " (fn LINKS)"] #5="textDocument/documentLink" nil #6=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7=" (fn RESULT)"] lsp--request-cleanup-hooks] 3 #9=" (fn RESULT)"] #[257 #10="\301\303!\210\304\300!\210\302!\207" [237 #3# #[257 #4# [#[257 #12="\301\302\303!\206 \0\304\305\300\"\"\207" [#5# lsp--warn #14="%s" lsp--error-string format #15="%s Request has failed"] 6 #16=" (fn ERROR)"] #5# nil #6# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 #18=" (fn ERROR)"] #5# (24536 57269 400252 203000) (24536 57269 400305 821000)) 241 (#11=#[257 #8# [241 #[257 #4# [lsp--handle-signature-update #13="textDocument/signatureHelp" nil #17=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] lsp--request-cleanup-hooks] 3 #9#] #[257 #10# [241 #11# #[257 #4# [#[257 #12# [#13# lsp--warn #14# lsp--error-string format #15#] 6 #16#] #13# nil #17# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 #18#] #13# (24536 57269 578650 529000) (24536 57269 578671 498000)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (gdscript-mode) nil 0 gdscript nil nil nil nil nil nil nil nil nil nil nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil nil) nil # # (#) nil nil nil initialized #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("error" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("code" -32601 "message" "Method not found: $/cancelRequest")) "id" nil "jsonrpc" "2.0"))) 1 <- lsp--on-notification: t ====================================================================== 1 -> (lsp--on-notification #2=#s(lsp--workspace nil #s(hash-table size 22 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("codeActionProvider" nil "codeLensProvider" nil "colorProvider" nil "completionProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" t "triggerCharacters" ["." "$" "'" "\""])) "declarationProvider" t "definitionProvider" t "documentFormattingProvider" nil "documentHighlightProvider" nil "documentLinkProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" nil)) "documentOnTypeFormattingProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("firstTriggerCharacter" "" "moreTriggerCharacter" #1=[])) "documentRangeFormattingProvider" nil "documentSymbolProvider" t "executeCommandProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("commands" #1#)) "foldingRangeProvider" nil "hoverProvider" t "implementationProvider" nil "referencesProvider" nil "renameProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("prepareProvider" nil)) "signatureHelpProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("triggerCharacters" ["," "("])) "textDocumentSync" #s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("change" 1 "openClose" t "save" nil "willSave" nil "willSaveWaitUntil" nil)) "typeDefinitionProvider" nil "workspaceSymbolProvider" t)) nil "/home/benreyn/code/Metroidvania" #s(lsp--client nil nil (:connect #[1028 "\301\302\303P#\304\305\"\210\306\"\210\307\"\210\211B\207" [lsp-gdscript-port "localhost" lsp--open-network-stream "::tcp" set-process-query-on-exit-flag nil set-process-filter set-process-sentinel] 11 " (fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\300\207" [t] 1]) nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("gdscript/capabilities" ignore "textDocument/publishDiagnostics" ignore "executeCommand" ignore)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data ( 242 (#3=#[257 "\302\300!\210\301!\207" [242 #[257 #4=" B\306=\203\0\305\305\242B\240\210\202\0\304\304\242B\240\210\210\305\242G\303G=?\205F\0\305\242G\304\242G\\\303G=\205F\0\300\302\203=\0\304\242\202E\0\307\310\311\304\242\"\301\"!\207" [lsp--handle-signature-update #5="textDocument/signatureHelp" nil #6=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7=" (fn RESULT)"] lsp--request-cleanup-hooks] 3 " (fn RESULT)"] #[257 "\301\303!\210\304\300!\210\302!\207" [242 #3# #[257 #4# [#[257 "\301\302\303!\206 \0\304\305\300\"\"\207" [#5# lsp--warn "%s" lsp--error-string format "%s Request has failed"] 6 " (fn ERROR)"] #5# nil #6# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 " (fn ERROR)"] #5# (24536 57269 658697 471000) (24536 57269 658718 286000)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (gdscript-mode) nil 0 gdscript nil nil nil nil nil nil nil nil nil nil nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil nil) nil # # (#) nil nil nil initialized #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("error" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("code" -32601 "message" "Method not found: $/cancelRequest")) "id" nil "jsonrpc" "2.0"))) 1 <- lsp--on-notification: t ====================================================================== 1 -> (lsp--on-notification #2=#s(lsp--workspace nil #s(hash-table size 22 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("codeActionProvider" nil "codeLensProvider" nil "colorProvider" nil "completionProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" t "triggerCharacters" ["." "$" "'" "\""])) "declarationProvider" t "definitionProvider" t "documentFormattingProvider" nil "documentHighlightProvider" nil "documentLinkProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" nil)) "documentOnTypeFormattingProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("firstTriggerCharacter" "" "moreTriggerCharacter" #1=[])) "documentRangeFormattingProvider" nil "documentSymbolProvider" t "executeCommandProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("commands" #1#)) "foldingRangeProvider" nil "hoverProvider" t "implementationProvider" nil "referencesProvider" nil "renameProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("prepareProvider" nil)) "signatureHelpProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("triggerCharacters" ["," "("])) "textDocumentSync" #s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("change" 1 "openClose" t "save" nil "willSave" nil "willSaveWaitUntil" nil)) "typeDefinitionProvider" nil "workspaceSymbolProvider" t)) nil "/home/benreyn/code/Metroidvania" #s(lsp--client nil nil (:connect #[1028 "\301\302\303P#\304\305\"\210\306\"\210\307\"\210\211B\207" [lsp-gdscript-port "localhost" lsp--open-network-stream "::tcp" set-process-query-on-exit-flag nil set-process-filter set-process-sentinel] 11 " (fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\300\207" [t] 1]) nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("gdscript/capabilities" ignore "textDocument/publishDiagnostics" ignore "executeCommand" ignore)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data ( 242 (#3=#[257 "\302\300!\210\301!\207" [242 #[257 #4=" B\306=\203\0\305\305\242B\240\210\202\0\304\304\242B\240\210\210\305\242G\303G=?\205F\0\305\242G\304\242G\\\303G=\205F\0\300\302\203=\0\304\242\202E\0\307\310\311\304\242\"\301\"!\207" [lsp--handle-signature-update #5="textDocument/signatureHelp" nil #6=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7=" (fn RESULT)"] lsp--request-cleanup-hooks] 3 " (fn RESULT)"] #[257 "\301\303!\210\304\300!\210\302!\207" [242 #3# #[257 #4# [#[257 "\301\302\303!\206 \0\304\305\300\"\"\207" [#5# lsp--warn "%s" lsp--error-string format "%s Request has failed"] 6 " (fn ERROR)"] #5# nil #6# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 " (fn ERROR)"] #5# (24536 57269 658697 471000) (24536 57269 658718 286000)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (gdscript-mode) nil 0 gdscript nil nil nil nil nil nil nil nil nil nil nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil nil) nil # # (#) nil nil nil initialized #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("error" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("code" -32601 "message" "Method not found: $/cancelRequest")) "id" nil "jsonrpc" "2.0"))) 1 <- lsp--on-notification: t ====================================================================== 1 -> (lsp--on-notification #2=#s(lsp--workspace nil #s(hash-table size 22 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("codeActionProvider" nil "codeLensProvider" nil "colorProvider" nil "completionProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" t "triggerCharacters" ["." "$" "'" "\""])) "declarationProvider" t "definitionProvider" t "documentFormattingProvider" nil "documentHighlightProvider" nil "documentLinkProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" nil)) "documentOnTypeFormattingProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("firstTriggerCharacter" "" "moreTriggerCharacter" #1=[])) "documentRangeFormattingProvider" nil "documentSymbolProvider" t "executeCommandProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("commands" #1#)) "foldingRangeProvider" nil "hoverProvider" t "implementationProvider" nil "referencesProvider" nil "renameProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("prepareProvider" nil)) "signatureHelpProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("triggerCharacters" ["," "("])) "textDocumentSync" #s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("change" 1 "openClose" t "save" nil "willSave" nil "willSaveWaitUntil" nil)) "typeDefinitionProvider" nil "workspaceSymbolProvider" t)) nil "/home/benreyn/code/Metroidvania" #s(lsp--client nil nil (:connect #[1028 "\301\302\303P#\304\305\"\210\306\"\210\307\"\210\211B\207" [lsp-gdscript-port "localhost" lsp--open-network-stream "::tcp" set-process-query-on-exit-flag nil set-process-filter set-process-sentinel] 11 " (fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\300\207" [t] 1]) nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("gdscript/capabilities" ignore "textDocument/publishDiagnostics" ignore "executeCommand" ignore)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data ( 242 (#3=#[257 "\302\300!\210\301!\207" [242 #[257 #4=" B\306=\203\0\305\305\242B\240\210\202\0\304\304\242B\240\210\210\305\242G\303G=?\205F\0\305\242G\304\242G\\\303G=\205F\0\300\302\203=\0\304\242\202E\0\307\310\311\304\242\"\301\"!\207" [lsp--handle-signature-update #5="textDocument/signatureHelp" nil #6=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7=" (fn RESULT)"] lsp--request-cleanup-hooks] 3 " (fn RESULT)"] #[257 "\301\303!\210\304\300!\210\302!\207" [242 #3# #[257 #4# [#[257 "\301\302\303!\206 \0\304\305\300\"\"\207" [#5# lsp--warn "%s" lsp--error-string format "%s Request has failed"] 6 " (fn ERROR)"] #5# nil #6# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 " (fn ERROR)"] #5# (24536 57269 658697 471000) (24536 57269 658718 286000)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (gdscript-mode) nil 0 gdscript nil nil nil nil nil nil nil nil nil nil nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil nil) nil # # (#) nil nil nil initialized #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("error" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("code" -32601 "message" "Method not found: $/cancelRequest")) "id" nil "jsonrpc" "2.0"))) 1 <- lsp--on-notification: t ====================================================================== 1 -> (lsp--on-notification #2=#s(lsp--workspace nil #s(hash-table size 22 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("codeActionProvider" nil "codeLensProvider" nil "colorProvider" nil "completionProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" t "triggerCharacters" ["." "$" "'" "\""])) "declarationProvider" t "definitionProvider" t "documentFormattingProvider" nil "documentHighlightProvider" nil "documentLinkProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" nil)) "documentOnTypeFormattingProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("firstTriggerCharacter" "" "moreTriggerCharacter" #1=[])) "documentRangeFormattingProvider" nil "documentSymbolProvider" t "executeCommandProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("commands" #1#)) "foldingRangeProvider" nil "hoverProvider" t "implementationProvider" nil "referencesProvider" nil "renameProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("prepareProvider" nil)) "signatureHelpProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("triggerCharacters" ["," "("])) "textDocumentSync" #s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("change" 1 "openClose" t "save" nil "willSave" nil "willSaveWaitUntil" nil)) "typeDefinitionProvider" nil "workspaceSymbolProvider" t)) nil "/home/benreyn/code/Metroidvania" #s(lsp--client nil nil (:connect #[1028 "\301\302\303P#\304\305\"\210\306\"\210\307\"\210\211B\207" [lsp-gdscript-port "localhost" lsp--open-network-stream "::tcp" set-process-query-on-exit-flag nil set-process-filter set-process-sentinel] 11 " (fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\300\207" [t] 1]) nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("gdscript/capabilities" ignore "textDocument/publishDiagnostics" ignore "executeCommand" ignore)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data ( 242 (#3=#[257 "\302\300!\210\301!\207" [242 #[257 #4=" B\306=\203\0\305\305\242B\240\210\202\0\304\304\242B\240\210\210\305\242G\303G=?\205F\0\305\242G\304\242G\\\303G=\205F\0\300\302\203=\0\304\242\202E\0\307\310\311\304\242\"\301\"!\207" [lsp--handle-signature-update #5="textDocument/signatureHelp" nil #6=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7=" (fn RESULT)"] lsp--request-cleanup-hooks] 3 " (fn RESULT)"] #[257 "\301\303!\210\304\300!\210\302!\207" [242 #3# #[257 #4# [#[257 "\301\302\303!\206 \0\304\305\300\"\"\207" [#5# lsp--warn "%s" lsp--error-string format "%s Request has failed"] 6 " (fn ERROR)"] #5# nil #6# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 " (fn ERROR)"] #5# (24536 57269 658697 471000) (24536 57269 658718 286000)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (gdscript-mode) nil 0 gdscript nil nil nil nil nil nil nil nil nil nil nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil nil) nil # # (#) nil nil nil initialized #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("error" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("code" -32601 "message" "Method not found: $/cancelRequest")) "id" nil "jsonrpc" "2.0"))) 1 <- lsp--on-notification: t ====================================================================== 1 -> (lsp--on-notification #2=#s(lsp--workspace nil #s(hash-table size 22 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("codeActionProvider" nil "codeLensProvider" nil "colorProvider" nil "completionProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" t "triggerCharacters" ["." "$" "'" "\""])) "declarationProvider" t "definitionProvider" t "documentFormattingProvider" nil "documentHighlightProvider" nil "documentLinkProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("resolveProvider" nil)) "documentOnTypeFormattingProvider" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("firstTriggerCharacter" "" "moreTriggerCharacter" #1=[])) "documentRangeFormattingProvider" nil "documentSymbolProvider" t "executeCommandProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("commands" #1#)) "foldingRangeProvider" nil "hoverProvider" t "implementationProvider" nil "referencesProvider" nil "renameProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("prepareProvider" nil)) "signatureHelpProvider" #s(hash-table size 1 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("triggerCharacters" ["," "("])) "textDocumentSync" #s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("change" 1 "openClose" t "save" nil "willSave" nil "willSaveWaitUntil" nil)) "typeDefinitionProvider" nil "workspaceSymbolProvider" t)) nil "/home/benreyn/code/Metroidvania" #s(lsp--client nil nil (:connect #[1028 "\301\302\303P#\304\305\"\210\306\"\210\307\"\210\211B\207" [lsp-gdscript-port "localhost" lsp--open-network-stream "::tcp" set-process-query-on-exit-flag nil set-process-filter set-process-sentinel] 11 " (fn FILTER SENTINEL NAME ENVIRONMENT-FN)"] :test\? #[0 "\300\207" [t] 1]) nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("gdscript/capabilities" ignore "textDocument/publishDiagnostics" ignore "executeCommand" ignore)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data ( 242 (#3=#[257 "\302\300!\210\301!\207" [242 #[257 #4=" B\306=\203\0\305\305\242B\240\210\202\0\304\304\242B\240\210\210\305\242G\303G=?\205F\0\305\242G\304\242G\\\303G=\205F\0\300\302\203=\0\304\242\202E\0\307\310\311\304\242\"\301\"!\207" [lsp--handle-signature-update #5="textDocument/signatureHelp" nil #6=(#2#) (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7=" (fn RESULT)"] lsp--request-cleanup-hooks] 3 " (fn RESULT)"] #[257 "\301\303!\210\304\300!\210\302!\207" [242 #3# #[257 #4# [#[257 "\301\302\303!\206 \0\304\305\300\"\"\207" [#5# lsp--warn "%s" lsp--error-string format "%s Request has failed"] 6 " (fn ERROR)"] #5# nil #6# (nil) (nil) :error lsp--merge-results -map cl-rest lsp--cur-workspace] 6 #7#] :error lsp--request-cleanup-hooks] 3 " (fn ERROR)"] #5# (24536 57269 658697 471000) (24536 57269 658718 286000)))) nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) (gdscript-mode) nil 0 gdscript nil nil nil nil nil nil nil nil nil nil nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil nil nil) nil # # (#) nil nil nil initialized #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) nil 0 nil nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("error" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("code" -32601 "message" "Method not found: $/cancelRequest")) "id" nil "jsonrpc" "2.0"))) 1 <- lsp--on-notification: t ```
NathanLovato commented 3 years ago

There were some issues on the side of Godot's language server. In particular, in the past, with some specification not being respected. I sponsored someone to fix these issues.

Could you try with the recently released Godot 3.3 and see if you still have the same problems?

EDIT: I can confirm two warnings are still here at least: gdscript/capabilities and the nil notification.