@@ -89,28 +89,16 @@ infer_ghc_pkg() {
89
89
unset infer_ghc_path infer_ghc_bin infer_ghc_ver_suffix path_prefix
90
90
}
91
91
92
- # Get the bin dir from GHCs internal libdir. This is wobbly.
93
- ghc_bin_from_libdir () {
94
- if [ -e " $1 " /bin/ghc ] ; then
95
- echo " $1 " /bin/ghc
96
- elif [ -e " $1 " /bin/ghc-${GHC_VERSION} ] ; then
97
- echo " $1 " /bin/ghc-${GHC_VERSION}
98
- elif [ -e " $1 " /../bin/ghc ] ; then
99
- echo " $1 " /../bin/ghc
100
- elif [ -e " $1 " /../bin/ghc-${GHC_VERSION} ] ; then
101
- echo " $1 " /../bin/ghc-${GHC_VERSION}
102
- fi
103
- }
104
-
105
- # try GHC_LIBDIR from the environment (e.g. user set it)
92
+ # try GHC_LIBDIR from the environment (e.g. user set it, or haskell-language-server-wrapper)
106
93
if [ -n " ${GHC_LIBDIR} " ] &&
107
- check_ghc " ${GHC_LIBDIR} " " $( ghc_bin_from_libdir " ${GHC_LIBDIR} " ) " " $( infer_ghc_pkg " $( ghc_bin_from_libdir " ${GHC_LIBDIR} " ) " ) " " GHC_LIBDIR"
94
+ [ -n " ${GHC_BIN} " ] &&
95
+ check_ghc " ${GHC_LIBDIR} " " ${GHC_BIN} " " $( infer_ghc_pkg " ${GHC_BIN} " ) " " GHC_LIBDIR and GHC_BIN from env"
108
96
then
109
97
:
110
98
# try GHC_BIN from the environment (e.g. user set it)
111
99
elif [ -n " ${GHC_BIN} " ] &&
112
100
GHC_LIBDIR=" $( " ${GHC_BIN} " --print-libdir) " &&
113
- check_ghc " ${GHC_LIBDIR} " " ${GHC_BIN} " " $( infer_ghc_pkg " ${GHC_BIN} " ) " " GHC_BIN"
101
+ check_ghc " ${GHC_LIBDIR} " " ${GHC_BIN} " " $( infer_ghc_pkg " ${GHC_BIN} " ) " " GHC_BIN from env "
114
102
then
115
103
:
116
104
# try ghcup
@@ -123,13 +111,13 @@ then
123
111
# try ghc-${GHC_VERSION}
124
112
elif command -v ghc-${GHC_VERSION} > /dev/null &&
125
113
GHC_LIBDIR=" $( " ghc-${GHC_VERSION} " --print-libdir) " &&
126
- check_ghc " ${GHC_LIBDIR} " " ghc-${GHC_VERSION} " " $( infer_ghc_pkg " ghc-${GHC_VERSION} " ) " " ghc-<ver> "
114
+ check_ghc " ${GHC_LIBDIR} " " ghc-${GHC_VERSION} " " $( infer_ghc_pkg " ghc-${GHC_VERSION} " ) " " ghc-${GHC_VERSION} in PATH "
127
115
then
128
116
:
129
117
# try ghc
130
118
elif command -v ghc > /dev/null &&
131
119
GHC_LIBDIR=" $( ghc --print-libdir) " &&
132
- check_ghc " ${GHC_LIBDIR} " " ghc" " $( infer_ghc_pkg " ghc" ) " " ghc"
120
+ check_ghc " ${GHC_LIBDIR} " " ghc" " $( infer_ghc_pkg " ghc" ) " " ghc in PATH "
133
121
then
134
122
:
135
123
# try stack
0 commit comments