From 7bbb69e3513775732c5f59a28efc518e3ddefeea Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Wed, 23 Jan 2019 11:23:12 +0800 Subject: [PATCH] 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 --- .SpaceVim.d/autoload/SpaceVim/dev/api.vim | 10 +- .SpaceVim.d/autoload/SpaceVim/dev/layers.vim | 74 +++++---- autoload/SpaceVim/layers/lang/red.vim | 38 +++++ docs/cn/layers.md | 156 +++++++++--------- docs/cn/layers/lang/r.md | 2 +- docs/cn/layers/lang/red.md | 53 ++++++ docs/layers.md | 161 ++++++++++--------- docs/layers/lang/r.md | 2 +- docs/layers/lang/red.md | 57 +++++++ 9 files changed, 354 insertions(+), 199 deletions(-) create mode 100644 autoload/SpaceVim/layers/lang/red.vim create mode 100644 docs/cn/layers/lang/red.md create mode 100644 docs/layers/lang/red.md diff --git a/.SpaceVim.d/autoload/SpaceVim/dev/api.vim b/.SpaceVim.d/autoload/SpaceVim/dev/api.vim index 7cb7b1b2c..d54032bad 100644 --- a/.SpaceVim.d/autoload/SpaceVim/dev/api.vim +++ b/.SpaceVim.d/autoload/SpaceVim/dev/api.vim @@ -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 = [ \ '| 名称 | 描述 |', diff --git a/.SpaceVim.d/autoload/SpaceVim/dev/layers.vim b/.SpaceVim.d/autoload/SpaceVim/dev/layers.vim index fae40485e..4876474e3 100644 --- a/.SpaceVim.d/autoload/SpaceVim/dev/layers.vim +++ b/.SpaceVim.d/autoload/SpaceVim/dev/layers.vim @@ -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 = '^$' + let s:AUTODOC.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 = '^$' + let s:AUTODOC.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('^$','bwnc') let end = search('^$','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 diff --git a/autoload/SpaceVim/layers/lang/red.vim b/autoload/SpaceVim/layers/lang/red.vim new file mode 100644 index 000000000..eac213a57 --- /dev/null +++ b/autoload/SpaceVim/layers/lang/red.vim @@ -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 diff --git a/docs/cn/layers.md b/docs/cn/layers.md index 571e1027c..47358fae6 100644 --- a/docs/cn/layers.md +++ b/docs/cn/layers.md @@ -51,88 +51,90 @@ Vim 插件以及相关配置。而 SpaceVim 是以模块的方式来组织和管 enable = false ``` - + ## 可用模块 -| 名称 | 描述 | -| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -| [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 等等多种后台工具。 | diff --git a/docs/cn/layers/lang/r.md b/docs/cn/layers/lang/r.md index 09aee9b7f..18bb4cdbd 100644 --- a/docs/cn/layers/lang/r.md +++ b/docs/cn/layers/lang/r.md @@ -48,5 +48,5 @@ lang: cn ### 运行当前脚本 -在编辑 ruby 文件是,可通过快捷键 `SPC l r` 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。 +在编辑 R 文件是,可通过快捷键 `SPC l r` 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。 diff --git a/docs/cn/layers/lang/red.md b/docs/cn/layers/lang/red.md new file mode 100644 index 000000000..fe385eb5e --- /dev/null +++ b/docs/cn/layers/lang/red.md @@ -0,0 +1,53 @@ +--- +title: "SpaceVim lang#red 模块" +description: "这一模块为 red 开发提供支持,包括代码补全、语法检查、代码格式化等特性。" +lang: cn +--- + +# [可用模块](../../) >> lang#red + + + +- [模块描述](#模块描述) +- [依赖安装及启用模块](#依赖安装及启用模块) + - [启用模块](#启用模块) +- [快捷键](#快捷键) + - [交互式编程](#交互式编程) + - [运行当前脚本](#运行当前脚本) + + + +## 模块描述 + +这一模块为 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` 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。 + + diff --git a/docs/layers.md b/docs/layers.md index 0a354ddee..cd20ce5d3 100644 --- a/docs/layers.md +++ b/docs/layers.md @@ -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 ``` + + ## 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… | diff --git a/docs/layers/lang/r.md b/docs/layers/lang/r.md index ffd6d6b99..ee4031fc7 100644 --- a/docs/layers/lang/r.md +++ b/docs/layers/lang/r.md @@ -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. diff --git a/docs/layers/lang/red.md b/docs/layers/lang/red.md new file mode 100644 index 000000000..a0d7db6d9 --- /dev/null +++ b/docs/layers/lang/red.md @@ -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 + + + +- [Description](#description) +- [Install](#install) + - [Layer](#layer) +- [Key bindings](#key-bindings) + - [Inferior REPL process](#inferior-repl-process) + - [Running current script](#running-current-script) + + + +## 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. +