mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
Problem: Adding support for modern Nvim features (reflow, OSC 8, full utf8/emoji support) requires coupling libvterm to Nvim internals (e.g., utf8proc). Solution: Vendor libvterm at v0.3.3.
92 lines
1.9 KiB
C
92 lines
1.9 KiB
C
#pragma once
|
|
// IWYU pragma: private, include "nvim/os/os_defs.h"
|
|
|
|
#ifndef MSWIN
|
|
# error Header must be included only when compiling for Windows.
|
|
#endif
|
|
|
|
// winsock2.h must be first to avoid incompatibilities
|
|
// with winsock.h (included by windows.h)
|
|
|
|
// uncrustify:off
|
|
#include <winsock2.h>
|
|
// uncrustify:on
|
|
#include <io.h>
|
|
#include <stdio.h>
|
|
#include <sys/stat.h>
|
|
#include <windows.h>
|
|
|
|
// vterm.h defines an `unsigned int small` in a struct, triggering error C2632
|
|
#undef small
|
|
|
|
// Windows does not have S_IFLNK but libuv defines it
|
|
// and sets the flag for us when calling uv_fs_stat.
|
|
#include <uv.h>
|
|
|
|
#define NAME_MAX _MAX_PATH
|
|
|
|
#define TEMP_DIR_NAMES { "$TMPDIR", "$TMP", "$TEMP", "$USERPROFILE", "" }
|
|
#define TEMP_FILE_PATH_MAXLEN _MAX_PATH
|
|
|
|
#define FNAME_ILLEGAL "\"*?><|"
|
|
|
|
// Character that separates entries in $PATH.
|
|
#define ENV_SEPCHAR ';'
|
|
#define ENV_SEPSTR ";"
|
|
|
|
#define USE_CRNL
|
|
|
|
// Windows defines a RGB macro that produces 0x00bbggrr color values for use
|
|
// with GDI. Our macro is different, and we don't use GDI.
|
|
// Duplicated from macros.h to avoid include-order sensitivity.
|
|
#define RGB_(r, g, b) (((r) << 16) | ((g) << 8) | (b))
|
|
|
|
#ifdef _MSC_VER
|
|
# ifndef inline
|
|
# define inline __inline
|
|
# endif
|
|
# ifndef restrict
|
|
# define restrict __restrict
|
|
# endif
|
|
# ifndef STDIN_FILENO
|
|
# define STDIN_FILENO _fileno(stdin)
|
|
# endif
|
|
# ifndef STDOUT_FILENO
|
|
# define STDOUT_FILENO _fileno(stdout)
|
|
# endif
|
|
# ifndef STDERR_FILENO
|
|
# define STDERR_FILENO _fileno(stderr)
|
|
# endif
|
|
# ifndef S_IXUSR
|
|
# define S_IXUSR S_IEXEC
|
|
# endif
|
|
#endif
|
|
|
|
#define BACKSLASH_IN_FILENAME
|
|
|
|
#ifdef _MSC_VER
|
|
typedef int mode_t;
|
|
#endif
|
|
|
|
#ifndef SSIZE_MAX
|
|
# ifdef _WIN64
|
|
# define SSIZE_MAX _I64_MAX
|
|
# else
|
|
# define SSIZE_MAX LONG_MAX
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef O_NOFOLLOW
|
|
# define O_NOFOLLOW 0
|
|
#endif
|
|
|
|
#ifndef STDIN_FILENO
|
|
# define STDIN_FILENO 0
|
|
#endif
|
|
#ifndef STDOUT_FILENO
|
|
# define STDOUT_FILENO 1
|
|
#endif
|
|
#ifndef STDERR_FILENO
|
|
# define STDERR_FILENO 2
|
|
#endif
|