From 67aeb4dac225341eaf929085ca88ce3a895826cc Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Thu, 6 Sep 2018 21:16:33 +0800 Subject: [PATCH] Add lang#latex layer (#2133) * Add lang#latex layer * Add lang#extra layer --- .../layers/{lang.vim => lang/extra.vim} | 23 ++--- autoload/SpaceVim/layers/lang/latex.vim | 88 +++++++++++++++++++ docs/cn/layers/index.md | 2 + docs/cn/layers/lang/extra.md | 41 +++++++++ docs/cn/layers/lang/latex.md | 66 ++++++++++++++ docs/cn/layers/tools.md | 1 + docs/layers/index.md | 2 + docs/layers/lang/extra.md | 40 +++++++++ docs/layers/lang/latex.md | 61 +++++++++++++ wiki/en/Following-HEAD.md | 1 + 10 files changed, 311 insertions(+), 14 deletions(-) rename autoload/SpaceVim/layers/{lang.vim => lang/extra.vim} (56%) create mode 100644 autoload/SpaceVim/layers/lang/latex.vim create mode 100644 docs/cn/layers/lang/extra.md create mode 100644 docs/cn/layers/lang/latex.md create mode 100644 docs/layers/lang/extra.md create mode 100644 docs/layers/lang/latex.md diff --git a/autoload/SpaceVim/layers/lang.vim b/autoload/SpaceVim/layers/lang/extra.vim similarity index 56% rename from autoload/SpaceVim/layers/lang.vim rename to autoload/SpaceVim/layers/lang/extra.vim index ebf10f402..d73355815 100644 --- a/autoload/SpaceVim/layers/lang.vim +++ b/autoload/SpaceVim/layers/lang/extra.vim @@ -1,27 +1,22 @@ "============================================================================= -" lang.vim --- SpaceVim lang layer -" Copyright (c) 2016-2017 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-2017 Wang Shidong & Contributors + " Author: Wang Shidong < wsdjeg at 163.com > + " URL: https://spacevim.org + " License: GPLv3 + "============================================================================= -function! SpaceVim#layers#lang#plugins() abort + + function! SpaceVim#layers#lang#extra#plugins() abort let plugins = [ \ ['digitaltoad/vim-jade', { 'on_ft' : ['jade']}], \ ['juvenn/mustache.vim', { 'on_ft' : ['mustache']}], \ ['kchmck/vim-coffee-script', { 'on_ft' : ['coffee']}], - \ ['elixir-lang/vim-elixir', { 'on_ft' : 'elixir'}], \ ['PotatoesMaster/i3-vim-syntax', { 'on_ft' : 'i3'}], \ ['isundil/vim-irssi-syntax', { 'on_ft' : 'irssi'}], - \ ['lervag/vimtex', { 'on_ft' : 'tex'}], \ ['vimperator/vimperator.vim', { 'on_ft' : 'vimperator'}], - \ ['voxpupuli/vim-puppet', {'on_ft' : 'puppet'}], \ ['peterhoeg/vim-qml', { 'on_ft' : 'qml'}], \ ['cespare/vim-toml', { 'on_ft' : 'toml'}], \ ] return plugins -endfunction - -function! SpaceVim#layers#lang#config() abort -endfunction + endfunction diff --git a/autoload/SpaceVim/layers/lang/latex.vim b/autoload/SpaceVim/layers/lang/latex.vim new file mode 100644 index 000000000..02d676725 --- /dev/null +++ b/autoload/SpaceVim/layers/lang/latex.vim @@ -0,0 +1,88 @@ +"============================================================================= +" latex.vim --- lang#latex layer for SpaceVim +" Copyright (c) 2016-2017 Wang Shidong & Contributors +" Author: Wang Shidong < wsdjeg at 163.com > +" URL: https://spacevim.org +" License: GPLv3 +"============================================================================= + + +function! SpaceVim#layers#lang#latex#plugins() abort + let plugins = [] + call add(plugins, ['lervag/vimtex', {'merged' : 0}]) + return plugins +endfunction + +function! SpaceVim#layers#lang#latex#config() abort + let g:tex_flavor = 'latex' + call SpaceVim#mapping#space#regesit_lang_mappings('tex', function('s:language_specified_mappings')) +endfunction + +function! s:language_specified_mappings() abort + call SpaceVim#mapping#space#langSPC('nmap', ['l','i'], + \ '(vimtex-info)', + \ 'vimtex-info', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','I'], + \ '(vimtex-info-full)', + \ 'vimtex-info-full', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','t'], + \ '(vimtex-toc-open)', + \ 'vimtex-toc-open', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','T'], + \ '(vimtex-toc-toggle)', + \ 'vimtex-toc-toggle', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','y'], + \ '(vimtex-labels-open)', + \ 'vimtex-labels-open', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','Y'], + \ '(vimtex-labels-toggle)', + \ 'vimtex-labels-toggle', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','v'], + \ '(vimtex-view)', + \ 'vimtex-view', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], + \ '(vimtex-reverse-search)', + \ 'vimtex-reverse-search', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','l'], + \ '(vimtex-compile)', + \ 'vimtex-compile', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','L'], + \ '(vimtex-compile-selected)', + \ 'vimtex-compile-selected', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','k'], + \ '(vimtex-stop)', + \ 'vimtex-stop', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','K'], + \ '(vimtex-stop-all)', + \ 'vimtex-stop-all', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','e'], + \ '(vimtex-errors)', + \ 'vimtex-errors', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','o'], + \ '(vimtex-compile-output)', + \ 'vimtex-compile-output', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','g'], + \ '(vimtex-status)', + \ 'vimtex-status', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','G'], + \ '(vimtex-status-all)', + \ 'vimtex-status-all', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','c'], + \ '(vimtex-clean)', + \ 'vimtex-clean', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','C'], + \ '(vimtex-clean-full)', + \ 'vimtex-clean-full', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','m'], + \ '(vimtex-imaps-list)', + \ 'vimtex-imaps-list', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','x'], + \ '(vimtex-reload)', + \ 'vimtex-reload', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','X'], + \ '(vimtex-reload-state)', + \ 'vimtex-reload-state', 0) + call SpaceVim#mapping#space#langSPC('nmap', ['l','s'], + \ '(vimtex-toggle-main)', + \ 'vimtex-toggle-main', 0) +endfunction diff --git a/docs/cn/layers/index.md b/docs/cn/layers/index.md index 8c6895c27..d3574c9ae 100644 --- a/docs/cn/layers/index.md +++ b/docs/cn/layers/index.md @@ -78,6 +78,7 @@ Vim 插件以及相关配置。而 SpaceVim 是以模块的方式来组织和管 | [lang#elixir](lang/elixir/) | 这一模块为 elixir 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | | [lang#elm](lang/elm/) | 这一模块为 elm 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | | [lang#erlang](lang/erlang/) | 这一模块为 erlang 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | +| [lang#extra](lang/extra/) | 该模块主要为一些不常见的语言添加语法支持,主要包括语法高亮、对齐等特性 | | [lang#fsharp](lang/fsharp/) | 这一模块为 fsharp 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | | [lang#go](lang/go/) | 这一模块为 go 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | | [lang#haskell](lang/haskell/) | 这一模块为 haskell 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | @@ -85,6 +86,7 @@ Vim 插件以及相关配置。而 SpaceVim 是以模块的方式来组织和管 | [lang#java](lang/java/) | 这一模块为 java 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | | [lang#javascript](lang/javascript/) | 这一模块为 javascript 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | | [lang#julia](lang/julia/) | 这一模块为 julia 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | +| [lang#latex](lang/latex/) | 这一模块为 latex 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | | [lang#lisp](lang/lisp/) | 这一模块为 lisp 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | | [lang#lua](lang/lua/) | 这一模块为 lua 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | | [lang#markdown](lang/markdown/) | 这一模块为 markdown 编辑提供支持,包括格式化、自动生成文章目录、代码块等特性。 | diff --git a/docs/cn/layers/lang/extra.md b/docs/cn/layers/lang/extra.md new file mode 100644 index 000000000..710a4b11d --- /dev/null +++ b/docs/cn/layers/lang/extra.md @@ -0,0 +1,41 @@ +--- +title: "SpaceVim lang#extra 模块" +description: "该模块主要为一些不常见的语言添加语法支持,主要包括语法高亮、对齐等特性" +lang: cn +--- + +# [Available Layers](../../) >> lang#extra + + + +- [模块简介](#模块简介) +- [包含的语言](#包含的语言) +- [启用模块](#启用模块) + + + +## 模块简介 + +该模块主要为 SpaceVim 添加一些额外的语言支持,仅仅包括简单的语法高亮及对齐等功能。 + +## 包含的语言 + +| 语言 | 特性 | +| ------------------- | ---------------------------- | +| i3 config | 语法高亮 | +| qml | 语法高亮 | +| toml | 语法高亮 | +| coffee script | 语法高亮 | +| irssi config | 语法高亮 | +| vimperator config | 语法高亮 | +| Pug (formerly Jade) | 语法高亮, 代码对齐 | +| mustache | 语法高亮, 括号跳转, 文本对象 | + +## 启用模块 + +可通过在配置文件内加入如下配置来启用该模块: + +```toml +[[layers]] + name = "lang#extra" +``` diff --git a/docs/cn/layers/lang/latex.md b/docs/cn/layers/lang/latex.md new file mode 100644 index 000000000..cf658680f --- /dev/null +++ b/docs/cn/layers/lang/latex.md @@ -0,0 +1,66 @@ +--- +title: "SpaceVim lang#latex 模块" +description: "这一模块为 latex 开发提供支持,包括代码补全、语法检查、代码格式化等特性。" +lang: cn +--- + +# [可用模块](../../) >> lang#latex + + + +- [模块简介](#模块简介) +- [功能特性](#功能特性) +- [启用模块](#启用模块) +- [快捷键](#快捷键) + + + +## 模块简介 + +这一模块为 SpaceVim 提供了 latex 开发支持,包括代码补全、语法检查、以及代码格式化等特性。 + +主要包含插件: + +- [vimtex](https://github.com/lervag/vimtex) + +## 功能特性 + +- 代码补全 +- 语法高亮 +- 文档查询 + +## 启用模块 + +可通过在配置文件内加入如下配置来启用该模块: + +```toml +[[layers]] + name = "lang#latex" +``` + +## 快捷键 + +| 按键 | 描述 | +| --------- | ----------------------- | +| `SPC l i` | vimtex-info | +| `SPC l I` | vimtex-info-full | +| `SPC l t` | vimtex-toc-open | +| `SPC l T` | vimtex-toc-toggle | +| `SPC l y` | vimtex-labels-open | +| `SPC l Y` | vimtex-labels-toggle | +| `SPC l v` | vimtex-view | +| `SPC l r` | vimtex-reverse-search | +| `SPC l l` | vimtex-compile | +| `SPC l L` | vimtex-compile-selected | +| `SPC l k` | vimtex-stop | +| `SPC l K` | vimtex-stop-all | +| `SPC l e` | vimtex-errors | +| `SPC l o` | vimtex-compile-output | +| `SPC l g` | vimtex-status | +| `SPC l G` | vimtex-status-all | +| `SPC l c` | vimtex-clean | +| `SPC l C` | vimtex-clean-full | +| `SPC l m` | vimtex-imaps-list | +| `SPC l x` | vimtex-reload | +| `SPC l X` | vimtex-reload-state | +| `SPC l s` | vimtex-toggle-main | diff --git a/docs/cn/layers/tools.md b/docs/cn/layers/tools.md index 8efb4919b..99eb00729 100644 --- a/docs/cn/layers/tools.md +++ b/docs/cn/layers/tools.md @@ -1,6 +1,7 @@ --- title: "SpaceVim tools 模块" description: "集成多种常用工具,包括日历、计算器、等等多种工具类插件,该模块针对 vim8 以及 neovim 提供了更好的插件选择。" +lang: cn --- # [可用模块](../) >> tools diff --git a/docs/layers/index.md b/docs/layers/index.md index 5dc2dfc77..aae1e1f6e 100644 --- a/docs/layers/index.md +++ b/docs/layers/index.md @@ -77,6 +77,7 @@ enable = false | [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 | @@ -85,6 +86,7 @@ enable = false | [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. | diff --git a/docs/layers/lang/extra.md b/docs/layers/lang/extra.md new file mode 100644 index 000000000..b604db3f5 --- /dev/null +++ b/docs/layers/lang/extra.md @@ -0,0 +1,40 @@ +--- +title: "SpaceVim lang#extra layer" +description: "This layer adds extra language support to SpaceVim" +--- + +# [Available Layers](../../) >> lang#extra + + + +- [Description](#description) +- [Included languages](#included-languages) +- [Install](#install) + + + +## Description + +This layer adds many extra language support for less common languages to SpaceVim. + +## Included languages + +| language | features | +| ------------------- | ------------------------------------------------------- | +| i3 config | syntax highlighting | +| qml | syntax highlighting | +| toml | syntax highlighting | +| coffee script | syntax highlighting | +| irssi config | syntax highlighting | +| vimperator config | syntax highlighting | +| Pug (formerly Jade) | syntax highlighting, indent | +| mustache | syntax highlighting, matchit, section movement mappings | + +## Install + +To use this configuration layer, update custom configuration file with: + +```toml +[[layers]] + name = "lang#extra" +``` diff --git a/docs/layers/lang/latex.md b/docs/layers/lang/latex.md new file mode 100644 index 000000000..1881f45c3 --- /dev/null +++ b/docs/layers/lang/latex.md @@ -0,0 +1,61 @@ +--- +title: "SpaceVim lang#latex layer" +description: "This layer provides support for writing LaTeX documents, including syntax highlighting, code completion, formatting etc." +--- + +# [Available Layers](../../) >> lang#latex + + + +- [Description](#description) +- [Features](#features) +- [Install](#install) +- [Key bindings](#key-bindings) + + + +## Description + +This layer is for latex development. [vimtex](https://github.com/lervag/vimtex) is incuded in this layer. + +## Features + +- Code completion +- Syntax highlighting +- Syntax lint + +## Install + +To use this configuration layer, update custom configuration file with: + +```toml +[[layers]] + name = "lang#latex" +``` + +## Key bindings + +| Key binding | Description | +| ----------- | ----------------------- | +| `SPC l i` | vimtex-info | +| `SPC l I` | vimtex-info-full | +| `SPC l t` | vimtex-toc-open | +| `SPC l T` | vimtex-toc-toggle | +| `SPC l y` | vimtex-labels-open | +| `SPC l Y` | vimtex-labels-toggle | +| `SPC l v` | vimtex-view | +| `SPC l r` | vimtex-reverse-search | +| `SPC l l` | vimtex-compile | +| `SPC l L` | vimtex-compile-selected | +| `SPC l k` | vimtex-stop | +| `SPC l K` | vimtex-stop-all | +| `SPC l e` | vimtex-errors | +| `SPC l o` | vimtex-compile-output | +| `SPC l g` | vimtex-status | +| `SPC l G` | vimtex-status-all | +| `SPC l c` | vimtex-clean | +| `SPC l C` | vimtex-clean-full | +| `SPC l m` | vimtex-imaps-list | +| `SPC l x` | vimtex-reload | +| `SPC l X` | vimtex-reload-state | +| `SPC l s` | vimtex-toggle-main | diff --git a/wiki/en/Following-HEAD.md b/wiki/en/Following-HEAD.md index aa9ddc940..3dc6b1417 100644 --- a/wiki/en/Following-HEAD.md +++ b/wiki/en/Following-HEAD.md @@ -29,6 +29,7 @@ The next release is v0.9.0. - Add `lang#fsharp` layer ([#2081](https://github.com/SpaceVim/SpaceVim/pull/2081)) - Add `lang#plantuml` layer ([#2085](https://github.com/SpaceVim/SpaceVim/pull/2085)) - Add `lang#elm` layer, improve REPL highlight ([#2088](https://github.com/SpaceVim/SpaceVim/pull/2088)) +- Add `lang#latex` and `lang#extra` layer ([#2133](https://github.com/SpaceVim/SpaceVim/pull/2133)) ### Improvement