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

No compilation error updates in diagnostics unless I restart texlab in Neovim #679

Closed
haoming-li-ling opened this issue Jul 13, 2022 · 9 comments · Fixed by #823
Closed
Labels
bug Something isn't working

Comments

@haoming-li-ling
Copy link

haoming-li-ling commented Jul 13, 2022

I am using texlab 4.2.0 with Neovim 0.7.3.
I enabled texlab.build.onSave with latexmk.
However, the compilation errors do not get updated in the diagnostics after each save (and build), unless I restart the texlab lsp with :LspRestart<cr>.

@haoming-li-ling
Copy link
Author

Notice that I did not change the output directory, so I don't think it is a duplicate issue of #563

@pfoerster
Copy link
Member

Thanks for the report.

so I don't think it is a duplicate issue of #563

Yeah, I do not think either. I think this related to the change made in 4.0.0, which replaced the integrated file watching with LSP file watching. LSP file watching does not seem to be supported for your client so no updates are sent to texlab.

I think we need to re-add the server-side file watching, texlab generally has a better understanding of the project structure although it still needs a hint in some cases.

@pfoerster pfoerster added the bug Something isn't working label Jul 16, 2022
@haoming-li-ling
Copy link
Author

When do you plan to re-add server-side file watching? Looking forward.

By the way, if I would like to try out LSP file-watching, what should I do? Use nvim 0.8+?

@pfoerster
Copy link
Member

By the way, if I would like to try out LSP file-watching, what should I do? Use nvim 0.8+?

It looks like Neovim does not support workspace/didChangeWatchedFiles yet.

When do you plan to re-add server-side file watching? Looking forward.

Can you try out 9a90183, please?

@haoming-li-ling
Copy link
Author

This doesn't seem to be working. In fact, now even after LspRestart or a restart of Neovim, the compilation errors still don't show up.

pfoerster added a commit that referenced this issue Jul 28, 2022
Watch the current working directory if no auxiliary directory is set.

See #679.
pfoerster added a commit that referenced this issue Jul 28, 2022
A lot of clients do not support this notification.

Also, watch the parent directory instead of only the file.

See #679.
@pfoerster
Copy link
Member

@Doltonius Can you try the master branch again, please? I have made some changes to the file watching.

@gi1242
Copy link

gi1242 commented Aug 8, 2022

I'm also having various issues now. It's erratic and hard to reproduce, so I can't easily say what the problem is. But I've noticed:

  1. If the folder has multiple tex files, then TexlabForward sometimes opens the wrong PDF.
  2. I have build.onSave = true; however, sometimes the wrong file is compiled.
  3. I often get completion suggestions from a file that's not part of the main document.

I've noticed that these problems go away if I set build.onSave = false, and then have a different tool continuously monitor / compile the file. (Problems persisted with latest git version this morning.) I'm using arch, if that matters.

@anstadnik
Copy link

I also experience at least the first two issues, however, for me setting build.onSave = false doesn't help.
I experience this with the following repo.
First I open resume.tex, compile it, and run :TexlabForward. The correct PDF opens.
Then I open in the same nvim instance cv.tex. Compile, forward, the correct PDF opens.
Then I go back to resume.tex, and try to compile and search forward there, but this time again the cv.pdf opens.

pfoerster added a commit that referenced this issue Aug 17, 2022
This commits fixes issues related to the project discovery where two
separate projects reference the same local package or document class.

See #679.
@pfoerster
Copy link
Member

I experience this with the following repo.

@anstadnik
Thanks a lot for the example. I was able to reproduce the issue. The local document class in the example folder caused texlab to wrongly treat the two separate projects (resume.tex and cv.tex) as one. This should be fixed with 18db6f5 👍 .

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Sep 9, 2022
## [4.2.2] - 28.08.2022

### Fixed

- Do not watch the same directory multiple times, which can result in a memory leak on Windows ([#737](latex-lsp/texlab#679))
- Fix detection of root document when sharing files between projects ([#679](latex-lsp/texlab#679))
- Fix text synchronization problem caused by file watcher ([#724](latex-lsp/texlab#724))
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Apr 27, 2023
## [5.5.0] - 2023-04-16

### Added

- Allow optionally passing cursor position to `textDocument/build` request for use in forward search after building.
  Previously, the server had to guess the cursor position ([#475](latex-lsp/texlab#475))
- Add experimental `texlab.experimental.citationCommands` setting to allow extending the list of citation commands
  ([#832](latex-lsp/texlab#832))
- Add support for escaping placeholders in build arguments similar to forward search
- Allow configuring completion matching algorithm ([#872](latex-lsp/texlab#872))

### Fixed

- Fix regression introduced in `v5.4.2` involving `texlab.cleanArtifacts` command.

## [5.4.2] - 2023-04-11

### Fixed

- Fix memory leak when editing documents over a long time ([#856](latex-lsp/texlab#856))
- Fix parsing parentheses in file paths ([#874](latex-lsp/texlab#874))

## [5.4.1] - 2023-03-26

### Fixed

- Do not return symbols with empty names (e. g. sections without name) ([#870](latex-lsp/texlab#870))
- Repair `textDocument/formatting` request ([#871](latex-lsp/texlab#871))

## [5.4.0] - 2023-03-12

### Added

- Add experimental settings to allow extending the list of special environments:
  - `texlab.experimental.mathEnvironments`
  - `texlab.experimental.enumEnvironments`
  - `texlab.experimental.verbatimEnvironments`
- Add `texlab.changeEnvironment` workspace command ([#849](latex-lsp/texlab#849))
- Add `texlab.showDependencyGraph` workspace command

### Changed

- Do not show caption or section names in label inlay hints ([#858](latex-lsp/texlab#858))
- Include more user-defined commands in command completion

### Fixed

- Parse nested `\iffalse` blocks correctly ([#853](latex-lsp/texlab#853))
- Parse commands with multi-byte characters correctly ([#857](latex-lsp/texlab#857))
- Fix checking whether a document can be a root file

## [5.3.0] - 2023-02-25

### Added

- Allow filtering `textDocument/documentSymbols` using regular expressions specified via
  `texlab.symbols.allowedPatterns` and `texlab.symbols.ignoredPatterns`
  ([#851](latex-lsp/texlab#851))

### Fixed

- Do not use percent-encoded path when searching for PDF files during forward search
  ([#848](latex-lsp/texlab#848))
- Always return an empty list of code actions instead of returning "method not found" ([#850](latex-lsp/texlab#850))

## [5.2.0] - 2023-01-29

### Added

- Include line numbers in build warnings when available ([#840](latex-lsp/texlab#840))
- Add `none` formatter to `texlab.latexFormatter` and `texlab.bibtexFormatter` options
  to allow disabling formatting ([#846](latex-lsp/texlab#846))

### Fixed

- Concatenate more than two lines of maximum length in build diagnostics ([#842](latex-lsp/texlab#842))
- Apply the correct range of references to labels when renaming ([#841](latex-lsp/texlab#841))
- Use `document` environment to detect root file instead of `\documentclass` ([#845](latex-lsp/texlab#845))

## [5.1.0] - 2023-01-21

### Added

- Allow manually overriding the root directory using a `texlabroot`/`.texlabroot` marker file.
  See the wiki for more information.
  ([#826](latex-lsp/texlab#826), [#838](latex-lsp/texlab#838))

### Deprecated

- Deprecate `texlab.rootDirectory` setting in favor of `.texlabroot` files

### Fixed

- Do not use `.git`, `.chktexrc`, `.latexmkrc` files/directories to determine the root directory
  ([#826](latex-lsp/texlab#826))
- Fix building documents without an explicit root directory ([#837](latex-lsp/texlab#837))

## [5.0.0] - 2022-12-29

### Changed

- _BREAKING_: `texlab.rootDirectory` is now used as the folder path from which the compiler is executed
  relative to the main document. By default it is equal to `"."`. For more information, please visit the wiki.
- Improve performance of completion by a huge margin due to a faster filtering method used internally
- Do not discover project files beyond the provided workspace folders
- Try to guess the root directory by checking for files such as `.latexmkrc` or `Tectonic.toml` if `texlab.rootDirectory` is not set

### Fixed

- Update positions of reported build diagnostics when editing the affected line
- Do not treat links to files as bidirectional by default. This prevents issues where `texlab` ends up compiling the wrong file
  in projects with shared files ([#806](latex-lsp/texlab#806), [#757](latex-lsp/texlab#757), [#679](latex-lsp/texlab#679))
- Fix coverage of directories which need to be watched for changes ([#502](latex-lsp/texlab#502), [#491](latex-lsp/texlab#491))
- Resolve links of the `import` package correctly
- Use `filterText` of completion items when filtering internally ([#829](latex-lsp/texlab#829))

## [4.3.2] - 2022-11-20

### Fixed

- Do not try to run the TeX engine on package files and fail the build instead ([#801](latex-lsp/texlab#801))
- Handle URIs with URL-encoded drive letters on Windows ([#802](latex-lsp/texlab#802))
- Parse BibTeX entries with unbalanced quotes correctly ([#809](latex-lsp/texlab#809))
- Provide completion for more acronym commands ([#813](latex-lsp/texlab#813))
- Fix parsing acronym definitions ([#813](latex-lsp/texlab#813))

## [4.3.1] - 2022-10-22

### Fixed

- Do not crash with a stack overflow when trying to load packages with many internal dependencies ([#793](latex-lsp/texlab#793))
- Normalize drive letters of all document URIs
- Fix parsing commands that take file paths as arguments ([#789](latex-lsp/texlab#789))
- Use the correct working directory and command line arguments when calling `latexindent` ([#645](latex-lsp/texlab#645))
- Fix publishing to CTAN

## [4.3.0] - 2022-09-25

### Added

- Add inlay hints for `\label{...}` ([#753](latex-lsp/texlab#753))

### Fixed

- Improve accuracy of the error locations reported by the TeX engine ([#738](latex-lsp/texlab#738))
- Reduce number of false positive errors reported by `texlab` ([#745](latex-lsp/texlab#745))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants