Skip to content

Commit

Permalink
Rename :docs-link etc to :docs_link
Browse files Browse the repository at this point in the history
This appears to fix the error in [issue
3577](emacs-lsp#3577) for me: as I
made these edits in my local straight copy of lsp-mode, I saw the error
message (which was appearing when I called 'revert-buffer in a
non-terraform buffer for which lsp-mode was configured) move from
reporting

```
Error running timer: (error "Eager macro-expansion failure: (error
\"Unknown key: :docs-link.  Available keys: (:name :docs_link :version
:source_type :dependent_modules)\")")
```

to

```
Error running timer: (error "Eager macro-expansion failure: (error
\"Unknown key: :source-type.  Available keys: (:name :docs_link :version
:source_type :dependent_modules)\")")
```

and so on.

Interestingly, flycheck is reporting the exact opposite message now,
claiming that “:docs_link” is an unknown key and “:docs-link” should be
available.

Not sure what’s going on!
  • Loading branch information
emdash-ie committed Dec 12, 2023
1 parent 01bd566 commit c05484d
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions clients/lsp-terraform.el
Original file line number Diff line number Diff line change
Expand Up @@ -302,25 +302,25 @@ This is a synchronous action."
:installed-version installed-version
:version-constraint (lsp-get provider :version_constraint)))

(lsp-defun construct-tf-module ((&terraform-ls:Module :name :docs-link :version :source-type :dependent-modules))
(lsp-defun construct-tf-module ((&terraform-ls:Module :name :docs_link :version :source_type :dependent_modules))
"Construct `TF-MODULE' using MODULE."
(make-tf-module :name name
:doc-link docs-link
:doc-link docs_link
:version version
:source-type source-type
:dependent-modules dependent-modules))
:source-type source_type
:dependent-modules dependent_modules))

(lsp-defun lsp-terraform-ls--providers-to-tf-package ((&terraform-ls:Providers :provider-requirements :installed-providers))
(lsp-defun lsp-terraform-ls--providers-to-tf-package ((&terraform-ls:Providers :provider_requirements :installed_providers))
"Convert PROVIDERS-TREE-DATA to list of `tf-package'."
(let* ((provider-requirements-keys (hash-table-keys provider-requirements))
(installed-versions (mapcar (lambda (x) (lsp-get installed-providers (make-symbol (format ":%s" x)))) provider-requirements-keys))

This comment has been minimized.

Copy link
@udalrich

udalrich Dec 12, 2023

I don't really understand what is going on here, but are you sure the change to provider_requirements-keys is right? I made these changes locally except for that one, since at 315 you didn't change the declaration in the let* and it got rid of the error for me.

This comment has been minimized.

Copy link
@emdash-ie

emdash-ie Jan 24, 2024

Author Owner

Agreed, that definitely doesn’t look right – I’m surprised this worked for me.

This comment has been minimized.

Copy link
@emdash-ie

emdash-ie Jan 24, 2024

Author Owner

In fact, now that I’m looking at it I’m not convinced this did work. I remember testing it change by change (as described in the commit) and seeing things gradually improve, but I don’t specifically remember what I did. I suspect some difference between evaluating using eval-region and (doom-?)emacs’s evaluation at startup is tripping me up. I’ll investigate further.

(providers (mapcar (lambda (x) (lsp-get provider-requirements (make-symbol (format ":%s" x)))) provider-requirements-keys))
(let* ((provider-requirements-keys (hash-table-keys provider_requirements))
(installed-versions (mapcar (lambda (x) (lsp-get installed_providers (make-symbol (format ":%s" x)))) provider_requirements-keys))
(providers (mapcar (lambda (x) (lsp-get provider_requirements (make-symbol (format ":%s" x)))) provider_requirements-keys))
(tf-packages (-zip-with (lambda (x y) (construct-tf-package x y)) providers installed-versions)))
tf-packages))

(lsp-defun lsp-terraform-ls--modules-to-tf-module ((&terraform-ls:ModuleCalls :module-calls))
(lsp-defun lsp-terraform-ls--modules-to-tf-module ((&terraform-ls:ModuleCalls :module_calls))
"Convert MODULES-TREE-DATA to list of `TF-MODULE'."
(let* ((modules (-map (lambda (x) (construct-tf-module x)) module-calls)))
(let* ((modules (-map (lambda (x) (construct-tf-module x)) module_calls)))
modules))

(defun lsp-terraform-ls--fetch-modules-data (project-root)
Expand Down

0 comments on commit c05484d

Please sign in to comment.