# LibTmuxWorkspace.validate

- **Module:** LibTmuxWorkspace
- **Package:** LibTmuxWorkspace
- **Language:** Julia
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/packages/LibTmuxWorkspace/src/config.jl#L294
- **Page:** https://libtmux.org/en/julia/latest/workspace/reference/libtmuxworkspace-validate/

```
validate(data; kwargs...)

validate(data::AbstractDict; limits, source_path)

validate(document::LibTmuxWorkspace.WorkspaceDocument; limits)
```

## Methods

### `validate(data; kwargs...)`

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/packages/LibTmuxWorkspace/src/config.jl#L340).

### `validate(data::AbstractDict; limits, source_path)`

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/packages/LibTmuxWorkspace/src/config.jl#L301).

Validate schema version 1, copy caller-owned values and normalize pane shorthand. No environment expansion, file access, subprocesses or tmux calls occur here. Unknown keys and unsupported Python plugins/builders produce precise errors.

```julia
validate(document_or_mapping; limits=ConfigLimits()) -> WorkspaceConfig
```

### `validate(document::LibTmuxWorkspace.WorkspaceDocument; limits)`

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/packages/LibTmuxWorkspace/src/config.jl#L336).

## Parameters

- `data` (`Any`) (for `validate(data, kwargs)`)
- `kwargs` (for `validate(data, kwargs)`)
- `data` (`Base.AbstractDict`) (for `validate(data, limits, source_path)`)
- `limits` (`ConfigLimits`) (for `validate(data, limits, source_path)`)
  Default: `ConfigLimits()`.
- `source_path` (for `validate(data, limits, source_path)`)
  Default: `nothing`.
- `document` (`LibTmuxWorkspace.WorkspaceDocument`) (for `validate(document, limits)`)
- `limits` (`ConfigLimits`) (for `validate(document, limits)`)
  Default: `document.limits`.
