/* vi:set ts=8 sts=4 sw=4 noet:
 *
 * VIM - Vi IMproved  by Bram Moolenaar
 *
 * Fuchsia port by Adam Barth
 *
 * Do ":help uganda"  in Vim to read copying and usage conditions.
 * Do ":help credits" in Vim to see a list of people who contributed.
 */

#include "vim.h"

#include <zircon/device/pty.h>

/*
 * Get the current window size in Rows and Columns.
 */
    int
mch_get_shellsize(void)
{
    pty_window_size_t wsz;
    ssize_t r = ioctl_pty_get_window_size(0, &wsz);
    if (r != sizeof(wsz)) {
        return -1;
    }
    Columns = wsz.width;
    Rows = wsz.height;
    return OK;
}

    void
mch_settmode(int tmode)
{
    // TODO(abarth): Implement.
}

    void
get_stty(void)
{
    // TODO(abarth): Implement.
}
