Commit Graph

280 Commits

Author SHA1 Message Date
Mitchell Rosen
afe63447c4 move some code around 2022-07-28 19:11:31 -04:00
Mitchell Rosen
80d5671fbe work on Unison.Monad.Cli docs a bit 2022-07-28 14:28:12 -04:00
Mitchell Rosen
b913709780 delete Action monad 2022-07-27 16:56:52 -04:00
Mitchell Rosen
035fb4e66c move ResetRootI to the Cli monad 2022-07-25 13:24:07 -04:00
Mitchell Rosen
a60c7babbb convert auth.login to Cli monad 2022-07-23 23:50:14 -04:00
Mitchell Rosen
fc2fcf6037 move some code around 2022-07-22 11:41:59 -04:00
Chris Penner
484771e4b8 Merge branch 'cp/lsp' into cp/lsp-II 2022-07-21 15:24:45 -06:00
Chris Penner
262e2b8746 Merge branch 'trunk' into cp/lsp 2022-07-21 15:12:50 -06:00
Travis Staton
3d5855dd92 Misc cli cleanup
- remove LoopState
- incorporate maybe, reader, and state layers into a single
- monad, don't run them in stages
- implement abort
- remove ViewRemoteGitBranch
2022-07-19 17:23:43 -04:00
Mitchell Rosen
aca371e523 delete LoadWatches command 2022-07-19 12:20:36 -04:00
Chris Penner
aa562b703d Add link to share 2022-07-13 09:04:40 -06:00
Arya Irani
0ac436f671 update the examples for push and pulls to show new share / git() syntax 2022-07-12 12:24:15 -04:00
Chris Penner
9c983cc9cc FoldingRanges 2022-07-11 09:26:06 -06:00
Chris Penner
eb5f6e64cb Wire up code actions 2022-07-09 14:17:05 -06:00
Chris Penner
c116b455e2 Refactor/reorganize 2022-07-08 10:15:33 -06:00
Chris Penner
74b058ce69 Working _simple_ type errors 2022-07-07 22:49:51 -06:00
Chris Penner
73a4046efb Diagnostics 2022-07-07 17:42:03 -06:00
Chris Penner
f2f40b4ecb Type-checking in a loop 2022-07-07 16:34:57 -06:00
Chris Penner
82787bf3e8 WIP 2022-07-07 15:56:50 -06:00
Chris Penner
e3f7f6eed9 Wire up more parsing 2022-07-07 13:50:10 -06:00
Chris Penner
276e2cb98e Codelens skeleton 2022-07-02 17:37:29 -06:00
Chris Penner
89d1f55875 Working completion, hover, etc. 2022-07-02 16:33:09 -06:00
Chris Penner
79f99e1d0f Naively receiving completion requests 2022-07-02 13:27:01 -06:00
Chris Penner
cda23d0025 Wire in VFS 2022-07-02 12:28:01 -06:00
Chris Penner
e17414aa9a Bootstrap LSP 2022-07-02 11:02:51 -06:00
Mitchell Rosen
7baebea928 begin implementing concurrent pull 2022-06-23 10:25:01 -04:00
Arya Irani
3b31b95308
Merge pull request #3125 from unisonweb/travis/update-indices
Update type and term indices after push and pull
2022-06-17 13:44:18 -04:00
Arya Irani
1d0ab1d4f3 Merge remote-tracking branch 'origin/trunk' into arya/ooo-sync
# Conflicts:
#	hie.yaml
#	parser-typechecker/package.yaml
#	unison-hashing-v2/package.yaml
#	unison-hashing-v2/unison-hashing-v2.cabal
2022-06-16 15:06:42 -04:00
Travis Staton
535eaf98a9 Add unison-codebase-sqlite-hashing-v2 package
unison-codebase-sqlite is now parameterized by the hashing functions
2022-06-16 14:29:11 -04:00
Arya Irani
0437ca0c74 remove haskeline fork
resolves https://github.com/unisonweb/unison/pull/1836
closes https://github.com/judah/haskeline/pull/115
2022-06-15 11:54:25 -04:00
Chris Penner
1d970904a3
Use Output for credential failures (#3106) 2022-06-10 16:30:53 -06:00
Mitchell Rosen
45c135cc89 ⅄ trunk → arya/ooo-sync 2022-06-10 18:30:29 -04:00
Travis Staton
86defb3774
Merge pull request #3093 from unisonweb/travis/bump-megaparsec
Bump megaparsec dependency
2022-06-07 13:18:14 -04:00
Travis Staton
8e5e2ca5de megaparsec bounds 2022-06-07 09:43:25 -04:00
Mitchell Rosen
0ad12af401 begin implementing push/pull progress reporting 2022-06-03 21:06:51 -04:00
Chris Penner
18266a13a8
Update input patterns and unisonConfig for Share paths. (#3080)
* Clean up docs and parsers for read/write remote namespaces for share

* Revive deprecated git parser so old unisonConfig's still work

* Don't hide git errors

* Fix CodeserverURI -> URI conversion

* Reflect the provided port in CodeserverURI

* Focus messaging around primary action
2022-06-03 15:31:43 -06:00
Arya Irani
da18e47b2e Add package.yaml workaround to stack rebuild issue 2022-06-03 13:07:33 -04:00
Arya Irani
df33c1e257 add when/Paths_ stuff to every package.yaml target
didn't put it into another PR, I'm sorry. But we can cherry-pick this out in a separate PR
2022-06-02 17:10:59 -04:00
Arya Irani
865f0ba6f0 Merge remote-tracking branch 'origin/trunk' into arya/ooo-sync 2022-05-31 12:20:46 -04:00
Chris Penner
f61a4dd208
Add more flexibility in our ability to specify codeservers (#3081)
* Add explicit types for share host and uri

* Ensure we identify servers correctly

* Remove ability to pass args to auth.login

and remove logic for CodeServers config

* PR feedback: special structure for coderserver URI

* Add port to CodeserverId
2022-05-31 09:56:29 -06:00
Chris Penner
36b8ac2155
Add "debug.doctor" command for assessing codebase integrity (#3078)
* Collect and pretty-print errors

* Add debug.doctor command

* Improved formatting
2022-05-27 10:51:01 -06:00
Arya Irani
c6b2895c17 Merge branch 'ooo-sync-read-repo-sum-type' into arya/ooo-sync 2022-05-15 17:10:54 -04:00
Arya Irani
f510365290 filled in a lot of things? 2022-05-12 18:03:00 -04:00
Mitchell Rosen
24e4f4bc6a inline Unison.Sync.HTTP into Unison.Share.Sync 2022-05-10 21:38:35 -04:00
Mitchell Rosen
28425c6d2e ⅄ trunk → arya/ooo-sync 2022-05-05 15:06:36 -04:00
Chris Penner
c073117871
Allow testing Share API in transcripts (#3062)
* Support API calls in transcripts
2022-05-02 09:55:15 -06:00
Mitchell Rosen
3b8bd60531 ⅄ trunk → arya/ooo-sync 2022-04-19 22:29:24 -04:00
Mitchell Rosen
dc26b0bb56 begin implementing entityToTempEntity 2022-04-12 16:22:04 -04:00
Mitchell Rosen
a06e6352d0 extract unison-util-base32hex package 2022-04-12 15:51:03 -04:00
Arya Irani
e698acf0e8 Sync.{makeTempEntity,tempEntityType} 2022-04-12 07:40:42 -05:00
Mitchell Rosen
53beb4ab3b ⅄ trunk → 21-12-04-use-unison-sqlite 2022-04-11 14:50:09 -04:00
Mitchell Rosen
3abdda60e3 ⅄ trunk → arya/ooo-sync 2022-04-11 10:12:11 -04:00
Mitchell Rosen
49d4f295a9
Merge pull request #3032 from unisonweb/cp/syncm-concrete
Sync HTTP client
2022-04-08 15:50:30 -04:00
Chris Penner
e3168ee30b
Use stack test suites (#2656)
* Give tests independent names and use stack test suites

* Update parser-typechecker tests in ci

* Update testing instructions and check.sh
2022-04-07 10:16:13 -06:00
Chris Penner
3aca147a82 Implement sync http client 2022-04-06 15:48:59 -06:00
Mitchell Rosen
3f66cf9a6f do some work on ooo-sync 2022-04-04 18:10:38 -04:00
Mitchell Rosen
4adc35016c ⅄ trunk → 21-12-04-use-unison-sqlite 2022-03-31 16:40:07 -04:00
Mitchell Rosen
48e1653b3e improve query logging and top-level exception printing 2022-03-31 13:20:33 -04:00
Chris Penner
4a0c5367a7 Correctly print errors which occur during transcripts
Also set exit code 1 when transcripts fail.
2022-03-30 16:17:57 -06:00
Chris Penner
f1a7bc210c
Authenticate UCM with Codebase Servers. (#3000)
* The auth.login command is hidden until it's officially supported.
2022-03-30 13:19:48 -06:00
Chris Penner
0adda1a855 Separate pretty-printer test suite 2022-03-09 11:21:24 -06:00
Chris Penner
0ceddd5000 Use Haskell API to run transcripts
Trunk currently runs all of the transcripts by shelling out to the unison cli, this causes two problems:

* It's slow to boot up a fresh ucm for every transcript
* On Windows, we're likely to encounter [this bug](https://github.com/commercialhaskell/stack/issues/5038) which comes up when using `readProcess`, I'm noticing when I run transcripts on windows it inserts a ton of `++stty: 'standard input': Inappropriate ioctl for device` into output files.

As far as speedup goes, a quick benchmark on non-optimized builds shaves off ~90 seconds!

```
New version
/usr/bin/time stack exec transcripts
      103.79 real       153.25 user        89.79 sys

/usr/bin/time stack exec transcripts
      193.79 real       183.08 user         6.97 sys
```

Implementation notes

* Define `withTranscriptRunner`, which does a single initialization and then provides a transcript runner to the provided action. The caller can run any number of transcripts without re-initializing the runtime.
* Rather than crash the with an `exit 1` on failure and then detect that exit code, we return an Either which can be handled as a test failure.
2022-02-24 14:51:57 -06:00
Arya Irani
2657b05884
Merge pull request #2936 from unisonweb/topic/no-stack-exec 2022-02-22 15:36:12 -07:00
Arya Irani
4d514e81f1 codepage 65001 for anything with emojis / unicode 2022-02-18 23:18:22 -07:00
Arya Irani
36b2414bc6 remove stack exec 2022-02-18 21:41:37 -07:00
Arya Irani
87e58af9c5 switch to Windows code page 65001 in exe:unison and exe:tests
I think it's only needed in these two spots, as the other
executables just shell out to `stack exec unison`.

I'm not actually clear on how this interacts with (or could be replaced by `hSetEncoding`, which we do have sprinkled around already, but not sufficiently to let Windows builds work.

If there's a cleaner solution, I'd like to use it. i.e. am I papering over a more correct multi-platform fix by using the Windows-only System.IO.Codepage?
2022-02-17 15:55:30 -07:00
Chris Penner
725acab049 Remove tracing 2022-01-21 10:38:07 -06:00
Chris Penner
7146712c80 Properly pipe constructors through everything 2022-01-20 16:53:19 -06:00
Chris Penner
6bbc6b3a07 Re-use old filterBySlurpResult 2022-01-17 11:15:21 -06:00
Chris Penner
e94448b5d6 WIP 2022-01-14 12:56:23 -06:00
Chris Penner
1e6c6590e8 WIP 2022-01-12 14:22:29 -06:00
Chris Penner
314ba37b44
Improve ctrl-c and sig INT catching in main UCM loop (#2734) 2021-12-13 12:35:05 -06:00
Chris Penner
9af105f191 WIP checkpoint 2021-11-18 15:20:58 -06:00
Chris Penner
4e436bdf87 Rearrange modules according to PR feedback 2021-11-16 10:01:39 -06:00
Chris Penner
f82944027e Reimplement dependency analysis to use Labelled dependency helpers 2021-11-12 16:29:58 -06:00
Chris Penner
de0f942970 Split off Action module from HandleInput 2021-11-10 11:03:59 -06:00
Mitchell Rosen
d46bdcbf3e move many ucm-related modules into unison-cli library component 2021-11-05 00:40:50 -04:00
satotake
f1cf547b00 use getCurrentTime 2021-11-03 16:59:44 +00:00
satotake
f80106b96e Merge branch 'trunk' into add-integration-tests 2021-10-26 11:39:21 +00:00
iamevn
28d1840899 move package cli -> unison-cli
the haskell language server was giving me some errors about not being able to find a local cli package, renaming it to unison-cli fixed that and seems to be consistent with other naming conventions.
2021-10-22 23:17:40 -07:00