Skip to content

Passing additional arguments to HIE #146

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
KillyMXI opened this issue Mar 24, 2019 · 4 comments
Closed

Passing additional arguments to HIE #146

KillyMXI opened this issue Mar 24, 2019 · 4 comments

Comments

@KillyMXI
Copy link

Better troubleshooting tools needed for issues like #124.

I would like to see a checkbox in extension settings for debug mode, or a whole text field for additional arguments to be passed to hie/hie-wrapper.

Wrapper bat file is not working for me, and it is not really convenient anyway.

@jneira
Copy link
Member

jneira commented Jan 9, 2020

There exists a option to enable verbose output: "languageServerHaskell.trace.server": "verbose"
and other one to set the path of the log file: "languageServerHaskell.logFile": ""

If the last one it is not set all output is shown in the Output panel -> "Haskell HIE (haskell-ide-engine)" window

Feel free to reopen if you still think to have another option for arguments is needed.

@jneira jneira closed this as completed Jan 9, 2020
@KillyMXI
Copy link
Author

KillyMXI commented Jan 9, 2020

The above facts were known to me before opening this issue. What was not known to me is whether the extension gets all it can from the HIE server with these settings.

According to https://github.com/alanz/vscode-hie-server/blob/d9386f41607f95c9ea364cf7dd38e67869793b67/src/extension.ts#L147-L148 , the extension seem to be able to set both --debug (-d) and --vomit arguments when "languageServerHaskell.trace.server": "verbose" is set. That seems sufficient. If that provides not enough information, HIE server is more likely to blame.

@jneira
Copy link
Member

jneira commented Jan 9, 2020

@KillyMXI thanks for explaination, i will reopen

hie server dont have any other options to get more output, what info are you missing? the log is giving now a lot of info

@jneira jneira reopened this Jan 9, 2020
@KillyMXI
Copy link
Author

KillyMXI commented Jan 9, 2020

I was initially concerned about closing this issue without explaining how existing settings match with underlying HIE arguments. I then checked what those settings actually do, and wrote that down in the previous comment.
After figuring that, I have no more intent to keep this issue open. I'm sorry if that wasn't clear from my comment.

Now I think my attempts to find some missing clues in the log were pointless a year ago. And it is probably still the same: either HIE can handle something and there is no need to look into the logs, or it crashes silently, with no ability to leave any clues and/or recover itself.

I have an issue opened for HIE, where I've expressed my concerns about failure handling in general: haskell/haskell-ide-engine#1146
As a part of it, there better be a mechanism to communicate to the user what prevents HIE from doing it's job (rather than dying silently).
Maybe the VScode extension can provide some sort of a server status (health) indicator on it's own (with some means for manual restart), but I still believe that it is a server responsibility to not die and to report back as meaningful message as possible (and intended to be shown in UI rather than just logged) on how ever bad input was sent it's way.

If there is anything about server status and failure handling to be discussed further in this repo, I believe it is better to open a new issue specifically for that.

Since I don't have a use for Haskell at the moment and don't have it installed to play around, I'm not sure if I have an accurate estimation on importance of this or if I can provide more useful input in a further discussion.

@KillyMXI KillyMXI closed this as completed Jan 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants