Commit Graph

317 Commits

Author SHA1 Message Date
Julian Ospald 9faf17634b
Fix hlint and windows build 2022-02-10 21:49:19 +01:00
Julian Ospald 66a62c170c
Fix 'ghcup run' for legacy HLS 2022-02-10 20:35:09 +01:00
Julian Ospald 5186d959bc
Avoid metadata download when possible 2022-02-10 19:29:32 +01:00
Julian Ospald 09a8a0bda0
Fix build on windows and stack 2022-02-10 18:35:25 +01:00
Julian Ospald c72841ca58
Implement 'ghcup run' 2022-02-09 18:57:59 +01:00
Julian Ospald 6073ebe476
Fix HLS support and compile errors with boot and TH files 2022-02-06 00:32:18 +01:00
Julian Ospald 6b978b42bc
Improve rmHLSNoGHC 2022-02-05 19:12:13 +01:00
Julian Ospald 51690d1df3
Support HLS dynamic builds 2022-02-05 16:33:05 +01:00
Julian Ospald 072161ada2
Don't fail to set ghc version if already installed
Fixes #291
2022-01-30 17:59:27 +01:00
Julian Ospald c9216fb444
Improve help output of hls compile 2022-01-29 20:02:33 +01:00
Julian Ospald b245c11b1d
Allow to disable self-upgrade functionality wrt #305 2022-01-28 23:08:35 +01:00
James Hobson 5d43168370
Updated help message for ghcup compile ghc -h 2022-01-12 10:06:38 +01:00
Julian Ospald 43ea85b495
Also fix redundant upgrade warnings for 'ghcup upgrade' 2021-11-14 16:24:13 +01:00
Julian Ospald 2e03b075f8
Avoid redundant warnings when installing tools, fixes #283 2021-11-13 22:59:52 +01:00
Julian Ospald a9630d0802
Cooler patching 2021-11-12 19:52:00 +01:00
Julian Ospald c5c6c431b5
Allow remote URIs for --cabal-project-local wrt #281 2021-11-12 19:05:13 +01:00
Julian Ospald 274978a8a7
Allow to pass cabal args to 'compile hls'
This breaks the existing cli interface, but whatever.
2021-11-12 01:13:57 +01:00
Julian Ospald c05876cc60
Fix build with ghc-8.6.5 2021-11-02 19:53:22 +01:00
Julian Ospald 2c57def8f1
Fix parsing of atypical ghc versions 2021-11-02 01:22:06 +01:00
Julian Ospald 62b16e957b
Merge branch 'issue-276' 2021-10-30 14:17:52 +02:00
Julian Ospald 190b5dedba
Allow to control the metadata cache, fixes #278 2021-10-30 14:16:45 +02:00
Julian Ospald 360daf2a09
Make upgrading ghcup in TUI more pleasant 2021-10-30 12:54:05 +02:00
Julian Ospald 4574f3aa4f
Switch to yaml-streamly 2021-10-21 23:39:07 +02:00
Julian Ospald 2a11e85a95
Allow to specify config value as JSON 2021-10-19 20:46:38 +02:00
Julian Ospald 9f8c9c228d
Reduce IS_WINDOWS CPP 2021-10-17 20:57:22 +02:00
Julian Ospald 01956d694d
Refactor app Main 2021-10-17 19:15:24 +02:00
Julian Ospald c846e52acb
Cleanup during unpack failures as well 2021-10-10 20:48:33 +02:00
Julian Ospald 5a39ead523
Speed up unset command 2021-09-27 12:52:45 +02:00
Julian Ospald 9fe7af3335
Hide nuclear command 2021-09-25 22:45:06 +02:00
Julian Ospald c19dd5ee8b
Implement `ghcup gc` command
Fixes #241
2021-09-25 22:29:02 +02:00
Julian Ospald 9497e310ca
Improve cli interface with partial versions
Fixes #243
2021-09-25 17:13:11 +02:00
Julian Ospald 041a341879
Merge branch 'issue-242' 2021-09-25 00:19:51 +02:00
Julian Ospald 15dd810d67
Get rid of concurrent-output
Also improve some NO_COLOR foo.
2021-09-24 23:49:50 +02:00
Julian Ospald fa523d590e
Add ListAvailable to ListCriteria 2021-09-24 20:51:29 +02:00
Julian Ospald 523f2f57e1
Fix `ghcup list -t` for hls/stack, fixes #244 2021-09-24 20:51:29 +02:00
Julian Ospald aece305003
Move logger stuff to logger module 2021-09-23 12:53:01 +02:00
Julian Ospald ef8da9bcec
Make sure NO_COLOR also applies to logging 2021-09-23 12:16:49 +02:00
Julian Ospald d5b41683ca
Improve HLS compile 2021-09-20 22:24:20 +02:00
Julian Ospald 3d1d8f1af7
Improve optparse hls stuff 2021-09-20 14:43:43 +02:00
Julian Ospald f90741f4d3
Implement compiling HLS from source 2021-09-19 22:04:32 +02:00
Julian Ospald 4767f3db5b
Implement ghcup unset 2021-09-19 14:17:55 +02:00
Julian Ospald c431c0ae00
Implement GPG verification wrt #236 2021-09-18 21:51:19 +02:00
Julian Ospald c42c4b64f9
Improve logging 2021-09-18 15:46:53 +02:00
Julian Ospald d3a36c2c9a
Merge remote-tracking branch 'origin/merge-requests/156' 2021-09-18 15:19:06 +02:00
Arjun Kathuria 8fc128e89b move some code around for better consistency 2021-09-12 09:25:09 +05:30
Arjun Kathuria cadb5086e1 Implements --force install for GHC 2021-09-11 23:20:06 +05:30
Arjun Kathuria 10a30bbf38 Implements --force install for Stack 2021-09-11 22:04:54 +05:30
Arjun Kathuria 6ac7a75bab Implements --force install for HLS 2021-09-11 22:04:40 +05:30
jneira 488f25aed6 Include stack and minor correction 2021-09-08 14:14:05 +02:00
Arjun Kathuria 59a9a770a5 implements --force option for cabal installs. 2021-09-07 11:23:26 +05:30
Arjun Kathuria 20bcb26e3d Adds the --force option in install commands 2021-09-07 11:17:10 +05:30
Julian Ospald d2346a543a
Fixup 2021-09-04 15:53:29 +02:00
Julian Ospald b962bf4af9
Add missing qAddDependentFiles 2021-09-04 15:10:07 +02:00
Julian Ospald cc8cf3d12a
Improve --patchdir documentation wrt #226 2021-09-04 14:31:05 +02:00
Julian Ospald 283f2a6e46
Add `ghcup whereis bindir` and friends, fixes #221 2021-09-02 15:37:03 +02:00
Julian Ospald d98e54a743
Drop yaml/libyaml 2021-08-30 23:36:11 +02:00
Julian Ospald 13143b8e4d
Drop monad-logger 2021-08-30 23:36:11 +02:00
Julian Ospald e9c335eecc
Add --cabal-plan 2021-08-27 14:59:09 +02:00
Julian Ospald 14fc6b7281
Remove string-interpolate wrt #212 2021-08-25 18:54:58 +02:00
Julian Ospald f8cfcd4038
Get rid of tar 2021-08-25 11:48:30 +02:00
Julian Ospald 57c791106b
Fixup rest of the PR 2021-08-11 16:19:31 +02:00
Julian Ospald fcba151fad
Merge remote-tracking branch 'origin/merge-requests/134' 2021-08-11 14:20:04 +02:00
Julian Ospald 3b24f503d1
Fixup rest of the PR 2021-08-11 13:54:02 +02:00
Arjun Kathuria c2c5625685 implements checking if file already exists for Cabal installs 2021-08-11 10:33:08 +05:30
Arjun Kathuria dcfb3afdad Revert "implements isolated install sanity-checking for Cabal installs"
This reverts commit 300cfd3ba6.
2021-08-11 09:46:42 +05:30
Arjun Kathuria 300cfd3ba6 implements isolated install sanity-checking for Cabal installs 2021-08-10 20:14:46 +05:30
Arjun Kathuria 2c6d0382cf adds isolate install feature to compiled ghc command 2021-08-04 16:08:12 +05:30
Arjun Kathuria 911089f334 updates usages of new `installStackBin` across files 2021-08-03 18:08:54 +05:30
Arjun Kathuria 90ed0895d6 updates usages of `installHLSBin` across files 2021-08-03 18:08:54 +05:30
Arjun Kathuria 236da31af6 updates usages of new `installCabalBindist` across files. 2021-08-03 18:08:54 +05:30
Arjun Kathuria 37ea18a0d8 updates usages of new installGHCBindist and related installGHCBin 2021-08-03 18:08:54 +05:30
Arjun Kathuria fdbcd4fafd Adds isolated installs to Stack install 2021-08-03 18:08:54 +05:30
Arjun Kathuria f212eb4570 Adds isolated install to HLS installs 2021-08-03 18:08:54 +05:30
Arjun Kathuria 476513b0a7 Adds isolate install functionality to 'Cabal' tool installs 2021-08-03 18:08:54 +05:30
Arjun Kathuria 8666fcd120 adds rudimentary isolate capability to ghcup install ghc command 2021-08-03 18:08:54 +05:30
Arjun Kathuria 521ab0aedb adds basic --isolate option structure for install commands 2021-08-03 18:08:54 +05:30
vglfr 1cfff674b7
Implement config CLI MVP 2021-08-03 09:09:47 +03:00
Julian Ospald 5a34191b88
Fix listTools to always show currently installed GHCup 2021-07-27 22:33:35 +02:00
Julian Ospald 0c666a6bbe
Fix upgrade subcommand running appstate twice 2021-07-27 20:57:51 +02:00
Julian Ospald 95ca79f3f8
Turn leftover files into logError 2021-07-26 18:13:41 +02:00
Julian Ospald 706fe1ffcc
Don't do update checks for all commands 2021-07-26 18:13:20 +02:00
Julian Ospald 9639e695e2
Unhide stack 2021-07-23 16:13:07 +02:00
Julian Ospald 48d3b3bc3e
Merge branch 'cursor' of https://github.com/mlang/ghcup-hs into mlang-cursor 2021-07-23 14:38:49 +02:00
Mario Lang 761b8cc750 Place an (invisible) cursor at the beginning of the active list item
This change is to support screen readers which use the cursor location
to indicate the focus to the user.

Brick.putCursor is unreleased, so grab the latest version from git via extra-deps.
2021-07-23 11:53:28 +02:00
Julian Ospald 3bdc82c99b
Redo file handling wrt #165 and #187 2021-07-22 17:44:03 +02:00
Julian Ospald 1c2cf98850
Fix file/dir removal on windows, fixes #165 2021-07-21 20:50:58 +02:00
Julian Ospald a4a7f73fb7
Allow to use Hadrian as build system, fixes #35 2021-07-20 23:51:31 +02:00
Julian Ospald 9e181b8820
Allow passing "flavor" to 'ghcup compile ghc'
Fixes #183
2021-07-20 13:39:39 +02:00
Julian Ospald 7a2570019a
Return the version during 'ghcup compile ghc -g <commit>'
Fixes #181
2021-07-20 11:42:36 +02:00
Julian Ospald bc13a4555d
Fix runLeanWhereIs on windows 2021-07-19 16:56:28 +02:00
Julian Ospald eaad2caf25
Add prefetch command 2021-07-19 16:51:40 +02:00
Julian Ospald 6143cdf2e0
Add --offline switch wrt #186 2021-07-19 13:49:24 +02:00
Julian Ospald 2c7176d998
Use LabelOptic and add LeanAppState
Wrt #186
2021-07-18 14:39:49 +02:00
Julian Ospald 7e14fd4a08
Only run unsafeInterleaveIO when necessary 2021-07-15 20:30:14 +02:00
Julian Ospald f04708e8ae
Speed up 'whereis' subcommand wrt #179 2021-07-15 20:01:00 +02:00
Julian Ospald 227f3acaa5
Implement 'whereis' subcommand, fixes #173 2021-07-12 17:09:18 +02:00
Julian Ospald 8e820c6e89
Clean up and fix nuke command 2021-07-03 11:15:37 +02:00
Arjun Kathuria f09f4bd1b7 Update the running of "Nuke" command in Main.hs 2021-06-29 08:47:44 +05:30
Arjun Kathuria 69a461d9c3 Fix a couple of typos in Main.hs 2021-06-28 19:32:09 +05:30
Arjun Kathuria f7986cb4da integrate new rmGhcupDirs fn into Main.hs 2021-06-26 21:56:52 +05:30
Arjun Kathuria 07fb04bb74 Adds the new rmGhcupDirs function in Main.hs under Nuke command 2021-06-22 23:15:13 +05:30
Arjun Kathuria 82a704ab44 Adds 10s Thread-Delay and relevant Logger messages to Main.hs 2021-06-22 18:53:18 +05:30
Arjun Kathuria 0cb22945fe Adds some logger messages. 2021-06-22 18:52:24 +05:30
Arjun Kathuria d09adf9159 Updates Main.hs to work with new rmTool. 2021-06-22 18:51:03 +05:30
Arjun Kathuria ec29332657 Adds basic implementation of rmTool function 2021-06-22 14:29:26 +05:30
Arjun Kathuria 0f6381e67b Move Nuke Command a little down in the file 2021-06-18 15:09:01 +05:30
Arjun Kathuria 877b55e21d Adds basic "nuke" command structure so that it reflects in ghcup cli 2021-06-18 15:01:32 +05:30
Julian Ospald 08b0ecd057
Allow to skip update checks 2021-06-13 15:05:39 +02:00
Julian Ospald b56c44a210
Ensure directories 2021-06-13 13:41:06 +02:00
Julian Ospald f14c281841
Fix for real 2021-06-13 08:36:20 +02:00
Fendor 828fd9eb10 Mention HLS in Help Message 2021-06-06 11:59:51 +02:00
Julian Ospald 9f92e0bc86
Fix #136 2021-06-05 22:26:35 +02:00
Julian Ospald 2f62067d96
Windows support 2021-06-05 21:01:01 +02:00
Julian Ospald 734916728c
Add stack support 2021-05-15 14:01:00 +02:00
Julian Ospald 5a86a28d67
Smarter logging 2021-04-29 14:47:30 +02:00
Julian Ospald 9f0ac0ee19
Allow to compile from git repo 2021-04-28 21:17:57 +02:00
Julian Ospald 7383fdd0c0
Make parser more lax, fixes #119
Also make sure we don't print the warning message
20 times, so avoid some repeated IO.
2021-04-01 17:21:00 +02:00
Julian Ospald d5b5f1fddd
Chores 2021-03-24 17:56:57 +01:00
Julian Ospald f6cc467e95
Fix handling of stray versions wrt #116 2021-03-07 12:02:13 +01:00
Julian Ospald 8c87c9aeb7
Fix error messages and overhaul pretty printing
Fixes #115
2021-03-02 10:35:31 +01:00
Julian Ospald f46e7e8c4b
Add "ghcup set ghc next" tag wrt #114 2021-02-25 19:10:55 +01:00
Julian Ospald 3baf254251
Improve tag completer 2021-02-25 16:13:00 +01:00
Julian Ospald 10ca9ea827
Reformat versionCompleter 2021-02-25 15:52:28 +01:00
Julian Ospald 4a50c8ecb7
Remove network call on shell completion 2021-02-25 15:46:08 +01:00
Huw campbell 453a29fdf7 Respect the user's configuration settings
Only lookup user configuration before doing a search; implement version completion for Cabal and HLS removal
2021-02-25 16:31:40 +11:00
Huw campbell 1a5f0259f4 Just use the cache for commands which refer to locally stored objects.
Setting a version of GHC will fail if provided with a version not installed,
and we don't neede to check the most recent list of GHCs available to know
that.
2021-02-25 10:19:16 +11:00
Huw campbell d6fa61e223 Add command line completions for installed and available versions.
When running `ghcup set ghc` and pressing tab, one should be able to
autocomplete the currently installed GHCs we have available.

Add an optparse applicative completer for install, rm, and set commands
which shows tags and versions. For installation, all are shown; while
for remove and set, only those installed are.
2021-02-25 00:42:16 +11:00
Julian Ospald c455b521a9
Fix ghcup-tui 2021-02-24 12:42:36 +01:00
Julian Ospald dee3218723
Fix item selection with unavailable versions
Fixes #107
2021-02-23 17:10:48 +01:00
Julian Ospald a9b0c0fbc9
Allow for dynamic post-install, post-remove and pre-compile msgs 2021-02-23 11:52:38 +01:00
Enrico Maria De Angelis 14661502ab #103: Rewording of warning message 2021-01-11 07:12:19 +00:00
Paolo Martini ead9d31647
Apply NO_COLOR to dimAttributes as well to cover all tui colors 2020-11-26 20:22:32 +01:00
Paolo Martini a08e624309
Respect NO_COLOR environment variable in list and tui 2020-11-25 11:41:53 +01:00
Julian Ospald 82aa6c70ea
Allow to encode version ranges for distro versions
Fixes #84
2020-11-21 01:12:15 +01:00
Julian Ospald e829bd8235
Fix brick not updating downloads correctly 2020-11-21 00:32:58 +01:00
Julian Ospald 53f5a08924
Allow configuring URLSource as well 2020-10-25 14:47:26 +01:00
Julian Ospald d368863c3d
Improve help output 2020-10-25 11:00:00 +01:00
Julian Ospald c76cce5830
Add a --set option to install/compile, fixes #81 2020-10-25 10:54:04 +01:00
Julian Ospald 4fef93b7b1
Allow to configure ghcup with a yaml config file
Fixes #41
2020-10-25 10:22:45 +01:00
Julian Ospald e250d6013f
Redo Settings as AppState 2020-10-24 01:07:31 +02:00
Julian Ospald 0ce4549eb8
Ditch the viewport logic 2020-10-11 23:37:27 +02:00
Julian Ospald 97d568ddd6
Show new versions in bright white 2020-10-11 21:44:11 +02:00
Julian Ospald ea58465240
Expand the selected bar 2020-10-11 21:16:48 +02:00
Julian Ospald 7afd262b1b
Put separators between tools 2020-10-11 21:07:21 +02:00
Julian Ospald 57c34a07f2
Allow to hide old versions of tools in TUI 2020-10-09 23:05:11 +02:00
Julian Ospald 73d1d97f1f
Reverse order of tool list in TUI 2020-10-09 20:25:52 +02:00
Julian Ospald 965d2a3ba8
Drop 'ghcup compile cabal'
Upstream has discontinued the old bootstrap shell script.
The new python shell script doesn't work like the old one
and is only useful for bootstrapping to a new architecture.

If you miss this feature, consider running:
  cabal install cabal-install

with the appropriate GHC version set (this might need some
experimenting).

This also fixes #64
2020-09-22 21:26:10 +02:00
Julian Ospald 40a1cc98c6
Drop use of table-layout, thanks to Simon 2020-09-22 21:05:59 +02:00
Julian Ospald 05cc55c52d
Improve brick UI 2020-09-21 10:40:06 +02:00
Julian Ospald bb7c4205db
Allow to install haskell-language-server wrt #65 2020-09-20 23:09:09 +02:00