Commit Graph

274 Commits

Author SHA1 Message Date
Arya Irani
97c9109291
Merge pull request #5250 from unisonweb/update-defn-order 2024-08-02 22:22:37 +00:00
Chris Penner
03b225ccd1 Add ability to find over EVERY branch. 2024-07-31 16:36:08 -07:00
Mitchell Rosen
e64ffb6f2c ⅄ trunk → update-defn-order 2024-07-24 02:40:13 -04:00
Mitchell Rosen
c7a55f0196 update work 2024-07-22 18:26:14 -04:00
Greg Pfeil
b1cf12330a
Split TranscriptParser into three modules
- `Transcript` – the data model
- `Transcript.Parser` – the parser and printer
- `Transcript.Runner` – the runner

There is unfortunately still some printing tightly coupled to the
runner, but this makes it more obvious. Also, the runner is the only
component tied to the CLI.
2024-07-16 19:35:02 -06:00
Arya Irani
0cd3cd1cff Merge branch 'trunk' into cp/project-root
# Conflicts:
#	unison-cli-integration/integration-tests/IntegrationTests/transcript.output.md
#	unison-src/transcripts-round-trip/main.output.md
#	unison-src/transcripts/add-run.output.md
#	unison-src/transcripts/bug-strange-closure.output.md
#	unison-src/transcripts/cycle-update-5.output.md
#	unison-src/transcripts/delete.output.md
#	unison-src/transcripts/diff-namespace.output.md
#	unison-src/transcripts/move-namespace.output.md
#	unison-src/transcripts/name-selection.output.md
#	unison-src/transcripts/names.output.md
#	unison-src/transcripts/namespace-dependencies.output.md
#	unison-src/transcripts/propagate.output.md
#	unison-src/transcripts/reflog.output.md
#	unison-src/transcripts/reset.output.md
#	unison-src/transcripts/tab-completion.output.md
#	unison-src/transcripts/transcript-parser-commands.output.md
2024-07-10 23:49:04 -04:00
Greg Pfeil
9e2fa2bbe7
Replace transcript parser with cmark
We don’t need a very rich parser for transcripts, but we _do_ need to
reliably identify fenced code blocks, and that implies a number of
subtle cases. Using a polished CommonMark parser/printer handles those
subtleties for us.

I chose `cmark` for a few reasons:
- it’s a wrapper around `libcmark`, which is the reference
  implementation of CommonMark, so it should be correct;
- it provides both a parser and a printer (unlike MMark); and
- it is extremely fast (about 20x faster than MMark), so the fact that
  our home-rolled parser got to skip over everything that’s not a block
  isn’t an issue.).

This only _partially_ uses the `cmark` printer. I think it should use it
entirely, but for the cases where we do streaming output (processing UCM
commands, etc.) it’s a more involved change. So I think it should be
handled separately.
2024-07-10 13:26:19 -06:00
Chris Penner
736ccf1434 Merge trunk 2024-07-09 15:47:12 -07:00
Chris Penner
4254a51e06 Update LSP to listen for changes 2024-07-09 14:39:09 -07:00
Arya Irani
615887fcf4
Merge pull request #5194 from unisonweb/synhash-bugfix 2024-07-09 14:25:25 -04:00
Mitchell Rosen
9cc6c2bd8a synhash var bugfix: hash debruijn indexes, not var names
also adds a debug.synhash.term command for debugging
2024-07-09 11:47:27 -04:00
Arya Irani
b14931f7b4 avoid numeric vs textual clash in args length error
`numerals` doesn't seem to be maintained anymore, however
2024-07-06 14:37:55 -04:00
Chris Penner
49258bc343 Merge trunk 2024-07-05 16:55:07 -07:00
Arya Irani
0331d2287c
Merge pull request #5186 from unisonweb/lsp/unused-binding-detection 2024-07-05 19:25:39 -04:00
Arya Irani
293b4a2948
Merge pull request #5182 from unisonweb/cp/improve-lsp-completion 2024-07-05 15:59:13 -04:00
Chris Penner
b9f4bfe198 Add unused binding detection to LSP 2024-07-05 12:47:43 -07:00
Chris Penner
deaf355f83 Improve LSP completion sorting 2024-07-05 11:56:31 -07:00
Arya Irani
4bbbc8ce60 move pretty-print helpers out of CommandLine.hs
to avoid a potential cycle between CommandLine.hs and InputPatterns.hs
that otherwise came up on another branch.

InputPatterns.hs also has formatting helpers that could be used in CommandLine.hs.
Maybe they should be moved too, but I haven't thought about it.
2024-07-05 12:24:55 -04:00
Chris Penner
7148685951 Implement DB combinators for project and branch reflogs 2024-07-03 12:05:45 -07:00
Chris Penner
cc07b63aff Merge trunk 2024-07-02 15:37:49 -07:00
Mitchell Rosen
eb1ee64cf2 merge unison-util-nametree into unison-core1 2024-07-02 12:23:34 -04:00
Chris Penner
dadc4e476b Merge trunk and resolve basic conflicts 2024-07-01 14:29:32 -07:00
Chris Penner
1c186d4d73 Merge trunk into cp/project-root 2024-06-24 12:50:36 -07:00
Mitchell Rosen
3e229d521f ⅄ trunk → 24-06-24-todo-dependents 2024-06-24 13:42:13 -04:00
Arya Irani
7172bb8e4f
Merge pull request #5107 from unisonweb/24-06-13-revamp-todo 2024-06-24 12:08:27 -04:00
Mitchell Rosen
c3b7091784 move ls handler into its own module 2024-06-24 09:52:47 -04:00
Mitchell Rosen
0d441f3b75 move todo data types around 2024-06-24 08:26:52 -04:00
Mitchell Rosen
1081a9835a ⅄ trunk → 24-06-13-revamp-todo 2024-06-18 13:20:20 -04:00
Chris Penner
6d8605e70b Merge trunk
Propagate fixes from earlier merge
2024-06-14 15:41:50 -07:00
Mitchell Rosen
87f1544ad2 move todo input handler into its own module 2024-06-13 08:47:37 -04:00
Chris Penner
6518e3f3fc Deleting a bunch of stuff to do with push/pull loose code 2024-06-06 10:52:49 -07:00
Mitchell Rosen
a1ecf83078 ⅄ trunk → 24-05-20-merge-commit 2024-06-03 08:51:53 -04:00
Mitchell Rosen
83d6946c60 ⅄ trunk → 24-05-20-upgrade-commit 2024-05-30 14:47:10 -04:00
Greg Pfeil
e9d2a21d8a
Merge remote-tracking branch 'upstream/trunk' into structured-numbered-args 2024-05-29 16:28:32 -06:00
Chris Penner
1b5c93da11 remove git push/pull 2024-05-28 10:09:52 -07:00
Greg Pfeil
9d5ee42094
Merge remote-tracking branch 'upstream/trunk' into structured-numbered-args 2024-05-22 23:12:37 -06:00
Greg Pfeil
e250d05980
Maintain NumberedArgs as structured data
This is the first step toward avoiding printing/parsing the values provided via
`NumberedArgs`. It simply adds a new sum type to hold all of the types that can
be in numbered args and stores it alongside the `Text` representation.

It currently gets discarded when we actually expand the arguments.
2024-05-22 17:50:51 -06:00
Mitchell Rosen
ce9110be46 Add merge.commit command 2024-05-20 14:21:06 -04:00
Mitchell Rosen
dbe4892437 ⅄ topic/merge5 → 24-05-20-upgrade-commit 2024-05-20 10:45:41 -04:00
Mitchell Rosen
49ee64ef37 sketch out basic upgrade.commit command 2024-05-20 10:45:27 -04:00
Mitchell Rosen
bc54e4d0b4 make pull call new merge instead of old merge 2024-05-17 13:49:13 -04:00
Arya Irani
6e92e62151
Merge branch 'trunk' into topic/merge4 2024-05-16 06:21:43 -04:00
Mitchell Rosen
30294bb452 add lib.install command 2024-05-15 15:37:10 -04:00
Mitchell Rosen
4bd924a0c9 make DownloadUtils module, shared by pull and clone 2024-05-15 11:57:30 -04:00
Mitchell Rosen
e18bbd40f9 ⅄ trunk → topic/merge4 2024-05-13 10:36:03 -04:00
Mitchell Rosen
4319a03e7b OverloadedRecordDot 2024-04-24 10:32:07 -04:00
Mitchell Rosen
f1a45ca883 improve merge debug output 2024-04-17 22:29:07 -04:00
Mitchell Rosen
589970313d ⅄ trunk → topic/merge4 2024-04-08 10:03:38 -04:00
Arya Irani
19be0a5efd Merge remote-tracking branch 'origin/trunk' into kylegoetz-udp
# Conflicts:
#	unison-cli/unison-cli.cabal
#	unison-src/builtin-tests/interpreter-tests.md
#	unison-src/builtin-tests/testlib.u
#	unison-src/builtin-tests/tests.u
2024-04-05 14:39:07 -06:00
Mitchell Rosen
c649172fe2 merge unison-cli:lib and unison-cli:lib:unison-cli-lib because stack can't really handle internal libraries 2024-04-04 16:54:54 -04:00