unison/unison-src/transcripts/edit-namespace.output.md
Greg Pfeil 0031542faf
Add a space before code block info strings
This is for consistency with the `cmark` style. Now the blocks we still
pretty-print ourselves will match the bulk of them that `cmark`
produces.
2024-07-10 13:56:07 -06:00

3.2 KiB

{{ ping doc }}
nested.cycle.ping n = n Nat.+ pong n

{{ pong doc }}
nested.cycle.pong n = n Nat.+ ping n

toplevel = "hi"

simple.x = 10
simple.y = 20

-- Shouldn't edit things in lib
lib.project.ignoreMe = 30

-- Shouldn't render record accessors
unique type Foo = { bar : Nat, baz : Nat }

  Loading changes detected in scratch.u.

  I found and typechecked these definitions in scratch.u. If you
  do an `add` or `update`, here's how your codebase would
  change:
  
    ⍟ These new definitions are ok to `add`:
    
      type Foo
      Foo.bar               : Foo -> Nat
      Foo.bar.modify        : (Nat ->{g} Nat) -> Foo ->{g} Foo
      Foo.bar.set           : Nat -> Foo -> Foo
      Foo.baz               : Foo -> Nat
      Foo.baz.modify        : (Nat ->{g} Nat) -> Foo ->{g} Foo
      Foo.baz.set           : Nat -> Foo -> Foo
      lib.project.ignoreMe  : Nat
      nested.cycle.ping     : Nat -> Nat
      nested.cycle.ping.doc : Doc2
      nested.cycle.pong     : Nat -> Nat
      nested.cycle.pong.doc : Doc2
      simple.x              : Nat
      simple.y              : Nat
      toplevel              : Text

project/main> add

  ⍟ I've added these definitions:
  
    type Foo
    Foo.bar               : Foo -> Nat
    Foo.bar.modify        : (Nat ->{g} Nat) -> Foo ->{g} Foo
    Foo.bar.set           : Nat -> Foo -> Foo
    Foo.baz               : Foo -> Nat
    Foo.baz.modify        : (Nat ->{g} Nat) -> Foo ->{g} Foo
    Foo.baz.set           : Nat -> Foo -> Foo
    lib.project.ignoreMe  : Nat
    nested.cycle.ping     : Nat -> Nat
    nested.cycle.ping.doc : Doc2
    nested.cycle.pong     : Nat -> Nat
    nested.cycle.pong.doc : Doc2
    simple.x              : Nat
    simple.y              : Nat
    toplevel              : Text

edit.namespace edits the whole namespace (minus the top-level lib).

project/main> edit.namespace

  ☝️
  
  I added 8 definitions to the top of scratch.u
  
  You can edit them there, then run `update` to replace the
  definitions currently in this namespace.

type Foo = { bar : Nat, baz : Nat }

nested.cycle.ping : Nat -> Nat
nested.cycle.ping n =
  use Nat +
  n + nested.cycle.pong n

nested.cycle.ping.doc : Doc2
nested.cycle.ping.doc = {{ ping doc }}

nested.cycle.pong : Nat -> Nat
nested.cycle.pong n =
  use Nat +
  n + nested.cycle.ping n

nested.cycle.pong.doc : Doc2
nested.cycle.pong.doc = {{ pong doc }}

simple.x : Nat
simple.x = 10

simple.y : Nat
simple.y = 20

toplevel : Text
toplevel = "hi"

edit.namespace can also accept explicit paths

project/main> edit.namespace nested simple

  ☝️
  
  I added 6 definitions to the top of scratch.u
  
  You can edit them there, then run `update` to replace the
  definitions currently in this namespace.

nested.cycle.ping : Nat -> Nat
nested.cycle.ping n =
  use Nat +
  n + nested.cycle.pong n

nested.cycle.ping.doc : Doc2
nested.cycle.ping.doc = {{ ping doc }}

nested.cycle.pong : Nat -> Nat
nested.cycle.pong n =
  use Nat +
  n + nested.cycle.ping n

nested.cycle.pong.doc : Doc2
nested.cycle.pong.doc = {{ pong doc }}

simple.x : Nat
simple.x = 10

simple.y : Nat
simple.y = 20