Commit Graph

121 Commits

Author SHA1 Message Date
Dan Doel
4e49cc9116 Merge branch 'trunk' into work/compiler 2022-11-16 14:09:49 -05:00
Dan Doel
7591b90211 More work on scheme related commands
- Added dedicated commands for fetching the compiler and generating boot
  libraries. The dedicated commands will force the operation, for
  updates, while the main commands will only run them if the resources
  do not already exist.
- Factored part of the command into one that handles building the .scm
  file, which can then be consumed by running it or compiling it to a
  dedicated binary.
- Added a run-via-scheme command, because that is actually easier to
  accomplish via a shell call. The compile command is stubbed out until
  I can figure out the right sequence of commands to successfully build
  a standalone file.
2022-11-09 16:20:18 -05:00
Mitchell Rosen
56c80904ff ⅄ trunk → 22-10-18-unison-syntax 2022-10-28 11:24:17 +05:30
Mitchell Rosen
534475a29d ⅄ trunk → 22-10-19-syntax-name 2022-10-20 11:12:58 -04:00
Mitchell Rosen
ed77121949 Move name parsing/printing functions from Unison.Name to Unison.Syntax.Name 2022-10-19 22:17:07 -04:00
Chris Penner
b7be8ded03
LSP Auto-completion (#3488)
Add auto-completion to LSP
2022-10-19 15:48:02 -06:00
Mitchell Rosen
1674b22e69 move Unison.Syntax.Lexer into new unison-syntax package 2022-10-18 16:02:46 -04:00
Chris Penner
ddf263abcf Merge branch 'cp/lsp' into cp/lsp-II 2022-09-12 10:04:19 -06:00
Chris Penner
3aa659ddfa Merge branch 'trunk' into cp/lsp 2022-09-12 10:03:53 -06:00
Chris Penner
7a7d721961 Merge branch 'cp/lsp' into cp/lsp-II 2022-08-29 16:34:14 -06:00
Chris Penner
f033635277 Merge branch 'trunk' into cp/lsp 2022-08-29 16:20:55 -06:00
Chris Penner
f239b581f0 Add human formatting 2022-08-25 12:54:50 -06:00
Mitchell Rosen
80d5671fbe work on Unison.Monad.Cli docs a bit 2022-07-28 14:28:12 -04:00
Mitchell Rosen
035fb4e66c move ResetRootI to the Cli monad 2022-07-25 13:24:07 -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
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
Chris Penner
eb5f6e64cb Wire up code actions 2022-07-09 14:17:05 -06:00
Chris Penner
82787bf3e8 WIP 2022-07-07 15:56:50 -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
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
Mitchell Rosen
45c135cc89 ⅄ trunk → arya/ooo-sync 2022-06-10 18:30:29 -04:00
Mitchell Rosen
0ad12af401 begin implementing push/pull progress reporting 2022-06-03 21:06:51 -04: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
63fc75416c Merge remote-tracking branch 'origin/trunk' into arya/ooo-sync
# Conflicts:
#	codebase2/codebase-sqlite/U/Codebase/Sqlite/Queries.hs
#	parser-typechecker/package.yaml
#	parser-typechecker/src/Unison/Codebase.hs
#	parser-typechecker/src/Unison/Codebase/SqliteCodebase.hs
#	parser-typechecker/src/Unison/Codebase/SqliteCodebase/Migrations/MigrateSchema3To4.hs
#	unison-cli/src/Unison/Codebase/Editor/Command.hs
#	unison-cli/src/Unison/Codebase/Editor/HandleCommand.hs
#	unison-cli/src/Unison/Codebase/Editor/Output.hs
#	unison-cli/src/Unison/Codebase/Editor/VersionParser.hs
#	unison-cli/src/Unison/CommandLine/OutputMessages.hs
2022-05-27 13:49:34 -04: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
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
bf82f3e957 Clean up 2022-01-20 15:39:16 -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
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