# `OpenCode.Generated.File`
[🔗](https://github.com/UtkarshUsername/opencode-sdk-elixir/blob/v0.1.84/lib/opencode/generated/file.ex#L1)

Provides API endpoints related to file

# `find_text_200_json_resp`

```elixir
@type find_text_200_json_resp() :: %{
  absolute_offset: integer(),
  line_number: integer(),
  lines: find_text_200_json_resp_lines(),
  path: find_text_200_json_resp_path(),
  submatches: [find_text_200_json_resp_submatches()]
}
```

# `find_text_200_json_resp_lines`

```elixir
@type find_text_200_json_resp_lines() :: %{text: String.t()}
```

# `find_text_200_json_resp_path`

```elixir
@type find_text_200_json_resp_path() :: %{text: String.t()}
```

# `find_text_200_json_resp_submatches`

```elixir
@type find_text_200_json_resp_submatches() :: %{
  end: integer(),
  match: find_text_200_json_resp_submatches_match(),
  start: integer()
}
```

# `find_text_200_json_resp_submatches_match`

```elixir
@type find_text_200_json_resp_submatches_match() :: %{text: String.t()}
```

# `t`

```elixir
@type t() :: %OpenCode.Generated.File{
  added: integer(),
  path: String.t(),
  removed: integer(),
  status: String.t()
}
```

# `file_list`

```elixir
@spec file_list(opts :: keyword()) ::
  {:ok, [OpenCode.Generated.FileNode.t()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

List files

List files and directories in a specified path.

## Options

  * `directory`
  * `workspace`
  * `path`

# `file_read`

```elixir
@spec file_read(opts :: keyword()) ::
  {:ok, OpenCode.Generated.FileContent.t()}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

Read file

Read the content of a specified file.

## Options

  * `directory`
  * `workspace`
  * `path`

# `file_status`

```elixir
@spec file_status(opts :: keyword()) ::
  {:ok, [t()]} | {:error, OpenCode.Generated.BadRequestError.t()}
```

Get file status

Get the git status of all files in the project.

## Options

  * `directory`
  * `workspace`

# `find_files`

```elixir
@spec find_files(opts :: keyword()) ::
  {:ok, [String.t()]} | {:error, OpenCode.Generated.BadRequestError.t()}
```

Find files

Search for files or directories by name or pattern in the project directory.

## Options

  * `directory`
  * `workspace`
  * `query`
  * `dirs`
  * `type`
  * `limit`

# `find_symbols`

```elixir
@spec find_symbols(opts :: keyword()) ::
  {:ok, [OpenCode.Generated.Symbol.t()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

Find symbols

Search for workspace symbols like functions, classes, and variables using LSP.

## Options

  * `directory`
  * `workspace`
  * `query`

# `find_text`

```elixir
@spec find_text(opts :: keyword()) ::
  {:ok, [find_text_200_json_resp()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

Find text

Search for text patterns across files in the project using ripgrep.

## Options

  * `directory`
  * `workspace`
  * `pattern`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
