open-index/open-npm huggingface dataset:
npm package: @suds-cli/code
Description: Syntax-highlighted code viewer with scrollable viewport for Suds terminal UIs
Latest version: 0.1.0-alpha.2

> **Deprecation Notice:** This package is being renamed from `@suds-cli/code` to `@boba-cli/code`. Please update your dependencies accordingly.

# @suds-cli/code

Syntax-highlighted code viewer component for Suds terminal UIs.

![Code Demo](../../examples/code-demo.gif)

## Features

- Syntax highlighting with configurable themes
- Scrollable viewport for long code files
- Supports multiple programming languages via file extension detection
- Async file loading
- Keyboard navigation when active

## Installation

```bash
pnpm add @suds-cli/code
```

## Usage

```typescript
import { CodeModel } from '@suds-cli/code'
import { Program } from '@suds-cli/tea'

const codeModel = CodeModel.new({ active: true })

// In init
const cmd = codeModel.setFileName('example.ts')

// In update - handle window resize
if (msg instanceof WindowSizeMsg) {
  codeModel = codeModel.setSize(msg.width, msg.height)
}

// In view
return codeModel.view()
```

## API

See [API documentation](../../docs/code.codemodel.md) for details.
npm package: @suds-cli/filetree
Description: Navigable file tree browser component for Suds terminal UIs
Latest version: 0.1.0-alpha.1

> **Deprecation Notice:** This package is being renamed from `@suds-cli/filetree` to `@boba-cli/filetree`. Please update your dependencies accordingly.

# @suds-cli/filetree

Navigable file tree browser component for Suds terminal UIs.

## Features

- Keyboard navigation (up/down)
- Scrollable viewport
- File metadata display (date, permissions, size)
- Hidden file support
- Customizable key bindings and styles

## Installation

```bash
pnpm add @suds-cli/filetree
```

## Usage

```typescript
import { FiletreeModel } from '@suds-cli/filetree'
import { Program } from '@suds-cli/tea'

const filetree = FiletreeModel.new({
  currentDir: process.cwd(),
  showHidden: false,
})

const program = new Program(filetree)
await program.run()
```

## API

See the [API documentation](../../docs/api/filetree.md) for detailed information.
npm package: @suds-cli/markdown
Description: Markdown viewer component for Suds terminal UIs
Latest version: 0.1.0-alpha.2

> **Deprecation Notice:** This package is being renamed from `@suds-cli/markdown` to `@boba-cli/markdown`. Please update your dependencies accordingly.

# @suds-cli/markdown

Markdown viewer component for Suds terminal UIs.

<img src="../../examples/markdown-demo.gif" width="950" alt="Markdown component demo" />

## Features

- Renders markdown with beautiful terminal styling
- Scrollable viewport for long documents
- Automatic light/dark theme detection
- Support for headers, code blocks, lists, links, and more
- Word wrapping at viewport width

## Installation

```bash
pnpm add @suds-cli/markdown
```

## Usage

```typescript
import { MarkdownModel } from '@suds-cli/markdown'
import { Program } from '@suds-cli/tea'

let model = MarkdownModel.new({ active: true })
const [updatedModel, cmd] = model.setFileName('README.md')
model = updatedModel

// Handle resize
const [resizedModel] = model.setSize(width, height)
model = resizedModel

// Render
const view = model.view()
```

## API

See the [API documentation](../../docs/markdown.md) for complete details.
npm package: @suds-cli/statusbar
Description: Status bar component for Suds terminal UIs
Latest version: 0.1.0-alpha.2

> **Deprecation Notice:** This package is being renamed from `@suds-cli/statusbar` to `@boba-cli/statusbar`. Please update your dependencies accordingly.

# @suds-cli/statusbar

A 4-column status bar component for terminal UIs, ported from [teacup](https://github.com/mistakenelf/teacup).

## Features

- Fixed 1-row height status bar
- 4 configurable columns with individual colors
- Automatic text truncation with ellipsis
- Responsive width handling
- Adaptive colors (light/dark mode support)

## Installation

```bash
pnpm add @suds-cli/statusbar
```

## Usage

```typescript
import { StatusbarModel } from '@suds-cli/statusbar'
import type { ColorConfig } from '@suds-cli/statusbar'

const sb = StatusbarModel.new(
  { foreground: '#ffffff', background: '#F25D94' }, // Pink - first column
  { foreground: '#ffffff', background: '#3c3836' }, // Gray - second column
  { foreground: '#ffffff', background: '#A550DF' }, // Purple - third column
  { foreground: '#ffffff', background: '#6124DF' }, // Indigo - fourth column
)

// Set size and content
const updated = sb
  .setSize(80)
  .setContent('file.txt', '~/.config/nvim', '1/23', 'OK')

// Render
console.log(updated.view())
```

## Column Layout

| Column | Alignment | Width                  | Truncation      |
| ------ | --------- | ---------------------- | --------------- |
| First  | Left      | Auto (max 30 chars)    | Yes, with "..." |
| Second | Left      | Flexible (fills space) | Yes, with "..." |
| Third  | Right     | Auto                   | No              |
| Fourth | Left      | Auto                   | No              |

## API

### `StatusbarModel.new(first, second, third, fourth)`

Create a new statusbar with color configuration for each column.

### `setSize(width: number)`

Set the total width of the statusbar.

### `setContent(first, second, third, fourth)`

Update the text content for all columns.

### `setColors(first, second, third, fourth)`

Update the color configuration for all columns.

### `update(msg: Msg)`

Handle messages (primarily `WindowSizeMsg` for window resizing).

### `view()`

Render the statusbar to a string.

## License

MIT