1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 00:10:07 +08:00

Add lang#latex layer (#2133)

* Add lang#latex layer
* Add lang#extra layer
This commit is contained in:
Wang Shidong 2018-09-06 21:16:33 +08:00 committed by GitHub
parent 2d6b3a98c4
commit 67aeb4dac2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 311 additions and 14 deletions

View File

@ -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

View File

@ -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'],
\ '<plug>(vimtex-info)',
\ 'vimtex-info', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','I'],
\ '<plug>(vimtex-info-full)',
\ 'vimtex-info-full', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','t'],
\ '<plug>(vimtex-toc-open)',
\ 'vimtex-toc-open', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','T'],
\ '<plug>(vimtex-toc-toggle)',
\ 'vimtex-toc-toggle', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','y'],
\ '<plug>(vimtex-labels-open)',
\ 'vimtex-labels-open', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','Y'],
\ '<plug>(vimtex-labels-toggle)',
\ 'vimtex-labels-toggle', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','v'],
\ '<plug>(vimtex-view)',
\ 'vimtex-view', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','r'],
\ '<plug>(vimtex-reverse-search)',
\ 'vimtex-reverse-search', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','l'],
\ '<plug>(vimtex-compile)',
\ 'vimtex-compile', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','L'],
\ '<plug>(vimtex-compile-selected)',
\ 'vimtex-compile-selected', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','k'],
\ '<plug>(vimtex-stop)',
\ 'vimtex-stop', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','K'],
\ '<plug>(vimtex-stop-all)',
\ 'vimtex-stop-all', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','e'],
\ '<plug>(vimtex-errors)',
\ 'vimtex-errors', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','o'],
\ '<plug>(vimtex-compile-output)',
\ 'vimtex-compile-output', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','g'],
\ '<plug>(vimtex-status)',
\ 'vimtex-status', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','G'],
\ '<plug>(vimtex-status-all)',
\ 'vimtex-status-all', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','c'],
\ '<plug>(vimtex-clean)',
\ 'vimtex-clean', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','C'],
\ '<plug>(vimtex-clean-full)',
\ 'vimtex-clean-full', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','m'],
\ '<plug>(vimtex-imaps-list)',
\ 'vimtex-imaps-list', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','x'],
\ '<plug>(vimtex-reload)',
\ 'vimtex-reload', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','X'],
\ '<plug>(vimtex-reload-state)',
\ 'vimtex-reload-state', 0)
call SpaceVim#mapping#space#langSPC('nmap', ['l','s'],
\ '<plug>(vimtex-toggle-main)',
\ 'vimtex-toggle-main', 0)
endfunction

View File

@ -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 编辑提供支持,包括格式化、自动生成文章目录、代码块等特性。 |

View File

@ -0,0 +1,41 @@
---
title: "SpaceVim lang#extra 模块"
description: "该模块主要为一些不常见的语言添加语法支持,主要包括语法高亮、对齐等特性"
lang: cn
---
# [Available Layers](../../) >> lang#extra
<!-- vim-markdown-toc GFM -->
- [模块简介](#模块简介)
- [包含的语言](#包含的语言)
- [启用模块](#启用模块)
<!-- vim-markdown-toc -->
## 模块简介
该模块主要为 SpaceVim 添加一些额外的语言支持,仅仅包括简单的语法高亮及对齐等功能。
## 包含的语言
| 语言 | 特性 |
| ------------------- | ---------------------------- |
| i3 config | 语法高亮 |
| qml | 语法高亮 |
| toml | 语法高亮 |
| coffee script | 语法高亮 |
| irssi config | 语法高亮 |
| vimperator config | 语法高亮 |
| Pug (formerly Jade) | 语法高亮, 代码对齐 |
| mustache | 语法高亮, 括号跳转, 文本对象 |
## 启用模块
可通过在配置文件内加入如下配置来启用该模块:
```toml
[[layers]]
name = "lang#extra"
```

View File

@ -0,0 +1,66 @@
---
title: "SpaceVim lang#latex 模块"
description: "这一模块为 latex 开发提供支持,包括代码补全、语法检查、代码格式化等特性。"
lang: cn
---
# [可用模块](../../) >> lang#latex
<!-- vim-markdown-toc GFM -->
- [模块简介](#模块简介)
- [功能特性](#功能特性)
- [启用模块](#启用模块)
- [快捷键](#快捷键)
<!-- vim-markdown-toc -->
## 模块简介
这一模块为 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 |

View File

@ -1,6 +1,7 @@
---
title: "SpaceVim tools 模块"
description: "集成多种常用工具,包括日历、计算器、等等多种工具类插件,该模块针对 vim8 以及 neovim 提供了更好的插件选择。"
lang: cn
---
# [可用模块](../) >> tools

View File

@ -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. |

40
docs/layers/lang/extra.md Normal file
View File

@ -0,0 +1,40 @@
---
title: "SpaceVim lang#extra layer"
description: "This layer adds extra language support to SpaceVim"
---
# [Available Layers](../../) >> lang#extra
<!-- vim-markdown-toc GFM -->
- [Description](#description)
- [Included languages](#included-languages)
- [Install](#install)
<!-- vim-markdown-toc -->
## 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"
```

61
docs/layers/lang/latex.md Normal file
View File

@ -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
<!-- vim-markdown-toc GFM -->
- [Description](#description)
- [Features](#features)
- [Install](#install)
- [Key bindings](#key-bindings)
<!-- vim-markdown-toc -->
## 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 |

View File

@ -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