Conversation
Also now cabal always scanned after start of inspector
Using TextCommand instead of WindowCommand so that it updates view each call Also use whoat if position known
|
@mvoidex: Probably want to resolve the conflicts before merging. Q: Is hsdev-0.3.0.0 backwardly compatible? Or will everyone have to upgrade to 0.3.0.0 when they take this update? I'd suggest remaining backwardly compatible for a while, if possible. |
# Conflicts: # event_common.py # hsdev/backend.py # hsdev/result_parse.py
|
@bscottm, hsdev-0.3.0.0 is not backward compatible as there are many internal and some API changes. |
There was a problem hiding this comment.
There is a reason for blocking -- getting the success status of the check/lint process to determine whether other post-save actions should execute. Generally, the pause is short enough that blocking isn't really an issue. So far, no complaints.
The other reason is that the hsdev receiver (hsdev/client.py) blocks until the response function returns. That effectively prevents the response function from making more requests to hsdev (because the receiver is blocked...)
Also, avoid local functions within functions unless you truly need the closure from the outer function.
|
Why not use continuations?
|
|
I don't disagree with continuations, on principle. In the case of check/lint, I'm trying to remember the exact reason -- I was probably trying to track down one of @Pastafarianist's "prettify_on_save doesn't work" bugs. There are a sequence of actions that depend on check/lint success before they execute, which means adding more continuations onto the check/lint code. Just easier and slightly more maintainable to make check/lint blocking. |
|
2.1.18 will make check/lint async again. |
…source already scanned, otherwise scan it for first time
|
Is there a way to somehow hide those errors from the console? (Even if I have to temporarily comment-out a few lines of code from my local SH source.) |
|
@moodmosaic there's issue mvoidex/hsdev#81, i'll try to fix it this weekend |
|
Sounds great ❤️ In general is there a way to disable all output from hsdev in SH so that it doesn't show up in the ST3 console? |
|
(Even if it can be done by modifying something in the source code, I'm fine doing that in my local SH source.) |
|
Uploaded hsdev-0.3.1.3 with flag |
|
Anyone seen this?
Is this still the case? I'm a bit scared to just pull the latest. |
|
OK, I pulled the latest from |
|
@bscottm do you have any suggestions, what should be done here before merge? It's not backward compatible now. I understand that it's not good to force users to use new hsdev version, but I'm not sure if I can find enough time to support both versions. |
|
Works fine for me too. It's fine to force users to upgrade to the same major version of hsdev, according to https://semver.org. Perhaps, it's also a good chance to mention SemVer 2.0 on the README as well, if you guys follow it. |
|
I'm trying to follow https://pvp.haskell.org/ |
|
Even better, then. |
mvoidex added several new methods to the hsdev backend, which were not added to the HaskellBackend base class. Sync with hsdev's current method list.
Ensure that we don't go through the on_query_completions logic when the view's source isn't Haskell. Otherwise, we potentially interfere with other completion generators. Create a default implementation function generator for backend methods that don't do anything except dispatch an empty list. Cuts down on the overall complexity of the code.
Fixed the method parameters for a lot of backend functions where hsdev changed the parameters. A few places where lines were too long, needed simplification on expressions.
Added specific diagnostic output for the build.py build system
("build_system" in component_debug setting), the aysnc worker thread
("util_worker" in component_debug).
Trying to track down why the `complete` hsdev backend command freezes.
1. Add additional wrapper arguments so that different 'stack.yaml' configurations can be specified when starting hsdev. This alleviates the problem when the user's project uses 8.0.2 and needs a hsdev compiled with 8.0.2. 2. Color schemes now have comments in them. Don't load them using the JSON string loader; prefer the Sublime resource loader instead. 3. Make sure that the 'docs' scan actually does its scan, even if hsdev says that it's not supported/implemented.
|
Any news about this? |
|
@juanmbellini I was out of process for a long time and not sure if we can safely merge it I've updated Check & lint works for me, but there's something wrong with autocompletion. |
|
Completions fixed: de5610f |
The backend `call` function can return boolean True or False, where a list is expected in normal circumstances. This can happen, for example, if the hsdev process is killed. In such cases, the involved functions raise a TypeError. This behaviour can be seen in the on-hover and completions handlers, upon killing the hsdev process.
|
Closing in favor of #429 |
@bscottm, created PR just to mention about huge updates in hsdev.
In this PR i've updated backend to use new API and to test hsdev-0.3.0.0
go to definitionworks for local bindingsusages- get all uses of symbol (also, as long as all data is in sql, you can easily inspect it, for example i made query to find symbols, that are used least (2 - 1 for declaration and 1 for export list), and so removed many unused stuff :)whoat- same aswhois, but accepts location instead of namerename- generates same output asautofixes(wasautofix show), so can be applied withrefactorcommand or by editor itself