Commit Graph

9804 Commits

Author SHA1 Message Date
Chris Penner
02ac5a32da Replace writeFile with writeUtf8 2022-02-24 15:23:05 -06:00
Chris Penner
ee8066f921 Replace more readFiles with readUtf8 2022-02-24 15:15:56 -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
Simon Højberg
09f0157431
Merge pull request #2946 from unisonweb/video-doc
Doc Embed: Add Video and FrontMatter
2022-02-24 13:14:47 -05:00
Simon Højberg
88f3c3a2f0 Doc Embed: Add Video and FrontMatter
Expand the Doc Embed variant to support embedding videos and
frontmatter. The latter will be rendered at the top of the output of the
html file rendered via the `docs.to-html` command.
2022-02-24 12:27:40 -05:00
Chris Penner
4edabef143
Add newline conversion to utf8 file helpers (#2943) 2022-02-23 13:43:31 -06:00
Chris Penner
9e9ec0f5fc
Fix transcripts/io.md to work on windows builds. (#2942)
* Use PATH so this test works on windows systems

* Update transcript output
2022-02-23 13:43:17 -06:00
Chris Penner
9978a50d64
Avoid redundant clone (and migration) when pushing. (#2912) 2022-02-23 12:35:40 -07:00
Arya Irani
2657b05884
Merge pull request #2936 from unisonweb/topic/no-stack-exec 2022-02-22 15:36:12 -07:00
Chris Penner
e9010fefb8
Merge pull request #2938 from unisonweb/topic/cp65001
codepage 65001 for parser-typechecker tests too
2022-02-22 14:45:43 -06:00
Chris Penner
bff432f92e
Merge pull request #2937 from unisonweb/topic/remove-path-forcibly
replace `removeDirectoryRecursive` with `removePathForcibly`
2022-02-22 14:41:50 -06:00
Arya Irani
c1d2882932 code page 65001 for benchmarks also 2022-02-19 00:27:11 -07:00
Arya Irani
4d514e81f1 codepage 65001 for anything with emojis / unicode 2022-02-18 23:18:22 -07:00
Arya Irani
908e4578c6
Merge pull request #2934 from unisonweb/22-02-18-windows-release 2022-02-18 22:09:20 -07:00
Arya Irani
f77ec97cb2 replace removeDirectoryRecursive with removePathForcibly
in case that helps #2924

also replaces `"rm" $|` with the same.
2022-02-18 22:08:33 -07:00
Arya Irani
36b2414bc6 remove stack exec 2022-02-18 21:41:37 -07:00
Arya Irani
3386102d00 codepage 65001 for parser-typechecker tests too 2022-02-18 20:33:34 -07:00
Arya Irani
f7e69a7dc3 add windows release (1st attempt) 2022-02-18 13:10:25 -07:00
Paul Chiusano
1a92f2aaa0
Merge pull request #2917 from unisonweb/topic/cp65001
switch to Windows code page 65001 in exe:unison and exe:tests
2022-02-18 13:03:11 -06:00
Cody Allen
9eeb98f4eb
Merge pull request #2615 from unisonweb/fix/float-redundancy
Try to only float a single copy of a definition
2022-02-18 09:19:38 -08:00
Cody Allen
7e4919977f
Merge pull request #2932 from ceedubs/vim-completion-bang
vim-completion: don't include bang
2022-02-18 09:04:53 -08:00
Cody Allen
381f890381
Merge branch 'trunk' into fix/float-redundancy 2022-02-18 08:58:10 -08:00
Cody Allen
4097291cfa
vim-completion: don't include bang
Similar to #2842.

When triggering auto-completion on something like `!currentTime`, we
don't want to include the `!` in the term that we search for.
2022-02-18 08:21:35 -08:00
mergify[bot]
f344103545
Merge pull request #2929 from unisonweb/topic/fix2925
Fix universal equality
2022-02-18 16:09:44 +00:00
Rúnar
23e13958e6 Added test 2022-02-18 09:14:33 -05:00
Rúnar
c7a4fc3bd1 Fix === 2022-02-17 23:33:13 -05:00
mergify[bot]
ef4f6824a6
Merge pull request #2921 from unisonweb/topic/posix-parse-git-status
use posix paths when matching `git status` output
2022-02-17 23:34:54 +00:00
Arya Irani
be690e790f fix up some hard-coded paths in SqliteCodebase.hs 2022-02-17 16:14:22 -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
Paul Chiusano
5e827fc150
Merge pull request #2814 from unisonweb/cp/rewrite-slurping
Rewrite Slurping code
2022-02-17 16:48:40 -06:00
Arya Irani
7ce354a00e
Merge pull request #2916 from unisonweb/22-02-17-integration-tests-hie 2022-02-17 15:48:03 -07:00
Cody Allen
e4f1ae6c70
Merge pull request #2920 from unisonweb/fix/type-deps
Traverse type references in ANF functions
2022-02-17 13:47:51 -08:00
Chris Penner
f713eb0e9b
Merge pull request #2910 from unisonweb/cp/allow-pushing-v2-2
Allow pushing to v2 codebases
2022-02-17 15:30:47 -06:00
Arya Irani
1e3db9ca69 use posix paths when matching git status output 2022-02-17 13:58:49 -07:00
Dan Doel
6c3522e354 Traverse type references in ANF functions
Previously the references in FCon and FReq didn't matter when loading
into the cache, but due to tag packing, they now do. Strictly speaking,
they probably still don't matter for FReq, but might as well be safe.
2022-02-17 15:35:06 -05:00
Chris Penner
efc70b2dc2
Add debugging combinators (#2856)
* Add debugging combinators

* Allow passing comma separated list of debug flags

* Replace sqlite env var with Debug lib

* Add debugLogM

* Fix empty UNISON_DEBUG statements
2022-02-17 14:13:45 -06:00
Chris Penner
fc013e7cb6 Update transcript for v2 hashing algorithm 2022-02-17 14:00:39 -06:00
Paul Chiusano
0fc8c1110b
Merge pull request #2919 from unisonweb/cp/add-annotations-to-errs
Add annotations to reserved keyword, reserved word, and empty matches
2022-02-17 13:15:17 -06:00
Chris Penner
f8a15c1c05 Transcript for mismatched arities. 2022-02-17 12:44:22 -06:00
Chris Penner
8af3ad47b0 Add annotation to empty watches 2022-02-17 12:44:07 -06:00
Chris Penner
1a8c2701df Add error messages to transcript 2022-02-17 12:29:24 -06:00
Chris Penner
fa78af00e0 Add annotations to reserved keyword, reserved word, and empty matches 2022-02-17 12:18:01 -06:00
mergify[bot]
60c83275f6
Merge pull request #2915 from unisonweb/22-02-17-delete-runtime-benchmark
delete broken runtime benchmark
2022-02-17 17:35:06 +00:00
Arya Irani
953e372fa8 delete broken runtime benchmark
per discussion with @dolio
2022-02-17 10:13:10 -07:00
Arya Irani
c61cdd615f add integration-tests to hie.yaml 2022-02-17 09:43:23 -07:00
Chris Penner
e9c92e295e Merge remote-tracking branch 'origin/trunk' into cp/rewrite-slurping 2022-02-17 10:14:45 -06:00
Arya Irani
a549bd49ab
Merge pull request #2914 from unisonweb/topic/replace-shellmet 2022-02-17 08:51:45 -07:00
Paul Chiusano
291c4b943e
Merge pull request #2898 from unisonweb/fix/unbang-ctors
Don't use `!` syntax for ctor application (`Any ()` and `Some ()`, not `!Any` or `!Some`)
2022-02-17 09:27:50 -06:00
Arya Irani
b82aca00bc fork and patch Shellmet 2022-02-17 00:30:06 -07:00
Arya Irani
103cb56a5e Revert "stop using Shellmet in Git.hs"
This reverts commit c77288c430.
2022-02-17 00:21:56 -07:00