diff --git a/after/syntax/help.vim b/after/syntax/help.vim new file mode 100644 index 000000000..db7cfdd75 --- /dev/null +++ b/after/syntax/help.vim @@ -0,0 +1,3 @@ +" helpHeadline do not include # which is used in +" SpaceVim layer name +syn match helpHeadline "^[-A-Z .][-A-Z0-9 .()_#]*\ze\(\s\+\*\|$\)" diff --git a/autoload/SpaceVim/layers/core.vim b/autoload/SpaceVim/layers/core.vim index 48a1d17e8..6eff4ee8c 100644 --- a/autoload/SpaceVim/layers/core.vim +++ b/autoload/SpaceVim/layers/core.vim @@ -520,12 +520,20 @@ endfunction function! s:open_message_buffer() abort vertical topleft edit __Message_Buffer__ setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonumber norelativenumber - setf message + setf SpaceVimMessageBuffer normal! ggdG - silent put =s:CMP.execute(':message') + silent put=s:CMP.execute(':message') normal! G setlocal nomodifiable - nnoremap q :silent bd + nnoremap q :call close_message_buffer() +endfunction + +function! s:close_message_buffer() abort + try + bp + catch /^Vim\%((\a\+)\)\=:E85/ + bd + endtry endfunction function! s:safe_revert_buffer() abort diff --git a/autoload/SpaceVim/layers/core/statusline.vim b/autoload/SpaceVim/layers/core/statusline.vim index 0c3d844d0..af924df8b 100644 --- a/autoload/SpaceVim/layers/core/statusline.vim +++ b/autoload/SpaceVim/layers/core/statusline.vim @@ -427,6 +427,9 @@ function! SpaceVim#layers#core#statusline#get(...) abort elseif &filetype ==# 'MundoDiff' return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep \ . '%#SpaceVim_statusline_b# MundoDiff %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' + elseif &filetype ==# 'SpaceVimMessageBuffer' + return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep + \ . '%#SpaceVim_statusline_b# Message %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' ' elseif &filetype ==# 'startify' try call fugitive#detect(getcwd()) diff --git a/autoload/SpaceVim/layers/lang/actionscript.vim b/autoload/SpaceVim/layers/lang/actionscript.vim index 68e969d16..c045c9c60 100644 --- a/autoload/SpaceVim/layers/lang/actionscript.vim +++ b/autoload/SpaceVim/layers/lang/actionscript.vim @@ -6,6 +6,16 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#actionscript, layer-lang-actionscript +" @parentsection layers +" This layer provides syntax highlighting for actionscript. To enable this +" layer: +" > +" [layers] +" name = "lang#actionscript" +" < + function! SpaceVim#layers#lang#actionscript#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-actionscript', {'merged' : 0}]) diff --git a/autoload/SpaceVim/layers/lang/agda.vim b/autoload/SpaceVim/layers/lang/agda.vim index d3458b5c5..9a59f32bc 100644 --- a/autoload/SpaceVim/layers/lang/agda.vim +++ b/autoload/SpaceVim/layers/lang/agda.vim @@ -6,6 +6,15 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#agda, layer-lang-agda +" @parentsection layers +" This layer provides syntax highlighting for agda. To enable this +" layer: +" > +" [layers] +" name = "lang#agda" +" < function! SpaceVim#layers#lang#agda#plugins() abort let plugins = [] diff --git a/autoload/SpaceVim/layers/lang/asciidoc.vim b/autoload/SpaceVim/layers/lang/asciidoc.vim index cdd16abdd..20eb1b817 100644 --- a/autoload/SpaceVim/layers/lang/asciidoc.vim +++ b/autoload/SpaceVim/layers/lang/asciidoc.vim @@ -6,6 +6,15 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#asciidoc, layer-lang-asciidoc +" @parentsection layers +" This layer provides syntax highlighting for asciidoc. To enable this +" layer: +" > +" [layers] +" name = "lang#asciidoc" +" < func! SpaceVim#layers#lang#asciidoc#plugins() abort diff --git a/autoload/SpaceVim/layers/lang/aspectj.vim b/autoload/SpaceVim/layers/lang/aspectj.vim index f85725acc..443a40007 100644 --- a/autoload/SpaceVim/layers/lang/aspectj.vim +++ b/autoload/SpaceVim/layers/lang/aspectj.vim @@ -6,6 +6,15 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#asepctj, layer-lang-asepctj +" @parentsection layers +" This layer provides syntax highlighting for asepctj. To enable this +" layer: +" > +" [layers] +" name = "lang#asepctj" +" < function! SpaceVim#layers#lang#asepctj#plugins() abort let plugins = [] diff --git a/autoload/SpaceVim/layers/lang/clojure.vim b/autoload/SpaceVim/layers/lang/clojure.vim index efe496d4a..4506ee5b4 100644 --- a/autoload/SpaceVim/layers/lang/clojure.vim +++ b/autoload/SpaceVim/layers/lang/clojure.vim @@ -6,6 +6,16 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#clojure, layer-lang-clojure +" @parentsection layers +" This layer provides syntax highlighting for clojure. To enable this +" layer: +" > +" [layers] +" name = "lang#clojure" +" < + function! SpaceVim#layers#lang#clojure#plugins() abort let plugins = [] " if has('nvim') diff --git a/autoload/SpaceVim/layers/lang/crystal.vim b/autoload/SpaceVim/layers/lang/crystal.vim index 0e31c0992..07cdfe92d 100644 --- a/autoload/SpaceVim/layers/lang/crystal.vim +++ b/autoload/SpaceVim/layers/lang/crystal.vim @@ -10,8 +10,29 @@ " @section lang#crystal, layer-lang-crystal " @parentsection layers " @subsection Intro +" " The lang#crystal layer provides crystal filetype detection and syntax highlight, -" crystal tool and crystal spec integration. +" crystal tool and crystal spec integration. To enable this layer: +" > +" [layers] +" name = "lang#crystal" +" < +" +" @subsection mapping +" > +" Key binding description +" SPC l r run current code +" +" This layer also provides REPL support for crystal, the key bindings are: +" > +" Key Function +" --------------------------------------------- +" SPC l s i Start a inferior REPL process +" SPC l s b send whole buffer +" SPC l s l send current line +" SPC l s s send selection text +" < +" function! SpaceVim#layers#lang#crystal#plugins() abort return [ diff --git a/autoload/SpaceVim/layers/lang/csharp.vim b/autoload/SpaceVim/layers/lang/csharp.vim index 5c539ce19..39a837bf1 100644 --- a/autoload/SpaceVim/layers/lang/csharp.vim +++ b/autoload/SpaceVim/layers/lang/csharp.vim @@ -9,7 +9,14 @@ "" " @section lang#csharp, layer-lang-csharp " @parentsection layers +" @subsection Intro +" " This layer includes utilities and language-specific mappings for csharp development. +" By default it is disabled, to enable this layer: +" > +" [layers] +" name = "lang#csharp" +" < " " @subsection Key Mappings " > diff --git a/autoload/SpaceVim/layers/lang/dart.vim b/autoload/SpaceVim/layers/lang/dart.vim index f784e33f9..6fed99e15 100644 --- a/autoload/SpaceVim/layers/lang/dart.vim +++ b/autoload/SpaceVim/layers/lang/dart.vim @@ -10,9 +10,37 @@ " @section lang#dart, layer-lang-dart " @parentsection layers " @subsection Intro +" " The lang#dart layer provides code completion, documentation lookup, jump to " definition, dart_repl integration for dart. It uses neomake as default -" syntax checker which is loaded in @section(layer-checkers) +" syntax checker which is loaded in @section(layer-checkers). To enable this +" layer: +" > +" [layers] +" name = "lang#dart" +" < +" +" @subsection Key bindings +" > +" Mode Key Function +" --------------------------------------------- +" normal SPC l r run current file +" < +" +" This layer also provides REPL support for hack, the key bindings are: +" > +" Key Function +" --------------------------------------------- +" SPC l s i Start a inferior REPL process +" SPC l s b send whole buffer +" SPC l s l send current line +" SPC l s s send selection text +" < +" +" This layer use deoplete-dart as default completion plugin for dart. If the +" @section(layer-lsp) is enabled for dart, This plugin will not be loaded. +" +" function! SpaceVim#layers#lang#dart#plugins() abort let plugins = [] diff --git a/autoload/SpaceVim/layers/lang/dockerfile.vim b/autoload/SpaceVim/layers/lang/dockerfile.vim index 625ac9081..43c296c15 100644 --- a/autoload/SpaceVim/layers/lang/dockerfile.vim +++ b/autoload/SpaceVim/layers/lang/dockerfile.vim @@ -6,6 +6,13 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#dockerfile, layer-lang-dockerfile +" @parentsection layers +" @subsection Intro +" +" The lang#dockerfile layer provides syntax highlighting for dockerfile. + function! SpaceVim#layers#lang#dockerfile#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-dockerfile', {'merged' : 0}]) diff --git a/autoload/SpaceVim/layers/lang/extra.vim b/autoload/SpaceVim/layers/lang/extra.vim index 400e04bc6..7cf22ca95 100644 --- a/autoload/SpaceVim/layers/lang/extra.vim +++ b/autoload/SpaceVim/layers/lang/extra.vim @@ -1,22 +1,39 @@ "============================================================================= - " extra.vim --- lang#extra layer for SpaceVim - " Copyright (c) 2016-2019 Wang Shidong & Contributors - " Author: Wang Shidong < wsdjeg at 163.com > - " URL: https://spacevim.org - " License: GPLv3 - "============================================================================= +" extra.vim --- lang#extra layer for SpaceVim +" Copyright (c) 2016-2019 Wang Shidong & Contributors +" Author: Wang Shidong < wsdjeg at 163.com > +" URL: https://spacevim.org +" License: GPLv3 +"============================================================================= +"" +" @section lang#extra, layer-lang-extra +" @parentsection layers +" @subsection Intro +" +" The lang#extra layer provides syntax highlighting, indent for extra +" programming language. includes: +" +" 1. pug +" +" digitaltoad/vim-pug syntax highlighting and indent +" +" 2. i3config +" +" PotatoesMaster/i3-vim-syntax syntax highlighting for i3 config +" +" 3. irssi config +" +" isundil/vim-irssi-syntax syntax highlighting for irssi config - function! SpaceVim#layers#lang#extra#plugins() abort - let plugins = [ - \ ['digitaltoad/vim-pug', { 'on_ft' : ['pug', 'jade']}], - \ ['juvenn/mustache.vim', { 'on_ft' : ['mustache']}], - \ ['kchmck/vim-coffee-script', { 'on_ft' : ['coffee']}], - \ ['PotatoesMaster/i3-vim-syntax', { 'on_ft' : 'i3'}], - \ ['isundil/vim-irssi-syntax', { 'on_ft' : 'irssi'}], - \ ['vimperator/vimperator.vim', { 'on_ft' : 'vimperator'}], - \ ['peterhoeg/vim-qml', { 'on_ft' : 'qml'}], - \ ['cespare/vim-toml', { 'on_ft' : 'toml'}], - \ ] - return plugins - endfunction +function! SpaceVim#layers#lang#extra#plugins() abort + let plugins = [ + \ ['digitaltoad/vim-pug', { 'on_ft' : ['pug', 'jade']}], + \ ['juvenn/mustache.vim', { 'on_ft' : ['mustache']}], + \ ['PotatoesMaster/i3-vim-syntax', { 'on_ft' : 'i3'}], + \ ['isundil/vim-irssi-syntax', { 'on_ft' : 'irssi'}], + \ ['vimperator/vimperator.vim', { 'on_ft' : 'vimperator'}], + \ ['peterhoeg/vim-qml', { 'on_ft' : 'qml'}], + \ ] + return plugins +endfunction diff --git a/autoload/SpaceVim/layers/lang/foxpro.vim b/autoload/SpaceVim/layers/lang/foxpro.vim index 23d4dc493..f8529c427 100644 --- a/autoload/SpaceVim/layers/lang/foxpro.vim +++ b/autoload/SpaceVim/layers/lang/foxpro.vim @@ -6,6 +6,13 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#foxpro, layer-lang-foxpro +" @parentsection layers +" @subsection Intro +" +" The lang#foxpro layer provides syntax highlighting for foxpro. + function! SpaceVim#layers#lang#foxpro#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-foxpro', { 'merged' : 0}]) diff --git a/autoload/SpaceVim/layers/lang/graphql.vim b/autoload/SpaceVim/layers/lang/graphql.vim index b366ba643..741b7c6b1 100644 --- a/autoload/SpaceVim/layers/lang/graphql.vim +++ b/autoload/SpaceVim/layers/lang/graphql.vim @@ -6,6 +6,29 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#graphql, layer-lang-graphql +" @parentsection layers +" @subsection Intro +" +" The lang#graphql layer provides syntax highlighting indent for graphql. To +" enable this layer: +" > +" [layers] +" name = "lang#graphql" +" < +" +" This filetype is automatically selected for filenames ending in .graphql, +" .graphqls, and .gql. If you would like to enable automatic syntax support +" for more file extensions (e.g., *.prisma), add following into bootstrap +" function. +" > +" augroup mybootstrap +" au! +" au BufNewFile,BufRead *.prisma setfiletype graphql +" augroup END +" < + function! SpaceVim#layers#lang#graphql#plugins() abort let plugins = [] call add(plugins, ['jparise/vim-graphql', {'merged' : 0}]) diff --git a/autoload/SpaceVim/layers/lang/hack.vim b/autoload/SpaceVim/layers/lang/hack.vim index 52e6aea23..a5030d3b6 100644 --- a/autoload/SpaceVim/layers/lang/hack.vim +++ b/autoload/SpaceVim/layers/lang/hack.vim @@ -9,6 +9,8 @@ "" " @section lang#hack, layer-lang-hack " @parentsection layers +" @subsection Intro +" " This layer is for hack development, disabled by default, to enable this " layer, add following snippet to your SpaceVim configuration file. " > diff --git a/autoload/SpaceVim/layers/lang/html.vim b/autoload/SpaceVim/layers/lang/html.vim index 8998377fa..58c007839 100644 --- a/autoload/SpaceVim/layers/lang/html.vim +++ b/autoload/SpaceVim/layers/lang/html.vim @@ -6,6 +6,35 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#html, layer-lang-html +" @parentsection layers +" This layer is for html development, disabled by default, to enable this +" layer, add following snippet to your SpaceVim configuration file. +" > +" [layers] +" name = "lang#html" +" < +" +" @subsection Options +" +" user_emmet_leader_key: change the default leader key for emmet +" +" > +" [layers] +" name = "lang#html" +" user_emmet_leader_key = "" +" < +" +" @subsection Key bindings +" +" > +" Key Binding description +" emmet leader key +" < +" + + function! SpaceVim#layers#lang#html#plugins() abort let plugins = [ \ ['groenewege/vim-less', { 'on_ft' : ['less']}], diff --git a/autoload/SpaceVim/layers/lang/idris.vim b/autoload/SpaceVim/layers/lang/idris.vim index e8798d510..1ab15b01e 100644 --- a/autoload/SpaceVim/layers/lang/idris.vim +++ b/autoload/SpaceVim/layers/lang/idris.vim @@ -6,6 +6,34 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#idris, layer-lang-idris +" @parentsection layers +" This layer is for idris development, disabled by default, to enable this +" layer, add following snippet to your SpaceVim configuration file. +" > +" [[layers]] +" name = 'lang#idris' +" < +" +" @subsection Key bindings +" > +" Mode Key Function +" --------------------------------------------- +" normal SPC l r run current file +" < +" +" This layer also provides REPL support for idris, the key bindings are: +" > +" Key Function +" --------------------------------------------- +" SPC l s i Start a inferior REPL process +" SPC l s b send whole buffer +" SPC l s l send current line +" SPC l s s send selection text +" < +" + function! SpaceVim#layers#lang#idris#plugins() abort let plugins = [] diff --git a/autoload/SpaceVim/layers/lang/janet.vim b/autoload/SpaceVim/layers/lang/janet.vim index 4a4a37cd8..ce724796a 100644 --- a/autoload/SpaceVim/layers/lang/janet.vim +++ b/autoload/SpaceVim/layers/lang/janet.vim @@ -6,6 +6,34 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#janet, layer-lang-janet +" @parentsection layers +" This layer is for janet development, disabled by default, to enable this +" layer, add following snippet to your SpaceVim configuration file. +" > +" [[layers]] +" name = 'lang#janet' +" < +" +" @subsection Key bindings +" > +" Mode Key Function +" --------------------------------------------- +" normal SPC l r run current file +" < +" +" This layer also provides REPL support for janet, the key bindings are: +" > +" Key Function +" --------------------------------------------- +" SPC l s i Start a inferior REPL process +" SPC l s b send whole buffer +" SPC l s l send current line +" SPC l s s send selection text +" < +" + function! SpaceVim#layers#lang#janet#plugins() abort let plugins = [] call add(plugins, ['janet-lang/janet.vim', { 'merged' : 0}]) diff --git a/autoload/SpaceVim/layers/lang/javascript.vim b/autoload/SpaceVim/layers/lang/javascript.vim index 624488e83..e8c7e54ac 100644 --- a/autoload/SpaceVim/layers/lang/javascript.vim +++ b/autoload/SpaceVim/layers/lang/javascript.vim @@ -6,6 +6,49 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#javascript, layer-lang-javascript +" @parentsection layers +" This layer is for JavaScript development, includes syntax lint, code +" completion etc. To enable this layer: +" > +" [layers] +" name = "lang#javascript" +" < +" The code linter is eslint, install eslint via: +" > +" npm install -g eslint-cli +" < +" @subsection layer option +" +" 1. auto_fix: If this option is true, --fix will be added to neomake eslint +" maker. +" > +" [layers] +" name = "lang#javascript" +" auto_fix = true +" < +" @subsection Key bindings +" > +" Key Function +" ----------------------------- +" SPC l r run current file +" SPC b f format current buffer +" < +" +" This layer also provides REPL support for javascript, the key bindings are: +" > +" Key Function +" --------------------------------------------- +" SPC l s i Start a inferior REPL process +" SPC l s b send whole buffer +" SPC l s l send current line +" SPC l s s send selection text +" < +" + + + function! SpaceVim#layers#lang#javascript#plugins() abort let plugins = [ \ ['Galooshi/vim-import-js', { diff --git a/autoload/SpaceVim/layers/lang/json.vim b/autoload/SpaceVim/layers/lang/json.vim index b04560ee1..df2bf9fe2 100644 --- a/autoload/SpaceVim/layers/lang/json.vim +++ b/autoload/SpaceVim/layers/lang/json.vim @@ -6,14 +6,54 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#json, layer-lang-json +" @parentsection layers +" This layer provides syntax highlighting for json file. To enable this layer: +" > +" [layers] +" name = "lang#json" +" < +" +" @subsection Options +" +" 1. conceal: Set the valuable for |g:vim_json_syntax_conceal| +" +" 2. concealcursor: Set the valuable for |g:vim_json_syntax_concealcursor| +" +" > +" [layers] +" name = 'lang#json' +" conceal = false +" concealcursor = '' +" < + +if exists('s:conceal') + " @bug s:conceal always return 0 + " + " because this script will be loaded twice. This is the feature of vim, + " when call an autoload func, vim will try to load the script again + finish +else + let s:conceal = 0 + let s:concealcursor = '' +endif + + function! SpaceVim#layers#lang#json#plugins() abort - let plugins = [] - call add(plugins, ['elzr/vim-json', { 'on_ft' : ['javascript','json']}]) - return plugins + let plugins = [] + call add(plugins, ['elzr/vim-json', { 'on_ft' : ['javascript','json']}]) + return plugins endfunction function! SpaceVim#layers#lang#json#config() abort - let g:vim_json_syntax_conceal = 0 - let g:vim_json_syntax_concealcursor = '' + let g:vim_json_syntax_conceal = s:conceal + let g:vim_json_syntax_concealcursor = s:concealcursor endfunction + +function! SpaceVim#layers#lang#json#set_variable(var) abort + let s:conceal = get(a:var, 'conceal', 0) + let s:concealcursor = get(a:var, 'concealcursor', 0) +endfunction + diff --git a/autoload/SpaceVim/layers/lang/ring.vim b/autoload/SpaceVim/layers/lang/ring.vim index 9e4a90807..a7ad06f0d 100644 --- a/autoload/SpaceVim/layers/lang/ring.vim +++ b/autoload/SpaceVim/layers/lang/ring.vim @@ -6,6 +6,44 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#ring, layer-lang-ring +" @parentsection layers +" This layer is for ring development, disabled by default, to enable this +" layer, add following snippet to your SpaceVim configuration file. +" > +" [[layers]] +" name = 'lang#ring' +" < +" +" @subsection Options +" +" 1. ring_repl: Set the path of ring repl. +" > +" [layers] +" name = "lang#ring" +" ring_repl = "/path/to/repl.ring" +" < +" @subsection Key bindings +" +" The code runner for ring is "ring %" % will be replaced to the path of +" current ring file. +" > +" Key Function +" -------------------------------- +" SPC l r run current file +" < +" +" This layer also provides REPL support for ring, the key bindings are: +" > +" Key Function +" --------------------------------------------- +" SPC l s i Start a inferior REPL process +" SPC l s b send whole buffer +" SPC l s l send current line +" SPC l s s send selection text +" < +" function! SpaceVim#layers#lang#ring#plugins() abort let plugins = [] diff --git a/autoload/SpaceVim/layers/lang/ruby.vim b/autoload/SpaceVim/layers/lang/ruby.vim index 7b32485fb..88d69ca9d 100644 --- a/autoload/SpaceVim/layers/lang/ruby.vim +++ b/autoload/SpaceVim/layers/lang/ruby.vim @@ -6,6 +6,47 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#ruby, layer-lang-ruby +" @parentsection layers +" This layer is for ruby development, disabled by default, to enable this +" layer, add following snippet to your @section(options) file. +" > +" [[layers]] +" name = 'lang#ruby' +" < +" +" @subsection Options +" +" 1. ruby_file_head: the default file head for ruby source code. +" > +" [layers] +" name = "lang#ruby" +" ruby_file_head = [ +" '#!/usr/bin/ruby -w', +" '# -*- coding : utf-8 -*-' +" '' +" ] +" < +" @subsection Key bindings +" +" > +" Key Function +" -------------------------------- +" SPC l r run current file +" < +" +" This layer also provides REPL support for ruby, the key bindings are: +" > +" Key Function +" --------------------------------------------- +" SPC l s i Start a inferior REPL process +" SPC l s b send whole buffer +" SPC l s l send current line +" SPC l s s send selection text +" < +" + function! SpaceVim#layers#lang#ruby#plugins() abort return [ \ ['vim-ruby/vim-ruby', { 'on_ft' : 'ruby' }] diff --git a/autoload/SpaceVim/layers/lang/scheme.vim b/autoload/SpaceVim/layers/lang/scheme.vim index e72290075..7efde6acc 100644 --- a/autoload/SpaceVim/layers/lang/scheme.vim +++ b/autoload/SpaceVim/layers/lang/scheme.vim @@ -17,6 +17,22 @@ else let s:scheme_dialect = '' endif +"" +" @section lang#scheme, layer-lang-scheme +" @parentsection layers +" This layer is for scheme development, disabled by default, to enable this +" layer, add following snippet to your @section(options) file. +" > +" [[layers]] +" name = 'lang#scheme' +" < +" +" @subsection Options +" +" 1. scheme_dialect: Set the dialect of scheme. +" +" 2. scheme_interpreter: Set the path or interpreter of scheme. +" function! SpaceVim#layers#lang#scheme#config() abort if s:scheme_dialect ==# 'mit-scheme' diff --git a/autoload/SpaceVim/layers/lang/sh.vim b/autoload/SpaceVim/layers/lang/sh.vim index b40f2d64a..077c7c7c2 100644 --- a/autoload/SpaceVim/layers/lang/sh.vim +++ b/autoload/SpaceVim/layers/lang/sh.vim @@ -6,6 +6,19 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#sh, layer-lang-sh +" @parentsection layers +" This layer is for shell script development, including bash, zsh and fish. +" This layer provides basic syntax highlighting and code completion , and it +" is disabled by default, to enable this +" layer, add following snippet to your @section(options) file. +" > +" [[layers]] +" name = 'lang#sh' +" < +" + function! SpaceVim#layers#lang#sh#plugins() abort let l:plugins = [] call add(l:plugins, ['chrisbra/vim-zsh', { 'on_ft' : 'zsh' }]) diff --git a/autoload/SpaceVim/layers/lang/swig.vim b/autoload/SpaceVim/layers/lang/swig.vim index 9e27cf9cf..f24814f51 100644 --- a/autoload/SpaceVim/layers/lang/swig.vim +++ b/autoload/SpaceVim/layers/lang/swig.vim @@ -6,6 +6,15 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#swig, layer-lang-swig +" @parentsection layers +" This layer is for swig development, including syntax highlighting and +" indent. To enable it: +" > +" [layers] +" name = "lang#swig" +" < function! SpaceVim#layers#lang#swig#plugins() abort let plugins = [] diff --git a/autoload/SpaceVim/layers/lang/toml.vim b/autoload/SpaceVim/layers/lang/toml.vim index 0204a5d96..bdba924df 100644 --- a/autoload/SpaceVim/layers/lang/toml.vim +++ b/autoload/SpaceVim/layers/lang/toml.vim @@ -5,6 +5,16 @@ " URL: https://spacevim.org " License: GPLv3 "============================================================================= + +"" +" @section lang#toml, layer-lang-toml +" @parentsection layers +" This layer provides basic syntax highlighting for toml. To enable it: +" > +" [layers] +" name = "lang#toml" +" < + function! SpaceVim#layers#lang#toml#plugins() abort let plugins = [] call add(plugins, ['cespare/vim-toml', {'merged' : 0}]) diff --git a/autoload/SpaceVim/layers/lang/v.vim b/autoload/SpaceVim/layers/lang/v.vim index c5ca3638c..0b3b976e1 100644 --- a/autoload/SpaceVim/layers/lang/v.vim +++ b/autoload/SpaceVim/layers/lang/v.vim @@ -6,6 +6,33 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#v, layer-lang-v +" @parentsection layers +" This layer is for v development, disabled by default, to enable this +" layer, add following snippet to your SpaceVim configuration file. +" > +" [[layers]] +" name = 'lang#v' +" < +" +" @subsection Key bindings +" > +" Mode Key Function +" --------------------------------------------- +" normal SPC l r run current file +" < +" +" This layer also provides REPL support for v, the key bindings are: +" > +" Key Function +" --------------------------------------------- +" SPC l s i Start a inferior REPL process +" SPC l s b send whole buffer +" SPC l s l send current line +" SPC l s s send selection text +" < +" function! SpaceVim#layers#lang#v#plugins() abort let plugins = [] diff --git a/autoload/SpaceVim/layers/lang/vbnet.vim b/autoload/SpaceVim/layers/lang/vbnet.vim index 30a7febf1..8843a248c 100644 --- a/autoload/SpaceVim/layers/lang/vbnet.vim +++ b/autoload/SpaceVim/layers/lang/vbnet.vim @@ -6,6 +6,24 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#vbnet, layer-lang-vbnet +" @parentsection layers +" This layer is for vbnet development, disabled by default, to enable this +" layer, add following snippet to your SpaceVim configuration file. +" > +" [[layers]] +" name = 'lang#vbnet' +" < +" +" @subsection Key bindings +" > +" Mode Key Function +" --------------------------------------------- +" normal SPC l r run current file +" < +" + function! SpaceVim#layers#lang#vbnet#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-vbnet', { 'merged' : 0}]) diff --git a/autoload/SpaceVim/layers/lang/xquery.vim b/autoload/SpaceVim/layers/lang/xquery.vim index 3dc51534a..75e5fc40a 100644 --- a/autoload/SpaceVim/layers/lang/xquery.vim +++ b/autoload/SpaceVim/layers/lang/xquery.vim @@ -6,6 +6,17 @@ " License: GPLv3 "============================================================================= +"" +" @section lang#xquery, layer-lang-xquery +" @parentsection layers +" This layer provides basic syntax highlighting and indent file for xquery, +" disabled by default, to enable this layer, add following snippet to +" your @section(options) file. +" > +" [[layers]] +" name = 'lang#xquery' +" < + function! SpaceVim#layers#lang#xquery#plugins() abort let plugins = [] call add(plugins, ['wsdjeg/vim-xquery', {'merged' : 0}]) diff --git a/autoload/SpaceVim/layers/lsp.vim b/autoload/SpaceVim/layers/lsp.vim index 989060ceb..0954cc34e 100644 --- a/autoload/SpaceVim/layers/lsp.vim +++ b/autoload/SpaceVim/layers/lsp.vim @@ -6,6 +6,11 @@ " License: GPLv3 "============================================================================= +"" +" @section language server protocol, layer-lsp +" @parentsection layers +" This layer provides language client support for SpaceVim. + function! SpaceVim#layers#lsp#plugins() abort let plugins = [] diff --git a/autoload/SpaceVim/plugins.vim b/autoload/SpaceVim/plugins.vim index 6239ae779..020f5f4f7 100644 --- a/autoload/SpaceVim/plugins.vim +++ b/autoload/SpaceVim/plugins.vim @@ -217,6 +217,8 @@ function! SpaceVim#plugins#end() abort endif elseif g:spacevim_plugin_manager ==# 'dein' call dein#end() + " dein do not include the after dir of SpaceVim by default + let &rtp .= ',' . g:_spacevim_root_dir . 'after' if g:spacevim_checkinstall == 1 silent! let g:_spacevim_checking_flag = dein#check_install() if g:_spacevim_checking_flag diff --git a/doc/SpaceVim.txt b/doc/SpaceVim.txt index ad6a5ecfd..3ec4da235 100644 --- a/doc/SpaceVim.txt +++ b/doc/SpaceVim.txt @@ -83,53 +83,77 @@ CONTENTS *SpaceVim-contents* 8. github........................................|SpaceVim-layer-github| 9. incsearch..................................|SpaceVim-layer-incsearch| 10. indentmove...............................|SpaceVim-layer-indentmove| - 11. lang#batch...............................|SpaceVim-layer-lang-batch| - 12. lang#c.......................................|SpaceVim-layer-lang-c| - 13. lang#chapel.............................|SpaceVim-layer-lang-chapel| - 14. lang#coffeescript.................|SpaceVim-layer-lang-coffeescript| - 15. lang#crystal...........................|SpaceVim-layer-lang-crystal| - 16. lang#csharp.............................|SpaceVim-layer-lang-csharp| - 17. lang#d.......................................|SpaceVim-layer-lang-d| - 18. lang#dart.................................|SpaceVim-layer-lang-dart| - 19. lang#elixir.............................|SpaceVim-layer-lang-elixir| - 20. lang#elm...................................|SpaceVim-layer-lang-elm| - 21. lang#erlang.............................|SpaceVim-layer-lang-erlang| - 22. lang#fsharp.............................|SpaceVim-layer-lang-fsharp| - 23. lang#go.....................................|SpaceVim-layer-lang-go| - 24. lang#goby.................................|SpaceVim-layer-lang-goby| - 25. lang#gosu.................................|SpaceVim-layer-lang-gosu| - 26. lang#groovy.............................|SpaceVim-layer-lang-groovy| - 27. lang#hack.................................|SpaceVim-layer-lang-hack| - 28. lang#haskell...........................|SpaceVim-layer-lang-haskell| - 29. lang#hy.....................................|SpaceVim-layer-lang-hy| - 30. lang#j.......................................|SpaceVim-layer-lang-j| - 31. lang#java.................................|SpaceVim-layer-lang-java| - 32. lang#julia...............................|SpaceVim-layer-lang-julia| - 33. lang#kotlin.............................|SpaceVim-layer-lang-kotlin| - 34. lang#livescript.....................|SpaceVim-layer-lang-livescript| - 35. lang#lua...................................|SpaceVim-layer-lang-lua| - 36. lang#nim...................................|SpaceVim-layer-lang-nim| - 37. lang#nix...................................|SpaceVim-layer-lang-nix| - 38. lang#ocaml...............................|SpaceVim-layer-lang-ocaml| - 39. lang#pact.................................|SpaceVim-layer-lang-pact| - 40. lang#php...................................|SpaceVim-layer-lang-php| - 41. lang#pony.................................|SpaceVim-layer-lang-pony| - 42. lang#processing.....................|SpaceVim-layer-lang-processing| - 43. lang#prolog.............................|SpaceVim-layer-lang-prolog| - 44. lang#puppet.............................|SpaceVim-layer-lang-puppet| - 45. lang#python.............................|SpaceVim-layer-lang-python| - 46. lang#racket.............................|SpaceVim-layer-lang-racket| - 47. lang#rust.................................|SpaceVim-layer-lang-rust| - 48. lang#scala...............................|SpaceVim-layer-lang-scala| - 49. lang#tcl...................................|SpaceVim-layer-lang-tcl| - 50. lang#typescript.....................|SpaceVim-layer-lang-typescript| - 51. lang#xml...................................|SpaceVim-layer-lang-xml| - 52. operator...................................|SpaceVim-layer-operator| - 53. shell.........................................|SpaceVim-layer-shell| - 54. test...........................................|SpaceVim-layer-test| - 55. tmux...........................................|SpaceVim-layer-tmux| - 56. tools#dash...............................|SpaceVim-layer-tools-dash| - 57. tools#zeal...............................|SpaceVim-layer-tools-zeal| + 11. lang#actionscript.................|SpaceVim-layer-lang-actionscript| + 12. lang#agda.................................|SpaceVim-layer-lang-agda| + 13. lang#asciidoc.........................|SpaceVim-layer-lang-asciidoc| + 14. lang#asepctj...........................|SpaceVim-layer-lang-asepctj| + 15. lang#batch...............................|SpaceVim-layer-lang-batch| + 16. lang#c.......................................|SpaceVim-layer-lang-c| + 17. lang#chapel.............................|SpaceVim-layer-lang-chapel| + 18. lang#clojure...........................|SpaceVim-layer-lang-clojure| + 19. lang#coffeescript.................|SpaceVim-layer-lang-coffeescript| + 20. lang#crystal...........................|SpaceVim-layer-lang-crystal| + 21. lang#csharp.............................|SpaceVim-layer-lang-csharp| + 22. lang#d.......................................|SpaceVim-layer-lang-d| + 23. lang#dart.................................|SpaceVim-layer-lang-dart| + 24. lang#dockerfile.....................|SpaceVim-layer-lang-dockerfile| + 25. lang#elixir.............................|SpaceVim-layer-lang-elixir| + 26. lang#elm...................................|SpaceVim-layer-lang-elm| + 27. lang#erlang.............................|SpaceVim-layer-lang-erlang| + 28. lang#extra...............................|SpaceVim-layer-lang-extra| + 29. lang#foxpro.............................|SpaceVim-layer-lang-foxpro| + 30. lang#fsharp.............................|SpaceVim-layer-lang-fsharp| + 31. lang#go.....................................|SpaceVim-layer-lang-go| + 32. lang#goby.................................|SpaceVim-layer-lang-goby| + 33. lang#gosu.................................|SpaceVim-layer-lang-gosu| + 34. lang#graphql...........................|SpaceVim-layer-lang-graphql| + 35. lang#groovy.............................|SpaceVim-layer-lang-groovy| + 36. lang#hack.................................|SpaceVim-layer-lang-hack| + 37. lang#haskell...........................|SpaceVim-layer-lang-haskell| + 38. lang#html.................................|SpaceVim-layer-lang-html| + 39. lang#hy.....................................|SpaceVim-layer-lang-hy| + 40. lang#idris...............................|SpaceVim-layer-lang-idris| + 41. lang#j.......................................|SpaceVim-layer-lang-j| + 42. lang#janet...............................|SpaceVim-layer-lang-janet| + 43. lang#java.................................|SpaceVim-layer-lang-java| + 44. lang#javascript.....................|SpaceVim-layer-lang-javascript| + 45. lang#json.................................|SpaceVim-layer-lang-json| + 46. lang#julia...............................|SpaceVim-layer-lang-julia| + 47. lang#kotlin.............................|SpaceVim-layer-lang-kotlin| + 48. lang#livescript.....................|SpaceVim-layer-lang-livescript| + 49. lang#lua...................................|SpaceVim-layer-lang-lua| + 50. lang#nim...................................|SpaceVim-layer-lang-nim| + 51. lang#nix...................................|SpaceVim-layer-lang-nix| + 52. lang#ocaml...............................|SpaceVim-layer-lang-ocaml| + 53. lang#pact.................................|SpaceVim-layer-lang-pact| + 54. lang#php...................................|SpaceVim-layer-lang-php| + 55. lang#pony.................................|SpaceVim-layer-lang-pony| + 56. lang#processing.....................|SpaceVim-layer-lang-processing| + 57. lang#prolog.............................|SpaceVim-layer-lang-prolog| + 58. lang#puppet.............................|SpaceVim-layer-lang-puppet| + 59. lang#python.............................|SpaceVim-layer-lang-python| + 60. lang#racket.............................|SpaceVim-layer-lang-racket| + 61. lang#ring.................................|SpaceVim-layer-lang-ring| + 62. lang#ruby.................................|SpaceVim-layer-lang-ruby| + 63. lang#rust.................................|SpaceVim-layer-lang-rust| + 64. lang#scala...............................|SpaceVim-layer-lang-scala| + 65. lang#scheme.............................|SpaceVim-layer-lang-scheme| + 66. lang#sh.....................................|SpaceVim-layer-lang-sh| + 67. lang#swig.................................|SpaceVim-layer-lang-swig| + 68. lang#tcl...................................|SpaceVim-layer-lang-tcl| + 69. lang#toml.................................|SpaceVim-layer-lang-toml| + 70. lang#typescript.....................|SpaceVim-layer-lang-typescript| + 71. lang#v.......................................|SpaceVim-layer-lang-v| + 72. lang#vbnet...............................|SpaceVim-layer-lang-vbnet| + 73. lang#xml...................................|SpaceVim-layer-lang-xml| + 74. lang#xquery.............................|SpaceVim-layer-lang-xquery| + 75. language server protocol........................|SpaceVim-layer-lsp| + 76. operator...................................|SpaceVim-layer-operator| + 77. shell.........................................|SpaceVim-layer-shell| + 78. test...........................................|SpaceVim-layer-test| + 79. tmux...........................................|SpaceVim-layer-tmux| + 80. tools#dash...............................|SpaceVim-layer-tools-dash| + 81. tools#zeal...............................|SpaceVim-layer-tools-zeal| 7. API........................................................|SpaceVim-api| 1. cmdlinemenu................................|SpaceVim-api-cmdlinemenu| 2. data#dict....................................|SpaceVim-api-data-dict| @@ -1393,6 +1417,43 @@ MAPPINGS +============================================================================== +LANG#ACTIONSCRIPT *SpaceVim-layer-lang-actionscript* + +This layer provides syntax highlighting for actionscript. To enable this +layer: +> + [layers] + name = "lang#actionscript" +< + +============================================================================== +LANG#AGDA *SpaceVim-layer-lang-agda* + +This layer provides syntax highlighting for agda. To enable this layer: +> + [layers] + name = "lang#agda" +< + +============================================================================== +LANG#ASCIIDOC *SpaceVim-layer-lang-asciidoc* + +This layer provides syntax highlighting for asciidoc. To enable this layer: +> + [layers] + name = "lang#asciidoc" +< + +============================================================================== +LANG#ASEPCTJ *SpaceVim-layer-lang-asepctj* + +This layer provides syntax highlighting for asepctj. To enable this layer: +> + [layers] + name = "lang#asepctj" +< + ============================================================================== LANG#BATCH *SpaceVim-layer-lang-batch* @@ -1480,6 +1541,15 @@ KEY BINDINGS < +============================================================================== +LANG#CLOJURE *SpaceVim-layer-lang-clojure* + +This layer provides syntax highlighting for clojure. To enable this layer: +> + [layers] + name = "lang#clojure" +< + ============================================================================== LANG#COFFEESCRIPT *SpaceVim-layer-lang-coffeescript* @@ -1513,14 +1583,43 @@ This layer also provides REPL support for coffeescript, the key bindings are: LANG#CRYSTAL *SpaceVim-layer-lang-crystal* INTRO + The lang#crystal layer provides crystal filetype detection and syntax -highlight, crystal tool and crystal spec integration. +highlight, crystal tool and crystal spec integration. To enable this layer: +> + [layers] + name = "lang#crystal" +< + +MAPPING + +> + Key binding description + SPC l r run current code + +< +This layer also provides REPL support for crystal, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + ============================================================================== LANG#CSHARP *SpaceVim-layer-lang-csharp* +INTRO + This layer includes utilities and language-specific mappings for csharp -development. +development. By default it is disabled, to enable this layer: +> + [layers] + name = "lang#csharp" +< KEY MAPPINGS @@ -1575,9 +1674,44 @@ This layer also provides REPL support for d, the key bindings are: LANG#DART *SpaceVim-layer-lang-dart* INTRO + The lang#dart layer provides code completion, documentation lookup, jump to definition, dart_repl integration for dart. It uses neomake as default syntax -checker which is loaded in |SpaceVim-layer-checkers| +checker which is loaded in |SpaceVim-layer-checkers|. To enable this layer: +> + [layers] + name = "lang#dart" +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for hack, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + +This layer use deoplete-dart as default completion plugin for dart. If the +|SpaceVim-layer-lsp| is enabled for dart, This plugin will not be loaded. + + + +============================================================================== +LANG#DOCKERFILE *SpaceVim-layer-lang-dockerfile* + +INTRO + +The lang#dockerfile layer provides syntax highlighting for dockerfile. ============================================================================== LANG#ELIXIR *SpaceVim-layer-lang-elixir* @@ -1667,6 +1801,33 @@ This layer also provides REPL support for erlang, the key bindings are: < +============================================================================== +LANG#EXTRA *SpaceVim-layer-lang-extra* + +INTRO + +The lang#extra layer provides syntax highlighting, indent for extra +programming language. includes: + + 1. pug + + digitaltoad/vim-pug syntax highlighting and indent + + 2. i3config + + PotatoesMaster/i3-vim-syntax syntax highlighting for i3 config + + 3. irssi config + + isundil/vim-irssi-syntax syntax highlighting for irssi config + +============================================================================== +LANG#FOXPRO *SpaceVim-layer-lang-foxpro* + +INTRO + +The lang#foxpro layer provides syntax highlighting for foxpro. + ============================================================================== LANG#FSHARP *SpaceVim-layer-lang-fsharp* @@ -1769,6 +1930,28 @@ KEY BINDINGS normal SPC l r run current file < +============================================================================== +LANG#GRAPHQL *SpaceVim-layer-lang-graphql* + +INTRO + +The lang#graphql layer provides syntax highlighting indent for graphql. To +enable this layer: +> + [layers] + name = "lang#graphql" +< + +This filetype is automatically selected for filenames ending in .graphql, +.graphqls, and .gql. If you would like to enable automatic syntax support for +more file extensions (e.g., *.prisma), add following into bootstrap function. +> + augroup mybootstrap + au! + au BufNewFile,BufRead *.prisma setfiletype graphql + augroup END +< + ============================================================================== LANG#GROOVY *SpaceVim-layer-lang-groovy* @@ -1801,6 +1984,8 @@ This layer also provides REPL support for groovy, the key bindings are: ============================================================================== LANG#HACK *SpaceVim-layer-lang-hack* +INTRO + This layer is for hack development, disabled by default, to enable this layer, add following snippet to your SpaceVim configuration file. > @@ -1856,6 +2041,36 @@ This layer also provides REPL support for haskell, the key bindings are: < +============================================================================== +LANG#HTML *SpaceVim-layer-lang-html* + +This layer is for html development, disabled by default, to enable this layer, +add following snippet to your SpaceVim configuration file. +> + [layers] + name = "lang#html" +< + +OPTIONS + +user_emmet_leader_key: change the default leader key for emmet + + +> + [layers] + name = "lang#html" + user_emmet_leader_key = "" +< + +KEY BINDINGS + + +> + Key Binding description + emmet leader key +< + + ============================================================================== LANG#HY *SpaceVim-layer-lang-hy* @@ -1885,6 +2100,35 @@ This layer also provides REPL support for hy, the key bindings are: < +============================================================================== +LANG#IDRIS *SpaceVim-layer-lang-idris* + +This layer is for idris development, disabled by default, to enable this +layer, add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#idris' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for idris, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + ============================================================================== LANG#J *SpaceVim-layer-lang-j* @@ -1914,6 +2158,35 @@ This layer also provides REPL support for j, the key bindings are: < +============================================================================== +LANG#JANET *SpaceVim-layer-lang-janet* + +This layer is for janet development, disabled by default, to enable this +layer, add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#janet' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for janet, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + ============================================================================== LANG#JAVA *SpaceVim-layer-lang-java* @@ -1995,6 +2268,71 @@ https://github.com/google/google-java-format and set 'g:spacevim_layer_lang_java_formatter' to the path of the jar. +============================================================================== +LANG#JAVASCRIPT *SpaceVim-layer-lang-javascript* + +This layer is for JavaScript development, includes syntax lint, code +completion etc. To enable this layer: +> + [layers] + name = "lang#javascript" +< +The code linter is eslint, install eslint via: +> + npm install -g eslint-cli +< +LAYER OPTION + + 1. auto_fix: If this option is true, --fix will be added to neomake eslint +maker. +> + [layers] + name = "lang#javascript" + auto_fix = true +< +KEY BINDINGS + +> + Key Function + ----------------------------- + SPC l r run current file + SPC b f format current buffer +< + +This layer also provides REPL support for javascript, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#JSON *SpaceVim-layer-lang-json* + +This layer provides syntax highlighting for json file. To enable this layer: +> + [layers] + name = "lang#json" +< + +OPTIONS + + 1. conceal: Set the valuable for |g:vim_json_syntax_conceal| + + 2. concealcursor: Set the valuable for |g:vim_json_syntax_concealcursor| + + +> + [layers] + name = 'lang#json' + conceal = false + concealcursor = '' +< + ============================================================================== LANG#JULIA *SpaceVim-layer-lang-julia* @@ -2256,6 +2594,89 @@ This layer also provides REPL support for racket, the key bindings are: < +============================================================================== +LANG#RING *SpaceVim-layer-lang-ring* + +This layer is for ring development, disabled by default, to enable this layer, +add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#ring' +< + +OPTIONS + + 1. ring_repl: Set the path of ring repl. + +> + [layers] + name = "lang#ring" + ring_repl = "/path/to/repl.ring" +< +KEY BINDINGS + +The code runner for ring is "ring %" % will be replaced to the path of current +ring file. +> + Key Function + -------------------------------- + SPC l r run current file +< + +This layer also provides REPL support for ring, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#RUBY *SpaceVim-layer-lang-ruby* + +This layer is for ruby development, disabled by default, to enable this layer, +add following snippet to your |SpaceVim-options| file. +> + [[layers]] + name = 'lang#ruby' +< + +OPTIONS + + 1. ruby_file_head: the default file head for ruby source code. + +> + [layers] + name = "lang#ruby" + ruby_file_head = [ + '#!/usr/bin/ruby -w', + '# -*- coding : utf-8 -*-' + '' + ] +< +KEY BINDINGS + + +> + Key Function + -------------------------------- + SPC l r run current file +< + +This layer also provides REPL support for ruby, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + ============================================================================== LANG#RUST *SpaceVim-layer-lang-rust* @@ -2444,6 +2865,46 @@ CODE FORMATTING [`scalafmt`](https://scalameta.org/scalafmt/docs/configuration.html) to format code. +============================================================================== +LANG#SCHEME *SpaceVim-layer-lang-scheme* + +This layer is for scheme development, disabled by default, to enable this +layer, add following snippet to your |SpaceVim-options| file. +> + [[layers]] + name = 'lang#scheme' +< + +OPTIONS + + 1. scheme_dialect: Set the dialect of scheme. + + 2. scheme_interpreter: Set the path or interpreter of scheme. + + +============================================================================== +LANG#SH *SpaceVim-layer-lang-sh* + +This layer is for shell script development, including bash, zsh and fish. This +layer provides basic syntax highlighting and code completion , and it is +disabled by default, to enable this layer, add following snippet to your +|SpaceVim-options| file. +> + [[layers]] + name = 'lang#sh' +< + + +============================================================================== +LANG#SWIG *SpaceVim-layer-lang-swig* + +This layer is for swig development, including syntax highlighting and indent. +To enable it: +> + [layers] + name = "lang#swig" +< + ============================================================================== LANG#TCL *SpaceVim-layer-lang-tcl* @@ -2473,6 +2934,15 @@ This layer also provides REPL support for tcl, the key bindings are: < +============================================================================== +LANG#TOML *SpaceVim-layer-lang-toml* + +This layer provides basic syntax highlighting for toml. To enable it: +> + [layers] + name = "lang#toml" +< + ============================================================================== LANG#TYPESCRIPT *SpaceVim-layer-lang-typescript* @@ -2490,6 +2960,54 @@ MAPPINGS g d defintion preview < +============================================================================== +LANG#V *SpaceVim-layer-lang-v* + +This layer is for v development, disabled by default, to enable this layer, +add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#v' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for v, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#VBNET *SpaceVim-layer-lang-vbnet* + +This layer is for vbnet development, disabled by default, to enable this +layer, add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#vbnet' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + + ============================================================================== LANG#XML *SpaceVim-layer-lang-xml* @@ -2497,6 +3015,22 @@ When editing an xml file, the omni func is xmlcomplete#CompleteTags. You can read the documentation in autoload/xmlcomplete.vim in the vim or neovim runtime directory. +============================================================================== +LANG#XQUERY *SpaceVim-layer-lang-xquery* + +This layer provides basic syntax highlighting and indent file for xquery, +disabled by default, to enable this layer, add following snippet to your +|SpaceVim-options| file. +> + [[layers]] + name = 'lang#xquery' +< + +============================================================================== +LANGUAGE SERVER PROTOCOL *SpaceVim-layer-lsp* + +This layer provides language client support for SpaceVim. + ============================================================================== OPERATOR *SpaceVim-layer-operator* diff --git a/docs/cn/layers/lang/markdown.md b/docs/cn/layers/lang/markdown.md index 5398a0c90..d8f75b003 100644 --- a/docs/cn/layers/lang/markdown.md +++ b/docs/cn/layers/lang/markdown.md @@ -29,6 +29,8 @@ lang: zh name = "lang#markdown" ``` +语法树的支持由插件`lvht/tagbar-markdown`提供,但是该插件依赖 php,如果不希望安装 php,可以直接下载 [mdctags](https://github.com/wsdjeg/mdctags.rs) 命令。 + ## 代码格式化 SpaceVim 默认使用 remark 来格式化 Markdown 文件,Windows 下建议使用 [Prettier](https://github.com/prettier/prettier) 来格式化 Markdown 文件。 diff --git a/docs/layers/lang/markdown.md b/docs/layers/lang/markdown.md index 4989e996a..5bd8a8181 100644 --- a/docs/layers/lang/markdown.md +++ b/docs/layers/lang/markdown.md @@ -28,6 +28,9 @@ To use this configuration layer, update custom configuration file with: name = "lang#markdown" ``` +The tagbar support is provided via lvht/tagbar-markdown which needs php has been installed. You can also use [mdctags](https://github.com/wsdjeg/mdctags.rs) +which is written in rust. + ## Formatting SpaceVim uses remark to format Markdown file by default, but we suggest using [Prettier](https://github.com/prettier/prettier) on Windows.