--- title: Available APIs description: "A list of available APIs in SpaceVim, provides compatible functions for vim and neovim." --- # [Home](../) >> APIs - [Introduction](#introduction) - [Available APIs](#available-apis) ## Introduction SpaceVim provides many public APIs that you can use in your plugins. The following example shows how to load and use an API. ```vim " use SpaceVim#api#import() to load the API let s:file = SpaceVim#api#import('file') let s:system = SpaceVim#api#import('system') " check the if current os is Windows. if s:system.isWindows echom "OS is Windows" endif echom s:file.separator echom s:file.pathSeparator ``` ## Available APIs Here is the list of all available APIs, and welcome to contribute to SpaceVim. | Name | Description | | ------------------------------------- | -------------------------------------------------------------------------------------------------- | | [cmdlinemenu](cmdlinemenu/) | cmdlinemenu API provides interface for making choices in a command line. | | [data#base64](data/base64/) | data#base64 API provides base64 encode and decode functions | | [data#dict](data/dict/) | data#dict API provides some basic functions and values for dict. | | [data#list](data/list/) | data#list API provides some basic functions and values for list. | | [data#number](data/number/) | data#number API provides some basic functions to generate number. | | [data#string](data/string/) | data#string API provides some basic functions and values for string. | | [data#toml](data/toml/) | data#toml API provides some basic functions and values for toml. | | [file](file/) | file API provides some basic functions and values for current os. | | [job](job/) | job API provides some basic functions for running a job | | [logger](logger/) | logger API provides some basic functions for log message when create plugins | | [messletters](messletters/) | messletters API provides some basic functions for generating messletters | | [notify](notify/) | notify API provides some basic functions for generating notifications | | [password](password/) | password API provides some basic functions for generating password | | [system](system/) | system API provides some basic functions and values for current os. | | [transient-state](transient-state/) | transient state API provides some basic functions and values for current os. | | [unicode#box](unicode/box/) | unicode#box API provides some basic functions for drawing box. | | [unicode#spinners](unicode/spinners/) | unicode#spinners API provides some basic functions for starting spinners timer | | [vim#buffer](vim/buffer/) | vim#buffer API provides some basic functions for setting and getting config of vim buffer. | | [vim#command](vim/command/) | vim#command API provides some basic functions and values for creatting vim custom command. | | [vim#highlight](vim/highlight/) | vim#highlight API provides some basic functions and values for getting and setting highlight info. | | [vim#message](vim/message/) | vim#message API provides some basic functions to generate colored messages. | | [vim#signatures](vim/signatures/) | vim#signatures API provides some basic functions for showing signatures info. | | [vim#window](vim/window/) | vim#window API provides some basic functions for setting and getting config of vim window. | | [vim](vim/) | vim API provides general vim functions. | | [web#html](web/html/) | web#html API provides some basic functions and values for parser html file. | | [web#http](web/http/) | web#http API provides some basic functions and values for http request | | [web#xml](web/xml/) | web#xml API provides some basic functions and values for parser xml file. |