opencode/file

Types

FileDirsOption = enum
  dirsTrue = "true", dirsFalse = "false"
FileTypeOption = enum
  typeFile = "file", typeDirectory = "directory"

Procs

proc getFile(client: OpencodeClient; directory: string = default(string);
             workspace: string = default(string); path: string): Future[
    seq[types.FileNode]] {....stackTrace: false, raises: [Exception, ValueError,
    KeyError, HttpRequestError, LibraryError, SslError, OSError, IOError,
    ProtocolError, OpenParserJsonError, OpencodeClientError],
                           tags: [RootEffect, ReadIOEffect, TimeEffect],
                           forbids: [].}
List files and directories in a specified path.
proc getFileContent(client: OpencodeClient; directory: string = default(string);
                    workspace: string = default(string); path: string): Future[
    FileContent] {....stackTrace: false, raises: [Exception, ValueError, KeyError,
    HttpRequestError, LibraryError, SslError, OSError, IOError, ProtocolError,
    OpenParserJsonError, OpencodeClientError],
                   tags: [RootEffect, ReadIOEffect, TimeEffect], forbids: [].}
Read the content of a specified file.
proc getFileStatus(client: OpencodeClient; directory: string = default(string);
                   workspace: string = default(string)): Future[seq[types.File]] {.
    ...stackTrace: false, raises: [Exception, ValueError, KeyError,
                                HttpRequestError, LibraryError, SslError,
                                OSError, IOError, ProtocolError,
                                OpenParserJsonError, OpencodeClientError],
    tags: [RootEffect, ReadIOEffect, TimeEffect], forbids: [].}
Get the git status of all files in the project.
proc getFind(client: OpencodeClient; directory: string = default(string);
             workspace: string = default(string); pattern: string): Future[
    seq[JsonNode]] {....stackTrace: false, raises: [Exception, ValueError,
    KeyError, HttpRequestError, LibraryError, SslError, OSError, IOError,
    ProtocolError, OpenParserJsonError, OpencodeClientError],
                     tags: [RootEffect, ReadIOEffect, TimeEffect], forbids: [].}
Search for text patterns across files in the project using ripgrep.
proc getFindFile(client: OpencodeClient; directory: string = default(string);
                 workspace: string = default(string); query: string;
                 dirs: set[FileDirsOption] = {}; type: set[FileTypeOption] = {};
                 limit: int64 = default(int64)): Future[seq[string]] {.
    ...stackTrace: false, raises: [Exception, ValueError, KeyError,
                                HttpRequestError, LibraryError, SslError,
                                OSError, IOError, ProtocolError,
                                OpenParserJsonError, OpencodeClientError],
    tags: [RootEffect, ReadIOEffect, TimeEffect], forbids: [].}
Search for files or directories by name or pattern in the project directory.
proc getFindSymbol(client: OpencodeClient; directory: string = default(string);
                   workspace: string = default(string); query: string): Future[
    seq[types.Symbol]] {....stackTrace: false, raises: [Exception, ValueError,
    KeyError, HttpRequestError, LibraryError, SslError, OSError, IOError,
    ProtocolError, OpenParserJsonError, OpencodeClientError],
                         tags: [RootEffect, ReadIOEffect, TimeEffect],
                         forbids: [].}
Search for workspace symbols like functions, classes, and variables using LSP.