Skip to main content
Module

x/denops_std/function/common.ts>has

📚 Standard module for denops.vim
Go to Latest
function has
import { has } from "https://deno.land/x/denops_std@v6.4.0/function/common.ts";

Returns 1 if {feature} is supported, 0 otherwise. The {feature} argument is a feature name like "nvim-0.2.1" or "win32", see below. See also exists().

To get the system name use vim.loop.os_uname() in Lua:

:lua print(vim.loop.os_uname().sysname)

If the code has a syntax error then Vimscript may skip the rest of the line. Put :if and :endif on separate lines to avoid the syntax error:

if has('feature')
  let x = this->breaks->without->the->feature
endif

Vim's compile-time feature-names (prefixed with "+") are not recognized because Nvim is always compiled with all possible features. feature-compile

Feature names can be:

  1. Nvim version. For example the "nvim-0.2.1" feature means that Nvim is version 0.2.1 or later:

    :if has("nvim-0.2.1")
    
  2. Runtime condition or other pseudo-feature. For example the "win32" feature checks if the current system is Windows:

    :if has("win32")
    

    List of supported pseudo-feature names: acl ACL support. bsd BSD system (not macOS, use "mac" for that). clipboard clipboard provider is available. fname_case Case in file names matters (for Darwin and MS-Windows this is not present). gui_running Nvim has a GUI. iconv Can use iconv() for conversion. linux Linux system. mac MacOS system. nvim This is Nvim. python3 Legacy Vim python3 interface. has-python pythonx Legacy Vim python_x interface. has-pythonx sun SunOS system. ttyin input is a terminal (tty). ttyout output is a terminal (tty). unix Unix system. vim_starting True during startup. win32 Windows system (32 or 64 bit). win64 Windows system (64 bit). wsl WSL (Windows Subsystem for Linux) system.

  3. Vim patch. For example the "patch123" feature means that Vim patch 123 at the current v:version was included:

    :if v:version > 602 || v:version == 602 && has("patch148")
    
  4. Vim version. For example the "patch-7.4.237" feature means that Nvim is Vim-compatible to version 7.4.237 or later.

    :if has("patch-7.4.237")
    

Parameters

denops: Denops
feature: string
optional
check: boolean

Returns

Promise<boolean>