Command output, diffs and previews
While DataMind Oda works in your chat, the reply shows what its steps produced: the output of the commands it ran, the changes it made to files, and small details about those files. This page covers how that output is drawn, and how to read and copy it.
What each card shows, and how much of it, is in Step cards in chat; how a step runs, fails or is stopped is in Tool calls in the chat. Charts, KPI cards and diagrams are covered with the company data work in Company data and documents.
Read a command's output
- A command Oda runs opens as a card: the command and the folder it ran in stay at the top, and the output sits in a scrolling area of its own below, so a long result is read in place. Workspaces and permissions explains the folder a chat works in.
- Long lines scroll sideways rather than wrap, so nothing is cut off at the card's edge.
- Colours come from your theme, not from your terminal. Basic terminal colours map onto the app's palette, and plain black or white text is remapped so it stays readable in light and dark themes. Colours the palette has no match for, such as 256-colour output, keep the values the command printed.
- Carriage returns and backspaces replay in place: when a command redraws a line, such as a progress counter, characters the earlier version wrote can stay beside the redrawn text.
- The card is not a full terminal. Cursor positioning, screen clearing and full-screen programs are not reproduced, and blinking or animated text stays still; you read the text the command printed. To type commands yourself, open a terminal in the side panel: see The terminal.
- When the command has output, Copy copies it as text.
Read a diff
- When Oda changes a file, the change appears as a diff card: the file's path, then the lines it removed and added. Each line carries its sign,
- for removed and + for added, so the two sides read without relying on colour.
- Where parts of the change sit far apart, the card jumps between them and marks the jump with
⋯.
- A long change folds its middle: the start and the end stay in view, and a control between them says how many lines are hidden, then shows them again.
- The card's footer repeats the totals and counts the files, for example
└ +12 -3 · 2 files.
- Copy copies the change as text with the hidden lines included: removed lines take
- , added lines take + , and unchanged context keeps two spaces.
- A very large change can fall back to a whole replacement: every old line shows as removed and every new line as added, shared lines included.
- The turn's list of every file it changed is a separate card; see Changed files and comparisons. The step view of a single change, with its totals and failures, is in File changes in chat.
Rows and preview cards
- Cards open and close the same way throughout: click a row, or select it and press Enter or Space.
- Some rows carry a preview: rest the pointer on the row for about half a second and a preview card opens beside it. One example is a file row on the changed-files card, which previews that file's comparison.
- The card stays open while the pointer rests on it; press Escape to close it early.
- A preview card that offers copying can be activated: click it, or focus it and press Enter or Space, and it copies what it shows. The card says Copied in place of its content for about a second.
File details in cards and lists
- Sizes are rounded for reading: the largest unit that fits, with one decimal below ten of that unit and rounded values above, for example
312B, 4.2KB, 1.5MB, 2.4GB.
- Code in a card is coloured by its language. When Oda does not recognise the language, the code shows as plain text.
- Every file carries a type icon: a coloured mark for code files, and one for Excel, folders, HTML, images, Markdown, PDF, PowerPoint, Word and video. A file whose kind Oda cannot tell gets a neutral icon.
- Names such as
README, CHANGELOG and CONTRIBUTING are read as Markdown, so they get the Markdown icon even without a .md ending.
Questions, answered
Why does coloured output look different from my terminal?
The card draws colours from your theme, not from your terminal's own palette. Basic colours map onto the app's palette, and plain black or white text is remapped so it stays readable in light and dark themes. Colours the palette has no match for, such as 256-colour output, keep the values the command printed.
A progress line in the output came out scrambled. Why?
A command that redraws a line in place uses carriage returns, and the card replays those moves as plain text. Characters the earlier version wrote can stay beside the redrawn text.
Is the output card a terminal I can type in?
No. The card shows what a command printed and reads like text: it is not a full terminal, so cursor positioning, screen clearing, full-screen programs and animated text are not reproduced. You take the text out with Copy. For your own shell, see The terminal.
How do I copy a diff as it is shown?
Use the card's Copy control. It copies the change as plain text: removed lines take - , added lines take + , unchanged context keeps two spaces, and the lines the fold hides are included.
Why does a very large change show every line as added and removed?
The card pairs a change line by line, and a very large change can exceed what it can pair. It then shows the whole change as a replacement: every old line as removed and every new line as added. The totals count both sides.
Why is a code block sometimes shown as plain text?
The card colours code by the language it recognises from the file's name. When the language is not recognised, the text shows plain; nothing is missing from it.
Why does README show a Markdown icon?
File names such as README, CHANGELOG and CONTRIBUTING are read as Markdown, so they get the Markdown icon even without a .md ending.
Why is a file's size rounded?
Sizes are shown in the largest unit that fits, with one decimal below ten of that unit and rounded values above. That is why a file can read 4.2KB instead of an exact byte count.
How do I keep a preview card open once it appears?
Rest the pointer on the card itself: the card stays while the pointer is on it. To close a preview without moving away, press Escape.
How do I copy a value from a preview card?
If the card offers copying, click it, or focus it and press Enter or Space. It copies what it shows, and the card says Copied for about a second.