kaihowl / dotfiles

@kaihowl does dotfiles
MIT License
5 stars 0 forks source link

efm upgrade fails #765

Open kaihowl opened 4 months ago

kaihowl commented 4 months ago

works locally.

other test fail locally (but not on CI). --> #767

764 is blocked on this.

kaihowl commented 4 months ago

After disabling the local test from #767 locally, nvim/test.sh passes locally on master. With the update-efm branch, the test fails:

Test successful for test-rustanalyzer/src/main.rsRunning lsp-efm.test.vim
lsp_init: 0
wait_for_diagnostic: -1
Expected diagnostics for bash

The lsp log does not contain more detailed information. The failure on CI looks similar and is also lacking more detailed logging.

Next: add more detailed logging from EFM.

kaihowl commented 4 months ago

More logging reveals:

2024/03/29 15:18:12 lint for LanguageID not supported: sh
kaihowl commented 4 months ago

While there is a incorrect indentation in the config file, fixing this did not make the error go away.

kaihowl commented 4 months ago

Due to https://github.com/mattn/efm-langserver/issues/273, this is likely a level deeper. The changes I am trying to integrate do not point to an obvious change in behavior. There was an update of the dependency reviewdog/errorformat, though.

kaihowl commented 4 months ago

But even those integrated changes look mundane so far and independent of our config / usecase.

kaihowl commented 4 months ago

The problem seems to stem from the integration with nvim lsp-config: The integration sends DidChangeConfiguration and that makes the config.yaml optional. On startup this seems to interfere with the existing config.yaml.

Our config also includes an outdated version on how to enable languages.

Removing this did not fix the issue.

The issue can also be observed that only after call :write once on a bash script in nvim (so after an unsuccessful call to format the bash script), the proper diagnostics are displayed. With version 0.0.50 of efm-langserver, the diagnostics would be immediately present.

kaihowl commented 4 months ago

Due to mattn/efm-langserver#273, this is likely a level deeper. The changes I am trying to integrate do not point to an obvious change in behavior. There was an update of the dependency reviewdog/errorformat, though.

There is an obvious change in behavior: The introduction of the lint-after-open flag. While I am not setting this option, it is for some reason set to false for sh. This is counter to the promised default.

kaihowl commented 4 months ago

Problem found: https://github.com/mattn/efm-langserver/pull/277.

We wait until the fix is merged upstream. There are no important fixes in the newer efm versions that we critically depend upon.