Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
G
ghcup-hs
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Haskell
ghcup-hs
Commits
4a50c8ec
Verified
Commit
4a50c8ec
authored
4 years ago
by
Julian Ospald
Browse files
Options
Downloads
Patches
Plain Diff
Remove network call on shell completion
parent
47d9766c
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
app/ghcup/Main.hs
+17
-28
17 additions, 28 deletions
app/ghcup/Main.hs
with
17 additions
and
28 deletions
app/ghcup/Main.hs
+
17
−
28
View file @
4a50c8ec
...
@@ -495,7 +495,7 @@ installOpts tool =
...
@@ -495,7 +495,7 @@ installOpts tool =
)
)
)
)
)
)
<*>
(
Just
<$>
toolVersionArgument
True
Nothing
tool
)
<*>
(
Just
<$>
toolVersionArgument
Nothing
tool
)
)
)
<|>
(
pure
(
Nothing
,
Nothing
))
<|>
(
pure
(
Nothing
,
Nothing
))
)
)
...
@@ -560,7 +560,7 @@ setParser =
...
@@ -560,7 +560,7 @@ setParser =
setOpts
::
Maybe
Tool
->
Parser
SetOptions
setOpts
::
Maybe
Tool
->
Parser
SetOptions
setOpts
tool
=
SetOptions
<$>
optional
(
toolVersionArgument
False
(
Just
ListInstalled
)
tool
)
setOpts
tool
=
SetOptions
<$>
optional
(
toolVersionArgument
(
Just
ListInstalled
)
tool
)
listOpts
::
Parser
ListOptions
listOpts
::
Parser
ListOptions
listOpts
=
listOpts
=
...
@@ -596,14 +596,14 @@ rmParser =
...
@@ -596,14 +596,14 @@ rmParser =
<>
command
<>
command
"cabal"
"cabal"
(
RmCabal
(
RmCabal
<$>
(
info
(
versionParser'
False
(
Just
ListInstalled
)
(
Just
Cabal
)
<**>
helper
)
<$>
(
info
(
versionParser'
(
Just
ListInstalled
)
(
Just
Cabal
)
<**>
helper
)
(
progDesc
"Remove Cabal version"
)
(
progDesc
"Remove Cabal version"
)
)
)
)
)
<>
command
<>
command
"hls"
"hls"
(
RmHLS
(
RmHLS
<$>
(
info
(
versionParser'
False
(
Just
ListInstalled
)
(
Just
HLS
)
<**>
helper
)
<$>
(
info
(
versionParser'
(
Just
ListInstalled
)
(
Just
HLS
)
<**>
helper
)
(
progDesc
"Remove haskell-language-server version"
)
(
progDesc
"Remove haskell-language-server version"
)
)
)
)
)
...
@@ -614,7 +614,7 @@ rmParser =
...
@@ -614,7 +614,7 @@ rmParser =
rmOpts
::
Maybe
Tool
->
Parser
RmOptions
rmOpts
::
Maybe
Tool
->
Parser
RmOptions
rmOpts
tool
=
RmOptions
<$>
versionArgument
False
(
Just
ListInstalled
)
tool
rmOpts
tool
=
RmOptions
<$>
versionArgument
(
Just
ListInstalled
)
tool
changelogP
::
Parser
ChangeLogOptions
changelogP
::
Parser
ChangeLogOptions
...
@@ -636,7 +636,7 @@ changelogP =
...
@@ -636,7 +636,7 @@ changelogP =
)
)
)
)
)
)
<*>
optional
(
toolVersionArgument
True
Nothing
Nothing
)
<*>
optional
(
toolVersionArgument
Nothing
Nothing
)
compileP
::
Parser
CompileCommand
compileP
::
Parser
CompileCommand
compileP
=
subparser
compileP
=
subparser
...
@@ -765,13 +765,13 @@ toolVersionParser = verP' <|> toolP
...
@@ -765,13 +765,13 @@ toolVersionParser = verP' <|> toolP
)
)
-- | same as toolVersionParser, except as an argument.
-- | same as toolVersionParser, except as an argument.
toolVersionArgument
::
Bool
->
Maybe
ListCriteria
->
Maybe
Tool
->
Parser
ToolVersion
toolVersionArgument
::
Maybe
ListCriteria
->
Maybe
Tool
->
Parser
ToolVersion
toolVersionArgument
networkSensitive
criteria
tool
=
toolVersionArgument
criteria
tool
=
argument
(
eitherReader
toolVersionEither
)
(
metavar
"VERSION|TAG"
<>
completer
tagCompleter
<>
foldMap
(
completer
.
versionCompleter
networkSensitive
criteria
)
tool
)
argument
(
eitherReader
toolVersionEither
)
(
metavar
"VERSION|TAG"
<>
completer
tagCompleter
<>
foldMap
(
completer
.
versionCompleter
criteria
)
tool
)
versionArgument
::
Bool
->
Maybe
ListCriteria
->
Maybe
Tool
->
Parser
GHCTargetVersion
versionArgument
::
Maybe
ListCriteria
->
Maybe
Tool
->
Parser
GHCTargetVersion
versionArgument
networkSensitive
criteria
tool
=
argument
(
eitherReader
tVersionEither
)
(
metavar
"VERSION"
<>
foldMap
(
completer
.
versionCompleter
networkSensitive
criteria
)
tool
)
versionArgument
criteria
tool
=
argument
(
eitherReader
tVersionEither
)
(
metavar
"VERSION"
<>
foldMap
(
completer
.
versionCompleter
criteria
)
tool
)
tagCompleter
::
Completer
tagCompleter
::
Completer
...
@@ -781,8 +781,8 @@ tagCompleter =
...
@@ -781,8 +781,8 @@ tagCompleter =
]
]
versionCompleter
::
Bool
->
Maybe
ListCriteria
->
Tool
->
Completer
versionCompleter
::
Maybe
ListCriteria
->
Tool
->
Completer
versionCompleter
networkSensitive
criteria
tool
=
versionCompleter
criteria
tool
=
listIOCompleter
$
do
listIOCompleter
$
do
let
let
loggerConfig
=
loggerConfig
=
...
@@ -795,11 +795,6 @@ versionCompleter networkSensitive criteria tool =
...
@@ -795,11 +795,6 @@ versionCompleter networkSensitive criteria tool =
runLogger
=
runLogger
=
myLoggerT
loggerConfig
myLoggerT
loggerConfig
downloadWithUserSource
=
do
userConf
<-
runE
@
'
[
JSONError
]
ghcupConfigFile
getDownloadsF
$
veitherCont
(
const
GHCupURL
)
(
fromMaybe
GHCupURL
.
uUrlSource
)
userConf
mpFreq
<-
mpFreq
<-
runLogger
.
runE
$
runLogger
.
runE
$
platformRequest
platformRequest
...
@@ -815,13 +810,7 @@ versionCompleter networkSensitive criteria tool =
...
@@ -815,13 +810,7 @@ versionCompleter networkSensitive criteria tool =
runLogger
.
flip
runReaderT
simpleAppState
runLogger
.
flip
runReaderT
simpleAppState
mGhcUpInfo
<-
mGhcUpInfo
<-
runEnv
.
runE
$
runEnv
.
runE
$
readFromCache
if
networkSensitive
then
do
downloadWithUserSource
else
catchE
(
\
(
FileDoesNotExistError
_
)
->
downloadWithUserSource
)
readFromCache
forFold
mGhcUpInfo
$
\
(
GHCupInfo
_
dls
)
->
do
forFold
mGhcUpInfo
$
\
(
GHCupInfo
_
dls
)
->
do
installedVersions
<-
installedVersions
<-
...
@@ -838,10 +827,10 @@ versionParser = option
...
@@ -838,10 +827,10 @@ versionParser = option
(
short
'v'
<>
long
"version"
<>
metavar
"VERSION"
<>
help
"The target version"
(
short
'v'
<>
long
"version"
<>
metavar
"VERSION"
<>
help
"The target version"
)
)
versionParser'
::
Bool
->
Maybe
ListCriteria
->
Maybe
Tool
->
Parser
Version
versionParser'
::
Maybe
ListCriteria
->
Maybe
Tool
->
Parser
Version
versionParser'
networkSensitive
criteria
tool
=
argument
versionParser'
criteria
tool
=
argument
(
eitherReader
(
first
show
.
version
.
T
.
pack
))
(
eitherReader
(
first
show
.
version
.
T
.
pack
))
(
metavar
"VERSION"
<>
foldMap
(
completer
.
versionCompleter
networkSensitive
criteria
)
tool
)
(
metavar
"VERSION"
<>
foldMap
(
completer
.
versionCompleter
criteria
)
tool
)
tagEither
::
String
->
Either
String
Tag
tagEither
::
String
->
Either
String
Tag
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment