Comments (5)
Thanks!
I also think it would be even better if we supported gathering up the errors as a list
Indeed, that would be convenient for integration on the Erlang level.
By the way, does vim work with sourcer?
Judging by erlang/sourcer#19 it doesn't :/
Integration directly with Neomake is pretty straightforward - enough that I can pull it off singlehandedly in a reasonable amount of time.
While I understand the benefits of a language server, I also have the impression that the learning curve might be a lot steeper (not just the server structure / extension points, but possibly also async jobs on Vim side - I'm a long time user, but a Vimscript newbie).
from gradualizer.
This is just wonderful, @erszcz! I think it'd be great if we can add support for this kind of usage. I have spent very little energy and brain cycles on the error messages so I welcome if someone were to make something more useful out of them.
@Zalastax and @gomoripeti, I like your ideas of having a way of getting errors as structured data and not as strings.
A side note: I've been meaning to change the exceptions that are thrown right now, so that the position is always the second position of the tuple, just like the rest of the abstract syntax. It's not a huge improvement but it'd make the interface a little more consistent.
from gradualizer.
Gradualizer is now one of the diagnostic tools shipped with Erlang Language Server (though off by default) and that's the preferred method of using it with different editors.
from gradualizer.
great work, Radek
I agree with the error formatting. I formulated a task expanding a bit the idea. #49
from gradualizer.
Great initiative!
I also think it would be even better if we supported gathering up the errors as a list- then you could use that directly instead of parsing the errors as text.
By the way, does vim work with sourcer? I would love it if we could get great support in many editors and I think using a language server is the best way of doing so.
from gradualizer.
Related Issues (20)
- Crash with Uncaught error: function_clause HOT 6
- Crash with `Uncaught error: {case_clause, ..` in `typechecker:do_type_check_expr/2`
- Crash with Uncaught error: {badkey, ...} HOT 1
- No clause for gradualizer_lib:pick_value(module()) HOT 2
- No clause of gradualizer_lib:pick_value(any()) HOT 2
- Support the new dynamic() type
- `ok bsr ok` crashes erl_eval:do_apply/7 HOT 4
- An invalid utf32 value can crash eval_bits:eval_exp_field/6
- Crash in gradualizer_fmt:format_type_error: no function_clause_matching
- Crash in typechecker:do_type_check_expr_in/3: bad_key in map_get/2
- Invalid polymorphic code accepted HOT 2
- Support old-style 'catch' keyword HOT 5
- Wrong type in receive...after Timeout
- `binary_to_atom/1` breaks compatibility below OTP 23 HOT 4
- Solving local constraints at each function call to a polymorphic function HOT 6
- support for OTP 26 map comprehensions
- Wrong type location reported?
- Gradualizer can't tell that `m` and `f` don't exist in `erlang:apply(m, f, [some, args])` HOT 2
- Exhaustivity checking issue
- Type representation HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gradualizer.