mattn / efm-langserver

General purpose Language Server
MIT License
1.36k stars 61 forks source link

Diagnostic messages not disappearing when using nvim-lspconfig on v 0.039 #200

Closed jsdalton closed 2 years ago

jsdalton commented 2 years ago

Hi there,

Just a quick report that I had an issue with diagnostic messages getting stuck when using EFM language server with neovim LSP config. Meaning: I introduce an error, diagnostic message appears, fix the error, diagnostic message doesn't go away.

The only way I could fix this was the downgrade to v0.038.

Could have just been something on my end, but when I checked your changelog and sawy this version is only from 5 days ago and that it includes a PR https://github.com/mattn/efm-langserver/pull/198 that directly relates to diagnostic messages .... then I had a suspicion that this PR could have inadvertently introduced a problem.

For a bit more context I was using this with eslint. No other issues.

Could be nothing wrong but just wanted to report it in case. Cheers.

ayamir commented 2 years ago

Same condition with flake8 and staticcheck, v0.0.38 works.

Matts966 commented 2 years ago

@jsdalton @ayamir

The root cause would be https://github.com/mattn/efm-langserver/pull/193 and https://github.com/mattn/efm-langserver/pull/198 is a fix for that. Sorry for my buggy implementation.

Could I ask about the log of efm-langserver output?

ayamir commented 2 years ago
2022/01/12 01:19:29 flake8 --max-line-length 160 --extend-ignore F403,F405 --format '%(path)s:%(row)d:%(col)d: %(code)s %(code)s %(text)s' --stdin-display-name /home/ayamir/git/15puzzle/main.py -: /home/ayamir/git/15puzzle/main.py:7:1: TMN003 TMN003 function has too many return statements (5 > 3).

2022/01/12 01:19:34 flake8 --max-line-length 160 --extend-ignore F403,F405 --format '%(path)s:%(row)d:%(col)d: %(code)s %(code)s %(text)s' --stdin-display-name /home/ayamir/git/15puzzle/main.py -: /home/ayamir/git/15puzzle/main.py:53:19: E999 E999 SyntaxError: '(' was never closed

2022/01/12 01:19:34 /home/ayamir/git/15puzzle/main.py
2022/01/12 01:19:36 flake8 --max-line-length 160 --extend-ignore F403,F405 --format '%(path)s:%(row)d:%(col)d: %(code)s %(code)s %(text)s' --stdin-display-name /home/ayamir/git/15puzzle/main.py -: /home/ayamir/git/15puzzle/main.py:7:1: TMN003 TMN003 function has too many return statements (5 > 3).

2022/01/12 01:19:42 flake8 --max-line-length 160 --extend-ignore F403,F405 --format '%(path)s:%(row)d:%(col)d: %(code)s %(code)s %(text)s' --stdin-display-name /home/ayamir/git/15puzzle/main.py -: /home/ayamir/git/15puzzle/main.py:7:1: TMN003 TMN003 function has too many return statements (5 > 3).
kg8m commented 2 years ago

Maybe released v0.0.39 doesn't contain #198. You can see diffs:

I think it is needed that a new v0.0.40 is released or the v0.0.39 is fixed and re-released.

Until the release, temporarily you can install by building with the master branch or by go install ... command.

I confirmed efm-langserver built with the master branch solved this issue. Steps to build is as follows:

  1. git clone https://github.com/mattn/efm-langserver
  2. cd efm-langserver
  3. go build
  4. Use built efm-langserver binary
mattn commented 2 years ago

Could you please try last change?

ayamir commented 2 years ago

It works normally.

mattn commented 2 years ago

Closing. Thank you.