4 ms·
Microsoft Language Server is a protocol. It's up to each language to have own , blessed implementation like clangd, solargraph, or gopls. The beauty of ale plug
by vyskocilm 6y ago
Microsoft Language Server is a protocol. It's up to each language to have own , blessed implementation like clangd, solargraph, or gopls. The beauty of ale plugin is that it supports almost anything from scratch and as I work on a multi language projects all the time it rocks everywhere. Do you have prettier installed? Boom all your JS files are checked. Do you have gopls, gofmt, goimports? Then yeah, you can use all of those from your editor. And so on. I am usually surprised how many linters it supports. Recently I got hints when editing protobuf file. Did not expected it.
It is possible that coc.vim can do better. But I can't imagine how much better it should have be.
- saagarjha 6y agoNote that clangd is not a "blessed" implementation of a language server–there are others.
- gen220 6y ago> The beauty of ale plugin is that it supports almost anything from scratch this has been my experience too. I was editing some prolog the other day, `:ALEInfo` recommended swipl. worked like a charm! the linters covered are quite incredible: https://github.com/dense-analysis/ale/tree/master/ale_linters https://github.com/dense-analysis/ale/tree/master/ale_linter.... And if you read each integration file, they are quite small and comprehensible. I've never needed to add one myself, but I feel like I could if I wanted to.
- nikki93 6y agococ.nvim does a lot more than linting. I know ale tries to do completion but in practice I just found the experience of using coc to be really good. It's a bunch of little things that add up. Not sure what best way to convey it -- maybe a gif? Haha. I included an example screenshot of hover type info for example. Super useful esp. as languages like C++ and Go and TypeScript have type deduction/inference. I just put cursor on a symbol and do ';h' to get type info and maybe docs. And so on and so forth.
- colordrops 6y agoI do a lot of JavaScript dev, and LSP is bar none the best in class. I can jump around to variable and class definitions and do minor refactoring almost like it was C++. If Ale supports it then great. I don't care which system is used as long as it supports LSP reliably.