lsp-ui icon indicating copy to clipboard operation
lsp-ui copied to clipboard

Sideline flycheck display style globally

Open noctuid opened this issue 6 years ago • 3 comments

The display style is nice and unobtrusive. It would be nice if lsp-ui-sideline provided a function that could be used as flycheck-display-errors-function in any mode regardless if lsp was enabled. Maybe special handling is needed and that isn't possible. Enabling lsp-ui-sideline-mode actually seems to work in modes without lsp (e.g. in elisp buffers). I guess as long as it can be used in any mode without issues, that would be good enough. Is that actually intended or is it incidental?

noctuid avatar Apr 24 '20 00:04 noctuid

It is hard to tell - the original author @sebastiencs is not active recently. I guess it is side effect from lsp-ui using flycheck API instead of lsp-mode's API. Not sure if there are action items for this report?

yyoncho avatar Apr 24 '20 18:04 yyoncho

Not sure if there are action items for this report?

Adding a function that could be used as flycheck-display-errors-function (or maybe flycheck-inline-display-function for flycheck inline if lsp wanted to use it) would be ideal if possible. Setting flycheck-display-errors-function would also prevent the issue where a user who has set it gets duplicate error displays when using lsp-ui-mode (which I think there is another issue for).

Offtopic: I saw you mention your fork for company-box and potentially integrating it with lsp-mode. I was previously using company-box but stopped because the performance was very poor compared to the default frontend. company-posframe (especially on the latest commit) is quite fast. I'm wondering if you've tried company-posframe or if you've made any improvements regarding performance in your fork?

noctuid avatar Apr 24 '20 20:04 noctuid

What you are suggesting sounds reasonable. I am not 100% sure if the sideline code for errors could be extracted to function and then combined with the other stuff that we show in the sideline. See also #50 which is kind of related.

Offtopic: I saw you mention your fork for company-box and potentially integrating it with lsp-mode. I was previously using company-box but stopped because the performance was very poor compared to the default frontend. company-posframe (especially on the latest commit) is quite fast. I'm wondering if you've tried company-posframe or if you've made any improvements regarding performance in your fork?

I don't see performance issues with the branch that I am using - https://github.com/yyoncho/company-box/tree/WIP . I may have fixed them as a side effect of the changes I have implemented. For example, I have restricted the resizing of the box and it has a fixed size which IMO this is much better otherwise the completion dialogue is jumping around while you type. Here it is demo how it looks like: https://www.youtube.com/watch?v=NNi3m2bc4Xs .

PS: - with the branch above there are perf issues in elisp buffers but this is caused by buggy/inefficient code in emacs - I haven't had the time to investigate it and report it in company-mode/emacs-devel.

yyoncho avatar Apr 24 '20 20:04 yyoncho