1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 12:50:04 +08:00

add lang#red layer (#2486)

* add lang#red layer

* add code runner and repl support

* Add red doc && fix r doc

* Improve layers dev script

* autodoc
This commit is contained in:
Wang Shidong 2019-01-23 11:23:12 +08:00 committed by GitHub
parent 9201785aaf
commit 7bbb69e351
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 354 additions and 199 deletions

View File

@ -32,19 +32,19 @@ endfunction
function! s:generate_content_cn() abort
let content = ['', '## 可用 APIs', '']
let content += s:layer_list_cn()
let content += s:api_list_cn()
let content += ['']
return content
endfunction
function! s:generate_content() abort
let content = ['', '## Available APIs', '', 'here is the list of all available APIs, and welcome to contribute to SpaceVim.', '']
let content += s:layer_list()
let content = ['', '## Available APIs', '', 'Here is the list of all available APIs, and welcome to contribute to SpaceVim.', '']
let content += s:api_list()
let content += ['']
return content
endfunction
function! s:layer_list() abort
function! s:api_list() abort
let layers = SpaceVim#util#globpath('~/.SpaceVim/', 'docs/api/**/*.md')
let list = [
\ '| Name | Description |',
@ -69,7 +69,7 @@ function! s:layer_list() abort
return list
endfunction
function! s:layer_list_cn() abort
function! s:api_list_cn() abort
let layers = SpaceVim#util#globpath('~/.SpaceVim/', 'docs/cn/api/**/*.md')
let list = [
\ '| 名称 | 描述 |',

View File

@ -8,17 +8,26 @@
scriptencoding utf-8
let s:FILE = SpaceVim#api#import('file')
let s:SYS = SpaceVim#api#import('system')
let s:AUTODOC = SpaceVim#api#import('dev#autodoc')
let s:AUTODOC.autoformat = 1
function! SpaceVim#dev#layers#update() abort
let s:AUTODOC.begin = '^<!-- SpaceVim layer list start -->$'
let s:AUTODOC.end = '^<!-- SpaceVim layer list end -->$'
let s:AUTODOC.content_func = function('s:generate_content')
call s:AUTODOC.update()
endfunction
let [start, end] = s:find_position()
if start != 0 && end != 0
if end - start > 1
exe (start + 1) . ',' . (end - 1) . 'delete'
endif
call append(start, s:generate_content())
silent! Neoformat
endif
function! SpaceVim#dev#layers#updateCn() abort
let s:AUTODOC.begin = '^<!-- SpaceVim layer cn list start -->$'
let s:AUTODOC.end = '^<!-- SpaceVim layer cn list end -->$'
let s:AUTODOC.content_func = function('s:generate_content_cn')
call s:AUTODOC.update()
endfunction
function! SpaceVim#dev#layers#updatedocker() abort
@ -31,19 +40,6 @@ function! SpaceVim#dev#layers#updatedocker() abort
endif
endfunction
function! SpaceVim#dev#layers#updateCn() abort
let [start, end] = s:find_position_cn()
if start != 0 && end != 0
if end - start > 1
exe (start + 1) . ',' . (end - 1) . 'delete'
endif
call append(start, s:generate_content_cn())
silent! Neoformat
endif
endfunction
function! s:find_position() abort
let start = search('^<!-- SpaceVim layer list start -->$','bwnc')
let end = search('^<!-- SpaceVim layer list end -->$','bnwc')
@ -99,18 +95,19 @@ function! s:layer_list() abort
\ '| Name | Description |',
\ '| ---------- | ------------ |'
\ ]
call remove(layers, index(layers, '/home/wsdjeg/.SpaceVim/docs/layers/index.md'))
if s:SYS.isWindows
let pattern = join(['', 'docs', 'layers', ''], s:FILE.separator . s:FILE.separator)
else
let pattern = join(['', 'docs', 'layers', ''], s:FILE.separator)
endif
for layer in layers
let name = split(layer, '/docs/layers/')[1][:-4] . '/'
let url = name
if name ==# 'language-server-protocol/'
let name = 'lsp'
endif
let name = split(layer, pattern)[1][:-4] . s:FILE.separator
let url = join(split(name, s:FILE.separator), '/') . '/'
let content = readfile(layer)
if len(content) > 3
let line = '| [' . join(split(name, '/'), '#') . '](' . url . ') | ' . content[2][14:-2] . ' | '
let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | ' . content[2][14:-2] . ' | '
else
let line = '| [' . join(split(name, '/'), '#') . '](' . url . ') | can not find Description |'
let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | can not find Description |'
endif
call add(list, line)
endfor
@ -123,18 +120,19 @@ function! s:layer_list_cn() abort
\ '| 名称 | 描述 |',
\ '| ---------- | ------------ |'
\ ]
call remove(layers, index(layers, '/home/wsdjeg/.SpaceVim/docs/cn/layers/index.md'))
if s:SYS.isWindows
let pattern = join(['', 'docs', 'cn', 'layers', ''], s:FILE.separator . s:FILE.separator)
else
let pattern = join(['', 'docs', 'cn', 'layers', ''], s:FILE.separator)
endif
for layer in layers
let name = split(layer, '/docs/cn/layers/')[1][:-4] . '/'
let url = name
if name ==# 'language-server-protocol/'
let name = 'lsp'
endif
let name = split(layer, pattern)[1][:-4] . s:FILE.separator
let url = join(split(name, s:FILE.separator), '/') . '/'
let content = readfile(layer)
if len(content) > 3
let line = '| [' . join(split(name, '/'), '#') . '](' . url . ') | ' . content[2][14:-2] . ' | '
let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | ' . content[2][14:-2] . ' | '
else
let line = '| [' . join(split(name, '/'), '#') . '](' . url . ') | can not find Description |'
let line = '| [' . join(split(name, s:FILE.separator), '#') . '](' . url . ') | can not find Description |'
endif
call add(list, line)
endfor

View File

@ -0,0 +1,38 @@
"=============================================================================
" red.vim --- red language layer
" Copyright (c) 2016-2017 Wang Shidong & Contributors
" Author: Wang Shidong < wsdjeg at 163.com >
" URL: https://spacevim.org
" License: GPLv3
"=============================================================================
function! SpaceVim#layers#lang#red#plugins() abort
let plugins = []
call add(plugins, ['DavidFeng/vim-red', {'merged' : 0}])
return plugins
endfunction
function! SpaceVim#layers#lang#red#config() abort
call SpaceVim#plugins#runner#reg_runner('red', 'red --cli %s')
call SpaceVim#mapping#space#regesit_lang_mappings('red', function('s:language_specified_mappings'))
call SpaceVim#plugins#repl#reg('red', 'red --cli')
endfunction
function! s:language_specified_mappings() abort
call SpaceVim#mapping#space#langSPC('nmap', ['l', 'r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1)
let g:_spacevim_mappings_space.l.s = {'name' : '+Send'}
call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'],
\ 'call SpaceVim#plugins#repl#start("red")',
\ 'start REPL process', 1)
call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'],
\ 'call SpaceVim#plugins#repl#send("line")',
\ 'send line and keep code buffer focused', 1)
call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'],
\ 'call SpaceVim#plugins#repl#send("buffer")',
\ 'send buffer and keep code buffer focused', 1)
call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'],
\ 'call SpaceVim#plugins#repl#send("selection")',
\ 'send selection and keep code buffer focused', 1)
endfunction

View File

@ -51,88 +51,90 @@ Vim 插件以及相关配置。而 SpaceVim 是以模块的方式来组织和管
enable = false
```
<!-- 更新模块列表 call SpaceVim#dev#layers#updateCn() -->
<!-- 更新模块列表 call SpaceVim#dev#layers#updateCn() -->
<!-- SpaceVim layer cn list start -->
## 可用模块
| 名称 | 描述 |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| [autocomplete](autocomplete/) | 这一模块为 SpaceVim 提供了自动补全的框架,包括语法补全等多种补全来源,同时提供了代码块自动完成等特性。 |
| [chat](chat/) | 这一模块为 SpaceVim 提供了一个聊天框架,目前支持微信聊天和 QQ 聊天,同时支持自定义聊天服务器。 |
| [checkers](checkers/) | 这一模块为 SpaceVim 提供了代码语法检查的特性,同时提供代码实时检查,并列出语法错误的位置。 |
| [chinese](chinese/) | 这一模块为 SpaceVim 的中文用户提供了中文的 Vim 帮助文档,同时提供部分插件的中文帮助文档。 |
| [colorscheme](colorscheme/) | 这一模块为 SpaceVim 提供了一系列的常用颜色主题,默认情况下使用深色 gruvbox 作为默认主题。该模块提供了快速切换主题、随机主题等特性。 |
| [core#banner](core/banner/) | 这一模块为 SpaceVim 提供了许多可以默认显示在首页的 Logo。 |
| [core#statusline](core/statusline/) | 这一模块为 SpaceVim 提供了默认的模式化的状态栏支持。 |
| [core#tabline](core/tabline/) | 这一模块为 SpaceVim 提供了一个更好的标签栏。 |
| [core](core/) | 这一模块为 SpaceVim 提供了启动及基本操作所必须的插件及配置。 |
| [cscope](cscope/) | 这一模块为 SpaceVim 提供了一个智能的 cscope 和 pycscope 辅助工具,可以快速调用 cscope 常用命令。 |
| [ctrlp](ctrlp/) | 这一模块为 SpaceVim 提供以 ctrlp 为核心的模糊查找机制,支持模糊搜索文件、历史记录、函数列表等。 |
| [debug](debug/) | 这一模块为 SpaceVim 提供了 debug 的常用功能,采用 vebugger 作为后台框架,支持多种 debug 工具。 |
| [default](default/) | 这一模块未为 SpaceVim 提供任何插件,但提供了一些更好的默认设置。 |
| [denite](denite/) | 这一模块为 SpaceVim 提供了以 denite 为核心的异步模糊查找机制,支持模糊搜索文件、历史记录、函数列表等。 |
| [edit](edit/) | 这一模块为 SpaceVim 提供了更好的文本编辑体验,提供更多种文本对象。 |
| [floobits](floobits/) | 这一模块为 SpaceVim 提供了 floobits 协作工具的支持,实现多人协作编辑等功能。 |
| [format](format/) | 这一模块为 SpaceVim 提供了代码异步格式化功能,支持高度自定义配置和多种语言。 |
| [fzf](fzf/) | 这一模块为 SpaceVim 提供了以 fzf 为核心的异步模糊查找机制,支持模糊搜索文件、历史记录、函数列表等。 |
| [git](git/) | 这一模块为 SpaceVim 提供了 Git 支持,根据当前 Vim 版本特性,选择 gina 或者 gita 作为默认的后台 Git 插件。 |
| [github](github/) | 这一模块为 SpaceVim 提供了 Github 数据管理功能,包括问题列表、动态等管理。 |
| [japanese](japanese/) | 这一模块为 SpaceVim 的日文用户提供了日文的 Vim 帮助文档,同时提供部分插件的日文帮助文档。 |
| [lang#agda](lang/agda/) | 这一模块为 SpaceVim 提供了 Agda 的开发支持,主要包括语法高亮及一键运行。 |
| [lang#asciidoc](lang/asciidoc/) | 这一模块为 SpaceVim 提供了 AsciiDoc 的编辑支持,包括格式化、自动生成文章目录、代码块等特性。 |
| [lang#autohotkey](lang/autohotkey/) | 这一模块为 SpaceVim 提供了 Autohotkey 的开发支持,包括语法高亮和自动补全等功能。 |
| [lang#c](lang/c/) | 这一模块为 SpaceVim 提供了 C/C++/Object-C 的开发支持,包括代码补全、语法检查等特性。 |
| [lang#clojure](lang/clojure/) | 这一模块为 SpaceVim 提供了 Clojure 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#csharp](lang/csharp/) | 这一模块为 SpaceVim 提供了 CSharp 的开发支持,包括代码高亮、对齐、补全等特性。 |
| [lang#dart](lang/dart/) | 这一模块为 SpaceVim 提供了 Dart 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#dockerfile](lang/dockerfile/) | 这一模块为 SpaceVim 提供了 Dockerfile 编辑的部分功能支持,包括语法高亮和自动补全。 |
| [lang#elixir](lang/elixir/) | 这一模块为 SpaceVim 提供了 Elixir 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#elm](lang/elm/) | 这一模块为 SpaceVim 提供了 Elm 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#erlang](lang/erlang/) | 这一模块为 SpaceVim 提供了 Erlang 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#extra](lang/extra/) | 这一模块为 SpaceVim 提供了一些不常见的语言的语法支持,主要包括语法高亮、对齐等特性。 |
| [lang#fsharp](lang/fsharp/) | 这一模块为 SpaceVim 提供了 FSharp 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#go](lang/go/) | 这一模块为 SpaceVim 提供了 Go 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#haskell](lang/haskell/) | 这一模块为 SpaceVim 提供了 Haskell 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#html](lang/html/) | 这一模块为 SpaceVim 提供了 HTML 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#java](lang/java/) | 这一模块为 SpaceVim 提供了 Java 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#javascript](lang/javascript/) | 这一模块为 SpaceVim 提供了 JavaScript 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#julia](lang/julia/) | 这一模块为 SpaceVim 提供了 Julia 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#kotlin](lang/kotlin/) | 这一模块为 SpaceVim 提供了 kotlin 的开发支持,包括语法高亮、语言服务器支持。 |
| [lang#latex](lang/latex/) | 这一模块为 SpaceVim 提供了 LaTeX 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#lisp](lang/lisp/) | 这一模块为 SpaceVim 提供了 LISP 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#lua](lang/lua/) | 这一模块为 SpaceVim 提供了 Lua 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#markdown](lang/markdown/) | 这一模块为 SpaceVim 提供了 Markdown 编辑支持,包括格式化、自动生成文档目录、代码块等特性。 |
| [lang#nim](lang/nim/) | 这一模块为 SpaceVim 提供了 Nim 的开发支持,包括语法高亮、代码补全、编译运行以及交互式编程等功能。 |
| [lang#ocaml](lang/ocaml/) | 这一模块为 SpaceVim 提供了 OCaml 开发提供了支持,包括语法高亮、代码补全、以及定义处跳转等功能。 |
| [lang#perl](lang/perl/) | 这一模块为 SpaceVim 提供了 Perl 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#php](lang/php/) | 这一模块为 SpaceVim 提供了 PHP 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#plantuml](lang/plantuml/) | 这一模块为 SpaceVim 提供了 PlantUML 的开发支持,包括语法高亮、实时预览等特性。 |
| [lang#puppet](lang/puppet/) | 这一模块为 SpaceVim 提供了 Puppet 的开发支持,包括语法高亮、语言服务器支持。 |
| [lang#purescript](lang/purescript/) | 这一模块为 SpaceVim 提供了 PureScript 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#python](lang/python/) | 这一模块为 SpaceVim 提供了 Python 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#ruby](lang/ruby/) | 这一模块为 SpaceVim 提供了 Ruby 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#rust](lang/rust/) | 这一模块为 SpaceVim 提供了 Rust 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#scala](lang/scala/) | 这一模块为 SpaceVim 提供了 Scala 的开发支持,包括语法高亮,函数列表等特性 |
| [lang#scheme](lang/scheme/) | 这一模块为 SpaceVim 提供了 Scheme 语言开发支持,包括语法高亮、语言服务器支持。 |
| [lang#sh](lang/sh/) | 这一模块为 SpaceVim 提供了 Shell Script 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#swift](lang/swift/) | 这一模块为 SpaceVim 提供了 Swift 的开发支持,包括语法高亮、语法检查等特性。 |
| [lang#typescript](lang/typescript/) | 这一模块为 SpaceVim 提供了 Typescript 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#vim](lang/vim/) | 这一模块为 SpaceVim 提供了 Vimscript 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#vue](lang/vue/) | 这一模块为 SpaceVim 提供了 Vue 的的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#WebAssembly](lang/WebAssembly/) | 这一模块为 SpaceVim 提供了 WebAssembly 的开发支持。 |
| [leaderf](leaderf/) | 这一模块为 SpaceVim 提供了以 leaderf 为核心的异步模糊查找机制,支持模糊搜索文件、历史记录、函数列表等。 |
| [lsp](language-server-protocol/) | 这一模块为 SpaceVim 提供了 language server protocol 的支持,提供更多语言相关服务。 |
| [shell](shell/) | 这一模块为 SpaceVim 提供了终端集成特性,优化内置终端的使用体验。 |
| [sudo](sudo/) | 这一模块为 SpaceVim 提供了以管理员身份读写文件的功能。 |
| [tags](tags/) | 这一模块为 SpaceVim 提供了全局的 tags 索引管理,提供快速检索定义和引用的功能。 |
| [tmux](tmux/) | 这一模块为 SpaceVim 提供了一些在 Vim 内操作 tmux 的功能,使得在 tmux 窗口之间跳转更加便捷。 |
| [tools#dash](tools/dash/) | 这一模块为 SpaceVim 提供了 Dash 支持,可快速查找光标位置的单词。 |
| [tools](tools/) | 这一模块为 SpaceVim 提供了多种常用工具,包括日历、计算器等多种工具类插件,并针对 Vim8 以及 Neovim 提供了更好的插件选择。 |
| [ui](ui/) | 这一模块为 SpaceVim 提供了 IDE-like 的界面,包括状态栏、文件树、语法树等等特性。 |
| [VersionControl](VersionControl/) | 这一模块为 SpaceVim 提供了通用的代码版本控制支持,该模块支持 Git、Mercurial、Bazaar、SVN 等等多种后台工具。 |
| 名称 | 描述 |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| [autocomplete](autocomplete/) | 这一模块为 SpaceVim 提供了自动补全的框架,包括语法补全等多种补全来源,同时提供了代码块自动完成等特性。 |
| [chat](chat/) | 这一模块为 SpaceVim 提供了一个聊天框架,目前支持微信聊天和 QQ 聊天,同时支持自定义聊天服务器。 |
| [checkers](checkers/) | 这一模块为 SpaceVim 提供了代码语法检查的特性,同时提供代码实时检查,并列出语法错误的位置。 |
| [chinese](chinese/) | 这一模块为 SpaceVim 的中文用户提供了中文的 Vim 帮助文档,同时提供部分插件的中文帮助文档。 |
| [colorscheme](colorscheme/) | im colorscheme 模块 |
| [core#banner](core/banner/) | 这一模块为 SpaceVim 提供了许多显示在启动界面的 Logo。 |
| [core#statusline](core/statusline/) | 这一模块为 SpaceVim 提供了默认的模式化的状态栏支持。 |
| [core#tabline](core/tabline/) | 这一模块为 SpaceVim 提供了更好的标签栏。 |
| [core](core/) | 这一模块为 SpaceVim 提供了启动及基本操作所必须的插件及配置。 |
| [cscope](cscope/) | 这一模块为 SpaceVim 提供了一个智能的 cscope 和 pycscope 辅助工具,可以快速调用 cscope 常用命令。 |
| [ctrlp](ctrlp/) | 这一模块为 SpaceVim 提供以 ctrlp 为核心的模糊查找机制,支持模糊搜索文件、历史记录、函数列表等。 |
| [debug](debug/) | 这一模块为 SpaceVim 提供了 Debug 的常用功能,采用 vebugger 作为后台框架,支持多种 Debug 工具。 |
| [default](default/) | 这一模块未为 SpaceVim 提供任何插件,但提供了一些更好的默认设置。 |
| [denite](denite/) | 这一模块为 SpaceVim 提供了以 denite 为核心的异步模糊查找机制,支持模糊搜索文件、历史记录、函数列表等。 |
| [edit](edit/) | 这一模块为 SpaceVim 提供了更好的文本编辑体验,提供更多种文本对象。 |
| [floobits](floobits/) | 这一模块为 SpaceVim 提供了 floobits 协作工具的支持,实现多人协作编辑等功能。 |
| [format](format/) | 这一模块为 SpaceVim 提供了代码异步格式化功能,支持高度自定义配置和多种语言。 |
| [fzf](fzf/) | 这一模块为 SpaceVim 提供了以 fzf 为核心的异步模糊查找机制,支持模糊搜索文件、历史记录、函数列表等。 |
| [git](git/) | 这一模块为 SpaceVim 提供了 Git 支持,根据当前 Vim 版本特性,选择 gina 或者 gita 作为默认的后台 Git 插件。 |
| [github](github/) | 这一模块为 SpaceVim 提供了 Github 数据管理功能,包括问题列表、动态等管理。 |
| [japanese](japanese/) | 这一模块为 SpaceVim 的日文用户提供了日文的 Vim 帮助文档,同时提供部分插件的日文帮助文档。 |
| [lang#agda](lang/agda/) | 这一模块为 SpaceVim 提供了 Agda 的开发支持,主要包括语法高亮及一键运行。 |
| [lang#asciidoc](lang/asciidoc/) | 这一模块为 SpaceVim 提供了 AsciiDoc 的编辑支持,包括格式化、自动生成文章目录、代码块等特性。 |
| [lang#autohotkey](lang/autohotkey/) | 这一模块为 SpaceVim 提供了 Autohotkey 的开发支持,包括语法高亮和自动补全等功能。 |
| [lang#c](lang/c/) | 这一模块为 SpaceVim 提供了 C/C++/Object-C 的开发支持,包括代码补全、语法检查等特性。 |
| [lang#clojure](lang/clojure/) | 这一模块为 SpaceVim 提供了 Clojure 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#csharp](lang/csharp/) | 这一模块为 SpaceVim 提供了 CSharp 的开发支持,包括代码高亮、对齐、补全等特性。 |
| [lang#dart](lang/dart/) | 这一模块为 SpaceVim 提供了 Dart 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#dockerfile](lang/dockerfile/) | 这一模块为 SpaceVim 提供了 Dockerfile 编辑的部分功能支持,包括语法高亮和自动补全。 |
| [lang#elixir](lang/elixir/) | 这一模块为 SpaceVim 提供了 Elixir 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#elm](lang/elm/) | 这一模块为 SpaceVim 提供了 Elm 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#erlang](lang/erlang/) | 这一模块为 erlang 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#extra](lang/extra/) | 这一模块为 SpaceVim 提供了一些不常见的语言添加语法支持,主要包括语法高亮、对齐等特性。 |
| [lang#fsharp](lang/fsharp/) | 这一模块为 SpaceVim 提供了 FSharp 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#go](lang/go/) | 这一模块为 SpaceVim 提供了 Go 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#haskell](lang/haskell/) | 这一模块为 SpaceVim 提供了 Haskell 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#html](lang/html/) | 这一模块为 SpaceVim 提供了 HTML 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#java](lang/java/) | 这一模块为 java 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#javascript](lang/javascript/) | 这一模块为 javascript 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#julia](lang/julia/) | 这一模块为 julia 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#kotlin](lang/kotlin/) | 该模块为 SpaceVim 提供了 kotlin 语言开发支持,包括语法高亮、语言服务器支持。 |
| [lang#latex](lang/latex/) | 这一模块为 latex 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#lisp](lang/lisp/) | 这一模块为 lisp 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#lua](lang/lua/) | 这一模块为 lua 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#markdown](lang/markdown/) | 这一模块为 markdown 编辑提供支持,包括格式化、自动生成文章目录、代码块等特性。 |
| [lang#nim](lang/nim/) | 该模块为 SpaceVim 提供 nim 开发支持,包括语法高亮、代码补全、编译运行以及交互式编程等功能。 |
| [lang#ocaml](lang/ocaml/) | 这一模块为 ocaml 开发提供了支持,包括语法高亮、代码补全、以及定义处跳转等功能。 |
| [lang#perl](lang/perl/) | 这一模块为 perl 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#php](lang/php/) | 这一模块为 SpaceVim 提供了 PHP 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#plantuml](lang/plantuml/) | 这一模块为 SpaceVim 提供了 PlantUML 的开发支持,包括语法高亮、实时预览等特性。 |
| [lang#puppet](lang/puppet/) | 这一模块为 SpaceVim 提供了 Puppet 的开发支持,包括语法高亮、语言服务器支持。 |
| [lang#purescript](lang/purescript/) | 这一模块为 SpaceVim 提供了 PureScript 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#python](lang/python/) | 这一模块为 python 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#r](lang/r/) | 这一模块为 R 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#red](lang/red/) | 这一模块为 red 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#ruby](lang/ruby/) | 这一模块为 ruby 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#rust](lang/rust/) | 这一模块为 rust 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#scala](lang/scala/) | 这一模块为 scala 开发提供支持,包括语法高亮,函数列表等特性 |
| [lang#scheme](lang/scheme/) | 这一模块为 SpaceVim 提供了 Scheme 语言开发支持,包括语法高亮、语言服务器支持。 |
| [lang#sh](lang/sh/) | 这一模块为 SpaceVim 提供了 Shell Script 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#swift](lang/swift/) | 这一模块为 SpaceVim 提供了 Swift 的开发支持,包括语法高亮、语法检查等特性。 |
| [lang#typescript](lang/typescript/) | 这一模块为 SpaceVim 提供了 Typescript 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#vim](lang/vim/) | 这一模块为 SpaceVim 提供了 Vimscript 的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#vue](lang/vue/) | 这一模块为 SpaceVim 提供了 Vue 的的开发支持,包括代码补全、语法检查、代码格式化等特性。 |
| [lang#WebAssembly](lang/WebAssembly/) | 这一模块为 SpaceVim 提供了 WebAssembly 的开发支持。 |
| [language-server-protocol](language-server-protocol/) | 这一模块为 SpaceVim 提供了 language server protocol 的支持,提供更多语言相关服务。 |
| [leaderf](leaderf/) | 这一模块为 SpaceVim 提供了以 leaderf 为核心的异步模糊查找机制,支持模糊搜索文件、历史记录、函数列表等。 |
| [shell](shell/) | 这一模块为 SpaceVim 提供了终端集成特性,优化内置终端的使用体验。 |
| [sudo](sudo/) | 这一模块为 SpaceVim 提供了以管理员身份读写文件的功能。 |
| [tags](tags/) | 这一模块为 SpaceVim 提供了全局的 tags 索引管理,提供快速检索定义和引用的功能。 |
| [tmux](tmux/) | 这一模块为 SpaceVim 提供了一些在 Vim 内操作 tmux 的功能,使得在 tmux 窗口之间跳转更加便捷。 |
| [tools#dash](tools/dash/) | 这一模块为 SpaceVim 提供了 Dash 支持,可快速查找光标位置的单词。 |
| [tools](tools/) | 这一模块为 SpaceVim 提供了多种常用工具,包括日历、计算器等多种工具类插件,并针对 Vim8 以及 Neovim 提供了更好的插件选择。 |
| [ui](ui/) | 这一模块为 SpaceVim 提供了 IDE-like 的界面,包括状态栏、文件树、语法树等等特性。 |
| [unite](unite/) | 这一模块为 SpaceVim 提供以 unite 为核心的模糊查找机制,支持模糊搜索文件、历史纪录、函数列表等。 |
| [VersionControl](VersionControl/) | 这一模块为 SpaceVim 提供了通用的代码版本控制支持,该模块支持 Git、Mercurial、Bazaar、SVN 等等多种后台工具。 |
<!-- SpaceVim layer cn list end -->

View File

@ -48,5 +48,5 @@ lang: cn
### 运行当前脚本
在编辑 ruby 文件是,可通过快捷键 `SPC l r` 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。
在编辑 R 文件是,可通过快捷键 `SPC l r` 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。

View File

@ -0,0 +1,53 @@
---
title: "SpaceVim lang#red 模块"
description: "这一模块为 red 开发提供支持,包括代码补全、语法检查、代码格式化等特性。"
lang: cn
---
# [可用模块](../../) >> lang#red
<!-- vim-markdown-toc GFM -->
- [模块描述](#模块描述)
- [依赖安装及启用模块](#依赖安装及启用模块)
- [启用模块](#启用模块)
- [快捷键](#快捷键)
- [交互式编程](#交互式编程)
- [运行当前脚本](#运行当前脚本)
<!-- vim-markdown-toc -->
## 模块描述
这一模块为 SpaceVim 提供了 red 开发支持,包括代码补全、语法检查、以及代码格式化等特性。
## 依赖安装及启用模块
### 启用模块
可通过在配置文件内加入如下配置来启用该模块:
```toml
[[layers]]
name = "lang#red"
```
## 快捷键
### 交互式编程
启动 `red --cli` 交互进程,快捷键为: `SPC l s i`
将代码传输给 REPL 进程执行:
| 快捷键 | 描述 |
| ----------- | ----------------------- |
| `SPC l s b` | 发送整个文件内容至 REPL |
| `SPC l s l` | 发送当前行内容至 REPL |
| `SPC l s s` | 发送已选中的内容至 REPL |
### 运行当前脚本
在编辑 ruby 文件是,可通过快捷键 `SPC l r` 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。

View File

@ -1,5 +1,5 @@
---
title: Available layers
title: Available layers
description: "A guide for managing SpaceVim with layers, tell you how to enable and disable a layer, also list all available layers in SpaceVim"
---
@ -57,86 +57,93 @@ Some layers are enabled by default. The following example shows how to disable `
enable = false
```
<!-- Update layer list: call SpaceVim#dev#layers#update() -->
<!-- SpaceVim layer list start -->
## Available layers
| Name | Description |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [autocomplete](autocomplete/) | Autocomplete code within SpaceVim, fuzzy find the candidates from multiple completion sources, expand snippet before cursor automatically |
| [chat](chat/) | SpaceVim chatting layer provide chatting with qq and weixin in vim. |
| [checkers](checkers/) | Syntax checking automatically within SpaceVim, display error on the sign column and statusline. |
| [chinese](chinese/) | Layer for chinese users, include chinese docs and runtime messages |
| [colorscheme](colorscheme/) | colorscheme provides a list of colorscheme for SpaceVim, default colorscheme is gruvbox with dark theme. |
| [core#banner](core/banner/) | This layer provides many default banner on welcome page. |
| [core#statusline](core/statusline/) | This layer provides default statusline for SpaceVim |
| [core#tabline](core/tabline/) | SpaceVim core#tabline layer provides a better tabline for SpaceVim |
| [core](core/) | SpaceVim core layer provides many default key bindings and features. |
| [cscope](cscope/) | cscope layer provides a smart cscope and pycscope helper for SpaceVim, help users win at cscope |
| [ctrlp](ctrlp/) | This layers provide a heavily customized ctrlp centric work-flow |
| [debug](debug/) | This layer provide debug workflow support in SpaceVim |
| [default](default/) | SpaceVim default layer contains no plugins, but It provides some better default config for SpaceVim. |
| [denite](denite/) | This layers provide a heavily customized Denite centric work-flow |
| [edit](edit/) | Improve code edit expr in SpaceVim, provide more text opjects. |
| [floobits](floobits/) | This layer adds support for the peer programming tool floobits to SpaceVim. |
| [format](format/) | Code formatting support for SpaceVim |
| [fzf](fzf/) | This layers provide a heavily customized fzf centric work-flow |
| [git](git/) | This layers adds extensive support for git |
| [github](github/) | This layer provides GitHub integration for SpaceVim |
| [japanese](japanese/) | Layer for japanese users, include japanese docs and runtime messages |
| [lang#agda](lang/agda/) | This layer adds agda language support to SpaceVim |
| [lang#asciidoc](lang/asciidoc/) | Edit asciidoc within vim, autopreview asciidoc in the default browser, with this layer you can also format asciidoc file. |
| [lang#autohotkey](lang/autohotkey/) | This layer adds autohotkey language support to SpaceVim |
| [lang#c](lang/c/) | c/c++/object-c language support for SpaceVim, include code completion, jump to definition, quick runner. |
| [lang#clojure](lang/clojure/) | This layer is for clojure development, provide autocompletion, syntax checking, code format for clojure file. |
| [lang#csharp](lang/csharp/) | This layer is for csharp development |
| [lang#dart](lang/dart/) | This layer is for dart development, provide autocompletion, syntax checking, code format for dart file. |
| [lang#dockerfile](lang/dockerfile/) | This layer adds DockerFile to SpaceVim |
| [lang#elixir](lang/elixir/) | This layer is for elixir development, provide autocompletion, syntax checking, code format for elixir file. |
| [lang#elm](lang/elm/) | This layer is for elm development, provide autocompletion, syntax checking, code format for elm file. |
| [lang#erlang](lang/erlang/) | This layer is for erlang development, provide autocompletion, syntax checking, code format for erlang file. |
| [lang#extra](lang/extra/) | This layer adds extra language support to SpaceVim |
| [lang#fsharp](lang/fsharp/) | This layer adds fsharp language support to SpaceVim |
| [lang#go](lang/go/) | This layer is for golang development. It also provides additional language-specific key mappings. |
| [lang#haskell](lang/haskell/) | haskell language support for SpaceVim, includes code completion, syntax checking, jumping to definition, also provides language server protocol support for haskell |
| [lang#html](lang/html/) | Edit html in SpaceVim, with this layer, this layer provides code completion, syntax checking and code formatting for html. |
| [lang#java](lang/java/) | This layer is for Java development. All the features such as code completion, formatting, syntax checking, REPL and debug have be done in this layer. |
| [lang#javascript](lang/javascript/) | This layer is for JavaScript development |
| [lang#julia](lang/julia/) | This layer is for julia development, provide autocompletion, syntax checking and code formatting |
| [lang#kotlin](lang/kotlin/) | This layer adds kotlin language support to SpaceVim |
| [lang#latex](lang/latex/) | This layer provides support for writing LaTeX documents, including syntax highlighting, code completion, formatting etc. |
| [lang#lisp](lang/lisp/) | This layer is for lisp development, provide autocompletion, syntax checking, code format for lisp file. |
| [lang#lua](lang/lua/) | This layer is for lua development, provide autocompletion, syntax checking, code format for lua file. |
| [lang#markdown](lang/markdown/) | Edit markdown within vim, autopreview markdown in the default browser, with this layer you can also format markdown file. |
| [lang#nim](lang/nim/) | This layer adds nim language support to SpaceVim |
| [lang#ocaml](lang/ocaml/) | This layer is for ocaml development, provide autocompletion, syntax checking, code format for ocaml file. |
| [lang#perl](lang/perl/) | This layer is for perl development, provide autocompletion, syntax checking, code format for perl file. |
| [lang#php](lang/php/) | This layer adds PHP language support to SpaceVim |
| [lang#plantuml](lang/plantuml/) | This layer is for plantuml development, syntax highlighting for plantuml file. |
| [lang#puppet](lang/puppet/) | This layer adds puppet language support to SpaceVim |
| [lang#purescript](lang/purescript/) | This layer is for purescript development, provide autocompletion, syntax checking, code format for purescript file. |
| [lang#python](lang/python/) | This layer is for Python development, provide autocompletion, syntax checking, code format for python file. |
| [lang#ruby](lang/ruby/) | This layer is for ruby development, provide autocompletion, syntax checking, code format for ruby file. |
| [lang#rust](lang/rust/) | This layer is for rust development, provide autocompletion, syntax checking, code format for rust file. |
| [lang#scala](lang/scala/) | This layer adds scala language support to SpaceVim |
| [lang#scheme](lang/scheme/) | This layer adds scheme language support to SpaceVim |
| [lang#sh](lang/sh/) | Shell script development layer, provides autocompletion, syntax checking, code format for bash and zsh script. |
| [lang#swift](lang/swift/) | swift language support for SpaceVim, includes code completion, syntax highlighting |
| [lang#typescript](lang/typescript/) | This layer is for TypeScript development |
| [lang#vim](lang/vim/) | This layer is for writting vim script, including code completion, syntax checking and buffer formatting |
| [lang#vue](lang/vue/) | This layer adds vue language support to SpaceVim |
| [lang#WebAssembly](lang/WebAssembly/) | This layer adds WebAssembly support to SpaceVim |
| [leaderf](leaderf/) | This layers provide a heavily customized LeaderF centric work-flow |
| [lsp](language-server-protocol/) | This layers provides language server protocol for vim and neovim |
| [shell](shell/) | This layer provide shell support in SpaceVim |
| [sudo](sudo/) | sudo layer provides ability to read and write file elevated privileges in SpaceVim |
| [tags](tags/) | This layer provide tags manager for project |
| [tests](tests/) | This layer allows to run tests directly on SpaceVim |
| [tmux](tmux/) | This layers adds extensive support for tmux |
| [tools#dash](tools/dash/) | This layer provides Dash integration for SpaceVim |
| [tools](tools/) | This layer provides some tools for vim |
| [ui](ui/) | Awesome UI layer for SpaceVim, provide IDE-like UI for neovim and vim in both TUI and GUI |
| [VersionControl](VersionControl/) | This layers provides general version control feature for vim. It should work with all VC backends such as Git, Mercurial, Bazaar, SVN, etc… |
| Name | Description |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [autocomplete](autocomplete/) | Autocomplete code within SpaceVim, fuzzy find the candidates from multiple completion sources, expand snippet before cursor automatically |
| [chat](chat/) | SpaceVim chatting layer provide chatting with qq and weixin in vim. |
| [checkers](checkers/) | Syntax checking automatically within SpaceVim, display error on the sign column and statusline. |
| [chinese](chinese/) | Layer for chinese users, include chinese docs and runtime messages |
| [colorscheme](colorscheme/) | colorscheme provides a list of colorscheme for SpaceVim, default colorscheme is gruvbox with dark theme. |
| [core#banner](core/banner/) | This layer provides many default banner on welcome page. |
| [core#statusline](core/statusline/) | This layer provides default statusline for SpaceVim |
| [core#tabline](core/tabline/) | SpaceVim core#tabline layer provides a better tabline for SpaceVim |
| [core](core/) | SpaceVim core layer provides many default key bindings and features. |
| [cscope](cscope/) | cscope layer provides a smart cscope and pycscope helper for SpaceVim, help users win at cscope |
| [ctrlp](ctrlp/) | This layers provide a heavily customized ctrlp centric work-flow |
| [debug](debug/) | This layer provide debug workflow support in SpaceVim |
| [default](default/) | SpaceVim default layer contains no plugins, but It provides some better default config for SpaceVim. |
| [denite](denite/) | This layers provide a heavily customized Denite centric work-flow |
| [edit](edit/) | Improve code edit expr in SpaceVim, provide more text opjects. |
| [floobits](floobits/) | This layer adds support for the peer programming tool floobits to SpaceVim. |
| [format](format/) | Code formatting support for SpaceVim |
| [fzf](fzf/) | This layers provide a heavily customized fzf centric work-flow |
| [git](git/) | This layers adds extensive support for git |
| [github](github/) | This layer provides GitHub integration for SpaceVim |
| [japanese](japanese/) | Layer for japanese users, include japanese docs and runtime messages |
| [lang#agda](lang/agda/) | This layer adds agda language support to SpaceVim |
| [lang#asciidoc](lang/asciidoc/) | Edit asciidoc within vim, autopreview asciidoc in the default browser, with this layer you can also format asciidoc file. |
| [lang#autohotkey](lang/autohotkey/) | This layer adds autohotkey language support to SpaceVim |
| [lang#c](lang/c/) | c/c++/object-c language support for SpaceVim, include code completion, jump to definition, quick runner. |
| [lang#clojure](lang/clojure/) | This layer is for clojure development, provide autocompletion, syntax checking, code format for clojure file. |
| [lang#csharp](lang/csharp/) | This layer is for csharp development |
| [lang#dart](lang/dart/) | This layer is for dart development, provide autocompletion, syntax checking, code format for dart file. |
| [lang#dockerfile](lang/dockerfile/) | This layer adds DockerFile to SpaceVim |
| [lang#elixir](lang/elixir/) | This layer is for elixir development, provide autocompletion, syntax checking, code format for elixir file. |
| [lang#elm](lang/elm/) | This layer is for elm development, provide autocompletion, syntax checking, code format for elm file. |
| [lang#erlang](lang/erlang/) | This layer is for erlang development, provide autocompletion, syntax checking, code format for erlang file. |
| [lang#extra](lang/extra/) | This layer adds extra language support to SpaceVim |
| [lang#fsharp](lang/fsharp/) | This layer adds fsharp language support to SpaceVim |
| [lang#go](lang/go/) | This layer is for golang development. It also provides additional language-specific key mappings. |
| [lang#graphql](lang/graphql/) | This layer adds graphql file support to SpaceVim |
| [lang#haskell](lang/haskell/) | haskell language support for SpaceVim, includes code completion, syntax checking, jumping to definition, also provides language server protocol support for haskell |
| [lang#html](lang/html/) | Edit html in SpaceVim, with this layer, this layer provides code completion, syntax checking and code formatting for html. |
| [lang#java](lang/java/) | This layer is for Java development. All the features such as code completion, formatting, syntax checking, REPL and debug have be done in this layer. |
| [lang#javascript](lang/javascript/) | This layer is for JaveScript development |
| [lang#julia](lang/julia/) | This layer is for julia development, provide autocompletion, syntax checking and code formatting |
| [lang#kotlin](lang/kotlin/) | This layer adds kotlin language support to SpaceVim |
| [lang#latex](lang/latex/) | This layer provides support for writing LaTeX documents, including syntax highlighting, code completion, formatting etc. |
| [lang#lisp](lang/lisp/) | This layer is for lisp development, provide autocompletion, syntax checking, code format for lisp file. |
| [lang#lua](lang/lua/) | This layer is for lua development, provide autocompletion, syntax checking, code format for lua file. |
| [lang#markdown](lang/markdown/) | Edit markdown within vim, autopreview markdown in the default browser, with this layer you can also format markdown file. |
| [lang#nim](lang/nim/) | This layer adds nim language support to SpaceVim |
| [lang#ocaml](lang/ocaml/) | This layer is for ocaml development, provide autocompletion, syntax checking, code format for ocaml file. |
| [lang#perl](lang/perl/) | This layer is for perl development, provide autocompletion, syntax checking, code format for perl file. |
| [lang#php](lang/php/) | This layer adds PHP language support to SpaceVim |
| [lang#plantuml](lang/plantuml/) | This layer is for plantuml development, syntax highlighting for plantuml file. |
| [lang#puppet](lang/puppet/) | This layer adds puppet language support to SpaceVim |
| [lang#purescript](lang/purescript/) | This layer is for purescript development, provide autocompletion, syntax checking, code format for purescript file. |
| [lang#python](lang/python/) | This layer is for Python development, provide autocompletion, syntax checking, code format for python file. |
| [lang#r](lang/r/) | This layer is for R development, provide autocompletion, syntax checking and code format. |
| [lang#red](lang/red/) | This layer is for red development, provide autocompletion, syntax checking and code format. |
| [lang#ruby](lang/ruby/) | This layer is for ruby development, provide autocompletion, syntax checking, code format for ruby file. |
| [lang#rust](lang/rust/) | This layer is for rust development, provide autocompletion, syntax checking, code format for rust file. |
| [lang#scala](lang/scala/) | This layer adds scala language support to SpaceVim |
| [lang#scheme](lang/scheme/) | This layer adds scheme language support to SpaceVim |
| [lang#sh](lang/sh/) | Shell script development layer, provides autocompletion, syntax checking, code format for bash and zsh script. |
| [lang#swift](lang/swift/) | swift language support for SpaceVim, includes code completion, syntax highlighting |
| [lang#typescript](lang/typescript/) | This layer is for TypeScript development |
| [lang#vim](lang/vim/) | This layer is for writting vim script, including code completion, syntax checking and buffer formatting |
| [lang#vue](lang/vue/) | This layer adds vue language support to SpaceVim |
| [lang#WebAssembly](lang/WebAssembly/) | This layer adds WebAssembly support to SpaceVim |
| [language-server-protocol](language-server-protocol/) | This layers provides language server protocol for vim and neovim |
| [leaderf](leaderf/) | This layers provide a heavily customized LeaderF centric work-flow |
| [shell](shell/) | This layer provide shell support in SpaceVim |
| [sudo](sudo/) | sudo layer provides ability to read and write file elevated privileges in SpaceVim |
| [tags](tags/) | This layer provide tags manager for project |
| [test](test/) | This layer allows to run tests directly on SpaceVim |
| [tmux](tmux/) | This layers adds extensive support for tmux |
| [tools#dash](tools/dash/) | This layer provides Dash integration for SpaceVim |
| [tools#zeal](tools/zeal/) | This layer provides Zeal integration for SpaceVim |
| [tools](tools/) | This layer provides some tools for vim |
| [ui](ui/) | Awesome UI layer for SpaceVim, provide IDE-like UI for neovim and vim in both TUI and GUI |
| [unite](unite/) | This layers provide a heavily customized Unite centric work-flow |
| [VersionControl](VersionControl/) | This layers provides general version control feature for vim. It should work with all VC backends such as Git, Mercurial, Bazaar, SVN, etc… |
<!-- SpaceVim layer list end -->

View File

@ -53,4 +53,4 @@ Send code to inferior process commands:
### Running current script
To running a ruby script, you can press `SPC l r` to run current file without loss focus, and the result will be shown in a runner buffer.
To running a r script, you can press `SPC l r` to run current file without loss focus, and the result will be shown in a runner buffer.

57
docs/layers/lang/red.md Normal file
View File

@ -0,0 +1,57 @@
---
title: "SpaceVim lang#red layer"
description: "This layer is for red development, provide autocompletion, syntax checking and code format."
---
# [Available Layers](../../) >> lang#red
<!-- vim-markdown-toc GFM -->
- [Description](#description)
- [Install](#install)
- [Layer](#layer)
- [Key bindings](#key-bindings)
- [Inferior REPL process](#inferior-repl-process)
- [Running current script](#running-current-script)
<!-- vim-markdown-toc -->
## Description
This layer is for red development.
## Install
### Layer
To use this configuration layer, update custom configuration file with:
```toml
[[layers]]
name = "lang#red"
```
## Key bindings
### Inferior REPL process
Start a `red` inferior REPL process with `SPC l s i`. You may change the REPL command by layer option `repl_command`. For example, if you want to use `pry`, load this layer via:
```toml
[[layers]]
name = "lang#red"
repl_command = "red --cli"
```
Send code to inferior process commands:
| Key Binding | Description |
| ----------- | ------------------------------------------------ |
| `SPC l s b` | send buffer and keep code buffer focused |
| `SPC l s l` | send line and keep code buffer focused |
| `SPC l s s` | send selection text and keep code buffer focused |
### Running current script
To running a ruby script, you can press `SPC l r` to run current file without loss focus, and the result will be shown in a runner buffer.