iced-swdir-tree 0.7.0

iced widget for file tree powered by swdir, supporting selection, lazy loading and filtering.
Documentation
# iced-swdir-tree documentation

Full reference for the widget. The
[top-level README](../README.md) covers the hero pitch, a
30-second quick start, and design notes — land here when you
need depth on a specific topic.

The documentation is organized by what you're trying to do:

- **[`guide/`]guide/** — you want to *build something*.
  Task-oriented pages with code you can paste into your app.
- **[`reference/`]reference/** — you want to *look up a fact*.
  The feature list; the event enum; short answers.
- **[`internals/`]internals/** — you want to *understand how
  the widget works* or contribute. Architecture deep-dive and
  how to run the test matrix.

## Guide

Building something specific? Start here.

- [Configuration]guide/configuration.md — builder methods,
  runtime mutators, accessors.
- [Multi-select]guide/multi-select.md`SelectionMode`,
  modifier handling, view-level click behaviour.
- [Drag-and-drop]guide/drag-and-drop.md — the `DragCompleted`
  event, filesystem responsibility split, drag-state accessors.
- [Keyboard navigation]guide/keyboard-navigation.md — the
  key-to-event table and subscription wiring.
- [Incremental search]guide/incremental-search.md  `set_search_query`, match semantics, the
  selection-survives-search contract.
- [Parallel pre-expansion]guide/prefetch.md  `with_prefetch_limit`, the `.git` / `node_modules` / `target`
  safety valve.
- [Custom scan executor]guide/custom-executor.md  `ScanExecutor`, `ThreadExecutor`, when to swap.
- [Icon themes]guide/icon-themes.md — the `IconTheme` trait,
  the stock `UnicodeTheme` / `LucideTheme`, how to implement
  your own.

## Reference

Looking something up.

- [Features]reference/features.md — what the widget provides,
  at a glance.
- [Events]reference/events.md — the `DirectoryTreeEvent` enum
  your `update()` handler consumes.

## Internals

Understanding or contributing.

- [Architecture]internals/architecture.md — the module layout,
  generation-counter/cache mechanics, drag state machine,
  prefetch cascade-prevention trick, search-visibility walker.
- [Development]internals/development.md — running the test
  matrix locally and extending it.

## Release notes

- [CHANGELOG]../CHANGELOG.md — per-release notes with
  breaking-change callouts.
- [ROADMAP]../ROADMAP.md — what's shipped and what's planned
  for v1.0 and after.

## Examples

Working apps live in [`../examples/`](../examples/):

- `keyboard_nav.rs` — single-select navigation with the full
  key-binding surface.
- `multi_select.rs` — modifier-aware selection with a live
  selection-count status bar.
- `drag_drop.rs``fs::rename` on drop with post-move refresh.
- `search.rs` — text-input + tree + match-count status bar.

Run any of them with `cargo run --example <n>`.