Commit Graph

1438 Commits

Author SHA1 Message Date
Michael Bolin
1a76d2ad48 chore: move each view used in BottomPane into its own file 2025-05-13 23:24:02 -07:00
Michael Bolin
647d611875 merge commit for archive created by Sapling 2025-05-13 23:23:01 -07:00
Michael Bolin
45140daeb3 chore: move each view used in BottomPane into its own file 2025-05-13 23:22:56 -07:00
Michael Bolin
8ababe50d1 merge commit for archive created by Sapling 2025-05-13 23:19:45 -07:00
Michael Bolin
ae9eb21d50 chore: move each view used in BottomPane into its own file 2025-05-13 23:19:36 -07:00
Michael Bolin
1bf00a3a95 feat: Ctrl+J for newline in Rust TUI, default to one line of height (#926)
While the `TextArea` used in the Rust TUI is "multiline," it is not like
an HTML `<textarea>` in that it does not wrap, so there was not much
benefit to setting `MIN_TEXTAREA_ROWS` to `3`, so this PR changes it to
`1`. Though there are now three ways to "increase" the height due to
actual linebreaks:

* paste in multiline content (this worked before this PR)
* pressing `Ctrl+J` will insert a newline
* if you have your terminal emulator set such that it is possible to
press something that `crossterm` interprets as "Enter plus some
modifier," then now that will also work

Now things look a bit more compact on startup:

<img width="745" alt="image"
src="https://github.com/user-attachments/assets/86e2857f-f31c-46f5-a80b-1ab2120b266e"
/>
2025-05-13 21:42:14 -07:00
Michael Bolin
5bf9445351 fix: test_dev_null_write() was not using echo as intended (#923)
I believe this test meant to verify that echoing content to `/dev/null`
succeeded, but instead, I believe it was testing the equivalent to `echo
'blah > /dev/null'`.
2025-05-13 21:40:26 -07:00
Michael Bolin
e701ae5c22 merge commit for archive created by Sapling 2025-05-13 20:52:44 -07:00
Michael Bolin
fdfdb1a11c feat: Ctrl+J for newline in Rust TUI, default to one line of height 2025-05-13 20:52:39 -07:00
Michael Bolin
341bd57f7c Merge 85c6209e7b into sapling-pr-archive-bolinfest 2025-05-13 20:51:57 -07:00
Michael Bolin
85c6209e7b feat: Ctrl+J for newline in Rust TUI, default to one line of height 2025-05-13 20:51:49 -07:00
Michael Bolin
a5f3a34827 fix: change EventMsg enum so every variant takes a single struct (#925)
https://github.com/openai/codex/pull/922 did this for the
`SessionConfigured` enum variant, and I think it is generally helpful to
be able to work with the values as each enum variant as their own type,
so this converts the remaining variants and updates all of the
callsites.

Added a simple unit test to verify that the JSON-serialized version of
`Event` does not have any unexpected nesting.
2025-05-13 20:44:42 -07:00
Michael Bolin
b5f735f200 merge commit for archive created by Sapling 2025-05-13 20:38:42 -07:00
Michael Bolin
d99bcb9222 fix: change EventMsg enum so every variant takes a single struct 2025-05-13 20:38:37 -07:00
Michael Bolin
05afdeab8e merge commit for archive created by Sapling 2025-05-13 20:36:38 -07:00
Michael Bolin
a017ebffc6 fix: change EventMsg enum so every variant takes a single struct 2025-05-13 20:36:34 -07:00
Michael Bolin
bbb510ad10 merge commit for archive created by Sapling 2025-05-13 20:35:16 -07:00
Michael Bolin
29fea45211 fix: change EventMsg enum so every variant takes a single struct 2025-05-13 20:35:11 -07:00
Michael Bolin
150d418cf5 merge commit for archive created by Sapling 2025-05-13 20:33:26 -07:00
Michael Bolin
9728d1e277 fix: change EventMsg enum so every variant takes a single struct 2025-05-13 20:33:20 -07:00
Michael Bolin
0bf526ebcb merge commit for archive created by Sapling 2025-05-13 20:27:47 -07:00
Michael Bolin
ac78bf0f59 fix: change EventMsg enum so every variant takes a single struct 2025-05-13 20:27:42 -07:00
Michael Bolin
83fb59c491 merge commit for archive created by Sapling 2025-05-13 20:26:25 -07:00
Michael Bolin
0960291708 fix: change EventMsg enum so every variant takes a single struct 2025-05-13 20:26:21 -07:00
Michael Bolin
3d4700832f merge commit for archive created by Sapling 2025-05-13 20:16:24 -07:00
Michael Bolin
ab8b7d4d13 fix: change EventMsg enum so every variant takes a single struct 2025-05-13 20:16:10 -07:00
Michael Bolin
12ff868b98 Merge 001a24460d into sapling-pr-archive-bolinfest 2025-05-13 20:08:52 -07:00
Michael Bolin
001a24460d fix: change EventMsg enum so every variant takes a single struct 2025-05-13 20:08:43 -07:00
Michael Bolin
e6c206d19d fix: tighten up some logic around session timestamps and ids (#922)
* update `SessionConfigured` event to include the UUID for the session
* show the UUID in the Rust TUI
* use local timestamps in log files instead of UTC
* include timestamps in log file names for easier discovery
2025-05-13 19:22:16 -07:00
Michael Bolin
2a7f2c7d16 Merge 1723bffa19 into sapling-pr-archive-bolinfest 2025-05-13 19:17:17 -07:00
Michael Bolin
1723bffa19 fix: test_dev_null_write() was not using echo as intended 2025-05-13 19:17:10 -07:00
Michael Bolin
f2cf8967f3 Merge 16be257bcc into sapling-pr-archive-bolinfest 2025-05-13 18:07:58 -07:00
Michael Bolin
16be257bcc fix: use local timestamps in log files instead of UTC 2025-05-13 18:07:51 -07:00
Michael Bolin
3c03c25e56 feat: introduce --profile for Rust CLI (#921)
This introduces a much-needed "profile" concept where users can specify
a collection of options under one name and then pass that via
`--profile` to the CLI.

This PR introduces the `ConfigProfile` struct and makes it a field of
`CargoToml`. It further updates
`Config::load_from_base_config_with_overrides()` to respect
`ConfigProfile`, overriding default values where appropriate. A detailed
unit test is added at the end of `config.rs` to verify this behavior.

Details on how to use this feature have also been added to
`codex-rs/README.md`.
2025-05-13 16:52:52 -07:00
Michael Bolin
395d932531 Merge b42b59e45e into sapling-pr-archive-bolinfest 2025-05-13 16:44:42 -07:00
Michael Bolin
b42b59e45e feat: introduce --profile for Rust CLI 2025-05-13 16:44:36 -07:00
Adeeb
ae809f3721 restructure flake for codex-rs (#888)
Right now since the repo is having two different implementations of
codex, flake was updated to work with both typescript implementation and
rust implementation
2025-05-13 13:08:42 -07:00
Michael Bolin
a786c1d188 feat: auto-approve nl and support piping to sed (#920)
Auto-approved:

```
["nl", "-ba", "README.md"]
["sed", "-n", "1,200p", "filename.txt"]
["bash", "-lc", "sed -n '1,200p' filename.txt"]
["bash", "-lc", "nl -ba README.md | sed -n '1,200p'"]
```

Not auto approved:

```
["sed", "-n", "'1,200p'", "filename.txt"]
["sed", "-n", "1,200p", "file1.txt", "file2.txt"]
```
2025-05-13 13:06:35 -07:00
Michael Bolin
ef0bd3b1bf Merge a2fa531c14 into sapling-pr-archive-bolinfest 2025-05-13 13:04:23 -07:00
Michael Bolin
a2fa531c14 feat: auto-approve nl and support piping to sed 2025-05-13 13:04:18 -07:00
Michael Bolin
fae1491d09 Merge 9603bb3bdc into sapling-pr-archive-bolinfest 2025-05-13 13:04:14 -07:00
Michael Bolin
9603bb3bdc feat: auto-approve nl and support piping to sed 2025-05-13 13:04:07 -07:00
Michael Bolin
0ac7e8d55b fix: tweak the label for citations for better rendering (#919)
Adds a space so that sequential citations have some more breathing room.

As I had to update the tests for this change, I also introduced a
`toDiffableString()` helper to make the test easier to update as we make
formatting changes to the output.
2025-05-13 12:46:21 -07:00
Michael Bolin
3893834a8c merge commit for archive created by Sapling 2025-05-13 12:41:34 -07:00
Michael Bolin
a3f10b8798 fix: tweak the label for citations for better rendering 2025-05-13 12:41:26 -07:00
Michael Bolin
1ff3e14d5a fix: patch in #366 and #367 for marked-terminal (#916)
This PR uses [`pnpm
patch`](https://www.petermekhaeil.com/til/pnpm-patch/) to pull in the
following proposed fixes for `marked-terminal`:

* https://github.com/mikaelbr/marked-terminal/pull/366
* https://github.com/mikaelbr/marked-terminal/pull/367

This adds a substantial test to `codex-cli/tests/markdown.test.tsx` to
verify the new behavior.

Note that one of the tests shows two citations being split across a line
even though the rendered version would fit comfortably on one line.
Changing this likely requires a subtle fix to `marked-terminal` to
account for "rendered length" when determining line breaks.
2025-05-13 12:29:17 -07:00
Michael Bolin
b96cf39f79 merge commit for archive created by Sapling 2025-05-13 12:21:38 -07:00
Michael Bolin
1dcc200b50 fix: patch in #366 and #367 for marked-terminal 2025-05-13 12:21:32 -07:00
Michael Bolin
8a297e4623 merge commit for archive created by Sapling 2025-05-13 12:20:16 -07:00
Michael Bolin
735a7eefd3 fix: patch in #366 and #367 for marked-terminal 2025-05-13 12:20:07 -07:00