Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

--health all only displays the first of multiple configured language servers #12403

Open
zwo-bot opened this issue Jan 4, 2025 · 7 comments
Open
Labels
C-bug Category: This is a bug

Comments

@zwo-bot
Copy link

zwo-bot commented Jan 4, 2025

Summary

After upgrading to 25.01 i experienced the following issue:

I use a cutom languages.toml i.e. for helix-gpt

[language-server.gpt]
command = "helix-gpt"

[language-server.ts]
command = "typescript-language-server"
args = ["--stdio"]
language-id = "javascript"

[[language]]
name = "typescript"
language-servers = [
    "ts",
    "gpt"
]

[[language]]
name = "go"
language-servers = [
    "gpt",
    "gopls"
]

...

Only the first defined language server becomes effective:

25.01 hx --health:

image

image

image

before:

24.07 hx --health:

image

image

image

Reproduction Steps

No response

Helix log

No response

Platform

Linux

Terminal Emulator

ghostty

Installation Method

realease page

Helix Version

helix 25.01

@zwo-bot zwo-bot added the C-bug Category: This is a bug label Jan 4, 2025
@RoloEdits
Copy link
Contributor

If you do hx --health go does it still show all LSPs for you?

@zwo-bot
Copy link
Author

zwo-bot commented Jan 5, 2025

If you do hx --health go does it still show all LSPs for you?

No it only shows the first one with hx --health as shown in the screenshot. languages.toml was untouched between 24.07 and 25.01.

@zwo-bot
Copy link
Author

zwo-bot commented Jan 5, 2025

I also noticed that with hx --health in 25.01 all languages that have more than 1 default suupported language server, now only show the first one, but an empty line for the second one:

image

Markdown should, for example, also have markdown-oxide as default.

@RoloEdits
Copy link
Contributor

--health takes an optional parameter of a language name. For instance just --health alone also shows me one LSP for markdown, but when I pass it the name, --health markdown:

hx --health markdown
Configured language servers:
  ✓ typos-lsp: ...\bin\typos-lsp.exe
  ✓ harper-ls: ...\bin\harper-ls.exe
  ✓ marksman: ...\scoop\shims\marksman.exe
  ✓ markdown-oxide: ...\bin\markdown-oxide.exe
Configured debug adapter: None
Configured formatter: None
Tree-sitter parser: ✓
Highlight queries: ✓
Textobject queries: ✘
Indent queries: ✘

@the-mikedavis
Copy link
Member

The missing display for multiple language servers in hx --health is most likely a regression from #12355

@zwo-bot
Copy link
Author

zwo-bot commented Jan 5, 2025

OK, thank you, it seems just a display issue. The problems that I was facing were originated in the helix-gpt language server itself, so that together with the display issue, I wrongly assumed it was only taking using the first language server into account. I think it can be closed.

❯ hx --health typescript
Configured language servers:
  ✓ typescript-language-server: /usr/local/bin/typescript-language-server
  ✓ helix-gpt: /usr/bin/helix-gpt
Configured debug adapter: None
Configured formatter: None
Tree-sitter parser: ✓
Highlight queries: ✓
Textobject queries: ✓
Indent queries: ✓

@the-mikedavis
Copy link
Member

I'll update the title since the display is an outstanding bug

@the-mikedavis the-mikedavis changed the title Only the first language server is active for a language when multiple are defined (25.01) --health all only displays the first of multiple configured language servers Jan 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug
Projects
None yet
Development

No branches or pull requests

3 participants