Ale: Better default signs (incl screenshots)--the current ones do not reflect ALE's image at all

Created on 3 Jan 2019  路  11Comments  路  Source: dense-analysis/ale

Just saw that one guy asked for no gutter, nine days ago (the issue was closed then). There were also issues about improving the default signs, one, two years ago. My issue is again about setting new better defaults but also stressing that sensible defaults are super important for a good UX from the first minute. The current default sign is flawed, especially if you quick-switch buffers (see below).

ALE is asynchronous, it's fast and currently the cutting-edge linter platform. But after you installed it, a fugly grey gutter is stuttering from left into the screen shaking up your code and this one to two seconds after the code was loaded. That's ALE??? OMG, the first time, I PlugCleaned it right away. If you code on a remote server what many of us do it's even worse--stutter all over the place, yeah. A fast linter feels different. Just quick-switch buffers between a linted file and a not linted file few times, all of Neovim's responsiveness is gone, ALE stutters in, ALE stutters out. Finally, this gutter is always grey with every color theme chosen. Why should users then install color themes if plugins just ignore them and/or their chosen highlighting groups?

Good defaults are important. Do not let user search issues and help files to fix bad defaults themselves. Even if it's just 15 minutes, it's wasted time. A suggestion: Make something like the following lines the default:

let g:ale_set_signs = 0
hi link ALEErrorLine ErrorMsg
hi link ALEWarningLine WarningMsg

Why:

  • No stuttery, fugly gutter taking space for nothing
  • No manual config of the background color of the gutter required
  • This works with EVERY config and EVERY color theme, doesn't take extra space, looks always slick without any further config

Neovim has highlighting groups for a reason, so let's use and link them. Further, Neovim is about a pure, clean, minimalistic UI/coding experience. Let's not bloat it with another really not needed UI element like a gutter. Another gutter is not why people use Neovim. If they want many gutters, endless UIs and whatever there are many clumsy desktop IDEs to choose from--or NERDTree. Gutters are ok for line numbers and git integration but I do not want to see extra gutters all the time.

Check the difference:

default
_Now_

withoutgutter
_New suggested default with a random color theme, no stutter, clean, a consistent background, ALE seamlessly integrated with an existing Neovim config_

Most helpful comment

Okay, I don't agree, and I prefer the defaults. There are other people who like them. I'm not changing them.

All 11 comments

No. Signs stay on by default, the highlighting there takes up the whole line. Not changing it.

the highlighting there takes up the whole line

What's the problem with that? Which problems might occur for users when the highlighting takes up the whole line? People use linters to see errors and warnings. I can't follow you.

However, you think a stuttery, jumpy, ugly, not using a color theme's highlight group gutter is less obtrusive than warning lines? I mean, this is ok and it's your opinion. You could even argue that's a matter of taste (which I don't think, it's just bad UX). But what I find irritating: Your tone is off: An one-liner and you closed this issue right away. Look, I just wanted to help and improve some great software. Otherwise I wouldn't spend my time to write this issue, do before and after pics and so on.

Guess you didn't like that I called the default experience 'fugly' but that's the sad truth. This default is not just that but so flawed once you buffer-switch. I am surprised that you don't see this. Do you use ALE yourself? Probably not with the default setting. At least ALE could use a color theme's highlighting groups for the gutter's background color. There is no reason to not use them.

Okay, I don't agree, and I prefer the defaults. There are other people who like them. I'm not changing them.

There are other people who like them

Maybe you are right. Just reopen this issue and let people downvote me. If they like the default gutter they will upvote all your comments and we know for sure what solution is better.

But maybe you don't believe it yourself and hence, you quickly closed this issue. The current gutter is sub par, you know it yourself. Guess you have a bad day.

Maybe I am wrong and the outcome is a compromise like an extra notice in the docs or so. Look, I really like your work _(because it's actually turn-key-ready)_ and I just need to put the three lines in my init.vim, all good. I do this discussion because I think it would be a significant upgrade for an otherwise great product which benefits especially you as the maintainer and all new users. I don't want to push my personal preference into the defaults but it feels that you do this right now.

So, cmon reopen, let's ask others and if I was wrong I will be the first to close this issue again and apologize for the 'fugly'. :)

For what it's worth, I like the default of just having signs.

And I don't think ALE should be responsible for setting highlight SignColumn, your colorscheme is.

I think the best idea is to leave ALE's defaults as they are, and create another plugin like vim-ale-pretty or something, which other people can manage. There could even be a variety of such plugins for different ALE themes. The current defaults for ALE are pretty much what most people expect to see, and which work well in most, but not all, places. Plus, I just like them.

I will also suggest that creating overly verbose and hyperbolic GitHub issues is not an effective way to discuss anything.

Hey @w0rp, Thanks for your quick response and unbanning me again in this thread.

and create another plugin like vim-ale-pretty

Good idea and I might do this and promote ALE this way even more. Do I want this? Why not... Btw, I realized that my defaults would also need further changes (when should ALE kick in etc.). So, maybe it's really the right way, thx for the hint. @gagbo, you were right with SignColumn. Prob is though, there are hardly themes which set the bg color for SignColumn.

overly verbose and hyperbolic GitHub issues

IDK. The convo heated up but hyperbolic? The initial post is just a mix between being enthusiastic and opinionated. OSS improves because of conflict. Struggle is where greatness comes from. People shouldn't opensource on Github if they can't handle conflict, hastily close issues and ban users. I understand, 'fugly' was hefty but I was at the same time constructive and provided a solution. I could have been much worse.

Why should I sugarcoat something which has significant UI problems out of the box (the switching-buffer thing) and just does not look good (and this time I didn't use 'fugly'):

If you like your jumpy SignColumn so much then you should also set signcolumn=yes, then the stutter is gone.

Re verbosity: You are funny. Check your own README.md --_this_ is overly verbose. People want a linter that has sane defaults. They don't want to read a +40Kb readme + tons of help files, it seems you like writing more than I do...

I can't work out if you are just a troll or not. Either way, I don't want to talk to you.

@gagbo, you were right with SignColumn. Prob is though, there are hardly themes which set the bg color for SignColumn.

Glad that we agree this is a problem of colorscheme and not ALE then.

If you like your jumpy SignColumn so much then you should also set signcolumn=yes, then the stutter is gone.

If you're not happy with the defaults (which is not an issue by itself, people tend to like customizations), read the manual to check how you can change the options. Even if you don't know the name of the options, looking at :h ale table of contents should give you good hints about which options you might want to tweak, and then you'll probably find out about g:ale_sign_column_always and the like...

@desmap you likely want to know about https://github.com/neovim/neovim/issues/1045

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sodiumjoe picture sodiumjoe  路  4Comments

trevordmiller picture trevordmiller  路  4Comments

lervag picture lervag  路  3Comments

ilyakopy picture ilyakopy  路  4Comments

janhellmich picture janhellmich  路  3Comments