haskell / haskell-language-server

Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
Apache License 2.0
2.62k stars 353 forks source link

Documentation: Paths for Graphical Editors. #785

Open Tralen opened 4 years ago

Tralen commented 4 years ago

Greetings,

I got this message when running ghcide with Sublime Text 3:

1:1   compiler    error   cabal: streamingProcess: runInteractiveProcess: exec: does not exist (No such file or directory)

I realize this is due to Sublime picking the PATH from .profile and not from .bashrc, so it was easy to solve. However, ghcup instructs the user to add the ~/.cabal/bin and ~/.ghcup/bin paths to .bashrc, preferentially, and the same is true for stack, so I believe this is what most people do.

Other graphical editors load the environment the same way and I suspect the issue will reappear over and over. So I suggest an amendment to the install or troubleshooting section, please correct it if it is wrong.

Path

Your editor must be able to find all needed executables (ghcide, ghc, cabal-install, stack...) in the Path environment it uses. If you get errors that mention: does not exist (No such file or directory), verify that your Path is correct.

If you are using a graphical editor (Atom, VS Code, Sublime Text...) make sure the Path is set in the file from where the environment is loaded. Those editors may read only .profile and not .bashrc, unless they are launched from the terminal.

Avi-D-coder commented 4 years ago

It worse with vscode. If your ~/.profile uses [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx &> .debug_x vscode is just broken, there is no fix, but it's a vscode issue not a ghcup issue.

IronGremlin commented 4 years ago

This feels like an advisory notice for LSP plugin authors to me. Does there exist an appropriate place in project documentation to slot this in?

jneira commented 3 years ago

@IronGremlin I think the section about configuring editors could be a good place to put the suggestion: https://github.com/haskell/haskell-language-server#configuring-your-editor (in the initial section before the specific ones for each editor)

jneira commented 2 years ago

This is a frequent source of confusion and bad experience for users, it seems there are a dozen of ways to extend the PATH, depending on os (linux or macos), used shell (bash, zhs, etc) and windows manager. So it is necessary add it to trouebloshooting imo

As a example a recent issue in the vsocde extension: https://github.com/haskell/vscode-haskell/issues/492

//cc @michaelpj