Replies: 1 comment 7 replies
-
@aj-foster I believe most editors allow customization of if, where and when errors and warnings are displayed. For example, I use emacs, and these things are configurable. I believe VSCode and neovim have similar options. Is this not sufficient for our purposes? |
Beta Was this translation helpful? Give feedback.
7 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello there 👋🏼
This discussion is to collect ideas, raise awareness, and advocate for others. I decided to open it after a conversation with someone in the community, and realizing there are likely others who could benefit as well.
tl;dr: At its current stage of development, Lexical has an opportunity to introduce features that allow for distraction-free work and better support a wider range of folks than existing tooling. If you're open to this, I'd love to brainstorm what that looks like.
In the Elixir community, we have a strong stance against the suppression of warnings. This comes from José:
I understand this thought process, and indeed have followed it for most of my Elixir career. However, a recent conversation highlighted a situation that some developers face:
Some Elixir projects accumulate warnings. This is an unfortunate fact of life: as Elixir versions get upgraded, and as multiple people contribute to a project over time, it is not always the case that everyone involved has time to resolve all of the warnings before shipping. New developers coming in may not have the time, context, or confidence to resolve these warnings while completing their next task. Obviously, on paper, this is a situation that any developer would strive to avoid — but the realities of business don't always allow for the ideal outcome. Working code makes more money than warning-free code.
In this (again, unfortunate, but real) scenario, the existing warnings in a project are a distraction from whatever task a developer is attempting to accomplish (unless that task is to resolve the warnings, of course). I would say the same about Dialyzer warnings as well, if it is used.
These distractions impact some developers more than others. Based on my experience with various languages and their language servers, the presentation of warnings can range from gentle to annoying: subtly pointing out possible bugs to underlining large swaths of code for minor things. As a neurotypical person, the effect of these annotations on my ability to work is usually small. For others, however, such annotations (and related non-task-oriented information) can be more of an issue.
In my best estimation, this feels like an opportunity that is best addressed by editor extensions, as opposed to the compiler. It's all about the presentation of the available information. And I assume doing so would require additional support by the language server itself. Hence, here we are.
I don't want to prescribe a solution in this post. Hopefully folks who are more affected by this topic will feel comfortable enough to jump in and add their thoughts and suggestions. Perhaps the maintainers can propose some ideas as well.
As a final note, although this post was prompted by a conversation around neurodiversity and the differing experiences we all have with development tooling, it's important to remember that everyone can benefit, at one time or another, from greater flexibility when it comes to distraction-free / focus-driven presentation of information related to their work.
Cheers, everyone!
Beta Was this translation helpful? Give feedback.
All reactions