mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Remove docs so docs of installed plugins are up to date
This commit is contained in:
185
doc/clojure.txt
185
doc/clojure.txt
@@ -1,185 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'clojure') == -1
|
|
||||||
|
|
||||||
*clojure.txt* Clojure runtime files
|
|
||||||
|
|
||||||
INTRODUCTION *clojure-introduction*
|
|
||||||
|
|
||||||
Meikel Brandmeyer's excellent Clojure runtime files. Includes syntax, indent,
|
|
||||||
ftdetect, and ftplugin scripts.
|
|
||||||
|
|
||||||
CLOJURE *ft-clojure-indent* *clojure-indent*
|
|
||||||
|
|
||||||
Clojure indentation differs somewhat from traditional Lisps, due in part to
|
|
||||||
the use of square and curly brackets, and otherwise by community convention.
|
|
||||||
These conventions are not universally followed, so the Clojure indent script
|
|
||||||
offers a few configurable options, listed below.
|
|
||||||
|
|
||||||
If the current vim does not include searchpairpos(), the indent script falls
|
|
||||||
back to normal 'lisp' indenting, and the following options are ignored.
|
|
||||||
|
|
||||||
*g:clojure_maxlines*
|
|
||||||
|
|
||||||
Set maximum scan distance of searchpairpos(). Larger values trade performance
|
|
||||||
for correctness when dealing with very long forms. A value of 0 will scan
|
|
||||||
without limits.
|
|
||||||
>
|
|
||||||
" Default
|
|
||||||
let g:clojure_maxlines = 100
|
|
||||||
<
|
|
||||||
*g:clojure_fuzzy_indent*
|
|
||||||
*g:clojure_fuzzy_indent_patterns*
|
|
||||||
*g:clojure_fuzzy_indent_blacklist*
|
|
||||||
|
|
||||||
The 'lispwords' option is a list of comma-separated words that mark special
|
|
||||||
forms whose subforms must be indented with two spaces.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
>
|
|
||||||
(defn bad []
|
|
||||||
"Incorrect indentation")
|
|
||||||
|
|
||||||
(defn good []
|
|
||||||
"Correct indentation")
|
|
||||||
<
|
|
||||||
If you would like to specify 'lispwords' with a |pattern| instead, you can use
|
|
||||||
the fuzzy indent feature:
|
|
||||||
>
|
|
||||||
" Default
|
|
||||||
let g:clojure_fuzzy_indent = 1
|
|
||||||
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
|
|
||||||
let g:clojure_fuzzy_indent_blacklist =
|
|
||||||
\ ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
|
|
||||||
|
|
||||||
" Legacy comma-delimited string version; the list format above is
|
|
||||||
" recommended. Note that patterns are implicitly anchored with ^ and $
|
|
||||||
let g:clojure_fuzzy_indent_patterns = 'with.*,def.*,let.*'
|
|
||||||
<
|
|
||||||
|g:clojure_fuzzy_indent_patterns| and |g:clojure_fuzzy_indent_blacklist| are
|
|
||||||
|Lists| of patterns that will be matched against the unquoted, unqualified
|
|
||||||
symbol at the head of a list. This means that a pattern like "^foo" will match
|
|
||||||
all these candidates: "foobar", "my.ns/foobar", and "#'foobar".
|
|
||||||
|
|
||||||
Each candidate word is tested for special treatment in this order:
|
|
||||||
|
|
||||||
1. Return true if word is literally in 'lispwords'
|
|
||||||
2. Return false if word matches a pattern in
|
|
||||||
|g:clojure_fuzzy_indent_blacklist|
|
|
||||||
3. Return true if word matches a pattern in
|
|
||||||
|g:clojure_fuzzy_indent_patterns|
|
|
||||||
4. Return false and indent normally otherwise
|
|
||||||
|
|
||||||
*g:clojure_special_indent_words*
|
|
||||||
|
|
||||||
Some forms in Clojure are indented so that every subform is indented only two
|
|
||||||
spaces, regardless of 'lispwords'. If you have a custom construct that should
|
|
||||||
be indented in this idiosyncratic fashion, you can add your symbols to the
|
|
||||||
default list below.
|
|
||||||
>
|
|
||||||
" Default
|
|
||||||
let g:clojure_special_indent_words =
|
|
||||||
\ 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
|
|
||||||
<
|
|
||||||
*g:clojure_align_multiline_strings*
|
|
||||||
|
|
||||||
Align subsequent lines in multiline strings to the column after the opening
|
|
||||||
quote, instead of the same column.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
>
|
|
||||||
(def default
|
|
||||||
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
|
|
||||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
|
|
||||||
enim ad minim veniam, quis nostrud exercitation ullamco laboris
|
|
||||||
nisi ut aliquip ex ea commodo consequat.")
|
|
||||||
|
|
||||||
(def aligned
|
|
||||||
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
|
|
||||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
|
|
||||||
enim ad minim veniam, quis nostrud exercitation ullamco laboris
|
|
||||||
nisi ut aliquip ex ea commodo consequat.")
|
|
||||||
<
|
|
||||||
This option is off by default.
|
|
||||||
>
|
|
||||||
" Default
|
|
||||||
let g:clojure_align_multiline_strings = 0
|
|
||||||
<
|
|
||||||
*g:clojure_align_subforms*
|
|
||||||
|
|
||||||
By default, parenthesized compound forms that look like function calls and
|
|
||||||
whose head subform is on its own line have subsequent subforms indented by
|
|
||||||
two spaces relative to the opening paren:
|
|
||||||
>
|
|
||||||
(foo
|
|
||||||
bar
|
|
||||||
baz)
|
|
||||||
<
|
|
||||||
Setting this option changes this behavior so that all subforms are aligned to
|
|
||||||
the same column, emulating the default behavior of clojure-mode.el:
|
|
||||||
>
|
|
||||||
(foo
|
|
||||||
bar
|
|
||||||
baz)
|
|
||||||
<
|
|
||||||
This option is off by default.
|
|
||||||
>
|
|
||||||
" Default
|
|
||||||
let g:clojure_align_subforms = 0
|
|
||||||
<
|
|
||||||
|
|
||||||
CLOJURE *ft-clojure-syntax*
|
|
||||||
|
|
||||||
The default syntax groups can be augmented through the
|
|
||||||
*g:clojure_syntax_keywords* and *b:clojure_syntax_keywords* variables. The
|
|
||||||
value should be a |Dictionary| of syntax group names to a |List| of custom
|
|
||||||
identifiers:
|
|
||||||
>
|
|
||||||
let g:clojure_syntax_keywords = {
|
|
||||||
\ 'clojureMacro': ["defproject", "defcustom"],
|
|
||||||
\ 'clojureFunc': ["string/join", "string/replace"]
|
|
||||||
\ }
|
|
||||||
<
|
|
||||||
Refer to the Clojure syntax script for valid syntax group names.
|
|
||||||
|
|
||||||
If the |buffer-variable| *b:clojure_syntax_without_core_keywords* is set, only
|
|
||||||
language constants and special forms are matched.
|
|
||||||
|
|
||||||
Setting *g:clojure_fold* enables folding Clojure code via the syntax engine.
|
|
||||||
Any list, vector, or map that extends over more than one line can be folded
|
|
||||||
using the standard Vim |fold-commands|.
|
|
||||||
|
|
||||||
Please note that this option does not work with scripts that redefine the
|
|
||||||
bracket syntax regions, such as rainbow-parentheses plugins.
|
|
||||||
|
|
||||||
This option is off by default.
|
|
||||||
>
|
|
||||||
" Default
|
|
||||||
let g:clojure_fold = 0
|
|
||||||
<
|
|
||||||
|
|
||||||
ABOUT *clojure-about*
|
|
||||||
|
|
||||||
This document and associated runtime files are maintained at:
|
|
||||||
https://github.com/guns/vim-clojure-static
|
|
||||||
|
|
||||||
Distributed under the Vim license. See |license|.
|
|
||||||
|
|
||||||
syntax/clojure.vim
|
|
||||||
|
|
||||||
Copyright 2007-2008 (c) Toralf Wittner <toralf.wittner@gmail.com>
|
|
||||||
Copyright 2008-2012 (c) Meikel Brandmeyer <mb@kotka.de>
|
|
||||||
|
|
||||||
ftdetect/clojure.vim,
|
|
||||||
ftplugin/clojure.vim,
|
|
||||||
indent/clojure.vim
|
|
||||||
|
|
||||||
Copyright 2008-2012 (c) Meikel Brandmeyer <mb@kotka.de>
|
|
||||||
|
|
||||||
Modified and relicensed under the Vim License for distribution with Vim:
|
|
||||||
|
|
||||||
Copyright 2013-2014 (c) Sung Pae <self@sungpae.com>
|
|
||||||
|
|
||||||
Last Change: %%RELEASE_DATE%%
|
|
||||||
|
|
||||||
vim:tw=78:noet:sw=8:sts=8:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
|
||||||
|
|
||||||
Please see the project readme for up-to-date docs:
|
|
||||||
https://github.com/kchmck/vim-coffee-script
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
108
doc/cryptol.txt
108
doc/cryptol.txt
@@ -1,108 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cryptol') == -1
|
|
||||||
|
|
||||||
*cryptol.txt* functionality for the Cryptol programming language
|
|
||||||
|
|
||||||
Copyright © 2013 Edward O'Callaghan. All Rights Reserved.
|
|
||||||
|
|
||||||
.oooooo. . oooo
|
|
||||||
d8P' `Y8b .o8 `888
|
|
||||||
888 oooo d8b oooo ooo oo.ooooo. .o888oo .ooooo. 888
|
|
||||||
888 `888""8P `88. .8' 888' `88b 888 d88' `88b 888
|
|
||||||
888 888 `88..8' 888 888 888 888 888 888
|
|
||||||
`88b ooo 888 `888' 888 888 888 . 888 888 888
|
|
||||||
`Y8bood8P' d888b .8' 888bod8P' "888" `Y8bod8P' o888o
|
|
||||||
.o..P' 888
|
|
||||||
`Y8P' o888o
|
|
||||||
|
|
||||||
Functionality for the Cryptol programming language.
|
|
||||||
Includes syntax highlighting, code folding, and more!
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CONTENTS *CryptolContents*
|
|
||||||
|
|
||||||
1. Usage ................ |CryptolUsage|
|
|
||||||
2. Mappings ............. |CryptolMappings|
|
|
||||||
3. License .............. |CryptolLicense|
|
|
||||||
4. Bugs ................. |CryptolBugs|
|
|
||||||
5. Contributing ......... |CryptolContributing|
|
|
||||||
6. Changelog ............ |CryptolChangelog|
|
|
||||||
7. Credits .............. |CryptolCredits|
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Section 1: Usage *CryptolUsage*
|
|
||||||
|
|
||||||
This plugin will automatically provide syntax highlighting for Cryptol files
|
|
||||||
(files ending in .cry).
|
|
||||||
|
|
||||||
Cryptol is a purely functional domain specific language, developed over the
|
|
||||||
past decade by Galois for the NSA, for the design, implementation and
|
|
||||||
verification of cryptographic algorithms.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Section 2: Mappings *CryptolMappings*
|
|
||||||
|
|
||||||
Code folding is done in the typical way, for example:
|
|
||||||
* za - When on a closed fold - open it.
|
|
||||||
* zM - Close all foldings to level 0.
|
|
||||||
* zR - Reduce folding
|
|
||||||
|
|
||||||
For more information see, for example, :help za
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Section 3: License *CryptolLicense*
|
|
||||||
|
|
||||||
Copyright © 2013 Edward O'Callaghan. All Rights Reserved.
|
|
||||||
|
|
||||||
HOWEVER:
|
|
||||||
Be it known, The syntax file was written by
|
|
||||||
Copyright © 2005 Fergus Henderson. All Rights Reserved.
|
|
||||||
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Section 4: Bugs *CryptolBugs*
|
|
||||||
|
|
||||||
* https://github.com/victoredwardocallaghan/cryptol.vim/issues
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Section 5: TODOs *CryptolTODOs
|
|
||||||
|
|
||||||
* Add compiler support
|
|
||||||
- .
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Section 6: Contributing *CryptolContributing*
|
|
||||||
|
|
||||||
* Edward O'Callaghan
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Section 7: Changelog *CryptolChangelog*
|
|
||||||
|
|
||||||
* Initial 25 Apr 2013.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Section 8: Credits *CryptolCredits*
|
|
||||||
|
|
||||||
* Edward O'Callaghan
|
|
||||||
* Fergus Henderson - wrote the orginal syntax file.
|
|
||||||
|
|
||||||
vim:ts=4:ft=help:tw=78:et
|
|
||||||
|
|
||||||
endif
|
|
||||||
90
doc/dart.txt
90
doc/dart.txt
@@ -1,90 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dart') == -1
|
|
||||||
|
|
||||||
*dart-vim-plugin* Dart support for Vim
|
|
||||||
|
|
||||||
INTRODUCTION *dart.vim*
|
|
||||||
|
|
||||||
dart-vim-plugin provides filetype detection, syntax highlighting, and
|
|
||||||
indentation for Dart code in Vim.
|
|
||||||
|
|
||||||
https://github.com/dart-lang/dart-vim-plugin
|
|
||||||
|
|
||||||
TOOLS *dart-tools*
|
|
||||||
|
|
||||||
An `includeexpr` is set that can read `.packages` files and resolve `package:`
|
|
||||||
uris to a file. See |gf| for an example use.
|
|
||||||
|
|
||||||
COMMANDS *dart-commands*
|
|
||||||
|
|
||||||
These commands are available in buffers with the dart filetype.
|
|
||||||
|
|
||||||
*:Dart2Js*
|
|
||||||
Runs dart2js to compile the current file. Takes the same arguments as the
|
|
||||||
dart2js binary and always passes the path to the current file as the last
|
|
||||||
argument.
|
|
||||||
If there are any errors they will be shown in the quickfix window.
|
|
||||||
|
|
||||||
*:DartFmt*
|
|
||||||
Runs dartfmt and passes the current buffer content through stdin. If the
|
|
||||||
format is successful replaces the current buffer content with the formatted
|
|
||||||
result. If the format is unsuccessful errors are shown in the quickfix window.
|
|
||||||
This command does not use the file content on disk so it is safe to run with
|
|
||||||
unwritten changes.
|
|
||||||
Passes arguments through to dartfmt.
|
|
||||||
|
|
||||||
*:DartAnalyzer*
|
|
||||||
Runs dartanalyzer to analyze the current file. Takes the same arguments as the
|
|
||||||
dartanalyzer binary and always passes the path to the current file as the last
|
|
||||||
argument.
|
|
||||||
If there are any errors they will be shown in the quickfix window.
|
|
||||||
|
|
||||||
CONFIGURATION *dart-configure*
|
|
||||||
|
|
||||||
*g:dart_html_in_string*
|
|
||||||
Set to `v:true` to highlights HTML syntax inside Strings within Dart files.
|
|
||||||
Default `v:false`
|
|
||||||
|
|
||||||
*g:dart_corelib_highlight*
|
|
||||||
Set to `v:false` to disable highlighting of code Dart classes like `Map` or
|
|
||||||
`List`.
|
|
||||||
Default `v:true`
|
|
||||||
*g:dart_style_guide*
|
|
||||||
Set to any value (set to `2` by convention) to set tab and width behavior to
|
|
||||||
match the Dart style guide - spaces only with an indent of 2. Also sets
|
|
||||||
`formatoptions += t` to auto wrap text.
|
|
||||||
|
|
||||||
Configure DartFmt options with `let g:dartfmt_options`, for example, enable
|
|
||||||
auto syntax fixes with `let g:dartfmt_options = ['--fix']`
|
|
||||||
(discover formatter options with `dartfmt -h`)
|
|
||||||
|
|
||||||
|
|
||||||
SYNTAX HIGHLIGHTING *dart-syntax*
|
|
||||||
|
|
||||||
This plugin uses narrow highlight groups to allow selectively disabling the
|
|
||||||
syntax highlights. Link any of the following groups to the `Normal` highlight
|
|
||||||
group to disable them:
|
|
||||||
|
|
||||||
`dartSdkException`: Capitalized exception or error classes defined in the SDK.
|
|
||||||
|
|
||||||
`dartCoreType`: `void`, `var`, `dynamic`
|
|
||||||
|
|
||||||
`dartSdkClass`: Capitalized classes defined in the SDK, along with `bool`,
|
|
||||||
`int`, `double`, and `num`.
|
|
||||||
|
|
||||||
`dartUserType`: Any capitalized identifier.
|
|
||||||
|
|
||||||
`dartType`: Combines `dartCoreType`, `dartSdkClass`, and `dartUserType`.
|
|
||||||
|
|
||||||
`dartSdkTypedef`: SDK defined `typdef`s.
|
|
||||||
|
|
||||||
`dartFunction`: Any lower cased identifier preceding an open parenthesis.
|
|
||||||
|
|
||||||
For example, to remove the highlighting for type and function names:
|
|
||||||
>
|
|
||||||
highlight link dartType Normal
|
|
||||||
highlight link dartFunction Normal
|
|
||||||
<
|
|
||||||
|
|
||||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dhall') == -1
|
|
||||||
|
|
||||||
*dhall* Dhall syntax highlighting for Vim
|
|
||||||
____
|
|
||||||
=====================================================================
|
|
||||||
CONTENTS *DhallContents*
|
|
||||||
|
|
||||||
1. Config ......................................... ❘DhallConfig❘
|
|
||||||
2. License ....................................... ❘DhallLicense❘
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
Section 1: Config *DhallConfig*
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
|
||||||
*'g:dhall_use_ctags'*
|
|
||||||
Values: 0, 1
|
|
||||||
Default: ''
|
|
||||||
|
|
||||||
Generate tags file for vim on write, using universal ctags. >
|
|
||||||
let g:dhall_use_ctags=1
|
|
||||||
<
|
|
||||||
|
|
||||||
*'g:dhall_format'*
|
|
||||||
Values: 0, 1
|
|
||||||
Default: ''
|
|
||||||
|
|
||||||
Format Dhall files on write >
|
|
||||||
let g:dhall_format=1
|
|
||||||
<
|
|
||||||
*'g:dhall_strip_whitespace'*
|
|
||||||
Values: 0, 1
|
|
||||||
Default: ''
|
|
||||||
|
|
||||||
To enable whitespace stripping >
|
|
||||||
let g:dhall_strip_whitespace=1
|
|
||||||
<
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
Section 2: License *DhallLicense*
|
|
||||||
|
|
||||||
This plugin is licensed under the BDS3 license.
|
|
||||||
|
|
||||||
endif
|
|
||||||
116
doc/elixir.txt
116
doc/elixir.txt
@@ -1,116 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1
|
|
||||||
|
|
||||||
*elixir.txt* Vim configuration files for Elixir http://elixir-lang.org/
|
|
||||||
|
|
||||||
Author: Plataformatec
|
|
||||||
License: Apache License Version 2.0
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CONTENTS *elixir-contents*
|
|
||||||
|
|
||||||
INTRODUCTION |elixir-introduction|
|
|
||||||
INTERFACE |elixir-interface|
|
|
||||||
FUNCTIONS |elixir-functions|
|
|
||||||
KEY MAPPINGS |elixir-key-mappings|
|
|
||||||
OPTIONS |elixir-options|
|
|
||||||
SETTINGS |elixir-settings|
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
INTRODUCTION *elixir-introduction*
|
|
||||||
|
|
||||||
*elixir* provides Vim configuration files for Elixir http://elixir-lang.org/
|
|
||||||
|
|
||||||
* Syntax highlighting for Elixir and EEx files
|
|
||||||
* Filetype detection for `.ex`, `.exs`, `.eex` and `.leex` files
|
|
||||||
* Automatic indentation
|
|
||||||
* Integration between Ecto projects and |vim-dadbod| for running SQL queries
|
|
||||||
on defined Ecto repositories
|
|
||||||
|
|
||||||
|
|
||||||
Latest Version:
|
|
||||||
https://github.com/elixir-editors/vim-elixir
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
INTERFACE *elixir-interface*
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
FUNCTIONS *elixir-functions*
|
|
||||||
|
|
||||||
db#adapter#ecto#canonicalize({url}) *db#adapter#ecto#canonicalize()*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
db#adapter#ecto#complete_opaque({url}) *db#adapter#ecto#complete_opaque()*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
elixir#indent#indent({lnum}) *elixir#indent#indent()*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
elixir#indent#searchpair_back_skip() *elixir#indent#searchpair_back_skip()*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*elixir#indent#handle_top_of_file()*
|
|
||||||
elixir#indent#handle_top_of_file({context})
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*elixir#indent#handle_follow_prev_nb()*
|
|
||||||
elixir#indent#handle_follow_prev_nb({context})
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*elixir#indent#handle_following_trailing_binary_operator()*
|
|
||||||
elixir#indent#handle_following_trailing_binary_operator({context})
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*elixir#indent#handle_starts_with_pipe()*
|
|
||||||
elixir#indent#handle_starts_with_pipe({context})
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*elixir#indent#handle_starts_with_end()*
|
|
||||||
elixir#indent#handle_starts_with_end({context})
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*elixir#indent#handle_starts_with_binary_operator()*
|
|
||||||
elixir#indent#handle_starts_with_binary_operator({context})
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*elixir#indent#handle_inside_block()*
|
|
||||||
elixir#indent#handle_inside_block({context})
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*elixir#indent#handle_inside_generic_block()*
|
|
||||||
elixir#indent#handle_inside_generic_block({context})
|
|
||||||
TODO
|
|
||||||
|
|
||||||
elixir#util#get_filename({word}) *elixir#util#get_filename({word})*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
KEY MAPPINGS *elixir-key-mappings*
|
|
||||||
|
|
||||||
TODO
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
SETTINGS *elixir-settings*
|
|
||||||
|
|
||||||
*g:eelixir_default_subtype*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*g:elixir_indent_debug*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*g:elixir_indent_max_lookbehind*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*g:elixir_use_markdown_for_docs*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
*g:path*
|
|
||||||
TODO
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
vim:tw=78:fo=tcq2mM:ts=8:ft=help:norl
|
|
||||||
|
|
||||||
endif
|
|
||||||
1768
doc/ft-csv.txt
1768
doc/ft-csv.txt
File diff suppressed because it is too large
Load Diff
@@ -1,25 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
|
||||||
|
|
||||||
GIT COMMIT *ft-gitcommit-plugin*
|
|
||||||
|
|
||||||
One command, :DiffGitCached, is provided to show a diff of the current commit
|
|
||||||
in the preview window. It is equivalent to calling "git diff --cached" plus
|
|
||||||
any arguments given to the command.
|
|
||||||
|
|
||||||
GIT REBASE *ft-gitrebase-plugin*
|
|
||||||
|
|
||||||
In a gitrebase filetype buffer, the following commands are provided:
|
|
||||||
|
|
||||||
`:Pick` Changes the cursor line to a `pick` line.
|
|
||||||
`:Squash` Changes the cursor line to a `squash` line
|
|
||||||
`:Edit` Changes the cursor line to an `edit` line
|
|
||||||
`:Reword` Changes the cursor line to a `reword` line
|
|
||||||
`:Fixup` Changes the cursor line to a `fixup` line
|
|
||||||
`:Drop` Changes the cursor line to a `drop` line
|
|
||||||
`:Cycle` Cycles between the first 5 gitrebase commands
|
|
||||||
|
|
||||||
To make the `:Cycle` command more useful, it might be mapped, e.g. >
|
|
||||||
nnoremap <buffer> <silent> S :Cycle<CR>
|
|
||||||
<
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,152 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
|
||||||
|
|
||||||
RUBY *ft-ruby-indent*
|
|
||||||
*vim-ruby-indent*
|
|
||||||
|
|
||||||
Ruby: Access modifier indentation |ruby-access-modifier-indentation|
|
|
||||||
Ruby: Block style indentation |ruby-block-style-indentation|
|
|
||||||
Ruby: Assignment style indentation |ruby-assignment-style-indentation|
|
|
||||||
Ruby: Hanging element indentation |ruby-hanging-element-indentation|
|
|
||||||
|
|
||||||
*ruby-access-modifier-indentation*
|
|
||||||
*g:ruby_indent_access_modifier_style*
|
|
||||||
Ruby: Access modifier indentation ~
|
|
||||||
|
|
||||||
Different access modifier indentation styles can be used by setting: >
|
|
||||||
|
|
||||||
:let g:ruby_indent_access_modifier_style = 'normal'
|
|
||||||
:let g:ruby_indent_access_modifier_style = 'indent'
|
|
||||||
:let g:ruby_indent_access_modifier_style = 'outdent'
|
|
||||||
<
|
|
||||||
By default, the "normal" access modifier style is used.
|
|
||||||
|
|
||||||
Access modifier style "normal":
|
|
||||||
>
|
|
||||||
class Indent
|
|
||||||
private :method
|
|
||||||
protected :method
|
|
||||||
private
|
|
||||||
def method; end
|
|
||||||
protected
|
|
||||||
def method; end
|
|
||||||
public
|
|
||||||
def method; end
|
|
||||||
end
|
|
||||||
<
|
|
||||||
Access modifier style "indent":
|
|
||||||
>
|
|
||||||
class Indent
|
|
||||||
private :method
|
|
||||||
protected :method
|
|
||||||
private
|
|
||||||
def method; end
|
|
||||||
protected
|
|
||||||
def method; end
|
|
||||||
public
|
|
||||||
def method; end
|
|
||||||
end
|
|
||||||
<
|
|
||||||
Access modifier style "outdent":
|
|
||||||
>
|
|
||||||
class Indent
|
|
||||||
private :method
|
|
||||||
protected :method
|
|
||||||
private
|
|
||||||
def method; end
|
|
||||||
protected
|
|
||||||
def method; end
|
|
||||||
public
|
|
||||||
def method; end
|
|
||||||
end
|
|
||||||
<
|
|
||||||
*ruby-block-style-indentation*
|
|
||||||
*g:ruby_indent_block_style*
|
|
||||||
Ruby: Block style indentation ~
|
|
||||||
|
|
||||||
Different block indentation styles can be used by setting: >
|
|
||||||
|
|
||||||
:let g:ruby_indent_block_style = 'expression'
|
|
||||||
:let g:ruby_indent_block_style = 'do'
|
|
||||||
<
|
|
||||||
By default, the "do" block indent style is used.
|
|
||||||
|
|
||||||
Block indent style "expression":
|
|
||||||
>
|
|
||||||
first
|
|
||||||
.second do |x|
|
|
||||||
something
|
|
||||||
end
|
|
||||||
<
|
|
||||||
Block indent style "do":
|
|
||||||
>
|
|
||||||
first
|
|
||||||
.second do |x|
|
|
||||||
something
|
|
||||||
end
|
|
||||||
<
|
|
||||||
|
|
||||||
*ruby-assignment-style-indentation*
|
|
||||||
*g:ruby_indent_assignment_style*
|
|
||||||
Ruby: Assignment style indentation ~
|
|
||||||
|
|
||||||
Different styles of indenting assignment for multiline expressions:
|
|
||||||
>
|
|
||||||
:let g:ruby_indent_assignment_style = 'hanging'
|
|
||||||
:let g:ruby_indent_assignment_style = 'variable'
|
|
||||||
<
|
|
||||||
By default, the "hanging" style is used.
|
|
||||||
|
|
||||||
Assignment indent style "hanging":
|
|
||||||
>
|
|
||||||
x = if condition
|
|
||||||
something
|
|
||||||
end
|
|
||||||
<
|
|
||||||
Assignment indent style "variable":
|
|
||||||
>
|
|
||||||
x = if condition
|
|
||||||
something
|
|
||||||
end
|
|
||||||
<
|
|
||||||
|
|
||||||
*ruby-hanging-element-indentation*
|
|
||||||
*g:ruby_indent_hanging_elements*
|
|
||||||
Ruby: Hanging element indentation ~
|
|
||||||
|
|
||||||
Elements of multiline collections -- such as arrays, hashes, and method
|
|
||||||
argument lists -- can have hanging indentation enabled or disabled with the
|
|
||||||
following setting.
|
|
||||||
>
|
|
||||||
:let g:ruby_indent_hanging_elements = 1
|
|
||||||
:let g:ruby_indent_hanging_elements = 0
|
|
||||||
<
|
|
||||||
By default, this setting is "1" (true) meaning that hanging indentation is
|
|
||||||
enabled in some cases.
|
|
||||||
|
|
||||||
Here is an example method call when the setting is true (non-zero):
|
|
||||||
>
|
|
||||||
render('product/show',
|
|
||||||
product: product,
|
|
||||||
on_sale: true,
|
|
||||||
)
|
|
||||||
<
|
|
||||||
And the same method call when the setting is false (zero):
|
|
||||||
>
|
|
||||||
render('product/show',
|
|
||||||
product: product,
|
|
||||||
on_sale: true,
|
|
||||||
)
|
|
||||||
<
|
|
||||||
Note that, even if the setting is turned on, you can still get non-hanging
|
|
||||||
indentation by putting each argument on a separate line:
|
|
||||||
>
|
|
||||||
render(
|
|
||||||
'product/show',
|
|
||||||
product: product,
|
|
||||||
on_sale: true,
|
|
||||||
)
|
|
||||||
<
|
|
||||||
|
|
||||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
|
||||||
|
|
||||||
RUBY *ft-ruby-omni*
|
|
||||||
*vim-ruby-omni*
|
|
||||||
|
|
||||||
Completion of Ruby code requires that Vim be built with |+ruby|.
|
|
||||||
|
|
||||||
Ruby completion will parse your buffer on demand in order to provide a list of
|
|
||||||
completions. These completions will be drawn from modules loaded by "require"
|
|
||||||
and modules defined in the current buffer.
|
|
||||||
|
|
||||||
The completions provided by CTRL-X CTRL-O are sensitive to the context:
|
|
||||||
|
|
||||||
CONTEXT COMPLETIONS PROVIDED ~
|
|
||||||
|
|
||||||
1. Not inside a class definition Classes, constants and globals
|
|
||||||
|
|
||||||
2. Inside a class definition Methods or constants defined in the class
|
|
||||||
|
|
||||||
3. After '.', '::' or ':' Methods applicable to the object being
|
|
||||||
dereferenced
|
|
||||||
|
|
||||||
4. After ':' or ':foo' Symbol name (beginning with "foo")
|
|
||||||
|
|
||||||
Notes:
|
|
||||||
- Vim will load/evaluate code in order to provide completions. This may
|
|
||||||
cause some code execution, which may be a concern. This is no longer
|
|
||||||
enabled by default, to enable this feature add >
|
|
||||||
let g:rubycomplete_buffer_loading = 1
|
|
||||||
< - In context 1 above, Vim can parse the entire buffer to add a list of
|
|
||||||
classes to the completion results. This feature is turned off by default,
|
|
||||||
to enable it add >
|
|
||||||
let g:rubycomplete_classes_in_global = 1
|
|
||||||
< to your vimrc
|
|
||||||
- In context 2 above, anonymous classes are not supported.
|
|
||||||
- In context 3 above, Vim will attempt to determine the methods supported by
|
|
||||||
the object.
|
|
||||||
- Vim can detect and load the Rails environment for files within a rails
|
|
||||||
project. The feature is disabled by default, to enable it add >
|
|
||||||
let g:rubycomplete_rails = 1
|
|
||||||
< to your vimrc
|
|
||||||
- Vim can parse a Gemfile, in case gems are being implicitly required. To
|
|
||||||
activate the feature: >
|
|
||||||
let g:rubycomplete_load_gemfile = 1
|
|
||||||
< To specify an alternative path, use: >
|
|
||||||
let g:rubycomplete_gemfile_path = 'Gemfile.aux'
|
|
||||||
< To use Bundler.require instead of parsing the Gemfile, set: >
|
|
||||||
let g:rubycomplete_use_bundler = 1
|
|
||||||
< To use custom paths that should be added to $LOAD_PATH to correctly
|
|
||||||
resolve requires, set: >
|
|
||||||
let g:rubycomplete_load_paths = ["/path/to/code", "./lib/example"]
|
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,85 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
|
||||||
|
|
||||||
RUBY *ft-ruby-plugin*
|
|
||||||
*vim-ruby-plugin*
|
|
||||||
|
|
||||||
|
|
||||||
Ruby: Recommended settings |ruby-recommended|
|
|
||||||
Ruby: Motion commands |ruby-motion|
|
|
||||||
Ruby: Text objects |ruby-text-objects|
|
|
||||||
|
|
||||||
*ruby-recommended*
|
|
||||||
*g:ruby_recommended_style*
|
|
||||||
Ruby: Recommended settings ~
|
|
||||||
|
|
||||||
The `g:ruby_recommended_style` variable activates indentation settings
|
|
||||||
according to the most common ruby convention: two spaces for indentation. It's
|
|
||||||
turned on by default to ensure an unsurprising default experience for most
|
|
||||||
ruby developers.
|
|
||||||
|
|
||||||
If you'd like to enforce your own style, it's possible to apply your own
|
|
||||||
preferences in your own configuration in `after/ftplugin/ruby.vim`. You can
|
|
||||||
also disable the setting by setting the variable to 0:
|
|
||||||
>
|
|
||||||
let g:ruby_recommended_style = 0
|
|
||||||
<
|
|
||||||
|
|
||||||
*ruby-motion*
|
|
||||||
Ruby: Motion commands ~
|
|
||||||
|
|
||||||
Vim provides motions such as |[m| and |]m| for jumping to the start or end of
|
|
||||||
a method definition. Out of the box, these work for curly-bracket languages,
|
|
||||||
but not for Ruby. The vim-ruby plugin enhances these motions, by making them
|
|
||||||
also work on Ruby files.
|
|
||||||
|
|
||||||
*ruby-]m*
|
|
||||||
]m Go to start of next method definition.
|
|
||||||
|
|
||||||
*ruby-]M*
|
|
||||||
]M Go to end of next method definition.
|
|
||||||
|
|
||||||
*ruby-[m*
|
|
||||||
[m Go to start of previous method definition.
|
|
||||||
|
|
||||||
*ruby-[M*
|
|
||||||
[M Go to end of previous method definition.
|
|
||||||
|
|
||||||
*ruby-]]*
|
|
||||||
]] Go to start of next module or class definition.
|
|
||||||
|
|
||||||
*ruby-][*
|
|
||||||
][ Go to end of next module or class definition.
|
|
||||||
|
|
||||||
*ruby-[[*
|
|
||||||
[[ Go to start of previous module or class definition.
|
|
||||||
|
|
||||||
*ruby-[]*
|
|
||||||
[] Go to end of previous module or class definition.
|
|
||||||
|
|
||||||
*ruby-text-objects*
|
|
||||||
Ruby: Text objects ~
|
|
||||||
|
|
||||||
Vim's |text-objects| can be used to select or operate upon regions of text
|
|
||||||
that are defined by structure. The vim-ruby plugin adds text objects for
|
|
||||||
operating on methods and classes.
|
|
||||||
|
|
||||||
*ruby-v_am* *ruby-am*
|
|
||||||
am "a method", select from "def" until matching "end"
|
|
||||||
keyword.
|
|
||||||
|
|
||||||
*ruby-v_im* *ruby-im*
|
|
||||||
im "inner method", select contents of "def"/"end" block,
|
|
||||||
excluding the "def" and "end" themselves.
|
|
||||||
|
|
||||||
*ruby-v_aM* *ruby-aM*
|
|
||||||
aM "a class", select from "class" until matching "end"
|
|
||||||
keyword.
|
|
||||||
|
|
||||||
*ruby-v_iM* *ruby-iM*
|
|
||||||
iM "inner class", select contents of "class"/"end"
|
|
||||||
block, excluding the "class" and "end" themselves.
|
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,123 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
|
||||||
|
|
||||||
RUBY *ruby.vim* *ft-ruby-syntax*
|
|
||||||
*vim-ruby-syntax*
|
|
||||||
|
|
||||||
Ruby: Operator highlighting |ruby_operators|
|
|
||||||
Ruby: Whitespace errors |ruby_space_errors|
|
|
||||||
Ruby: Syntax errors |ruby_syntax_errors|
|
|
||||||
Ruby: Folding |ruby_fold| |ruby_foldable_groups|
|
|
||||||
Ruby: Reducing expensive operations |ruby_no_expensive| |ruby_minlines|
|
|
||||||
Ruby: Spellchecking strings |ruby_spellcheck_strings|
|
|
||||||
|
|
||||||
*ruby_operators*
|
|
||||||
Ruby: Operator highlighting ~
|
|
||||||
|
|
||||||
Operators, and pseudo operators, can be highlighted by defining: >
|
|
||||||
|
|
||||||
:let ruby_operators = 1
|
|
||||||
:let ruby_pseudo_operators = 1
|
|
||||||
<
|
|
||||||
The supported pseudo operators are ., &., ::, *, **, &, <, << and ->.
|
|
||||||
|
|
||||||
*ruby_space_errors*
|
|
||||||
Ruby: Whitespace errors ~
|
|
||||||
|
|
||||||
Whitespace errors can be highlighted by defining "ruby_space_errors": >
|
|
||||||
|
|
||||||
:let ruby_space_errors = 1
|
|
||||||
<
|
|
||||||
This will highlight trailing whitespace and tabs preceded by a space character
|
|
||||||
as errors. This can be refined by defining "ruby_no_trail_space_error" and
|
|
||||||
"ruby_no_tab_space_error" which will ignore trailing whitespace and tabs after
|
|
||||||
spaces respectively.
|
|
||||||
|
|
||||||
*ruby_syntax_errors*
|
|
||||||
Ruby: Syntax errors ~
|
|
||||||
|
|
||||||
Redundant line continuations and predefined global variable look-alikes (such
|
|
||||||
as $# and $-z) can be highlighted as errors by defining:
|
|
||||||
>
|
|
||||||
:let ruby_line_continuation_error = 1
|
|
||||||
:let ruby_global_variable_error = 1
|
|
||||||
<
|
|
||||||
*ruby_fold*
|
|
||||||
Ruby: Folding ~
|
|
||||||
|
|
||||||
Folding can be enabled by defining "ruby_fold": >
|
|
||||||
|
|
||||||
:let ruby_fold = 1
|
|
||||||
<
|
|
||||||
This will set the value of 'foldmethod' to "syntax" locally to the current
|
|
||||||
buffer or window, which will enable syntax-based folding when editing Ruby
|
|
||||||
filetypes.
|
|
||||||
|
|
||||||
*ruby_foldable_groups*
|
|
||||||
Default folding is rather detailed, i.e., small syntax units like "if", "do",
|
|
||||||
"%w[]" may create corresponding fold levels.
|
|
||||||
|
|
||||||
You can set "ruby_foldable_groups" to restrict which groups are foldable: >
|
|
||||||
|
|
||||||
:let ruby_foldable_groups = 'if case %'
|
|
||||||
<
|
|
||||||
The value is a space-separated list of keywords:
|
|
||||||
|
|
||||||
keyword meaning ~
|
|
||||||
-------- ------------------------------------- ~
|
|
||||||
ALL Most block syntax (default)
|
|
||||||
NONE Nothing
|
|
||||||
if "if" or "unless" block
|
|
||||||
def "def" block
|
|
||||||
class "class" block
|
|
||||||
module "module" block
|
|
||||||
do "do" block
|
|
||||||
begin "begin" block
|
|
||||||
case "case" block
|
|
||||||
for "for", "while", "until" loops
|
|
||||||
{ Curly bracket block or hash literal
|
|
||||||
[ Array literal
|
|
||||||
% Literal with "%" notation, e.g.: %w(STRING), %!STRING!
|
|
||||||
/ Regexp
|
|
||||||
string String and shell command output (surrounded by ', ", `)
|
|
||||||
: Symbol
|
|
||||||
# Multiline comment
|
|
||||||
<< Here documents
|
|
||||||
__END__ Source code after "__END__" directive
|
|
||||||
|
|
||||||
NONE and ALL have priority, in that order, over all other folding groups.
|
|
||||||
|
|
||||||
*ruby_no_expensive*
|
|
||||||
Ruby: Reducing expensive operations ~
|
|
||||||
|
|
||||||
By default, the "end" keyword is colorized according to the opening statement
|
|
||||||
of the block it closes. While useful, this feature can be expensive; if you
|
|
||||||
experience slow redrawing (or you are on a terminal with poor color support)
|
|
||||||
you may want to turn it off by defining the "ruby_no_expensive" variable: >
|
|
||||||
|
|
||||||
:let ruby_no_expensive = 1
|
|
||||||
<
|
|
||||||
In this case the same color will be used for all control keywords.
|
|
||||||
|
|
||||||
*ruby_minlines*
|
|
||||||
|
|
||||||
If you do want this feature enabled, but notice highlighting errors while
|
|
||||||
scrolling backwards, which are fixed when redrawing with CTRL-L, try setting
|
|
||||||
the "ruby_minlines" variable to a value larger than 50: >
|
|
||||||
|
|
||||||
:let ruby_minlines = 100
|
|
||||||
<
|
|
||||||
Ideally, this value should be a number of lines large enough to embrace your
|
|
||||||
largest class or module.
|
|
||||||
|
|
||||||
*ruby_spellcheck_strings*
|
|
||||||
Ruby: Spellchecking strings ~
|
|
||||||
|
|
||||||
Ruby syntax will perform spellchecking of strings if you define
|
|
||||||
"ruby_spellcheck_strings": >
|
|
||||||
|
|
||||||
:let ruby_spellcheck_strings = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,85 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gitignore') == -1
|
|
||||||
|
|
||||||
*fzf_gitignore.txt* Create useful .gitignore files for your project
|
|
||||||
|
|
||||||
Author: Filip Szymański <fszymanski.pl@gmail.com>
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CONTENTS *fzf-gitignore-contents*
|
|
||||||
|
|
||||||
1. Introduction |fzf-gitignore-introduction|
|
|
||||||
2. Configuration |fzf-gitignore-configuration|
|
|
||||||
3. Commands |fzf-gitignore-commands|
|
|
||||||
4. Mappings |fzf-gitignore-mappings|
|
|
||||||
5. License |fzf-gitignore-license|
|
|
||||||
6. Bugs |fzf-gitignore-bugs|
|
|
||||||
7. Contributing |fzf-gitignore-contributing|
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
INTRODUCTION *fzf-gitignore-introduction*
|
|
||||||
|
|
||||||
fzf[1] interface for creating .gitignore files using the gitignore.io[2] API.
|
|
||||||
|
|
||||||
Note: This plugin was inspired by helm-gitignore[3].
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CONFIGURATION *fzf-gitignore-configuration*
|
|
||||||
|
|
||||||
*g:fzf_gitignore_no_maps*
|
|
||||||
Set this option to disable all key mappings.
|
|
||||||
>
|
|
||||||
let g:fzf_gitignore_no_maps = 1
|
|
||||||
<
|
|
||||||
Default: Not defined (number)
|
|
||||||
|
|
||||||
*g:fzf_gitignore_map*
|
|
||||||
Set this option to change the |<Plug>(fzf-gitignore)| key mapping.
|
|
||||||
>
|
|
||||||
let g:fzf_gitignore_map = '<Leader>i'
|
|
||||||
<
|
|
||||||
Default: '<Leader>gi' (string)
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
COMMANDS *fzf-gitignore-commands*
|
|
||||||
|
|
||||||
*:FzfGitignore*
|
|
||||||
Create .gitignore file.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
MAPPINGS *fzf-gitignore-mappings*
|
|
||||||
|
|
||||||
-----------------------------------+----------------------------------------
|
|
||||||
Mapping | Description ~
|
|
||||||
-----------------------------------+----------------------------------------
|
|
||||||
<Plug>(fzf-gitignore) | Create .gitignore file
|
|
||||||
-----------------------------------+----------------------------------------
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
LICENSE *fzf-gitignore-license*
|
|
||||||
|
|
||||||
MIT
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
BUGS *fzf-gitignore-bugs*
|
|
||||||
|
|
||||||
If you find a bug please create an issue on GitHub.
|
|
||||||
|
|
||||||
https://github.com/fszymanski/fzf-gitignore/issues
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CONTRIBUTING *fzf-gitignore-contributing*
|
|
||||||
|
|
||||||
Think you can make this plugin better? Awesome. Fork it on GitHub and create
|
|
||||||
a pull request.
|
|
||||||
|
|
||||||
https://github.com/fszymanski/fzf-gitignore
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
[1] https://github.com/junegunn/fzf
|
|
||||||
[2] https://www.gitignore.io/
|
|
||||||
[3] https://github.com/jupl/helm-gitignore
|
|
||||||
|
|
||||||
vim: tw=78 ts=8 ft=help norl
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'graphql') == -1
|
|
||||||
|
|
||||||
*graphql.txt* GraphQL plug-in for Vim *graphql*
|
|
||||||
|
|
||||||
CONTENTS *graphql-contents*
|
|
||||||
|
|
||||||
1. Introduction |graphql-intro|
|
|
||||||
2. JavaScript Support |graphql-javascript|
|
|
||||||
3. TypeScript Support |graphql-typescript|
|
|
||||||
|
|
||||||
|
|
||||||
INTRODUCTION *graphql-intro*
|
|
||||||
|
|
||||||
This plugin provides GraphQL (http://graphql.org/) file detection, syntax
|
|
||||||
highlighting, and indentation.
|
|
||||||
|
|
||||||
|
|
||||||
JAVASCRIPT *graphql-javascript*
|
|
||||||
|
|
||||||
GraphQL syntax support in ES2015 template literals is provided. It works "out
|
|
||||||
of the box" with Vim 8.2's JavaScript support. The extended syntax provided by
|
|
||||||
the vim-javascript (https://github.com/pangloss/vim-javascript) plugin is also
|
|
||||||
supported.
|
|
||||||
|
|
||||||
*graphql-javascript-options*
|
|
||||||
|
|
||||||
*g:graphql_javascript_tags*
|
|
||||||
|g:graphql_javascript_tags| list of strings
|
|
||||||
|
|
||||||
Default: `["gql", "graphql", "Relay.QL"]`
|
|
||||||
|
|
||||||
This variable lists the ES2015 template tag names that will be recognized as
|
|
||||||
containing GraphQL template literal strings.
|
|
||||||
|
|
||||||
|
|
||||||
TYPESCRIPT *graphql-typescript*
|
|
||||||
|
|
||||||
Like |graphql-javascript|, GraphQL syntax support in ES2015 template literals
|
|
||||||
is provided. It also works "out of the box" with Vim 8.2's TypeScript support,
|
|
||||||
which is based on the yats (https://github.com/HerringtonDarkholme/yats.vim)
|
|
||||||
plugin. For older versions, you can install yats directly.
|
|
||||||
|
|
||||||
TypeScript syntax support also uses |graphql-javascript-options| to customize
|
|
||||||
the list of recognized template tag names.
|
|
||||||
|
|
||||||
REASONML *graphql-reasonml*
|
|
||||||
|
|
||||||
GraphQL syntax support inside of ReasonML template strings using graphql-ppx
|
|
||||||
is available.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
vim:tw=78:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,163 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haskell') == -1
|
|
||||||
|
|
||||||
*haskell-vim.txt* Last Change 2016 March 14
|
|
||||||
===============================================================================
|
|
||||||
===============================================================================
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
CONTENTS *haskell-vim-contents*
|
|
||||||
|
|
||||||
1. Features |haskell-vim-features|
|
|
||||||
2. Configuration |haskell-vim-configuration|
|
|
||||||
3. Highlighting |haskell-vim-indentation|
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
FEATURES *haskell-vim-features*
|
|
||||||
|
|
||||||
* Covers a broader spectrum of keywords
|
|
||||||
* Highlighting for new features like type families, pattern synonyms,
|
|
||||||
arrow syntax, recursive do, role annotations, QuasiQuotation
|
|
||||||
* More contextual highlighting
|
|
||||||
(e.g. highlight "as" or "family" only in appropriate places)
|
|
||||||
* Smarter indentation
|
|
||||||
* Better Cabal support
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
CONFIGURATION *haskell-vim-configuration*
|
|
||||||
|
|
||||||
To enable the features you would like to use, just add the according line to
|
|
||||||
your `.vimrc`.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
HIGHLIGHTING *haskell-vim-highlighting*
|
|
||||||
|
|
||||||
`haskell-vim` can highlight additional keywords. This is enabled by setting
|
|
||||||
the according variable to 1 in the `.vimrc`.
|
|
||||||
|
|
||||||
* |haskell-vim-enable-quantification|
|
|
||||||
* |haskell-vim-enable-recursivedo|
|
|
||||||
* |haskell-vim-enable-arrowsyntax|
|
|
||||||
* |haskell-vim-enable-pattern-synonyms|
|
|
||||||
* |haskell-vim-enable-typeroles|
|
|
||||||
* |haskell-vim-enable-static-pointers|
|
|
||||||
* |haskell-vim-classic-highlighting|
|
|
||||||
* |haskell-vim-disable-TH|
|
|
||||||
|
|
||||||
*haskell-vim-enable-quantification*
|
|
||||||
`g:haskell_enable_quantification` Enables highlighting of `forall`.
|
|
||||||
|
|
||||||
*haskell-vim-enable-recursivedo*
|
|
||||||
`g:haskell_enable_recursivedo` Enables highlighting of `mdo` and `rec`.
|
|
||||||
|
|
||||||
*haskell-vim-enable-arrowsyntax*
|
|
||||||
`g:haskell_enable_arrowsyntax` Enables highlighting of `proc`.
|
|
||||||
|
|
||||||
*haskell-vim-enable-pattern-synonyms*
|
|
||||||
`g:haskell_enable_pattern_synonyms` Enables highlighting of the `pattern` keyword.
|
|
||||||
|
|
||||||
*haskell-vim-enable-typeroles*
|
|
||||||
`g:haskell_enable_typeroles` Enables highlighting of the `role` keyword, as
|
|
||||||
well as `phantom`, `norminal` and
|
|
||||||
`representational`.
|
|
||||||
|
|
||||||
*haskell-vim-enable-static-pointers*
|
|
||||||
`g:haskell_enable_static_pointers` Enables highlighting of the `static` keyword.
|
|
||||||
|
|
||||||
*haskell-vim-classic-highlighting*
|
|
||||||
`haskell-vim` has an opinionated highlighting. If you do not like that you can
|
|
||||||
switch to a more traditional mode by setting `g:haskell_classic_highlighting`
|
|
||||||
to 1.
|
|
||||||
|
|
||||||
*haskell-vim-disable-TH*
|
|
||||||
Disabling Template Haskell and Quasiquoting syntax is possible by setting
|
|
||||||
`g:haskell_disable_TH` to `1`.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
INDENTATION *haskell-vim-indentation*
|
|
||||||
|
|
||||||
To configure indentation in `haskell-vim` you can use the following variables to
|
|
||||||
change indentation depth, just add the according line to your `.vimrc`.
|
|
||||||
|
|
||||||
You can disable the indentation by setting `g:haskell_indent_disable` to `1`.
|
|
||||||
|
|
||||||
Haskell~
|
|
||||||
|
|
||||||
* |haskell-vim-indent-if|
|
|
||||||
* |haskell-vim-indent-case|
|
|
||||||
* |haskell-vim-indent-let|
|
|
||||||
* |haskell-vim-indent-where|
|
|
||||||
* |haskell-vim-indent-before-where|
|
|
||||||
* |haskell-vim-indent-after-bare-where|
|
|
||||||
* |haskell-vim-indent-do|
|
|
||||||
* |haskell-vim-indent-in|
|
|
||||||
* |haskell-vim-indent-guard|
|
|
||||||
*haskell-vim-indent-if*
|
|
||||||
* let g:haskell_indent_if = 3 >
|
|
||||||
|
|
||||||
if bool
|
|
||||||
>>>then ...
|
|
||||||
>>>else ...
|
|
||||||
<
|
|
||||||
|
|
||||||
*haskell-vim-indent-case*
|
|
||||||
* let g:haskell_indent_case = 2 >
|
|
||||||
|
|
||||||
case xs of
|
|
||||||
>>[] -> ...
|
|
||||||
>>(y:ys) -> ...
|
|
||||||
<
|
|
||||||
*haskell-vim-indent-let*
|
|
||||||
* let g:haskell_indent_let = 4 >
|
|
||||||
|
|
||||||
let x = 0 in
|
|
||||||
>>>>x
|
|
||||||
<
|
|
||||||
*haskell-vim-indent-where*
|
|
||||||
* let g:haskell_indent_where = 6 >
|
|
||||||
|
|
||||||
where f :: Int -> Int
|
|
||||||
>>>>>>f x = x
|
|
||||||
<
|
|
||||||
*haskell-vim-indent-before-where*
|
|
||||||
* let g:haskell_indent_before_where = 2 >
|
|
||||||
|
|
||||||
foo
|
|
||||||
>>where
|
|
||||||
<
|
|
||||||
*haskell-vim-indent-after-bare-where*
|
|
||||||
* let g:haskell_indent_after_bare_where = 2 >
|
|
||||||
|
|
||||||
where
|
|
||||||
>>foo
|
|
||||||
<
|
|
||||||
*haskell-vim-indent-do*
|
|
||||||
* let g:haskell_indent_do = 3 >
|
|
||||||
|
|
||||||
do x <- a
|
|
||||||
>>>y <- b
|
|
||||||
<
|
|
||||||
*haskell-vim-indent-in*
|
|
||||||
* let g:haskell_indent_in = 1 >
|
|
||||||
|
|
||||||
let x = 1
|
|
||||||
>in x
|
|
||||||
<
|
|
||||||
*haskell-vim-indent-guard*
|
|
||||||
* let g:haskell_indent_guard = 2 >
|
|
||||||
|
|
||||||
f x y
|
|
||||||
>>|
|
|
||||||
<
|
|
||||||
|
|
||||||
Cabal~
|
|
||||||
|
|
||||||
* |cabal-vim-indent-section|
|
|
||||||
|
|
||||||
*cabal-vim-indent-section*
|
|
||||||
* let g:cabal_indent_section = 2 (limited to max. 4 spaces) >
|
|
||||||
|
|
||||||
executable name
|
|
||||||
>>main-is: Main.hs
|
|
||||||
<
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'idris') == -1
|
|
||||||
|
|
||||||
*idris-vim.txt* Last change 2014 April 24
|
|
||||||
===============================================================================
|
|
||||||
===============================================================================
|
|
||||||
@@@@ @@@@@@@@ @@@@@@@@ @@@@ @@@@@@ @@ @@ @@@@ @@ @@
|
|
||||||
@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@@ @@@
|
|
||||||
@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@@@ @@@@
|
|
||||||
@@ @@ @@ @@@@@@@@ @@ @@@@@@ @@@@@@@ @@ @@ @@ @@ @@@ @@
|
|
||||||
@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@
|
|
||||||
@@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@
|
|
||||||
@@@@ @@@@@@@@ @@ @@ @@@@ @@@@@@ @@@ @@@@ @@ @@
|
|
||||||
===============================================================================
|
|
||||||
CONTENTS *idris-vim-contents*
|
|
||||||
|
|
||||||
1. Features: |idris-vim-features|
|
|
||||||
2. Requirements: |idris-vim-requirements|
|
|
||||||
3. Functions: |idris-vim-functions|
|
|
||||||
4. Troubleshooting |idris-vim-troubleshooting|
|
|
||||||
5. Examples: |idris-vim-examples|
|
|
||||||
6. Information: |idris-vim-information|
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
FEATURES *idris-vim-features*
|
|
||||||
|
|
||||||
* Syntax Highlighting
|
|
||||||
* Indentation
|
|
||||||
* Unicode Concealing
|
|
||||||
* Syntax Checking (via Syntastic(https://github.com/scrooloose/syntastic))
|
|
||||||
* Interactive Editing via the REPL
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
REQUIREMENTS *idris-vim-requirements*
|
|
||||||
|
|
||||||
* Idris (http://www.idris-lang.org/)
|
|
||||||
|
|
||||||
OPTIONAL:
|
|
||||||
|
|
||||||
* Syntastic(https://github.com/scrooloose/syntastic) for syntax checking
|
|
||||||
* Vimshell(https://github.com/Shougo/vimshell.vim) for a REPL
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
FUNCTIONS *idris-vim-functions*
|
|
||||||
|
|
||||||
All of the functions in idris-vim are essentially just calls back to the REPL,
|
|
||||||
so documentation for each of them is also available there.
|
|
||||||
|
|
||||||
IdrisDocumentation *IdrisDocumentation*
|
|
||||||
Shows internal documentation of the primitive under the cursor.
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_h' by default.
|
|
||||||
|
|
||||||
IdrisResponseWin *IdrisResponseWin*
|
|
||||||
This opens an idris response window in a new pane.
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_i' by default.
|
|
||||||
|
|
||||||
IdrisShowType *IdrisShowType*
|
|
||||||
This shows the type of the name under the cursor (or, if the cursor happens
|
|
||||||
to be over a metavariable, a bit more information about its context).
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_t' by default.
|
|
||||||
|
|
||||||
IdrisReload *IdrisReload*
|
|
||||||
This reloads the file and type-checks the file in the current buffer.
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_r' by default.
|
|
||||||
|
|
||||||
IdrisEval *IdrisEval*
|
|
||||||
This prompts for an expression and then evaluates it in the REPL, then
|
|
||||||
returns the result.
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_e' by default.
|
|
||||||
|
|
||||||
IdrisCaseSplit *IdrisCaseSplit*
|
|
||||||
When the cursor is over a variable in a pattern match clause or case
|
|
||||||
expression, this splits the variable into all well-typed patterns.
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_c' by default
|
|
||||||
|
|
||||||
IdrisAddClause *IdrisAddClause*
|
|
||||||
When the cursor is at a type declaration this creates a new clause for that
|
|
||||||
signature.
|
|
||||||
|
|
||||||
By default mapped to '<LocalLeader>_d' for an ordinary top-level definition,
|
|
||||||
'<LocalLeader>_b' for a typeclass instance definition, and
|
|
||||||
'<LocalLeader>_md' to add a pattern-matching proof clause.
|
|
||||||
|
|
||||||
IdrisAddMissing: *IdrisAddMissing*
|
|
||||||
When the cursor is over a function, this adds all clauses necessary to make
|
|
||||||
that function cover all inputs. This also eliminates clauses which would
|
|
||||||
lead to unification errors from appearing.
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_m' by default
|
|
||||||
|
|
||||||
IdrisRefine: *IdrisRefine*
|
|
||||||
Refines the item the cursor is over (applies the name and fills in any
|
|
||||||
arguments which can be filled in via unification)
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_f' by default
|
|
||||||
|
|
||||||
IdrisProofSearch: *IdrisProofSearch*
|
|
||||||
This attempts to find a value for the metavariable it was called on by
|
|
||||||
looking at the rest of the code. It can also be called with hints, which
|
|
||||||
are functions that can apply to help solve for the metavariable.
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_o' without hints and '<LocalLeader>p' with hints by
|
|
||||||
default
|
|
||||||
|
|
||||||
IdrisMakeWith: *IdrisMakeWith*
|
|
||||||
When the cursor is over a pattern clause and this is called, it creates a
|
|
||||||
new with clause.
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_w' by default
|
|
||||||
|
|
||||||
IdrisMakeLemma: *IdrisMakeLemma*
|
|
||||||
When the cursor is over a metavariable and this is called, it creates a new
|
|
||||||
top-level definition to solve the metavariable.
|
|
||||||
|
|
||||||
Mapped to '<LocalLeader>_l' by default
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
TROUBLESHOOTING *idris-vim-troubleshooting*
|
|
||||||
|
|
||||||
If this isn't working for you, make sure that:
|
|
||||||
|
|
||||||
* There is an Idris REPL running
|
|
||||||
* For syntax checking, you have syntastic installed
|
|
||||||
* The plugins mappings exists and don't conflict with anything else installed
|
|
||||||
(You can use ':map' to check. There should be mappings similar to
|
|
||||||
'\h * :call IdrisShowDoc()'.)
|
|
||||||
* Vim recognizes you're in an idris file (you can use ':verb set ft' to check)
|
|
||||||
|
|
||||||
If none of this works, check to issue tracker on github and if nothing is
|
|
||||||
there create an issue with a detailed description of the problem.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
EXAMPLES *idris-vim-examples*
|
|
||||||
|
|
||||||
Some excellent tutorials/examples for interactive editing using the above
|
|
||||||
functions can be found at:
|
|
||||||
http://edwinb.wordpress.com/2013/10/28/interactive-idris-editing-with-vim/
|
|
||||||
and
|
|
||||||
http://www.scribd.com/doc/214031954/60/Interactive-Editing-in-Vim
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
INFORMATION *idris-vim-information*
|
|
||||||
|
|
||||||
Author: edwinb
|
|
||||||
Repo: https://github.com/idris-hackers/idris-vim
|
|
||||||
|
|
||||||
Documentation by japesinator
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
===============================================================================
|
|
||||||
" vim:ft=help:et:ts=2:sw=2:sts=2:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,405 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'julia') == -1
|
|
||||||
|
|
||||||
*julia-vim-L2U.txt* Support for LaTeX-to-Unicode substitutions
|
|
||||||
|
|
||||||
Author: Carlo Baldassi <carlobaldassi@gmail.com>
|
|
||||||
License: MIT license {{{
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
The above copyright notice and this permission notice shall be included
|
|
||||||
in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
||||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
||||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
||||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
}}}
|
|
||||||
CONTENTS *julia-vim-L2U*
|
|
||||||
|
|
||||||
LaTeX-to-Unicode substitutions |julia-vim-L2U-introdction|
|
|
||||||
Via Tab key |julia-vim-L2U-tab|
|
|
||||||
As you type |julia-vim-L2U-as-you-type|
|
|
||||||
Via Keymap |julia-vim-L2U-keymap|
|
|
||||||
On different file types |julia-vim-L2U-file-types|
|
|
||||||
Enabling and disabling |julia-vim-L2U-enable-disable|
|
|
||||||
Variables |julia-vim-L2U-variables|
|
|
||||||
Functions |julia-vim-L2U-functions|
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
LATEX TO UNICODE *julia-vim-L2U-introduction*
|
|
||||||
|
|
||||||
In the Julia REPL, entering a LaTeX-like sequence such as `\alpha` and pressing
|
|
||||||
the <Tab> key substitutes it with a Unicode character such as `α`. The Julia
|
|
||||||
REPL also provides partial completions, and suggestions for possible
|
|
||||||
completions upon repeated pressing of the <Tab> key. Emojis are also
|
|
||||||
available, with their names written between colons, e.g. `\:interrobang:`
|
|
||||||
produces `⁉`.
|
|
||||||
|
|
||||||
See |julia-vim-L2U-reference| for the complete table of substitutions.
|
|
||||||
|
|
||||||
This Vim plug-in also provides the functionality needed to convert LaTeX
|
|
||||||
input sequences into Unicode characters. There are 3 different methods
|
|
||||||
available:
|
|
||||||
|
|
||||||
1. The default one is the most similar to the Julia one: substitutions are
|
|
||||||
triggered by pressing the <Tab> key; if a partial match is found a list
|
|
||||||
of suggested completions is presented in a menu together with their
|
|
||||||
Unicode counterpart. The exact behaviour of this feature can be
|
|
||||||
customized, see |julia-vim-L2U-tab|.
|
|
||||||
|
|
||||||
2. The second one substitutes symbols on the fly as you type, but only in
|
|
||||||
|Insert| mode. See |julia-vim-L2U-as-you-type|.
|
|
||||||
|
|
||||||
3. The third is based on |keymap|. It also substitutes as-you-type, but it
|
|
||||||
doesn't show you the full LaTeX sequence as you're typing it, and there
|
|
||||||
is a time-out. Its main advantage over the previous one is that can be
|
|
||||||
used in more circumstances, e.g. in |Command-line| mode or when searching
|
|
||||||
for a character with |f| or |t|, as explained in |language-mapping|. See
|
|
||||||
|julia-vim-L2U-keymap|.
|
|
||||||
|
|
||||||
All of these methods are independent and can be used together without issues.
|
|
||||||
|
|
||||||
The default configuration is to use the first method, and it's only active
|
|
||||||
when editing Julia files. It only works in |Insert| and |Command-line| modes.
|
|
||||||
|
|
||||||
It is possible to enable it with other file types, see
|
|
||||||
|julia-vim-L2U-file-types|, and it can be even turned on/off on the fly
|
|
||||||
regardless of the file type, see |julia-vim-L2U-enable-disable|.
|
|
||||||
|
|
||||||
In |Command-line| mode, e.g. when searching with the |/| or |?| commands, the
|
|
||||||
default behavior is very similar to the default |Insert| mode behavior, but
|
|
||||||
slightly more limited, see |julia-vim-L2U-cmdmode|.
|
|
||||||
|
|
||||||
These features only work as described with Vim version 7.4 or higher. Tab
|
|
||||||
completion can still be made available on lower Vim versions, see
|
|
||||||
|julia-vim-L2U-workaround|. The keymap mode might work but it hasn't been
|
|
||||||
tested.
|
|
||||||
|
|
||||||
See |julia-vim| for the general reference about the other features of the
|
|
||||||
julia-vim plug-in.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
LATEX TO UNICODE VIA TAB KEY *julia-vim-L2U-tab*
|
|
||||||
|
|
||||||
Substitution of LaTeX sequences when pressing the <Tab> key (in |Insert| mode or
|
|
||||||
in |Command-line| modes) is active by default. Use |g:latex_to_unicode_tab| to
|
|
||||||
control it.
|
|
||||||
|
|
||||||
When this feature is active, the julia-vim plug-in creates a mapping for the
|
|
||||||
<Tab> key (in |Insert| mode) which takes precedence on any previously defined
|
|
||||||
mapping assigned to it, such that when the <Tab> key is pressed the plug-in
|
|
||||||
looks for potential LaTeX symbol matches before the cursor, and if it fails to
|
|
||||||
find anything of interest it will fall-back to the previous mapping for <Tab>
|
|
||||||
(with default Vim settings, this means it will insert a literal <Tab>; but if
|
|
||||||
you have defined some other behavior for that key, e.g. by installing another
|
|
||||||
plug-in such as supertab (https://github.com/ervandew/supertab) than that will
|
|
||||||
be used).
|
|
||||||
|
|
||||||
For example, entering this text in a file:
|
|
||||||
>
|
|
||||||
1 + \alpha
|
|
||||||
<
|
|
||||||
and then pressing <Tab>, results in:
|
|
||||||
>
|
|
||||||
1 + α
|
|
||||||
<
|
|
||||||
|
|
||||||
This feature is associated with 'omnifunc' completion, and therefore can
|
|
||||||
always be accessed via CTRL-X CTRL-O, even when |g:latex_to_unicode_tab| is 0.
|
|
||||||
|
|
||||||
A literal <Tab> key can always be entered by using CTRL-V before <Tab> (see
|
|
||||||
|i_CTRL-V|).
|
|
||||||
|
|
||||||
Partial sequence recognition triggers auto-completion (performed as if the
|
|
||||||
`longest` setting was used in 'completeopt') and shows a menu of suggestions
|
|
||||||
together with their corresponding Unicode symbol (provided the `menu` setting
|
|
||||||
is included in 'completeopt', and more then one match is found). So for
|
|
||||||
example, entering `\al` and pressing <Tab> will result in the following list:
|
|
||||||
>
|
|
||||||
+-------------+
|
|
||||||
| \aleph ℵ |
|
|
||||||
| \allequal ≌ |
|
|
||||||
| \alpha α |
|
|
||||||
+-------------+
|
|
||||||
>
|
|
||||||
Then, pressing `p` will reduce the list to `\alpha`, pressing <Tab> will
|
|
||||||
complete it and pressing <Tab> again will perform the substitution.
|
|
||||||
|
|
||||||
The completion menu can be disbled, and this will happen automatically if a
|
|
||||||
plug-in which is known to be incompatible with this feature is detected: see
|
|
||||||
|g:latex_to_unicode_suggestions|.
|
|
||||||
|
|
||||||
Some LaTeX sequences can be valid both as they are and as partial matches for
|
|
||||||
other sequences, e.g. `\ne` is associated with `≠`, but it is also a partial
|
|
||||||
match for `\nequiv` (`≢`). By default, if <Tab> finds an exact match performs
|
|
||||||
the substitution, but this can be controlled by the |g:latex_to_unicode_eager|
|
|
||||||
setting.
|
|
||||||
|
|
||||||
Command-line mode *julia-vim-L2U-cmdmode*
|
|
||||||
|
|
||||||
In |Command-line| mode, the behavior is largely the same except that both
|
|
||||||
<Tab> and <S-Tab> are mapped by default, and the functionality is slightly
|
|
||||||
more limited. No suggestions are shown for partial completions. Pre-existing
|
|
||||||
user-defined mappings of <Tab> are overridden. In order to avoid that, the
|
|
||||||
completion can be mapped onto a defferent key combination, see
|
|
||||||
|g:latex_to_unicode_cmd_mapping|. When using <Tab>, if no matches are found
|
|
||||||
the behavior falls back to the standard Vim command-line completion.
|
|
||||||
|
|
||||||
Vim versions lower than 7.4 *julia-vim-L2U-workaround*
|
|
||||||
|
|
||||||
The <Tab> key remapping is not performed by default with Vim versions lower
|
|
||||||
than 7.4. However, the functionality is still available via onmicompletion,
|
|
||||||
which is accessible by the CTRL-X CTRL-O key combination. You can map some
|
|
||||||
other key combination to this by adding something like
|
|
||||||
>
|
|
||||||
inoremap <C-Tab> <C-X><C-O>
|
|
||||||
<
|
|
||||||
in your |.vimrc| file. If you'd map <Tab> directly, then you'd need to use
|
|
||||||
CTRL-V <Tab> to insert a literal <Tab>.
|
|
||||||
|
|
||||||
The settings |g:latex_to_unicode_eager| and |g:latex_to_unicode_suggestions|
|
|
||||||
are still meaningful in this case.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
LATEX TO UNICODE AS YOU TYPE *julia-vim-L2U-as-you-type*
|
|
||||||
|
|
||||||
This feature is disabled by default, see |g:latex_to_unicode_auto|, and it is
|
|
||||||
only available with Vim version 7.4 or higher. It consists in substituting
|
|
||||||
valid LaTeX sequences with Unicode symbols automatically as the typing
|
|
||||||
progresses, as soon as the sequences is unambiguously complete. For example,
|
|
||||||
when typing:
|
|
||||||
>
|
|
||||||
\chi\^2 = 1
|
|
||||||
<
|
|
||||||
The result is
|
|
||||||
>
|
|
||||||
χ² = 1
|
|
||||||
<
|
|
||||||
The `\chi` is substituted right when the second backslash is entered, and the
|
|
||||||
`\^2` is substituted when the following space is entered, before the equal
|
|
||||||
sign.
|
|
||||||
|
|
||||||
This feature does not currently work with emojis.
|
|
||||||
|
|
||||||
This feature does not interfere with the <Tab> based substitution.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
LATEX TO UNICODE VIA KEYMAP *julia-vim-L2U-keymap*
|
|
||||||
|
|
||||||
This method is somewhat similar to the as-you-type one described above, but it
|
|
||||||
uses |keymap| to generate the mappings. This has the advantage that it works
|
|
||||||
in more circumstances, e.g. in |Command-line| mode or when searching within a
|
|
||||||
line with |f| or |t| (since it uses |language-mapping| underneath). It can
|
|
||||||
also be easily turned on or off like any other keymap (see |i_CTRL-^| and
|
|
||||||
|c_CTRL-^|). Like the as-you-type fature, it doesn't work with emojis.
|
|
||||||
The disadvantage is that you don't see the whole sequence as you're typing
|
|
||||||
it, and you can't fix mistakes with backspace, for example.
|
|
||||||
Another difference is that there is a |timeout| like for any other mapping.
|
|
||||||
|
|
||||||
In order to use this method, set |g:latex_to_unicode_keymap| to `1`.
|
|
||||||
You can use it in parallel with the other methods, they don't interfere. For
|
|
||||||
example, typing a partial sequence and pressing <Tab> still triggers
|
|
||||||
completions and suggestions if |g:latex_to_unicode_tab| is active.
|
|
||||||
|
|
||||||
If you use this feature, it's also useful to set |lCursor|.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
LATEX TO UNICODE ON DIFFERENT FILE TYPES *julia-vim-L2U-file-types*
|
|
||||||
|
|
||||||
By default, the LaTeX-to-Unicode substitutions are only active when editing
|
|
||||||
Julia files. However, you can use the variable |g:latex_to_unicode_file_types|
|
|
||||||
to specify for which file types this feature is active by default. The
|
|
||||||
variable must be set to a string containing a |pattern| (a regular expression)
|
|
||||||
which matches the desired file types, or to a list of such patterns. For
|
|
||||||
example, to activate the feature on all file types by default, you could put
|
|
||||||
this in your |.vimrc| file:
|
|
||||||
>
|
|
||||||
let g:latex_to_unicode_file_types = ".*"
|
|
||||||
<
|
|
||||||
To make it active only on, say, Julia and Lisp files, you could use:
|
|
||||||
>
|
|
||||||
let g:latex_to_unicode_file_types = ["julia", "lisp"]
|
|
||||||
<
|
|
||||||
|
|
||||||
Another option, |g:latex_to_unicode_file_types_blacklist|, can be used to
|
|
||||||
exclude certain file types. For example, if you'd wish to enable the feature
|
|
||||||
in all cases except for Python and untyped files, you would use:
|
|
||||||
>
|
|
||||||
let g:latex_to_unicode_file_types = ".*"
|
|
||||||
let g:latex_to_unicode_file_types_blacklist = ["python", ""]
|
|
||||||
<
|
|
||||||
|
|
||||||
NOTE: enabling the functionality will override the |'omnifunc'| setting, which
|
|
||||||
can be undesirable, and interfere with plug-ins for different file types. In
|
|
||||||
any case, the previous |'omnifunc'| setting is restored when the functionality
|
|
||||||
is disabled, see |julia-vim-L2U-enable-disable|.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
ENABLING AND DISABLING LATEX TO UNICODE *julia-vim-L2U-enable-disable*
|
|
||||||
|
|
||||||
The LaTeX-to-Unicode functionality can be enabled or disabled at any time,
|
|
||||||
regardless of the |'filetype'| of the file you're editing, using the functions
|
|
||||||
|LaTeXtoUnicode#Enable()|, |LaTeXtoUnicode#Disable()|, |LaTeXtoUnicode#Toggle()|.
|
|
||||||
For example, you could use a mapping like:
|
|
||||||
>
|
|
||||||
noremap <expr> <F7> LaTeXtoUnicode#Toggle()
|
|
||||||
noremap! <expr> <F7> LaTeXtoUnicode#Toggle()
|
|
||||||
<
|
|
||||||
and then use the <F7> key to quickly switch the functionality on and off as
|
|
||||||
needed (see |noremap| and |noremap!|).
|
|
||||||
|
|
||||||
NOTE: these functions are different from the variables |g:latex_to_unicode_tab|,
|
|
||||||
|g:latex_to_unicode_auto| and |g:latex_to_unicode_keymap|: the functions
|
|
||||||
enable/disable the functionality as a whole, while the variables control
|
|
||||||
individual features (tab, auto and keymap substitution).
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
VARIABLES *julia-vim-L2U-variables*
|
|
||||||
|
|
||||||
*g:latex_to_unicode_tab*
|
|
||||||
g:latex_to_unicode_tab
|
|
||||||
|
|
||||||
Determines whether to map LaTeX-to-Unicode substitution to the
|
|
||||||
<Tab> key while in |Insert| and |Command-line| modes, see
|
|
||||||
|julia-vim-L2U-tab|. If unspecified, it is on. You can disable
|
|
||||||
the feature by default by inserting the line
|
|
||||||
>
|
|
||||||
let g:latex_to_unicode_tab = 0
|
|
||||||
<
|
|
||||||
in your |.vimrc| file. You can change this setting at any moment
|
|
||||||
while editing, but you need to invoke |LaTeXtoUnicode#Init()|
|
|
||||||
for the change to take effect.
|
|
||||||
|
|
||||||
*g:latex_to_unicode_suggestions*
|
|
||||||
g:latex_to_unicode_suggestions
|
|
||||||
|
|
||||||
Determines whether the <Tab> key mapping produces suggestions
|
|
||||||
for partial matches. By default, this is set to 1 (active),
|
|
||||||
unless a plug-in which is known to be incompatible with it is
|
|
||||||
detected. Currently, known incompatible plug-ins are
|
|
||||||
YouCompleteMe (https://github.com/Valloric/YouCompleteMe),
|
|
||||||
neocomplcache (https://github.com/Shougo/neocomplcache.vim),
|
|
||||||
neocomplete (https://github.com/Shougo/neocomplete.vim) and
|
|
||||||
deoplete (https://github.com/Shougo/deoplete.nvim),
|
|
||||||
|
|
||||||
This variable can be set at any time, changes will immediately
|
|
||||||
take effect.
|
|
||||||
|
|
||||||
*g:latex_to_unicode_eager*
|
|
||||||
g:latex_to_unicode_eager
|
|
||||||
|
|
||||||
Determines whether the <Tab> key mapping performs the
|
|
||||||
substitution immediately upon finding an exact match. By
|
|
||||||
default this setting is set to 1 (active), so that e.g. typing
|
|
||||||
`\ne` and pressing the <Tab> key triggers the substitution. If
|
|
||||||
this variable is set to 0, an exact match which is also a
|
|
||||||
possible partial match to some other sequence triggers the
|
|
||||||
suggestions menu first, but another <Tab> forces the
|
|
||||||
substitution, so that e.g. typing `\ne` and then <Tab>
|
|
||||||
produces a list with `\ne`, `\neg`, `\nequiv` etc., and
|
|
||||||
pressing <Tab> again performs the substitution.
|
|
||||||
|
|
||||||
This variable can be set at any time, changes will immediately
|
|
||||||
take effect. When |g:latex_to_unicode_suggestions| is `0`,
|
|
||||||
this setting has no effect (it's like if it was always on).
|
|
||||||
|
|
||||||
*g:latex_to_unicode_auto*
|
|
||||||
g:latex_to_unicode_auto
|
|
||||||
|
|
||||||
Determines whether to activate LaTeX-to-Unicode substitution
|
|
||||||
on the fly as you type (in |Insert| mode), see
|
|
||||||
|julia-vim-L2U-as-you-type|. If unspecified, it is `0` (off).
|
|
||||||
You can enable the feature by default by inserting the line
|
|
||||||
>
|
|
||||||
let g:latex_to_unicode_auto = 1
|
|
||||||
<
|
|
||||||
in your |.vimrc| file. You can change this setting at any
|
|
||||||
moment while editing, but you need to invoke
|
|
||||||
|LaTeXtoUnicode#Init()| for the change to take effect.
|
|
||||||
|
|
||||||
|
|
||||||
*g:latex_to_unicode_keymap*
|
|
||||||
g:latex_to_unicode_keymap
|
|
||||||
|
|
||||||
Determines whether to activate the |keymap|-based
|
|
||||||
LaTeX-to-Unicode substitutions, see |julia-vim-L2U-keymap|.
|
|
||||||
If unspecified, it is `0` (off). You can enable the feature by
|
|
||||||
default by inserting the line
|
|
||||||
>
|
|
||||||
let g:latex_to_unicode_keymap = 1
|
|
||||||
<
|
|
||||||
in your |.vimrc| file. You can change this setting at any
|
|
||||||
moment while editing, but you need to invoke
|
|
||||||
|LaTeXtoUnicode#Init()| for the change to take effect.
|
|
||||||
|
|
||||||
*g:latex_to_unicode_file_types*
|
|
||||||
g:latex_to_unicode_file_types
|
|
||||||
|
|
||||||
Contains a |pattern|, or a list of patterns, which are matched
|
|
||||||
against the |'filetype'| to determine when to enable the
|
|
||||||
LaTeX-to-Unicode functionality, see |julia-vim-L2U-file-types|.
|
|
||||||
By default, its value is `"julia"`. The patterns provided must
|
|
||||||
match the whole filetype name. See also
|
|
||||||
|g:latex_to_unicode_file_types_blacklist|.
|
|
||||||
|
|
||||||
*g:latex_to_unicode_file_types_blacklist*
|
|
||||||
g:latex_to_unicode_file_types_blacklist
|
|
||||||
|
|
||||||
Same as |g:latex_to_unicode_file_types|, but acts in reverse:
|
|
||||||
it disables the LaTeX-to-Unicode functionality when the
|
|
||||||
|'filetype'| matches the provided pattern (or any of the
|
|
||||||
patterns if a list is provided). By default, it contains an
|
|
||||||
unmatchable pattern, i.e. it is effectively disabled.
|
|
||||||
|
|
||||||
*g:latex_to_unicode_cmd_mapping*
|
|
||||||
g:latex_to_unicode_cmd_mapping
|
|
||||||
|
|
||||||
Specifies the mapping (or list of mappings) for the
|
|
||||||
substitution in |Command-line| mode. By default, it is
|
|
||||||
`['<Tab>', '<S-Tab>']`, but it can be changed to avoid
|
|
||||||
overriding other user-defined mapping, e.g. to `'<S-Tab>'`
|
|
||||||
(if your terminal suppoorts it) or `'<C-\><Tab>'`.
|
|
||||||
The `'<Tab>'` (or to be more precise the |wildchar| key) and
|
|
||||||
`'<S-Tab>'` mappings are special in that they fall back to
|
|
||||||
performing default Vim completions in case no suitable
|
|
||||||
substitutions are found.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
FUNCTIONS *julia-vim-L2U-functions*
|
|
||||||
|
|
||||||
*LaTeXtoUnicode#Init()*
|
|
||||||
LaTeXtoUnicode#Init()
|
|
||||||
|
|
||||||
Initialize or re-initialize the LaTeX-to-Unicode substitutions
|
|
||||||
(see |julia-vim-L2U-introduction|). Must be invoked after
|
|
||||||
changing |g:latex_to_unicode_tab| or |g:latex_to_unicode_auto|
|
|
||||||
to make the changes take effect.
|
|
||||||
|
|
||||||
*LaTeXtoUnicode#Enable()*
|
|
||||||
*LaTeXtoUnicode#Disable()*
|
|
||||||
*LaTeXtoUnicode#Toggle()*
|
|
||||||
LaTeXtoUnicode#Enable()
|
|
||||||
LaTeXtoUnicode#Disable()
|
|
||||||
LaTeXtoUnicode#Toggle()
|
|
||||||
|
|
||||||
These functions enable/disable/toggle the LaTeX-to-Unicode
|
|
||||||
functionality, regardless of the |'filetype'| specified in
|
|
||||||
|g:latex_to_unicode_file_types| and
|
|
||||||
|g:latex_to_unicode_file_types_blacklist|. See
|
|
||||||
|julia-vim-L2U-enable-disable|. Note that LaTeXtoUnicode#Enable()
|
|
||||||
will override the |'omnifunc'| definition, if present. However,
|
|
||||||
LaTeXtoUnicode#Disable() will restore it.
|
|
||||||
These functions implicitly invoke |LaTeXtoUnicode#Init()|.
|
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:et:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,484 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'julia') == -1
|
|
||||||
|
|
||||||
*julia-vim.txt* Support for Julia in Vim
|
|
||||||
|
|
||||||
Author: Carlo Baldassi <carlobaldassi@gmail.com>
|
|
||||||
License: MIT license {{{
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
The above copyright notice and this permission notice shall be included
|
|
||||||
in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
||||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
||||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
||||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
}}}
|
|
||||||
|
|
||||||
CONTENTS *julia-vim*
|
|
||||||
|
|
||||||
Introduction |julia-vim-introduction|
|
|
||||||
Block-wise movements/objects |julia-vim-blocks|
|
|
||||||
Keyword-oriented movements |julia-vim-blocks-move|
|
|
||||||
Block-oriented movements |julia-vim-blocks-moveblock|
|
|
||||||
Block text objects |julia-vim-blocks-objects|
|
|
||||||
Variables |julia-vim-blocks-variables|
|
|
||||||
Referring to documents |julia-vim-doc|
|
|
||||||
Extras |julia-vim-extras|
|
|
||||||
Customizations |julia-vim-options|
|
|
||||||
About |julia-vim-about|
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
INTRODUCTION *julia-vim-introduction*
|
|
||||||
|
|
||||||
The julia-vim plug-in provides:
|
|
||||||
- basic support for editing Julia files (automatic filetype detection,
|
|
||||||
indentation, syntax highlighting)
|
|
||||||
- support for the |matchit| plugin
|
|
||||||
- support for Julia block-wise movements (i.e. jumping around between
|
|
||||||
Julia blocks like if/end, function/end etc.) and block text-objects
|
|
||||||
- facilities for conversion of LaTeX entries to Unicode symbols which mimic
|
|
||||||
and extend what the Julia REPL and the IJulia notebook interface do.
|
|
||||||
Optionally, this functionality can be used with all file types, not
|
|
||||||
just Julia files. See |julia-vim-L2U|.
|
|
||||||
- a keymapping |K| to refer julia documents.
|
|
||||||
|
|
||||||
This help file documents: 1) the block-wise movements and objects, how they
|
|
||||||
work and what variables can be used to enable/disable/tweak them; 2) The
|
|
||||||
documentation lookup facility; 3) Some extra functions and customization
|
|
||||||
options.
|
|
||||||
The LaTeX-to-Unicode facilities are documented in |julia-vim-L2U|.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
BLOCK-WISE MOVEMENTS AND BLOCK TEXT OBJECTS *julia-vim-blocks*
|
|
||||||
|
|
||||||
In Julia, all blocks start with a keyword (`module`, `function`, `if`, `for`,
|
|
||||||
`while`, `type`, etc.) and end with the `end` keyword.
|
|
||||||
|
|
||||||
This plug-in adds support for the |matchit| plugin, such that pressing |%| while
|
|
||||||
on a block keyword will jump to the other keywords pertaining to the same
|
|
||||||
block. For example, if the cursor is at the beginning of the following code:
|
|
||||||
>
|
|
||||||
if a == 1
|
|
||||||
if b > 0
|
|
||||||
println("yes")
|
|
||||||
end
|
|
||||||
else
|
|
||||||
println("no")
|
|
||||||
end
|
|
||||||
<
|
|
||||||
then pressing |%| will jump to the `else` keyword, pressing it again will jump
|
|
||||||
to `end`, and pressing it again will go back to the first `if`.
|
|
||||||
|
|
||||||
Note that the matchit plugin is normally distributed with ViM, but it is
|
|
||||||
disabled by default. To enable it, add this line to your |.vimrc| file:
|
|
||||||
>
|
|
||||||
runtime macros/matchit.vim
|
|
||||||
<
|
|
||||||
The julia-vim plug-in also adds commands to jump around block keywords in
|
|
||||||
normal, operator-pending and visual modes (see |vim-modes|). These are somehow
|
|
||||||
similar to the |]]| and |]m| mappings when used in C and Java files,
|
|
||||||
respectively, but are more powerful. These commands also require that the
|
|
||||||
matchit plugin is enabled.
|
|
||||||
|
|
||||||
There are two families of block movements, keyword-oriented (see
|
|
||||||
|julia-vim-blocks-move|) and block-oriented (see
|
|
||||||
|julia-vim-blocks-blockmove|).
|
|
||||||
|
|
||||||
Finally, this plug-in also adds block |text-objects| special mappings, so that
|
|
||||||
whole blocks can be manipulated as a whole when in visual mode or
|
|
||||||
operator-pending mode, see |julia-vim-block-objects|.
|
|
||||||
|
|
||||||
The block movements and block objects mappings can be collectively disabled,
|
|
||||||
see |g:julia_blocks|, and customized, see |g:julia_blocks_mappings|.
|
|
||||||
|
|
||||||
NOTE: in all cases, macros at the beginning of a block are considered as part
|
|
||||||
of the block itself. For example, in this code:
|
|
||||||
>
|
|
||||||
@inbounds for i = 1:5
|
|
||||||
s += v[i]
|
|
||||||
end
|
|
||||||
<
|
|
||||||
the block begins at `@inbounds`.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
KEYWORD-ORIENTED MOVEMENTS *julia-vim-blocks-move*
|
|
||||||
|
|
||||||
These movements jump to the following/preceding block keyword, and they
|
|
||||||
differentiate between begin keywords and end keywords. Some block keywords can
|
|
||||||
also be used outside blocks (e.g. `for` in comprehensions, or `end` within
|
|
||||||
indexing expressions): these instances are ignored by these commands.
|
|
||||||
|
|
||||||
The following movements are provided:
|
|
||||||
|
|
||||||
*julia_]j* *julia_]J* *julia_[j* *julia_[J*
|
|
||||||
move_n : jumps to the next begin keyword. By default, it is mapped to `]j`.
|
|
||||||
move_N : jumps to the next end keyword. By default, it is mapped to `]J`.
|
|
||||||
move_p : jumps to the preceding begin keyword. By default, it is mapped to `[j`.
|
|
||||||
move_P : jumps to the preceding end keyword. By default, it is mapped to `[J`.
|
|
||||||
|
|
||||||
Use |g:julia_blocks_mappings| to customize the mappings.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
BLOCK-ORIENTED MOVEMENTS *julia-vim-blocks-moveblock*
|
|
||||||
|
|
||||||
These movements are like keyword-oriented movements (|julia-vim-blocks-move|),
|
|
||||||
except that they ignore nested blocks within the block where the cursor is.
|
|
||||||
For example, given the following code (with line annotations):
|
|
||||||
>
|
|
||||||
1 while true
|
|
||||||
2 a += 1
|
|
||||||
3 if a > 5
|
|
||||||
4 break
|
|
||||||
5 end
|
|
||||||
6 end
|
|
||||||
7 if b == 2
|
|
||||||
8 return
|
|
||||||
9 end
|
|
||||||
<
|
|
||||||
if the cursor is on line 2, these movements will ignore the inner
|
|
||||||
`if/end` block (lines 3 to 5). You would then be able to jump directly
|
|
||||||
to lines 1 (with `[[`), 6 (with `][`), 7 (with `]]`), or 9 (with `2][`).
|
|
||||||
|
|
||||||
The following movements are provided:
|
|
||||||
|
|
||||||
*julia_]]* *julia_][* *julia_[[* *julia_[]*
|
|
||||||
moveblock_n : gets out from the current block (if any) and jumps to the next
|
|
||||||
begin keyword. (Similar to |w| for word movements.) By default,
|
|
||||||
it is mapped to `]]`.
|
|
||||||
moveblock_N : jumps to the end of the current block, if any. If the cursor is
|
|
||||||
already at the end of a block, jumps to the end of the following
|
|
||||||
block at the same level of the current one, or at the end of the
|
|
||||||
enclosing block. (Similar to |e| for word movements.) By
|
|
||||||
default, it is mapped to `][`.
|
|
||||||
moveblock_p : jumps to the beginning of the current block, if any. If the
|
|
||||||
cursor is already at the beginning of a block, jumps to the
|
|
||||||
beginning of the preceding block at the same level of the
|
|
||||||
current one, or at the beginning of the enclosing block.
|
|
||||||
(Similar to |b| for word movements.) By default, it is mapped to
|
|
||||||
`[[`.
|
|
||||||
moveblock_P : gets out from the current block (if any) and jumps to the
|
|
||||||
preceding end keyword. (Similar to |ge| for word movements.)
|
|
||||||
By default, it is mapped to `[]`.
|
|
||||||
|
|
||||||
Use |g:julia_blocks_mappings| to customize the mappings.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
BLOCK TEXT OBJECTS *julia-vim-blocks-objects*
|
|
||||||
|
|
||||||
The julia-vim plug-in extends the ViM |text-objects| by defining special
|
|
||||||
mappings which allow to operate on blocks as a whole when in visual mode
|
|
||||||
or operator-pending mode. The default mappings use `aj` and `ij` to refer to
|
|
||||||
these objects.
|
|
||||||
For example, given the following code (with line annotations):
|
|
||||||
>
|
|
||||||
1 while true
|
|
||||||
2 a += 1
|
|
||||||
3 if a > 5
|
|
||||||
4 break
|
|
||||||
5 end
|
|
||||||
6 end
|
|
||||||
<
|
|
||||||
if the cursor is on `break` on line 4, pressing `vaj` will select the whole
|
|
||||||
inner `if` block (lines 3 to 5), and pressing `aj` again will select the whole
|
|
||||||
`while` block (lines 1 to 6). The same effect could have been obtained with a
|
|
||||||
counter, i.e. using `v2aj`. If the cursor were initially on line 2, the whole
|
|
||||||
`while` block would have been selected with the first `vaj`. Using `daj` would
|
|
||||||
delete a block, `caj` would delete it and leave ViM in insert mode, `=aj`
|
|
||||||
would indent it, etc.
|
|
||||||
Starting from line 2, pressing `vij` wuold only select the inner part of the
|
|
||||||
`while` block (lines 2 to 5).
|
|
||||||
|
|
||||||
The following mappings are provided:
|
|
||||||
|
|
||||||
*julia_aj* *julia_ij*
|
|
||||||
select_a : the block which contains the cursor, including its delimiters.
|
|
||||||
By default, this is mapped to `aj`. Repeated application (e.g.
|
|
||||||
`vajaj`) selects the enclosing blocks. A counter can be used to
|
|
||||||
the same effect as repetition (e.g. `v2aj`).
|
|
||||||
select_i : same as select_a, but only selects the lines included between the
|
|
||||||
delimiters. Thus, this does not work with single-line blocks.
|
|
||||||
By default, this is mapped to `ij`. Repeated application (e.g.
|
|
||||||
`vijij`) has no effect, but using a counter has the same effect as
|
|
||||||
using "select_a" and then selecting the inner part of the outermost
|
|
||||||
block. For example, with the default mappings, `v3ij` is the same as
|
|
||||||
`v3ajij`, or `vajajajij`.
|
|
||||||
|
|
||||||
Use |g:julia_blocks_mappings| to customize the mappings.
|
|
||||||
|
|
||||||
The following auxiliary function is only mapped to normal mode:
|
|
||||||
|
|
||||||
*julia_whereami*
|
|
||||||
whereami : this mapping prints the first line of the current block on the
|
|
||||||
command line. If invoked repeatedly, or if given a count, it prints
|
|
||||||
the first line of the enclosing blocks, like `select_a`. If followed
|
|
||||||
by `select_a`, the selection, or operation, will refer to the last
|
|
||||||
block printed. By default, it is not mapped to any key, but a
|
|
||||||
mapping can be easily provided in |g:julia_blocks_mappings|. It is
|
|
||||||
possible to obtain the string, instead of having it printed, by
|
|
||||||
calling the function `julia_blocks#whereami()`. In such case, use
|
|
||||||
the function `julia_blocks#select_reset()` to reset the block
|
|
||||||
nesting level.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
VARIABLES *julia-vim-blocks-variables*
|
|
||||||
|
|
||||||
*g:julia_blocks*
|
|
||||||
g:julia_blocks
|
|
||||||
|
|
||||||
Determines whether to map block-wise movements and objects. If
|
|
||||||
unspecified, it is on. You can disable the feature by default
|
|
||||||
by inserting the line
|
|
||||||
>
|
|
||||||
let g:julia_blocks = 0
|
|
||||||
<
|
|
||||||
in your |.vimrc| file.
|
|
||||||
|
|
||||||
*g:julia_blocks_mappings*
|
|
||||||
g:julia_blocks_mappings
|
|
||||||
|
|
||||||
Custom mapping for block-wise movements. This must be a |dict|
|
|
||||||
associating movements to key combinations. Use empty strings
|
|
||||||
to disable individual mappings. The following is equivalent
|
|
||||||
to the default mappings (see |julia-vim-blocks-moveblock|,
|
|
||||||
|julia-vim-blocks-move| and |julia-vim-blocks-objects|):
|
|
||||||
>
|
|
||||||
let g:julia_blocks_mappings = {
|
|
||||||
\ "move_n" : "]j",
|
|
||||||
\ "move_N" : "]J",
|
|
||||||
\ "move_p" : "[j",
|
|
||||||
\ "move_P" : "[J",
|
|
||||||
\
|
|
||||||
\ "moveblock_n" : "]]",
|
|
||||||
\ "moveblock_N" : "][",
|
|
||||||
\ "moveblock_p" : "[[",
|
|
||||||
\ "moveblock_P" : "[]",
|
|
||||||
\
|
|
||||||
\ "select_a" : "aj",
|
|
||||||
\ "select_i" : "ij",
|
|
||||||
\
|
|
||||||
\ "whereami" : "",
|
|
||||||
\ }
|
|
||||||
<
|
|
||||||
You can change individual mappings by writing something like
|
|
||||||
this in your |.vimrc| file:
|
|
||||||
>
|
|
||||||
let g:julia_blocks_mappings = {
|
|
||||||
\ "move_N" : "]n",
|
|
||||||
\ "move_P" : "[n",
|
|
||||||
\ "whereami" : "<Leader>j",
|
|
||||||
\ }
|
|
||||||
<
|
|
||||||
Or you can disable individual mappings by writing something like
|
|
||||||
this in your |.vimrc| file:
|
|
||||||
>
|
|
||||||
let g:julia_blocks_mappings = {
|
|
||||||
\ "moveblock_n" : "",
|
|
||||||
\ "moveblock_p" : "",
|
|
||||||
\ }
|
|
||||||
<
|
|
||||||
All unspecified entries keep their default value.
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
REFERRING TO DOCUMENTATION *julia-vim-doc*
|
|
||||||
|
|
||||||
*julia-vim-K*
|
|
||||||
K
|
|
||||||
Look up documentation for the keyword under the cursor. If found,
|
|
||||||
a preview window with the documentation is opened.
|
|
||||||
|
|
||||||
This also works for keywords within the opened preview window,
|
|
||||||
allowing effortless browsing of the documentation.
|
|
||||||
|
|
||||||
(This is not really a key mapping, but uses the built-in
|
|
||||||
|keywordprg|-mechanism in vim; see |K| if you're curious).
|
|
||||||
|
|
||||||
|
|
||||||
*<Plug>(JuliaDocPrompt)*
|
|
||||||
<Plug>(JuliaDocPrompt)
|
|
||||||
Open a prompt for keyword documentation lookup. If you don't use |?|
|
|
||||||
for backward search, you can use the following to make `?` work like
|
|
||||||
in the Julia REPL:
|
|
||||||
>
|
|
||||||
autocmd FileType julia nmap <buffer> ? <Plug>(JuliaDocPrompt)
|
|
||||||
<
|
|
||||||
Apply |:augroup| as needed.
|
|
||||||
|
|
||||||
|
|
||||||
*:JuliaDoc*
|
|
||||||
:JuliaDoc {keyword}
|
|
||||||
Look up documentation for {keyword}.
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
EXTRAS *julia-vim-extras*
|
|
||||||
|
|
||||||
|
|
||||||
*julia#toggle_function_blockassign*
|
|
||||||
*julia#function_block2assign*
|
|
||||||
*julia#function_assign2block*
|
|
||||||
julia#toggle_function_blockassign()
|
|
||||||
julia#function_block2assign()
|
|
||||||
julia#function_assign2block()
|
|
||||||
|
|
||||||
These functions allow to transform function definitions
|
|
||||||
between block format and assignment format. For example,
|
|
||||||
these two definitions are equivalent:
|
|
||||||
>
|
|
||||||
function test(x, y)
|
|
||||||
x + 2y
|
|
||||||
end
|
|
||||||
|
|
||||||
test(x, y) = x + 2y
|
|
||||||
<
|
|
||||||
You can use the function `julia#toggle_function_blockassign()`
|
|
||||||
to switch between the two forms (the cursor needs to be on the
|
|
||||||
first line of the block form). This functionality requires
|
|
||||||
that the |matchit| plugin is loaded. Only three-line function
|
|
||||||
blocks like the one in the example are recognized. When
|
|
||||||
changing the block form into the assignment form, `return`
|
|
||||||
statements are removed; if the result is empty, `nothing` is
|
|
||||||
substituted. Leading macros (e.g. `@inline` or `@compat`) are
|
|
||||||
recognized and preserved by the transformation.
|
|
||||||
|
|
||||||
In order to make this functionality practical, it is advisable
|
|
||||||
to map it to some key combination, e.g.:
|
|
||||||
>
|
|
||||||
noremap <Leader>fb :call julia#toggle_function_blockassign()<CR>
|
|
||||||
<
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CUSTOMIZATIONS *julia-vim-options*
|
|
||||||
|
|
||||||
The following options allows customizing some aspects of the plugin.
|
|
||||||
|
|
||||||
*g:julia_spellcheck_docstrings*
|
|
||||||
g:julia_spellcheck_docstrings
|
|
||||||
|
|
||||||
Determines whether to enable spell-checking for docstrings,
|
|
||||||
i.e. triple quoted strings that start in the first column. See
|
|
||||||
|spell|. Default: on (set to `1`).
|
|
||||||
|
|
||||||
*g:julia_spellcheck_strings*
|
|
||||||
g:julia_spellcheck_strings
|
|
||||||
|
|
||||||
Determines whether to enable spell-checking for all strings.
|
|
||||||
See |spell|. Default: off (set to `0`).
|
|
||||||
|
|
||||||
*g:julia_spellcheck_comments*
|
|
||||||
g:julia_spellcheck_comments
|
|
||||||
|
|
||||||
Determines whether to enable spell-checking for comments. See
|
|
||||||
|spell|. Default: on (set to `1`).
|
|
||||||
|
|
||||||
*g:julia_highlight_operators*
|
|
||||||
g:julia_highlight_operators
|
|
||||||
|
|
||||||
Determines whether to apply syntax highlighting to operators.
|
|
||||||
Default: on (set to `1`).
|
|
||||||
|
|
||||||
*g:julia_indent_align_import*
|
|
||||||
g:julia_indent_align_import
|
|
||||||
|
|
||||||
In a multi-line import/using/export statment, the lines after
|
|
||||||
the first one use some special alignment rules by default,
|
|
||||||
e.g.:
|
|
||||||
>
|
|
||||||
import X: one,
|
|
||||||
two,
|
|
||||||
three
|
|
||||||
export four,
|
|
||||||
five,
|
|
||||||
six
|
|
||||||
<
|
|
||||||
When `g:julia_indent_align_import` is `0` instead, the usual
|
|
||||||
indentation is used:
|
|
||||||
>
|
|
||||||
import X: one,
|
|
||||||
two,
|
|
||||||
three
|
|
||||||
export four,
|
|
||||||
five,
|
|
||||||
six
|
|
||||||
|
|
||||||
*g:julia_indent_align_brackets*
|
|
||||||
g:julia_indent_align_brackets
|
|
||||||
|
|
||||||
In a multi-line bracketed expression (except for function
|
|
||||||
arguments, see |g:julia_indent_align_funcargs|), the lines
|
|
||||||
after the first one use some special alignment rules by
|
|
||||||
default, e.g.:
|
|
||||||
>
|
|
||||||
matrix = [1 2 3;
|
|
||||||
4 5 6]
|
|
||||||
tpl = (
|
|
||||||
abc = Dict(a=>1,
|
|
||||||
b=>2),
|
|
||||||
def = [1 2;
|
|
||||||
3 4],
|
|
||||||
xyz = SubArray{eltype(P),
|
|
||||||
N, P, I,
|
|
||||||
false}
|
|
||||||
)
|
|
||||||
<
|
|
||||||
When `g:julia_indent_align_brackets` is `0` instead, an extra
|
|
||||||
indent is used:
|
|
||||||
>
|
|
||||||
matrix = [1 2 3;
|
|
||||||
4 5 6]
|
|
||||||
tpl = (
|
|
||||||
abc = Dict(a=>1,
|
|
||||||
b=>2),
|
|
||||||
def = [1 2;
|
|
||||||
3 4],
|
|
||||||
xyz = SubArray{eltype(P),
|
|
||||||
N, P, I,
|
|
||||||
false}
|
|
||||||
)
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:julia_indent_align_funcargs*
|
|
||||||
g:julia_indent_align_funcargs
|
|
||||||
|
|
||||||
In a function definition, when the arguments span multiple
|
|
||||||
lines, the lines after the first one get an extra indentation
|
|
||||||
step by default, e.g.:
|
|
||||||
>
|
|
||||||
function functionanme(
|
|
||||||
arg1, arg2,
|
|
||||||
arg3, arg4
|
|
||||||
)
|
|
||||||
# function body
|
|
||||||
end
|
|
||||||
<
|
|
||||||
By setting `g:julia_indent_align_funcargs` to `1`, the
|
|
||||||
arguments are aligned to the bracket instead (they work as any
|
|
||||||
other bracket with the default value of
|
|
||||||
|g:julia_indent_align_brackets|):
|
|
||||||
>
|
|
||||||
function functionanme(arg1, arg2,
|
|
||||||
arg3, arg4
|
|
||||||
)
|
|
||||||
# function body
|
|
||||||
end
|
|
||||||
<
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
ABOUT *julia-vim-about*
|
|
||||||
|
|
||||||
Grab the latest version or report a bug on GitHub:
|
|
||||||
|
|
||||||
http://github.com/JuliaEditorSupport/julia-vim
|
|
||||||
|
|
||||||
vim:tw=78:et:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
443
doc/ledger.txt
443
doc/ledger.txt
@@ -1,443 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ledger') == -1
|
|
||||||
|
|
||||||
*ledger.txt* Plugin for the ledger filetype.
|
|
||||||
|
|
||||||
|
|
||||||
*ledger* *ledger-plugin*
|
|
||||||
|
|
||||||
Contents:
|
|
||||||
|
|
||||||
Commands............|ledger-invoking|
|
|
||||||
Source................|ledger-source|
|
|
||||||
Usage..................|ledger-usage|
|
|
||||||
Tips....................|ledger-tips|
|
|
||||||
Reports..............|ledger-reports|
|
|
||||||
Settings............|ledger-settings|
|
|
||||||
Completion........|ledger-completion|
|
|
||||||
License..............|ledger-license|
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
USAGE *ledger-usage*
|
|
||||||
|
|
||||||
Copy each file to the corresponding directory in your ~/.vim directory or
|
|
||||||
install using Pathogen.
|
|
||||||
|
|
||||||
You can also use a modeline like this in every ledger file:
|
|
||||||
|
|
||||||
vim:filetype=ledger
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
TIPS *ledger-tips*
|
|
||||||
|
|
||||||
Tips and useful commands
|
|
||||||
|
|
||||||
* vim-ledger can do syntax-sensitive folding when you set `foldmethod=syntax`
|
|
||||||
in the |modeline| of your ledger file. This way transactions can shrink down
|
|
||||||
to just one line.
|
|
||||||
|
|
||||||
* Try account-completion (as explained below). If you use YouCompleteMe, you
|
|
||||||
should disable it for Ledger files. Put this in your .vimrc:
|
|
||||||
|
|
||||||
if exists('g:ycm_filetype_blacklist')
|
|
||||||
call extend(g:ycm_filetype_blacklist, { 'ledger': 1 })
|
|
||||||
endif
|
|
||||||
|
|
||||||
* You may use `:make` for syntax checking. It may be convenient to define a
|
|
||||||
mapping for the following command:
|
|
||||||
|
|
||||||
:silent make | redraw! | cwindow
|
|
||||||
|
|
||||||
It is recommended to set the value of `g:ledger_extra_options` (see below)
|
|
||||||
as follows:
|
|
||||||
|
|
||||||
let g:ledger_extra_options = '--pedantic --explicit --check-payees'
|
|
||||||
|
|
||||||
to catch most potential problems in your source file.
|
|
||||||
|
|
||||||
* Remap vim paragraph motion to move by transaction.
|
|
||||||
|
|
||||||
In vim, the "{" and "}" keystrokes move the cursor up and down by whole
|
|
||||||
paragraphs. They can be redefined in ledger files to move by transaction
|
|
||||||
instead. Add these lines to .vimrc:
|
|
||||||
|
|
||||||
au FileType ledger noremap { ?^\d<CR>
|
|
||||||
au FileType ledger noremap } /^\d<CR>
|
|
||||||
|
|
||||||
The default definitions already work in ledger files that separate
|
|
||||||
transactions with blank lines.
|
|
||||||
|
|
||||||
* `:call ledger#transaction_date_set(line('.'), "auxiliary")`
|
|
||||||
|
|
||||||
will set today's date as the auxiliary date of the current transaction. You
|
|
||||||
can use also "primary" or "unshift" in place of "auxiliary". When you pass
|
|
||||||
"unshift" the old primary date will be set as the auxiliary date and today's
|
|
||||||
date will be set as the new primary date.
|
|
||||||
To use a different date pass a date measured in seconds since 1st Jan 1970
|
|
||||||
as the third argument.
|
|
||||||
|
|
||||||
* `:call ledger#transaction_state_set(line('.'), '*')`
|
|
||||||
|
|
||||||
sets the state of the current transaction to '*'. You can use this in custom
|
|
||||||
mappings.
|
|
||||||
|
|
||||||
* `:call ledger#transaction_state_toggle(line('.'), ' *?!')`
|
|
||||||
|
|
||||||
will toggle through the provided transaction states. You can map this to
|
|
||||||
double-clicking for example:
|
|
||||||
|
|
||||||
noremap <silent><buffer> <2-LeftMouse>\
|
|
||||||
:call ledger#transaction_state_toggle(line('.'), ' *?!')<CR>
|
|
||||||
|
|
||||||
* `:LedgerAlign`
|
|
||||||
|
|
||||||
moves the amount expression of a posting so that the decimal separator is
|
|
||||||
aligned at the column specified by g:ledger_align_at. If an amount has no
|
|
||||||
decimal point, the imaginary decimal point to the right of the least
|
|
||||||
significant digit will align. The command acts on a range, with the default
|
|
||||||
being the current line.
|
|
||||||
|
|
||||||
The decimal separator can be set using `g:ledger_decimal_sep`. The default
|
|
||||||
value of `g:ledger_decimal_sep` is `'.'`.
|
|
||||||
|
|
||||||
See below for the recommended mappings.
|
|
||||||
|
|
||||||
* `:call ledger#align_amount_at_cursor()`
|
|
||||||
|
|
||||||
aligns the amount under the cursor and append/prepend the default currency.
|
|
||||||
The default currency can be set using `g:ledger_default_commodity`. Whether
|
|
||||||
the commodity should be inserted before the amount or appended to it can be
|
|
||||||
configured with the boolean flag `g:ledger_commodity_before` (the default
|
|
||||||
value is 1). A separator between the commodity and the amount may be set
|
|
||||||
using `g:ledger_commodity_sep`.
|
|
||||||
|
|
||||||
See below for the recommended mappings.
|
|
||||||
|
|
||||||
* `:call ledger#autocomplete_and_align()`
|
|
||||||
|
|
||||||
when the cursor is on a number or immediately after it, invokes
|
|
||||||
`ledger#align_amount_at_cursor()` to align it and add the default currency;
|
|
||||||
otherwise, performs autocompletion. If you define the following mappings in
|
|
||||||
your `.vimrc` then you may perform both autocompletion and alignment using
|
|
||||||
the <Tab> key:
|
|
||||||
|
|
||||||
au FileType ledger inoremap <silent> <Tab> \
|
|
||||||
<C-r>=ledger#autocomplete_and_align()<CR>
|
|
||||||
au FileType ledger vnoremap <silent> <Tab> :LedgerAlign<CR>
|
|
||||||
|
|
||||||
Alternatively, you may create a file `.vim/after/ftplugin/ledger.vim`
|
|
||||||
containing the following definitions:
|
|
||||||
|
|
||||||
inoremap <silent> <buffer> <Tab> \
|
|
||||||
<C-r>=ledger#autocomplete_and_align()<CR>
|
|
||||||
vnoremap <silent> <buffer> <Tab> :LedgerAlign<CR>
|
|
||||||
|
|
||||||
Now, you may type `asset:check<Tab><Space>123.45<Tab>`, and have the
|
|
||||||
account name autocompleted and `$123.45` properly aligned (assuming your
|
|
||||||
default commodity is set to `'$'`). Or you may press <Tab> in Visual mode
|
|
||||||
to align a number of transactions at once.
|
|
||||||
|
|
||||||
* `:call ledger#entry()`
|
|
||||||
|
|
||||||
enters a new transaction based on the text in the current line.
|
|
||||||
The text in the current line is replaced by the new transaction.
|
|
||||||
This is a front end to `ledger entry`.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
REPORTS *ledger-reports*
|
|
||||||
|
|
||||||
* `:Ledger`
|
|
||||||
|
|
||||||
Executes an arbitrary Ledger command and sends the output to a new buffer.
|
|
||||||
For example:
|
|
||||||
|
|
||||||
:Ledger bal ^assets ^liab
|
|
||||||
|
|
||||||
Errors are displayed in a quickfix window. The command offers account and
|
|
||||||
payee autocompletion (by pressing <Tab>): every name starting with `@` is
|
|
||||||
autocompleted as a payee; any other name is autocompleted as an account.
|
|
||||||
|
|
||||||
In a report buffer or in the quickfix window, you may press <Tab> to switch
|
|
||||||
back to your source file, and you may press `q` to dismiss the current window.
|
|
||||||
|
|
||||||
There are three highlight groups that are used to color the report:
|
|
||||||
|
|
||||||
* `LedgerNumber`
|
|
||||||
|
|
||||||
This is used to color nonnegative numbers.
|
|
||||||
|
|
||||||
* `LedgerNegativeNumber`
|
|
||||||
|
|
||||||
This is used to color negative numbers.
|
|
||||||
|
|
||||||
* `LedgerImproperPerc`
|
|
||||||
|
|
||||||
This is used to color improper percentages.
|
|
||||||
|
|
||||||
* `:Balance`
|
|
||||||
|
|
||||||
Show the pending and cleared balance of a given account below the status
|
|
||||||
line. For example:
|
|
||||||
|
|
||||||
:Balance checking:savings
|
|
||||||
|
|
||||||
The command offers payee and account autocompletion (see `:Ledger`). The
|
|
||||||
account argument is optional: if no argument is given, the first account
|
|
||||||
name found in the current line is used.
|
|
||||||
|
|
||||||
Two highlight groups can be used to customize the colors of the line:
|
|
||||||
|
|
||||||
* `LedgerCleared`
|
|
||||||
|
|
||||||
This is used to color the cleared balance.
|
|
||||||
|
|
||||||
* `LedgerPending`
|
|
||||||
|
|
||||||
This is used to color the pending balance.
|
|
||||||
|
|
||||||
* `:Register`
|
|
||||||
|
|
||||||
Opens an arbitrary register report in the quickfix window. For example:
|
|
||||||
|
|
||||||
:Register groceries -p 'this month'
|
|
||||||
|
|
||||||
The command offers account and payee autocompletion (see |:Ledger|). You
|
|
||||||
may use the standard quickfix commands to jump from an entry in the register
|
|
||||||
report to the corresponding location in the source file. If you use GUI Vim
|
|
||||||
or if your terminal has support for the mouse (e.g., iTerm2, or even
|
|
||||||
Terminal.app in OS X 10.11 or later), you may also double-click on a line
|
|
||||||
number in the quickfix window to jump to the corresponding posting.
|
|
||||||
|
|
||||||
It is strongly recommended that you add mappings for common quickfix
|
|
||||||
commands like `:cprev` and `:cnext`, or that you use T. Pope's Unimpaired
|
|
||||||
plugin.
|
|
||||||
|
|
||||||
* :`Reconcile`
|
|
||||||
|
|
||||||
Reconcile an account. For example:
|
|
||||||
|
|
||||||
:Reconcile checking
|
|
||||||
|
|
||||||
After you press Enter, you will be asked to enter a target amount (use
|
|
||||||
Vim's syntax for numbers, not your ledger's format). For example, for a
|
|
||||||
checking account, the target amount may be the balance of your latest bank
|
|
||||||
statement. The list of uncleared postings appears in the quickfix window.
|
|
||||||
The current balance of the account, together with the difference between the
|
|
||||||
target amount and the cleared balance, is shown at the bottom of the screen.
|
|
||||||
You may use standard quickfix commands to navigate through the postings. You
|
|
||||||
may use |ledger#transaction_state_set()| to update a transaction's state.
|
|
||||||
Every time you save your file, the balance and the difference from the
|
|
||||||
target amount are updated at the bottom of the screen. The goal, of course,
|
|
||||||
is to get such difference to zero. You may press `<C-l>` to refresh the
|
|
||||||
Reconcile buffer. To finish reconciling an account, simply close the
|
|
||||||
quickfix window.
|
|
||||||
|
|
||||||
There is a highlight group to customize the color of the difference from
|
|
||||||
target:
|
|
||||||
|
|
||||||
* `LedgerTarget`
|
|
||||||
|
|
||||||
This is used to color the difference between the target amount and the
|
|
||||||
cleared balance.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
SETTINGS *ledger-settings*
|
|
||||||
|
|
||||||
Configuration
|
|
||||||
|
|
||||||
Include the following let-statements somewhere in your `.vimrc` to modify the
|
|
||||||
behaviour of the ledger filetype.
|
|
||||||
|
|
||||||
* Path to the `ledger` executable:
|
|
||||||
|
|
||||||
let g:ledger_bin = 'ledger'
|
|
||||||
|
|
||||||
* Additional default options for the `ledger` executable:
|
|
||||||
|
|
||||||
let g:ledger_extra_options = ''
|
|
||||||
|
|
||||||
* To use a custom external system command to generate a list of account names
|
|
||||||
for completion, set the following. If g:ledger_bin is set, this will default
|
|
||||||
to running that command with arguments to parse the current file using the
|
|
||||||
accounts subcommand (works with ledger or hledger), otherwise it will parse
|
|
||||||
the postings in the current file itself.
|
|
||||||
|
|
||||||
let g:ledger_accounts_cmd = 'your_command args'
|
|
||||||
|
|
||||||
* To use a custom external system command to generate a list of descriptions
|
|
||||||
for completion, set the following. If g:ledger_bin is set, this will default
|
|
||||||
to running that command with arguments to parse the current file using the
|
|
||||||
descriptions subcommand (works with ledger or hledger), otherwise it will
|
|
||||||
parse the transactions in the current file itself.
|
|
||||||
|
|
||||||
let g:ledger_descriptions_cmd = 'your_command args'
|
|
||||||
|
|
||||||
* Number of columns that will be used to display the foldtext. Set this when
|
|
||||||
you think that the amount is too far off to the right.
|
|
||||||
|
|
||||||
let g:ledger_maxwidth = 80
|
|
||||||
|
|
||||||
* String that will be used to fill the space between account name and amount in
|
|
||||||
the foldtext. Set this to get some kind of lines or visual aid.
|
|
||||||
|
|
||||||
let g:ledger_fillstring = ' -'
|
|
||||||
|
|
||||||
* If you want the account completion to be sorted by level of detail/depth
|
|
||||||
instead of alphabetical, include the following line:
|
|
||||||
|
|
||||||
let g:ledger_detailed_first = 1
|
|
||||||
|
|
||||||
* By default vim will fold ledger transactions, leaving surrounding blank lines
|
|
||||||
unfolded. You can use 'g:ledger_fold_blanks' to hide blank lines following a
|
|
||||||
transaction.
|
|
||||||
|
|
||||||
let g:ledger_fold_blanks = 0
|
|
||||||
|
|
||||||
A value of 0 will disable folding of blank lines, 1 will allow folding of a
|
|
||||||
single blank line between transactions; any larger value will enable folding
|
|
||||||
unconditionally.
|
|
||||||
|
|
||||||
Note that only lines containing no trailing spaces are considered for
|
|
||||||
folding. You can take advantage of this to disable this feature on a
|
|
||||||
case-by-case basis.
|
|
||||||
|
|
||||||
* Decimal separator:
|
|
||||||
|
|
||||||
let g:ledger_decimal_sep = '.'
|
|
||||||
|
|
||||||
* Specify at which column decimal separators should be aligned:
|
|
||||||
|
|
||||||
let g:ledger_align_at = 60
|
|
||||||
|
|
||||||
* Default commodity used by `ledger#align_amount_at_cursor()`:
|
|
||||||
|
|
||||||
let g:ledger_default_commodity = ''
|
|
||||||
|
|
||||||
* Flag that tells whether the commodity should be prepended or appended to the
|
|
||||||
amount:
|
|
||||||
|
|
||||||
let g:ledger_commodity_before = 1
|
|
||||||
|
|
||||||
* String to be put between the commodity and the amount:
|
|
||||||
|
|
||||||
let g:ledger_commodity_sep = ''
|
|
||||||
|
|
||||||
* Flag that enable the spelling of the amount:
|
|
||||||
|
|
||||||
let g:ledger_commodity_spell = 1
|
|
||||||
|
|
||||||
* Format of transaction date:
|
|
||||||
|
|
||||||
let g:ledger_date_format = '%Y/%m/%d'
|
|
||||||
|
|
||||||
* The file to be used to generate reports:
|
|
||||||
|
|
||||||
let g:ledger_main = '%'
|
|
||||||
|
|
||||||
The default is to use the current file.
|
|
||||||
|
|
||||||
* Position of a report buffer:
|
|
||||||
|
|
||||||
let g:ledger_winpos = 'B'
|
|
||||||
|
|
||||||
Use `b` for bottom, `t` for top, `l` for left, `r` for right. Use uppercase letters
|
|
||||||
if you want the window to always occupy the full width or height.
|
|
||||||
|
|
||||||
* Format of quickfix register reports (see |:Register|):
|
|
||||||
|
|
||||||
let g:ledger_qf_register_format = \
|
|
||||||
'%(date) %-50(payee) %-30(account) %15(amount) %15(total)\n'
|
|
||||||
|
|
||||||
The format is specified using the standard Ledger syntax for --format.
|
|
||||||
|
|
||||||
* Format of the reconcile quickfix window (see |:Reconcile|):
|
|
||||||
|
|
||||||
let g:ledger_qf_reconcile_format = \
|
|
||||||
'%(date) %-4(code) %-50(payee) %-30(account) %15(amount)\n'
|
|
||||||
|
|
||||||
The format is specified using the standard Ledger syntax for --format.
|
|
||||||
|
|
||||||
* Flag that tells whether a location list or a quickfix list should be used:
|
|
||||||
|
|
||||||
let g:ledger_use_location_list = 0
|
|
||||||
|
|
||||||
The default is to use the quickfix window. Set to 1 to use a location list.
|
|
||||||
|
|
||||||
* Position of the quickfix/location list:
|
|
||||||
|
|
||||||
let g:ledger_qf_vertical = 0
|
|
||||||
|
|
||||||
Set to 1 to open the quickfix window in a vertical split.
|
|
||||||
|
|
||||||
* Size of the quickfix window:
|
|
||||||
|
|
||||||
let g:ledger_qf_size = 10
|
|
||||||
|
|
||||||
This is the number of lines of a horizontal quickfix window, or the number
|
|
||||||
of columns of a vertical quickfix window.
|
|
||||||
|
|
||||||
* Flag to show or hide filenames in the quickfix window:
|
|
||||||
|
|
||||||
let g:ledger_qf_hide_file = 1
|
|
||||||
|
|
||||||
Filenames in the quickfix window are hidden by default. Set this to 1 is
|
|
||||||
you want filenames to be visible.
|
|
||||||
|
|
||||||
* Text of the output of the |:Balance| command:
|
|
||||||
|
|
||||||
let g:ledger_cleared_string = 'Cleared: '
|
|
||||||
let g:ledger_pending_string = 'Cleared or pending: '
|
|
||||||
let g:ledger_target_string = 'Difference from target: '
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
COMPLETION *ledger-completion*
|
|
||||||
|
|
||||||
Omni completion is currently implemented for account names only.
|
|
||||||
|
|
||||||
### Accounts
|
|
||||||
|
|
||||||
Account names are matched by the start of every sub-level. When you
|
|
||||||
insert an account name like this:
|
|
||||||
|
|
||||||
Asse<C-X><C-O>
|
|
||||||
|
|
||||||
You will get a list of top-level accounts that start like this.
|
|
||||||
|
|
||||||
Go ahead and try something like:
|
|
||||||
|
|
||||||
As:Ban:Che<C-X><C-O>
|
|
||||||
|
|
||||||
When you have an account like this, 'Assets:Bank:Checking' should show up.
|
|
||||||
|
|
||||||
When you want to complete on a virtual transaction, it's currently best
|
|
||||||
to keep the cursor in front of the closing bracket. Of course you can
|
|
||||||
insert the closing bracket after calling the completion, too.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
LICENSE *ledger-license*
|
|
||||||
|
|
||||||
https://github.com/ledger/vim-ledger
|
|
||||||
|
|
||||||
Copyright 2019 Caleb Maclennan
|
|
||||||
Copyright 2009–2017 Johann Klähn
|
|
||||||
Copyright 2009 Stefan Karrmann
|
|
||||||
Copyright 2005 Wolfgang Oertl
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by the
|
|
||||||
Free Software Foundation, either version 2 of the License, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful, but
|
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
||||||
Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License along
|
|
||||||
with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
|
|
||||||
vim:ts=8 sw=8 noexpandtab tw=78 ft=help:
|
|
||||||
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ocaml') == -1
|
|
||||||
|
|
||||||
*ocaml.txt* Filetype plugin for OCaml
|
|
||||||
|
|
||||||
CONFIGURATION *ocaml-configuration*
|
|
||||||
|
|
||||||
*g:ocaml_highlight_operators*
|
|
||||||
|
|
||||||
By default operators are not linked to the Operator group and thus not
|
|
||||||
highlighted. You can turn on highlighting of operators by defining:
|
|
||||||
|
|
||||||
let g:ocaml_highlight_operators = 1
|
|
||||||
|
|
||||||
vim:tw=78:et:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
22
doc/opam.txt
22
doc/opam.txt
@@ -1,22 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ocaml') == -1
|
|
||||||
|
|
||||||
*opam.txt* Switch OCaml versions from inside Vim using OPAM
|
|
||||||
|
|
||||||
Author: Rudi Grinberg <http://rgrinberg.com>
|
|
||||||
License: Same terms as Vim itself (see |license|)
|
|
||||||
|
|
||||||
This plugin is only available if 'compatible' is not set.
|
|
||||||
|
|
||||||
COMMANDS *:opam*
|
|
||||||
|
|
||||||
:Opam {version} Set the current OCaml version to {version}.
|
|
||||||
|
|
||||||
ABOUT *opam-about*
|
|
||||||
|
|
||||||
Grab the latest version or report a bug on GitHub:
|
|
||||||
|
|
||||||
https://github.com/ocaml/vim-ocaml
|
|
||||||
|
|
||||||
vim:tw=78:et:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
145
doc/pgsql.txt
145
doc/pgsql.txt
@@ -1,145 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pgsql') == -1
|
|
||||||
|
|
||||||
*pgsql.txt* Syntax highlighting for PostgreSQL files
|
|
||||||
_ ~
|
|
||||||
| | ~
|
|
||||||
____ ____ ___ ____| | ~
|
|
||||||
| _ \ / _ |/___)/ _ | | ~
|
|
||||||
| |_| ( (_| |___ | |_| | | ~
|
|
||||||
| __/ \___ (___/ \__ |\_) ~
|
|
||||||
|_| (_____| |_| ~
|
|
||||||
|
|
||||||
The best PostgreSQL plugin for Vim!
|
|
||||||
|
|
||||||
Author: Lifepillar <https://github.com/lifepillar>
|
|
||||||
License: Public Domain
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CONTENTS *pgsql-contents*
|
|
||||||
|
|
||||||
1. Syntax highlighting ................... |pgsql-syntax|
|
|
||||||
2. Customization ......................... |pgsql-customization|
|
|
||||||
3. Autocompletion ........................ |pgsql-autocompletion|
|
|
||||||
4. Contributing .......................... |pgsql-contributing|
|
|
||||||
5. Credits ............................... |pgsql-credits|
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Syntax highlighting *pgsql-syntax*
|
|
||||||
|
|
||||||
Files with a .`pgsql` suffix are highlighted out of the box. If you want to
|
|
||||||
highlight `.sql` files using this plugin by default, add this to your `.vimrc`
|
|
||||||
(see |ft_sql.txt| for more details):
|
|
||||||
>
|
|
||||||
let g:sql_type_default = 'pgsql'
|
|
||||||
<
|
|
||||||
Alternatively, after loading a `.sql` file use this command:
|
|
||||||
>
|
|
||||||
SQLSetType pgsql.vim
|
|
||||||
<
|
|
||||||
To set the file type in new buffers use:
|
|
||||||
>
|
|
||||||
let b:sql_type_override='pgsql' | set ft=sql
|
|
||||||
<
|
|
||||||
Identifiers starting with an underscore are highlighted as variables. It is
|
|
||||||
recommended to adopt the convention of prefixing function parameters and local
|
|
||||||
variables with `_`.
|
|
||||||
|
|
||||||
Code between `$pgsql$`, `$body$`, or `$$` pairs is interpreted as PL/pgSQL and
|
|
||||||
highlighted accordingly (the delimiters are case-insensitive). If you prefer
|
|
||||||
to use `$$` to highlight strings instead, you may set |g:pgsql_dollar_strings|
|
|
||||||
to 1.
|
|
||||||
|
|
||||||
Text enclosed between `$anyword$` pairs, where `anyword` is any non-empty
|
|
||||||
sequence of word characters different from those with a special meaning (such
|
|
||||||
as `$pgsql$`) is treated as a multi-line string.
|
|
||||||
|
|
||||||
When |foldmethod| is set to "syntax", SQL commands can be folded.
|
|
||||||
|
|
||||||
Finally, the plugin supports syntax highlighting of arbitrary languages within
|
|
||||||
procedure and function blocks. This feature needs to be configured: see
|
|
||||||
|g:pgsql_pl|.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Customization *pgsql-customization*
|
|
||||||
|
|
||||||
*'g:pgsql_backslash_quote'*
|
|
||||||
Set to 1 to recognize `\'` as an escape sequence in all strings. By default,
|
|
||||||
`\'` is treated as an escape sequence only in "escape" strings constants,
|
|
||||||
i.e., strings enclosed in `E''`.
|
|
||||||
>
|
|
||||||
let g:pgsql_backslash_quote = 0
|
|
||||||
<
|
|
||||||
*'g:pgsql_disabled_extensions'*
|
|
||||||
Support for the most common PostgreSQL extensions is enabled by default. Set
|
|
||||||
this to a List of names of extensions whose keywords you do not want to be
|
|
||||||
highlighted.
|
|
||||||
>
|
|
||||||
let g:pgsql_disabled_extensions = []
|
|
||||||
<
|
|
||||||
*'g:pgsql_dollar_strings'*
|
|
||||||
Set to 1 if you want double-dollar enclosed text highlighted as a SQL string.
|
|
||||||
By default, text quoted with `$$` is highlighted as PL/pgSQL.
|
|
||||||
>
|
|
||||||
let g:pgsql_dollar_strings = 0
|
|
||||||
<
|
|
||||||
*'g:pgsql_pl'*
|
|
||||||
*'b:pgsql_pl'*
|
|
||||||
A List of the filetypes that should be highlighted inside the body of
|
|
||||||
user-defined functions and procedures.
|
|
||||||
>
|
|
||||||
let g:pgsql_pl = []
|
|
||||||
<
|
|
||||||
For example, to use PL/Python and PL/R, you should define:
|
|
||||||
>
|
|
||||||
let g:pgsql_pl = ['python', 'r']
|
|
||||||
<
|
|
||||||
Then, code between `$python$` pairs will be highlighted as Python, and code
|
|
||||||
between `$r$` pairs will be highlighted as R.
|
|
||||||
|
|
||||||
The buffer-local version of this setting can be used to override the global
|
|
||||||
setting in a single buffer.
|
|
||||||
|
|
||||||
Note: changes to any of these variables take effect after the SQL filetype is
|
|
||||||
reloaded.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Autocompletion *pgsql-autocompletion*
|
|
||||||
|
|
||||||
This plugin just defines a new dialect for Vim's SQL plugin. As such, it
|
|
||||||
inherits the static and dynamic completion methods already offered by Vim (see
|
|
||||||
|sql-completion|). So, for example, by default you may use `<C-c>f` to
|
|
||||||
complete function names, `<C-c>T` to complete types, and so on. See
|
|
||||||
|ft_sql.txt| for thorough documentation about SQL support in Vim.
|
|
||||||
|
|
||||||
As far as I know, YouCompleteMe does not support SQL. If you use YouCompleteMe
|
|
||||||
you may want to disable it for SQL buffers. Add this to
|
|
||||||
`.vim/after/ftplugin/sql.vim`:
|
|
||||||
>
|
|
||||||
if exists('g:ycm_filetype_blacklist')
|
|
||||||
call extend(g:ycm_filetype_blacklist, { 'sql': 1 })
|
|
||||||
endif
|
|
||||||
<
|
|
||||||
Of course, I recommend using my own MUcomplete plugin over YCM ;)
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Contributing *pgsql-contributing*
|
|
||||||
|
|
||||||
For bug reports and feature requests please use:
|
|
||||||
|
|
||||||
https://github.com/lifepillar/pgsql.vim/issues
|
|
||||||
|
|
||||||
Pull requests are welcome, too!
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Credits *pgsql-credits*
|
|
||||||
|
|
||||||
This plugin was originally a fork of space::tekk's
|
|
||||||
|
|
||||||
https://github.com/spacetekk/pgsql.vim
|
|
||||||
|
|
||||||
and completely rewritten.
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
|
||||||
|
|
||||||
|
|
||||||
endif
|
|
||||||
68
doc/ps1.txt
68
doc/ps1.txt
@@ -1,68 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'powershell') == -1
|
|
||||||
|
|
||||||
*ps1.txt* A Windows PowerShell syntax plugin for Vim
|
|
||||||
|
|
||||||
Maintainer: Peter Provost <https://www.github.com/PProvost>
|
|
||||||
License: Apache 2.0
|
|
||||||
Version: 2.10
|
|
||||||
|
|
||||||
INTRODUCTION *ps1-syntax*
|
|
||||||
|
|
||||||
This plugin provides Vim syntax, indent and filetype detection for Windows
|
|
||||||
PowerShell scripts, modules, and XML configuration files.
|
|
||||||
|
|
||||||
|
|
||||||
ABOUT *ps1-about*
|
|
||||||
|
|
||||||
Grab the latest version or report a bug on GitHub:
|
|
||||||
|
|
||||||
https://github.com/PProvost/vim-ps1
|
|
||||||
|
|
||||||
|
|
||||||
FOLDING *ps1-folding*
|
|
||||||
|
|
||||||
The ps1 syntax file provides syntax folding (see |:syn-fold|) for script blocks
|
|
||||||
and digital signatures in scripts.
|
|
||||||
|
|
||||||
When 'foldmethod' is set to "syntax" then function script blocks will be
|
|
||||||
folded unless you use the following in your .vimrc or before opening a script: >
|
|
||||||
|
|
||||||
:let g:ps1_nofold_blocks = 1
|
|
||||||
<
|
|
||||||
Digital signatures in scripts will also be folded unless you use: >
|
|
||||||
|
|
||||||
:let g:ps1_nofold_sig = 1
|
|
||||||
<
|
|
||||||
Note: syntax folding might slow down syntax highlighting significantly,
|
|
||||||
especially for large files.
|
|
||||||
|
|
||||||
|
|
||||||
COMPILER *ps1-compiler*
|
|
||||||
|
|
||||||
The powershell |compiler| script configures |:make| to execute the script in
|
|
||||||
PowerShell.
|
|
||||||
|
|
||||||
It tries to pick a smart default PowerShell command: `pwsh` if available and
|
|
||||||
`powershell` otherwise, but you can customize the command: >
|
|
||||||
|
|
||||||
:let g:ps1_makeprg_cmd = '/path/to/pwsh'
|
|
||||||
<
|
|
||||||
To configure whether to show the exception type information: >
|
|
||||||
|
|
||||||
:let g:ps1_efm_show_error_categories = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
KEYWORD LOOKUP *ps1-keyword*
|
|
||||||
|
|
||||||
To look up keywords using PowerShell's Get-Help, press the |K| key. For more
|
|
||||||
convenient paging, the pager `less` should be installed, which is included in
|
|
||||||
many Linux distributions and in macOS.
|
|
||||||
|
|
||||||
Many other distributions are available for Windows like
|
|
||||||
https://chocolatey.org/packages/less/. Make sure `less` is in a directory
|
|
||||||
listed in the `PATH` environment variable, which chocolatey above does.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
vim:ft=help:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'python') == -1
|
|
||||||
|
|
||||||
*python-syntax.txt* Python syntax highlighting
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Introduction *python-syntax* *ft-python-syntax* *python.vim*
|
|
||||||
|
|
||||||
This is an enhanced version of the original Vim 6.1 Python syntax highlighting
|
|
||||||
`python.vim` by Neil Schemenauer.
|
|
||||||
|
|
||||||
Features
|
|
||||||
--------
|
|
||||||
|
|
||||||
* Enhanced highlighting for:
|
|
||||||
* Strings
|
|
||||||
* Special symbols inside strings
|
|
||||||
* Numeric constants
|
|
||||||
* Added support for:
|
|
||||||
* Python 3
|
|
||||||
* Numbers with underscores
|
|
||||||
* String %-formatting and f-strings
|
|
||||||
* Magic comments: source code encoding and shebangs
|
|
||||||
* New exceptions and builtins
|
|
||||||
* Doctests
|
|
||||||
* `@decorator` syntax
|
|
||||||
* Class variables such as `self` and `cls`
|
|
||||||
* Operators
|
|
||||||
* Highlighting of the following errors:
|
|
||||||
* Invalid symbols in source file
|
|
||||||
* Invalid numeric constants
|
|
||||||
* Invalid %-formatting inside strings
|
|
||||||
* Invalid variable names
|
|
||||||
* Invalid operators
|
|
||||||
* Mixing spaces and tabs
|
|
||||||
* Trailing spaces (Enabled with `g:python_highlight_space_errors`)
|
|
||||||
* Commands for easy switching between versions
|
|
||||||
|
|
||||||
Folding is done by the plugin SimpylFold
|
|
||||||
(https://github.com/tmhedberg/SimpylFold).
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
Configuration *python-syntax-configuration*
|
|
||||||
|
|
||||||
Option variables
|
|
||||||
----------------
|
|
||||||
|
|
||||||
Set variable to `1` to enable or `0` to disable.
|
|
||||||
|
|
||||||
For example to enable all syntax highlighting features you can add the
|
|
||||||
following command to your `~/.config/nvim/init.vim` or `~/.vimrc`: >
|
|
||||||
|
|
||||||
let g:python_highlight_all = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
`g:python_version_2` (default `0`)
|
|
||||||
Python 2 mode
|
|
||||||
|
|
||||||
`b:python_version_2` (default `0`)
|
|
||||||
Python 2 mode (buffer local)
|
|
||||||
|
|
||||||
`g:python_highlight_builtins` (default `0`)
|
|
||||||
Highlight builtin objects, types, and functions
|
|
||||||
|
|
||||||
`g:python_highlight_builtin_objs` (default `0`)
|
|
||||||
Highlight builtin objects only
|
|
||||||
|
|
||||||
`g:python_highlight_builtin_types` (default `0`)
|
|
||||||
Highlight builtin types only
|
|
||||||
|
|
||||||
`g:python_highlight_builtin_funcs` (default `0`)
|
|
||||||
Highlight builtin functions only
|
|
||||||
|
|
||||||
`g:python_highlight_builtin_funcs_kwarg` (default `1`)
|
|
||||||
Highlight builtin functions when used as kwarg
|
|
||||||
|
|
||||||
`g:python_highlight_exceptions` (default `0`)
|
|
||||||
Highlight standard exceptions
|
|
||||||
|
|
||||||
`g:python_highlight_string_formatting` (default `0`)
|
|
||||||
Highlight `%` string formatting
|
|
||||||
|
|
||||||
`g:python_highlight_string_format` (default `0`)
|
|
||||||
Highlight syntax of `str.format` syntax
|
|
||||||
|
|
||||||
`g:python_highlight_string_templates` (default `0`)
|
|
||||||
Highlight syntax of `string.Template`
|
|
||||||
|
|
||||||
`g:python_highlight_indent_errors` (default `0`)
|
|
||||||
Highlight indentation errors
|
|
||||||
|
|
||||||
`g:python_highlight_space_errors` (default `0`)
|
|
||||||
Highlight trailing spaces
|
|
||||||
|
|
||||||
`g:python_highlight_doctests` (default `0`)
|
|
||||||
Highlight doc-tests
|
|
||||||
|
|
||||||
`g:python_highlight_func_calls` (default `0`)
|
|
||||||
Highlight functions calls
|
|
||||||
|
|
||||||
`g:python_highlight_class_vars` (default `0`)
|
|
||||||
Highlight class variables `self` and `cls`
|
|
||||||
|
|
||||||
`g:python_highlight_operators` (default `0`)
|
|
||||||
Highlight all operators
|
|
||||||
|
|
||||||
`g:python_highlight_all` (default `0`)
|
|
||||||
Enable all highlight options above, except for previously set.
|
|
||||||
|
|
||||||
`g:python_highlight_file_headers_as_comments` (default `0`)
|
|
||||||
Highlight shebang and coding headers as comments
|
|
||||||
|
|
||||||
`g:python_slow_sync` (default `1`)
|
|
||||||
Disable for slow machines
|
|
||||||
|
|
||||||
Commands
|
|
||||||
--------
|
|
||||||
|
|
||||||
`Python2Syntax`
|
|
||||||
Switch to Python 2
|
|
||||||
|
|
||||||
`Python3Syntax`
|
|
||||||
Switch to Python 3
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'reason') == -1
|
|
||||||
|
|
||||||
*reason.txt* Filetype plugin for Reason
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CONTENTS *reason* *ft-reason*
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
INTRODUCTION *reason-intro*
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
SETTINGS *reason-settings*
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
MAPPINGS *reason-mappings*
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
vim:tw=78:sw=4:noet:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
490
doc/rust.txt
490
doc/rust.txt
@@ -1,490 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
|
||||||
|
|
||||||
*ft_rust.txt* Filetype plugin for Rust
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CONTENTS *rust*
|
|
||||||
|
|
||||||
1. Introduction |rust-intro|
|
|
||||||
2. Settings |rust-settings|
|
|
||||||
3. Commands |rust-commands|
|
|
||||||
4. Mappings |rust-mappings|
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
INTRODUCTION *rust-intro*
|
|
||||||
|
|
||||||
This plugin provides syntax and supporting functionality for the Rust
|
|
||||||
filetype. It requires Vim 8 or higher for full functionality. Some commands
|
|
||||||
will not work on earlier versions.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
SETTINGS *rust-settings*
|
|
||||||
|
|
||||||
This plugin has a few variables you can define in your vimrc that change the
|
|
||||||
behavior of the plugin.
|
|
||||||
|
|
||||||
Some variables can be set buffer local (`:b` prefix), and the buffer local
|
|
||||||
will take precedence over the global `g:` counterpart.
|
|
||||||
|
|
||||||
*g:rustc_path*
|
|
||||||
g:rustc_path~
|
|
||||||
Set this option to the path to rustc for use in the |:RustRun| and
|
|
||||||
|:RustExpand| commands. If unset, "rustc" will be located in $PATH: >
|
|
||||||
let g:rustc_path = $HOME."/bin/rustc"
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rustc_makeprg_no_percent*
|
|
||||||
g:rustc_makeprg_no_percent~
|
|
||||||
Set this option to 1 to have 'makeprg' default to "rustc" instead of
|
|
||||||
"rustc %": >
|
|
||||||
let g:rustc_makeprg_no_percent = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rust_conceal*
|
|
||||||
g:rust_conceal~
|
|
||||||
Set this option to turn on the basic |conceal| support: >
|
|
||||||
let g:rust_conceal = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rust_conceal_mod_path*
|
|
||||||
g:rust_conceal_mod_path~
|
|
||||||
Set this option to turn on |conceal| for the path connecting token
|
|
||||||
"::": >
|
|
||||||
let g:rust_conceal_mod_path = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rust_conceal_pub*
|
|
||||||
g:rust_conceal_pub~
|
|
||||||
Set this option to turn on |conceal| for the "pub" token: >
|
|
||||||
let g:rust_conceal_pub = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rust_recommended_style*
|
|
||||||
g:rust_recommended_style~
|
|
||||||
Set this option to enable vim indentation and textwidth settings to
|
|
||||||
conform to style conventions of the rust standard library (i.e. use 4
|
|
||||||
spaces for indents and sets 'textwidth' to 99). This option is enabled
|
|
||||||
by default. To disable it: >
|
|
||||||
let g:rust_recommended_style = 0
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rust_fold*
|
|
||||||
g:rust_fold~
|
|
||||||
Set this option to turn on |folding|: >
|
|
||||||
let g:rust_fold = 1
|
|
||||||
<
|
|
||||||
Value Effect ~
|
|
||||||
0 No folding
|
|
||||||
1 Braced blocks are folded. All folds are open by
|
|
||||||
default.
|
|
||||||
2 Braced blocks are folded. 'foldlevel' is left at the
|
|
||||||
global value (all folds are closed by default).
|
|
||||||
|
|
||||||
*g:rust_bang_comment_leader*
|
|
||||||
g:rust_bang_comment_leader~
|
|
||||||
Set this option to 1 to preserve the leader on multi-line doc comments
|
|
||||||
using the /*! syntax: >
|
|
||||||
let g:rust_bang_comment_leader = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rust_use_custom_ctags_defs*
|
|
||||||
g:rust_use_custom_ctags_defs~
|
|
||||||
Set this option to 1 if you have customized ctags definitions for Rust
|
|
||||||
and do not wish for those included with rust.vim to be used: >
|
|
||||||
let g:rust_use_custom_ctags_defs = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
NOTE: rust.vim's built-in definitions are only used for the Tagbar Vim
|
|
||||||
plugin, if you have it installed, AND if Universal Ctags is not
|
|
||||||
detected. This is because Universal Ctags already has built-in
|
|
||||||
support for Rust when used with Tagbar.
|
|
||||||
|
|
||||||
Also, note that when using ctags other than Universal Ctags, it is not
|
|
||||||
automatically used when generating |tags| files that Vim can use to
|
|
||||||
navigate to definitions across different source files. Feel free to
|
|
||||||
copy `rust.vim/ctags/rust.ctags` into your own `~/.ctags` if you wish
|
|
||||||
to generate |tags| files.
|
|
||||||
|
|
||||||
|
|
||||||
*g:ftplugin_rust_source_path*
|
|
||||||
g:ftplugin_rust_source_path~
|
|
||||||
Set this option to a path that should be prepended to 'path' for Rust
|
|
||||||
source files: >
|
|
||||||
let g:ftplugin_rust_source_path = $HOME.'/dev/rust'
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rustfmt_command*
|
|
||||||
g:rustfmt_command~
|
|
||||||
Set this option to the name of the 'rustfmt' executable in your $PATH. If
|
|
||||||
not specified it defaults to 'rustfmt' : >
|
|
||||||
let g:rustfmt_command = 'rustfmt'
|
|
||||||
<
|
|
||||||
*g:rustfmt_autosave*
|
|
||||||
g:rustfmt_autosave~
|
|
||||||
Set this option to 1 to run |:RustFmt| automatically when saving a
|
|
||||||
buffer. If not specified it defaults to 0 : >
|
|
||||||
let g:rustfmt_autosave = 0
|
|
||||||
<
|
|
||||||
There is also a buffer-local b:rustfmt_autosave that can be set for
|
|
||||||
the same purpose, and can override the global setting.
|
|
||||||
|
|
||||||
*g:rustfmt_autosave_if_config_present*
|
|
||||||
g:rustfmt_autosave_if_config_present~
|
|
||||||
Set this option to 1 to have *b:rustfmt_autosave* be set automatically
|
|
||||||
if a `rustfmt.toml` file is present in any parent directly leading to
|
|
||||||
the file being edited. If not set, default to 0: >
|
|
||||||
let g:rustfmt_autosave_if_config_present = 0
|
|
||||||
<
|
|
||||||
This is useful to have `rustfmt` only execute on save, on projects
|
|
||||||
that have `rustfmt.toml` configuration.
|
|
||||||
|
|
||||||
There is also a buffer-local b:rustfmt_autosave_if_config_present
|
|
||||||
that can be set for the same purpose, which can overrides the global
|
|
||||||
setting.
|
|
||||||
*g:rustfmt_fail_silently*
|
|
||||||
g:rustfmt_fail_silently~
|
|
||||||
Set this option to 1 to prevent 'rustfmt' from populating the
|
|
||||||
|location-list| with errors. If not specified it defaults to 0: >
|
|
||||||
let g:rustfmt_fail_silently = 0
|
|
||||||
<
|
|
||||||
*g:rustfmt_options*
|
|
||||||
g:rustfmt_options~
|
|
||||||
Set this option to a string of options to pass to 'rustfmt'. The
|
|
||||||
write-mode is already set to 'overwrite'. If not specified it
|
|
||||||
defaults to '' : >
|
|
||||||
let g:rustfmt_options = ''
|
|
||||||
<
|
|
||||||
*g:rustfmt_emit_files*
|
|
||||||
g:rustfmt_emit_files~
|
|
||||||
If not specified rust.vim tries to detect the right parameter to
|
|
||||||
pass to rustfmt based on its reported version. Otherwise, it
|
|
||||||
determines whether to run rustfmt with '--emit=files' (when 1 is
|
|
||||||
provided) instead of '--write-mode=overwrite'. >
|
|
||||||
let g:rustfmt_emit_files = 0
|
|
||||||
|
|
||||||
|
|
||||||
*g:rust_playpen_url*
|
|
||||||
g:rust_playpen_url~
|
|
||||||
Set this option to override the url for the playpen to use: >
|
|
||||||
let g:rust_playpen_url = 'https://play.rust-lang.org/'
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rust_shortener_url*
|
|
||||||
g:rust_shortener_url~
|
|
||||||
Set this option to override the url for the url shortener: >
|
|
||||||
let g:rust_shortener_url = 'https://is.gd/'
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:rust_clip_command*
|
|
||||||
g:rust_clip_command~
|
|
||||||
Set this option to the command used in your OS to copy the Rust Play
|
|
||||||
url to the clipboard: >
|
|
||||||
let g:rust_clip_command = 'xclip -selection clipboard'
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:cargo_makeprg_params*
|
|
||||||
g:cargo_makeprg_params~
|
|
||||||
Set this option to the string of parameters to pass to cargo. If not
|
|
||||||
specified it defaults to '$*' : >
|
|
||||||
let g:cargo_makeprg_params = 'build'
|
|
||||||
<
|
|
||||||
|
|
||||||
*g:cargo_shell_command_runner*
|
|
||||||
g:cargo_shell_command_runner~
|
|
||||||
Set this option to change how to run shell commands for cargo commands
|
|
||||||
|:Cargo|, |:Cbuild|, |:Crun|, ...
|
|
||||||
By default, |:terminal| is used to run shell command in terminal window
|
|
||||||
asynchronously. But if you prefer |:!| for running the commands, it can
|
|
||||||
be specified: >
|
|
||||||
let g:cargo_shell_command_runner = '!'
|
|
||||||
<
|
|
||||||
|
|
||||||
|
|
||||||
Integration with Syntastic *rust-syntastic*
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
This plugin automatically integrates with the Syntastic checker. There are two
|
|
||||||
checkers provided: 'rustc', and 'cargo'. The latter invokes 'Cargo' in order to
|
|
||||||
build code, and the former delivers a single edited '.rs' file as a compilation
|
|
||||||
target directly to the Rust compiler, `rustc`.
|
|
||||||
|
|
||||||
Because Cargo is almost exclusively being used for building Rust code these
|
|
||||||
days, 'cargo' is the default checker. >
|
|
||||||
|
|
||||||
let g:syntastic_rust_checkers = ['cargo']
|
|
||||||
<
|
|
||||||
If you would like to change it, you can set `g:syntastic_rust_checkers` to a
|
|
||||||
different value.
|
|
||||||
*g:rust_cargo_avoid_whole_workspace*
|
|
||||||
*b:rust_cargo_avoid_whole_workspace*
|
|
||||||
g:rust_cargo_avoid_whole_workspace~
|
|
||||||
When editing a crate that is part of a Cargo workspace, and this
|
|
||||||
option is set to 1 (the default), then 'cargo' will be executed
|
|
||||||
directly in that crate directory instead of in the workspace
|
|
||||||
directory. Setting 0 prevents this behavior - however be aware that if
|
|
||||||
you are working in large workspace, Cargo commands may take more time,
|
|
||||||
plus the Syntastic error list may include all the crates in the
|
|
||||||
workspace. >
|
|
||||||
let g:rust_cargo_avoid_whole_workspace = 0
|
|
||||||
<
|
|
||||||
*g:rust_cargo_check_all_targets*
|
|
||||||
*b:rust_cargo_check_all_targets*
|
|
||||||
g:rust_cargo_check_all_targets~
|
|
||||||
When set to 1, the `--all-targets` option will be passed to cargo when
|
|
||||||
Syntastic executes it, allowing the linting of all targets under the
|
|
||||||
package.
|
|
||||||
The default is 0.
|
|
||||||
|
|
||||||
*g:rust_cargo_check_all_features*
|
|
||||||
*b:rust_cargo_check_all_features*
|
|
||||||
g:rust_cargo_check_all_features~
|
|
||||||
When set to 1, the `--all-features` option will be passed to cargo when
|
|
||||||
Syntastic executes it, allowing the linting of all features of the
|
|
||||||
package.
|
|
||||||
The default is 0.
|
|
||||||
|
|
||||||
*g:rust_cargo_check_examples*
|
|
||||||
*b:rust_cargo_check_examples*
|
|
||||||
g:rust_cargo_check_examples~
|
|
||||||
When set to 1, the `--examples` option will be passed to cargo when
|
|
||||||
Syntastic executes it, to prevent the exclusion of examples from
|
|
||||||
linting. The examples are normally under the `examples/` directory of
|
|
||||||
the crate.
|
|
||||||
The default is 0.
|
|
||||||
|
|
||||||
*g:rust_cargo_check_tests*
|
|
||||||
*b:rust_cargo_check_tests*
|
|
||||||
g:rust_cargo_check_tests~
|
|
||||||
When set to 1, the `--tests` option will be passed to cargo when
|
|
||||||
Syntastic executes it, to prevent the exclusion of tests from linting.
|
|
||||||
The tests are normally under the `tests/` directory of the crate.
|
|
||||||
The default is 0.
|
|
||||||
|
|
||||||
*g:rust_cargo_check_benches*
|
|
||||||
*b:rust_cargo_check_benches*
|
|
||||||
g:rust_cargo_check_benches~
|
|
||||||
When set to 1, the `--benches` option will be passed to cargo when
|
|
||||||
Syntastic executes it. The benches are normally under the `benches/`
|
|
||||||
directory of the crate.
|
|
||||||
The default is 0.
|
|
||||||
|
|
||||||
Integration with auto-pairs *rust-auto-pairs*
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
This plugin automatically configures the auto-pairs plugin not to duplicate
|
|
||||||
single quotes, which are used more often for lifetime annotations than for
|
|
||||||
single character literals.
|
|
||||||
|
|
||||||
*g:rust_keep_autopairs_default*
|
|
||||||
g:rust_keep_autopairs_default~
|
|
||||||
|
|
||||||
Don't override auto-pairs default for the Rust filetype. The default
|
|
||||||
is 0.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
COMMANDS *rust-commands*
|
|
||||||
|
|
||||||
Invoking Cargo
|
|
||||||
--------------
|
|
||||||
|
|
||||||
This plug defines very simple shortcuts for invoking Cargo from with Vim.
|
|
||||||
|
|
||||||
:Cargo <args> *:Cargo*
|
|
||||||
Runs 'cargo' with the provided arguments.
|
|
||||||
|
|
||||||
:Cbuild <args> *:Cbuild*
|
|
||||||
Shortcut for 'cargo build`.
|
|
||||||
|
|
||||||
:Cclean <args> *:Cclean*
|
|
||||||
Shortcut for 'cargo clean`.
|
|
||||||
|
|
||||||
:Cdoc <args> *:Cdoc*
|
|
||||||
Shortcut for 'cargo doc`.
|
|
||||||
|
|
||||||
:Cinit <args> *:Cinit*
|
|
||||||
Shortcut for 'cargo init`.
|
|
||||||
|
|
||||||
:Crun <args> *:Crun*
|
|
||||||
Shortcut for 'cargo run`.
|
|
||||||
|
|
||||||
:Ctest <args> *:Ctest*
|
|
||||||
Shortcut for 'cargo test`.
|
|
||||||
|
|
||||||
:Cupdate <args> *:Cupdate*
|
|
||||||
Shortcut for 'cargo update`.
|
|
||||||
|
|
||||||
:Cbench <args> *:Cbench*
|
|
||||||
Shortcut for 'cargo bench`.
|
|
||||||
|
|
||||||
:Csearch <args> *:Csearch*
|
|
||||||
Shortcut for 'cargo search`.
|
|
||||||
|
|
||||||
:Cpublish <args> *:Cpublish*
|
|
||||||
Shortcut for 'cargo publish`.
|
|
||||||
|
|
||||||
:Cinstall <args> *:Cinstall*
|
|
||||||
Shortcut for 'cargo install`.
|
|
||||||
|
|
||||||
:Cruntarget <args> *:Cruntarget*
|
|
||||||
Shortcut for 'cargo run --bin' or 'cargo run --example',
|
|
||||||
depending on the currently open buffer.
|
|
||||||
|
|
||||||
Formatting
|
|
||||||
----------
|
|
||||||
|
|
||||||
:RustFmt *:RustFmt*
|
|
||||||
Runs |g:rustfmt_command| on the current buffer. If
|
|
||||||
|g:rustfmt_options| is set then those will be passed to the
|
|
||||||
executable.
|
|
||||||
|
|
||||||
If |g:rustfmt_fail_silently| is 0 (the default) then it
|
|
||||||
will populate the |location-list| with the errors from
|
|
||||||
|g:rustfmt_command|. If |g:rustfmt_fail_silently| is set to 1
|
|
||||||
then it will not populate the |location-list|.
|
|
||||||
|
|
||||||
:RustFmtRange *:RustFmtRange*
|
|
||||||
Runs |g:rustfmt_command| with selected range. See
|
|
||||||
|:RustFmt| for any other information.
|
|
||||||
|
|
||||||
|
|
||||||
Playpen integration
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
:RustPlay *:RustPlay*
|
|
||||||
This command will only work if you have web-api.vim installed
|
|
||||||
(available at https://github.com/mattn/webapi-vim). It sends the
|
|
||||||
current selection, or if nothing is selected, the entirety of the
|
|
||||||
current buffer to the Rust playpen, and emits a message with the
|
|
||||||
shortened URL to the playpen.
|
|
||||||
|
|
||||||
|g:rust_playpen_url| is the base URL to the playpen, by default
|
|
||||||
"https://play.rust-lang.org/".
|
|
||||||
|
|
||||||
|g:rust_shortener_url| is the base url for the shorterner, by
|
|
||||||
default "https://is.gd/"
|
|
||||||
|
|
||||||
|g:rust_clip_command| is the command to run to copy the
|
|
||||||
playpen url to the clipboard of your system.
|
|
||||||
|
|
||||||
|
|
||||||
Evaluation of a single Rust file
|
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
NOTE: These commands are useful only when working with standalone Rust files,
|
|
||||||
which is usually not the case for common Rust development. If you wish to
|
|
||||||
building Rust crates from with Vim can should use Vim's make, Syntastic, or
|
|
||||||
functionality from other plugins.
|
|
||||||
|
|
||||||
|
|
||||||
:RustRun [args] *:RustRun*
|
|
||||||
:RustRun! [rustc-args] [--] [args]
|
|
||||||
Compiles and runs the current file. If it has unsaved changes,
|
|
||||||
it will be saved first using |:update|. If the current file is
|
|
||||||
an unnamed buffer, it will be written to a temporary file
|
|
||||||
first. The compiled binary is always placed in a temporary
|
|
||||||
directory, but is run from the current directory.
|
|
||||||
|
|
||||||
The arguments given to |:RustRun| will be passed to the
|
|
||||||
compiled binary.
|
|
||||||
|
|
||||||
If ! is specified, the arguments are passed to rustc instead.
|
|
||||||
A "--" argument will separate the rustc arguments from the
|
|
||||||
arguments passed to the binary.
|
|
||||||
|
|
||||||
If |g:rustc_path| is defined, it is used as the path to rustc.
|
|
||||||
Otherwise it is assumed rustc can be found in $PATH.
|
|
||||||
|
|
||||||
:RustExpand [args] *:RustExpand*
|
|
||||||
:RustExpand! [TYPE] [args]
|
|
||||||
Expands the current file using --pretty and displays the
|
|
||||||
results in a new split. If the current file has unsaved
|
|
||||||
changes, it will be saved first using |:update|. If the
|
|
||||||
current file is an unnamed buffer, it will be written to a
|
|
||||||
temporary file first.
|
|
||||||
|
|
||||||
The arguments given to |:RustExpand| will be passed to rustc.
|
|
||||||
This is largely intended for specifying various --cfg
|
|
||||||
configurations.
|
|
||||||
|
|
||||||
If ! is specified, the first argument is the expansion type to
|
|
||||||
pass to rustc --pretty. Otherwise it will default to
|
|
||||||
"expanded".
|
|
||||||
|
|
||||||
If |g:rustc_path| is defined, it is used as the path to rustc.
|
|
||||||
Otherwise it is assumed rustc can be found in $PATH.
|
|
||||||
|
|
||||||
:RustEmitIr [args] *:RustEmitIr*
|
|
||||||
Compiles the current file to LLVM IR and displays the results
|
|
||||||
in a new split. If the current file has unsaved changes, it
|
|
||||||
will be saved first using |:update|. If the current file is an
|
|
||||||
unnamed buffer, it will be written to a temporary file first.
|
|
||||||
|
|
||||||
The arguments given to |:RustEmitIr| will be passed to rustc.
|
|
||||||
|
|
||||||
If |g:rustc_path| is defined, it is used as the path to rustc.
|
|
||||||
Otherwise it is assumed rustc can be found in $PATH.
|
|
||||||
|
|
||||||
:RustEmitAsm [args] *:RustEmitAsm*
|
|
||||||
Compiles the current file to assembly and displays the results
|
|
||||||
in a new split. If the current file has unsaved changes, it
|
|
||||||
will be saved first using |:update|. If the current file is an
|
|
||||||
unnamed buffer, it will be written to a temporary file first.
|
|
||||||
|
|
||||||
The arguments given to |:RustEmitAsm| will be passed to rustc.
|
|
||||||
|
|
||||||
If |g:rustc_path| is defined, it is used as the path to rustc.
|
|
||||||
Otherwise it is assumed rustc can be found in $PATH.
|
|
||||||
|
|
||||||
|
|
||||||
Running test(s)
|
|
||||||
---------------
|
|
||||||
|
|
||||||
:[N]RustTest[!] [options] *:RustTest*
|
|
||||||
Runs a test under the cursor when the current buffer is in a
|
|
||||||
cargo project with "cargo test" command. If the command did
|
|
||||||
not find any test function under the cursor, it stops with an
|
|
||||||
error message.
|
|
||||||
|
|
||||||
When N is given, adjust the size of the new window to N lines
|
|
||||||
or columns.
|
|
||||||
|
|
||||||
When ! is given, runs all tests regardless of current cursor
|
|
||||||
position.
|
|
||||||
|
|
||||||
When [options] is given, it is passed to "cargo" command
|
|
||||||
arguments.
|
|
||||||
|
|
||||||
When the current buffer is outside cargo project, the command
|
|
||||||
runs "rustc --test" command instead of "cargo test" as
|
|
||||||
fallback. All tests are run regardless of adding ! since there
|
|
||||||
is no way to run specific test function with rustc. [options]
|
|
||||||
is passed to "rustc" command arguments in the case.
|
|
||||||
|
|
||||||
Takes optional modifiers (see |<mods>|): >
|
|
||||||
:tab RustTest
|
|
||||||
:belowright 16RustTest
|
|
||||||
:leftabove vert 80RustTest
|
|
||||||
<
|
|
||||||
rust.vim Debugging
|
|
||||||
------------------
|
|
||||||
|
|
||||||
:RustInfo *:RustInfo*
|
|
||||||
Emits debugging info of the Vim Rust plugin.
|
|
||||||
|
|
||||||
:RustInfoToClipboard *:RustInfoClipboard*
|
|
||||||
Saves debugging info of the Vim Rust plugin to the default
|
|
||||||
register.
|
|
||||||
|
|
||||||
:RustInfoToFile [filename] *:RustInfoToFile*
|
|
||||||
Saves debugging info of the Vim Rust plugin to the the given
|
|
||||||
file, overwritting it.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
MAPPINGS *rust-mappings*
|
|
||||||
|
|
||||||
This plugin defines mappings for |[[| and |]]| to support hanging indents.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
vim:tw=78:sw=4:noet:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
137
doc/scala.txt
137
doc/scala.txt
@@ -1,137 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1
|
|
||||||
|
|
||||||
*scala.txt* Syntax highlighting and helper functions for the Scala language.
|
|
||||||
|
|
||||||
This plugin is only available if 'compatible' is not set.
|
|
||||||
{Vi does not have any of this}
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
INTRODUCTION *scala*
|
|
||||||
|
|
||||||
Syntax highlighting and helper functions for the scala language. Extras
|
|
||||||
include:
|
|
||||||
|
|
||||||
- Sorting of import statements, configurable to your conventions.
|
|
||||||
- Tagbar support to navigate definitions within a file in the plugin's
|
|
||||||
sidebar window.
|
|
||||||
- ...and probably more that we've forgotten to update in this doc.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
OPTIONS *scala-options*
|
|
||||||
|
|
||||||
Use these options to control behavior of the plugin. Default values are
|
|
||||||
indicated in the examples.
|
|
||||||
|
|
||||||
*'g:scala_use_builtin_tagbar_defs'*
|
|
||||||
If you are using the Tagbar Vim plugin, vim-scala includes a Tagbar type
|
|
||||||
definition and ctags definition for Scala, so you can use Tagbar immediately.
|
|
||||||
If you have your own ctags definition in `~/.ctags` and prefer to use it, set
|
|
||||||
this option to 0 (we would appreciate contributions if you've improved the
|
|
||||||
ctags definition!).
|
|
||||||
|
|
||||||
Note that Tagbar's ctags definition for Scala is not used to generate a
|
|
||||||
|tags| file that Vim can use to navigate to definitions in other files, only
|
|
||||||
for the plugin sidebar. Feel free to copy `vim-scala/ctags/scala.ctags` into
|
|
||||||
your own `~/.ctags` if you wish to generate |tags| files.
|
|
||||||
>
|
|
||||||
let g:scala_use_builtin_tagbar_defs = 1
|
|
||||||
<
|
|
||||||
*'g:scala_use_default_keymappings'*
|
|
||||||
Set this option to disable definition of all mappings provided by vim-scala.
|
|
||||||
See |scala-mappings|.
|
|
||||||
>
|
|
||||||
let g:scala_use_default_keymappings = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
*'g:scala_scaladoc_indent'*
|
|
||||||
By default, the plugin indents documentation comments according to the
|
|
||||||
standard Javadoc format.
|
|
||||||
/**
|
|
||||||
* This is a doc comment using Javadoc-style indentation.
|
|
||||||
*/
|
|
||||||
Set this option to enable the indentation standard as recommended for Scaladoc
|
|
||||||
comments.
|
|
||||||
/** This is a Scaladoc comment using
|
|
||||||
* the recommended indentation.
|
|
||||||
*/
|
|
||||||
>
|
|
||||||
let g:scala_scaladoc_indent = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
COMMANDS *scala-commands*
|
|
||||||
|
|
||||||
*:SortScalaImports*
|
|
||||||
:SortScalaImports There are two modes in which this command can operate.
|
|
||||||
By default it walks all import groups at the top of
|
|
||||||
the Scala file and orders their lines alphabetically.
|
|
||||||
A group is a series of lines starting with the
|
|
||||||
import keyword separated by one or more blank lines.
|
|
||||||
|
|
||||||
The second, more advanced mode, can be activated by
|
|
||||||
setting
|
|
||||||
|
|
||||||
let g:scala_sort_across_groups=1
|
|
||||||
|
|
||||||
This makes this command include all imports in the
|
|
||||||
sorting regardless of blank lines in between them and
|
|
||||||
puts them in three predefined groups instead.
|
|
||||||
The three groups in which the imports can fall are:
|
|
||||||
|
|
||||||
1. Scala and Java core
|
|
||||||
2. Third party libraries
|
|
||||||
3. First party code (ie. your own)
|
|
||||||
|
|
||||||
Java and Scala core imports are identified by the
|
|
||||||
java(x) and scala namespaces.
|
|
||||||
Everything else that isn't a first party namespace
|
|
||||||
will be a third party import.
|
|
||||||
You can define a regex that matches first party
|
|
||||||
namespaces by setting
|
|
||||||
|
|
||||||
g:scala_first_party_namespaces
|
|
||||||
|
|
||||||
For example in a standard Play app this would be
|
|
||||||
set to
|
|
||||||
g:scala_first_party_namespaces=
|
|
||||||
\ '\(controllers\|views\|models\)'
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
MAPPINGS *scala-mappings*
|
|
||||||
|
|
||||||
Currently the only mappings defined are for FuzzyFinder users--these will
|
|
||||||
only be enabled if FuzzyFinder is detected.
|
|
||||||
|
|
||||||
*scala-leader-fs*
|
|
||||||
<Leader>fs "Find src". Primes |:FufFile| with `src/main/scala`,
|
|
||||||
and goes deeper still if only a single directory
|
|
||||||
exists below that. Helpful for package namespacing
|
|
||||||
like `src/main/scala/com/myorg`.
|
|
||||||
|
|
||||||
*scala-leader-ft*
|
|
||||||
<Leader>ft "Find test". Like |scala-leader-fs|, but with
|
|
||||||
`src/test/scala`.
|
|
||||||
|
|
||||||
*scala-leader-fr*
|
|
||||||
<Leader>fr "Find from root". For the rarer cases when you want to
|
|
||||||
start FuzzyFinder at project root (parent of `src/`).
|
|
||||||
|
|
||||||
Disabling Mappings~
|
|
||||||
|
|
||||||
If you wish to disable the default key mappings, write the following line in
|
|
||||||
your ~/.vimrc: >
|
|
||||||
|
|
||||||
let g:scala_use_default_keymappings = 0
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CREDITS *scala-credits*
|
|
||||||
|
|
||||||
Developed by Derek Wyatt, building on initial work by Stefan Matthias Aust.
|
|
||||||
Distributed under the Apache 2 license.
|
|
||||||
|
|
||||||
Project's home and Git repository: https://github.com/derekwyatt/vim-scala
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'terraform') == -1
|
|
||||||
|
|
||||||
*terraform.txt* basic vim/terraform integration
|
|
||||||
|
|
||||||
Author: HashiVim <https://github.com/hashivim>
|
|
||||||
License: ISC license
|
|
||||||
Repo: https://github.com/hashivim/vim-terraform
|
|
||||||
|
|
||||||
COMMANDS *terraform*
|
|
||||||
|
|
||||||
This command is only available if terraform is in your PATH.
|
|
||||||
|
|
||||||
*terraform-:terraform*
|
|
||||||
:Terraform [args] Invoke an arbitrary terraform command.
|
|
||||||
|
|
||||||
vim:tw=78:et:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'textile') == -1
|
|
||||||
|
|
||||||
*textile.txt* Textile for Vim Last Change: November 3, 2008
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
REQUIREMENTS *textile-requirements*
|
|
||||||
|
|
||||||
- ruby - http://ruby-lang.org/ (seperate executable, not compiled in)
|
|
||||||
- RedCloth - http://redcloth.org/
|
|
||||||
|
|
||||||
Files with the extension *.textile will auto-detected. If editing a new file,
|
|
||||||
or otherwise, run ":setf textile" to enable textile commands.
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CHANGELOG *textile-changelog*
|
|
||||||
|
|
||||||
0.3 - Fixed keymappings in the documentation
|
|
||||||
0.2 - Added multiple colors for headers, and alternating colors for list
|
|
||||||
items
|
|
||||||
- Fixed error in the vim script for TextileRenderBufferToFile
|
|
||||||
- Changed shortcut keys from \tp to \rp (render preview instead of
|
|
||||||
textile preview, since it's file-type specific anyways)
|
|
||||||
0.1 - Initial Release
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
COMMANDS *textile-commands*
|
|
||||||
|
|
||||||
:TextilePreview - Render the current buffer to a temp file, and open it in
|
|
||||||
your web browser (OSX only)
|
|
||||||
|
|
||||||
<Leader>rp
|
|
||||||
|
|
||||||
:TextileRenderTab - ... to a new tab
|
|
||||||
|
|
||||||
<Leader>rt
|
|
||||||
|
|
||||||
:TextileRenderFile - ... to a file
|
|
||||||
|
|
||||||
<Leader>rf
|
|
||||||
|
|
||||||
<Leader> is \ by default, so <Leader>rp == \rp
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CONFIG *textile-config*
|
|
||||||
|
|
||||||
MAC OS X:
|
|
||||||
|
|
||||||
Optional:
|
|
||||||
let g:TextileBrowser="Google Chrome" - Open preview in "Google Chrome"
|
|
||||||
rather than Safari (optional)
|
|
||||||
|
|
||||||
Other:
|
|
||||||
|
|
||||||
Mandatory:
|
|
||||||
let g:TextileOS="Linux"
|
|
||||||
let g:TextileBrowser="/path/to/browser_bin"
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CREDITS *textile-credits*
|
|
||||||
|
|
||||||
- "Dominic Mitchell":http://happygiraffe.net/: initial syntax highlighting
|
|
||||||
- "Aaron Bieber":http://blog.aaronbieber.com/: improved syntax highlighting
|
|
||||||
- "Tim Harper":http://tim.theenchanter.com/ : improved syntax highlighting,
|
|
||||||
plugin
|
|
||||||
|
|
||||||
vim:tw=78:noet:wrap:ts=2:expandtab:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,210 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fsharp') == -1
|
|
||||||
|
|
||||||
*vim-fsharp.txt* F# support for Vim
|
|
||||||
*FSharp* *F#* *fsharp* *vim-fsharp*
|
|
||||||
===============================================================================
|
|
||||||
# #
|
|
||||||
# ███████╗███████╗██╗ ██╗ █████╗ ██████╗ ██████╗ #
|
|
||||||
# ██╔════╝██╔════╝██║ ██║██╔══██╗██╔══██╗██╔══██╗ #
|
|
||||||
# █████╗ ███████╗███████║███████║██████╔╝██████╔╝ #
|
|
||||||
# ██╔══╝ ╚════██║██╔══██║██╔══██║██╔══██╗██╔═══╝ #
|
|
||||||
# ██║ ███████║██║ ██║██║ ██║██║ ██║██║ #
|
|
||||||
# ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ #
|
|
||||||
# #
|
|
||||||
===============================================================================
|
|
||||||
CONTENTS *fsharp-contents*
|
|
||||||
|
|
||||||
1. Dependencies.................................|fsharp-dependencies|
|
|
||||||
2. Usage........................................|fsharp-usage|
|
|
||||||
3. Options......................................|fsharp-options|
|
|
||||||
4. Commands.....................................|fsharp-commands|
|
|
||||||
5. Mappings.....................................|fsharp-mappings|
|
|
||||||
6. Credits......................................|fsharp-credits|
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
DEPENDENCIES *fsharp-dependencies*
|
|
||||||
|
|
||||||
Required:~
|
|
||||||
- Vim 7.3 or higher with Python 2 or 3 support
|
|
||||||
- Mono OR .NET Framework
|
|
||||||
- F#
|
|
||||||
|
|
||||||
Optional:~
|
|
||||||
- Syntastic plugin (for syntax and type checking)
|
|
||||||
NOTE: Must be enabled (see |'g:syntastic_fsharp_checkers'|)
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
USAGE *fsharp-usage*
|
|
||||||
|
|
||||||
Syntax highlighting and linting will trigger upon opening a `*.fs`, `*.fsi`,
|
|
||||||
or `*.fsx` file. Using omni completion will begin the fsautocomplete process.
|
|
||||||
|
|
||||||
Suggestion: Install a completer such as NeoComplete or SuperTab
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
OPTIONS *fsharp-options*
|
|
||||||
|
|
||||||
*'g:syntastic_fsharp_checkers'*
|
|
||||||
Use this option to enable syntastic integration >
|
|
||||||
let g:syntastic_fsharp_checkers=['syntax']
|
|
||||||
<
|
|
||||||
*'g:fsharp_only_check_errors_on_write'*
|
|
||||||
Use this option to disable "on the fly" syntax checking >
|
|
||||||
let g:fsharp_only_check_errors_on_write = 1
|
|
||||||
<
|
|
||||||
*'g:fsharpbinding_debug'*
|
|
||||||
Use this option to enable debug-mode and inspect fsautocomplete behavior: >
|
|
||||||
let g:fsharpbinding_debug = 1
|
|
||||||
<
|
|
||||||
This will create two log files `log.txt` and `log2.txt` in your temporary folder
|
|
||||||
(i.e. `/tmp/`)
|
|
||||||
|
|
||||||
*'g:fsharp_xbuild_path'*
|
|
||||||
Use this option set the msbuild/xbuild path >
|
|
||||||
let g:fsharp_xbuild_path = "/path/to/xbuild/or/msbuild"
|
|
||||||
<
|
|
||||||
|
|
||||||
*'g:fsharp_test_runner'*
|
|
||||||
Use this option to point to a suitable test runner (such as nunit-console.exe) >
|
|
||||||
let g:fsharp_test_runner = "/path/to/test/runner"
|
|
||||||
<
|
|
||||||
|
|
||||||
*'g:fsharp_completion_helptext'*
|
|
||||||
Use this option to disable helptext during auto completion. Turn off if
|
|
||||||
completion is too slow >
|
|
||||||
let g:fsharp_completion_helptext = 0
|
|
||||||
<
|
|
||||||
|
|
||||||
*'g:fsharp_map_keys'*
|
|
||||||
Use this option to disable default bindings >
|
|
||||||
let g:fsharp_map_keys = 0
|
|
||||||
<
|
|
||||||
|
|
||||||
*'g:fsharp_map_prefix'*
|
|
||||||
Use this option to override the default prefix of `<leader>` >
|
|
||||||
let g:fsharp_map_prefix = 'cp'
|
|
||||||
<
|
|
||||||
Set to `cp` in this example
|
|
||||||
|
|
||||||
*'g:fsharp_map_fsisendline'*
|
|
||||||
Use this option to override the default mapping to send the current line to
|
|
||||||
fsharp interactive >
|
|
||||||
let g:fsharp_map_fsisendline = 'p'
|
|
||||||
<
|
|
||||||
Set to `p` in this example
|
|
||||||
|
|
||||||
*'g:fsharp_map_fsisendsel'*
|
|
||||||
Use this option to override the default mapping to send the current selection
|
|
||||||
to fsharp interactive >
|
|
||||||
let g:fsharp_map_fsisendsel = 'p'
|
|
||||||
<
|
|
||||||
Set to `p` in this example
|
|
||||||
|
|
||||||
*'g:fsharp_map_gotodecl'*
|
|
||||||
Use this option to override the default mapping to go to declaration in the
|
|
||||||
current window >
|
|
||||||
let g:fsharp_map_gotodecl = 'g'
|
|
||||||
<
|
|
||||||
Set to `g` in this example
|
|
||||||
|
|
||||||
*'g:fsharp_map_gobackfromdecl'*
|
|
||||||
Use this option to override the default mapping to go back to where go to
|
|
||||||
declaration was triggered >
|
|
||||||
let g:fsharp_map_gobackfromdecl = 'b'
|
|
||||||
<
|
|
||||||
Set to `b` in this example
|
|
||||||
|
|
||||||
*'g:fsharp_map_fsiinput'*
|
|
||||||
Override the default mapping to evaluate an fsharp expression in the fsi >
|
|
||||||
let g:fsharp_map_fsiinput = 'i'
|
|
||||||
<
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
COMMANDS *fsharp-commands*
|
|
||||||
|
|
||||||
General commands:~
|
|
||||||
*:make*
|
|
||||||
:make
|
|
||||||
Calls xbuild on the fsproj for the current file (if any).
|
|
||||||
|
|
||||||
*:FSharpParseProject*
|
|
||||||
:FSharpParseProject
|
|
||||||
Reparses all the project files and dependencies (this is done automatically
|
|
||||||
when opening a .fs or .fsi file).
|
|
||||||
|
|
||||||
*:FSharpBuildProject*
|
|
||||||
:FSharpBuildProject
|
|
||||||
Calls xbuild on the fsproj for the current file (if any). Can also take a
|
|
||||||
path to the proj file to build.
|
|
||||||
|
|
||||||
*:FSharpRunProject*
|
|
||||||
:FSharpRunProject
|
|
||||||
Runs the project for the current file (if any).
|
|
||||||
|
|
||||||
*:FSharpRunTests*
|
|
||||||
:FSharpRunTests
|
|
||||||
If `g:fsharp_test_runner` is set it will build the current project and run
|
|
||||||
any tests. (Currently only tested with nunit-console.exe)
|
|
||||||
|
|
||||||
*:FSharpToggleHelptext*
|
|
||||||
:FSharpToggleHelptext
|
|
||||||
toggles g:fsharp_completion_helptext. (See below for details)
|
|
||||||
|
|
||||||
FSharp interaction commands:~
|
|
||||||
|
|
||||||
`:FsiEval`
|
|
||||||
:FsiEval
|
|
||||||
Evaluates an fsharp expression in the fsi
|
|
||||||
|
|
||||||
`:FsiEvalBuffer`
|
|
||||||
:FsiEvalBuffer
|
|
||||||
Evaluates the entire buffer in the fsi
|
|
||||||
|
|
||||||
`:FsiReset`
|
|
||||||
:FsiReset
|
|
||||||
Resets the current fsharp interactive
|
|
||||||
|
|
||||||
`:FsiRead`
|
|
||||||
:FsiRead
|
|
||||||
Outputs any lines written by the fsi but not yet output as vim messages
|
|
||||||
|
|
||||||
`:FsiClear`
|
|
||||||
:FsiClear
|
|
||||||
Deletes all text from the fsi output buffer but doesn't reset the fsi
|
|
||||||
session.
|
|
||||||
|
|
||||||
`:FsiShow`
|
|
||||||
:FsiShow
|
|
||||||
Opens the _fsi-out_ buffer in a split window
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
MAPPINGS *fsharp-mappings*
|
|
||||||
|
|
||||||
General:~
|
|
||||||
|
|
||||||
<leader>t
|
|
||||||
Echoes the type of the expression currently pointed to by the cursor
|
|
||||||
<leader>d
|
|
||||||
Go to declaration in current window
|
|
||||||
<leader>s
|
|
||||||
Takes you back from where go to declaration was triggered. Experimental
|
|
||||||
|
|
||||||
FSharp Interactive:~
|
|
||||||
<A-CR> OR
|
|
||||||
<leader>i
|
|
||||||
Send either the current selection or the current line to the fsharp
|
|
||||||
interactive and echoes the output the first line of the output. All
|
|
||||||
output will be written to the fsi-out buffer.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
CREDITS *fsharp-credits*
|
|
||||||
|
|
||||||
Syntax and indent files by kongo2002 <github.com/kongo2002>:
|
|
||||||
http://github.com/kongo2002/fsharp-vim
|
|
||||||
|
|
||||||
Adapted from Tim Robinson <github.com/timrobinson>:
|
|
||||||
http://github.com/timrobinson/fsharp-vim
|
|
||||||
>
|
|
||||||
===============================================================================
|
|
||||||
|
|
||||||
endif
|
|
||||||
2855
doc/vim-go.txt
2855
doc/vim-go.txt
File diff suppressed because it is too large
Load Diff
@@ -1,104 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsonnet') == -1
|
|
||||||
|
|
||||||
*vim-jsonnet.txt* Jsonnet development plugin
|
|
||||||
*vim-jsonnet*
|
|
||||||
|
|
||||||
====================================================================================
|
|
||||||
# # ### # # # ##### ####### # # # # ####### #######
|
|
||||||
# # # ## ## # # # # # ## # ## # # #
|
|
||||||
# # # # # # # # # # # # # # # # # # #
|
|
||||||
# # # # # # ##### # ##### # # # # # # # # ##### #
|
|
||||||
# # # # # # # # # # # # # # # # # #
|
|
||||||
# # # # # # # # # # # # ## # ## # #
|
|
||||||
# ### # # ##### ##### ####### # # # # ####### #
|
|
||||||
====================================================================================
|
|
||||||
CONTENTS *jsonnet-contents*
|
|
||||||
|
|
||||||
1. Intro........................................|jsonnet-intro|
|
|
||||||
2. Install......................................|jsonnet-install|
|
|
||||||
3. Commands.....................................|jsonnet-commands|
|
|
||||||
4. Mappings.....................................|jsonnet-mappings|
|
|
||||||
6. Functions....................................|jsonnet-functions|
|
|
||||||
7. Settings.....................................|jsonnet-settings|
|
|
||||||
8. Troubleshooting..............................|jsonnet-troubleshooting|
|
|
||||||
9. Credits......................................|jsonnet-credits|
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
INTRO *jsonnet-intro*
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
INSTALL *jsonnet-install*
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
COMMANDS *jsonnet-commands*
|
|
||||||
|
|
||||||
*:JsonnetFmt*
|
|
||||||
:JsonnetFmt
|
|
||||||
|
|
||||||
Filter the current Jsonnet buffer through `jsonnetfmt`. It tries to
|
|
||||||
preserve cursor position and avoids replacing the buffer with stderr
|
|
||||||
output.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
MAPPINGS *jsonnet-mappings*
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
FUNCTIONS *jsonnet-functions*
|
|
||||||
|
|
||||||
*jsonnet#Format()*
|
|
||||||
|
|
||||||
Filter the current Jsonnet buffer through `jsonnetfmt`. It tries to
|
|
||||||
preserve cursor position and avoids replacing the buffer with stderr
|
|
||||||
output.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
SETTINGS *jsonnet-settings*
|
|
||||||
|
|
||||||
*'g:jsonnet_fmt_on_save'*
|
|
||||||
|
|
||||||
Use this option to auto |:JsonnetFmt| on save. By default it's enabled >
|
|
||||||
|
|
||||||
let g:jsonnet_fmt_on_save = 1
|
|
||||||
<
|
|
||||||
*'g:jsonnet_command'*
|
|
||||||
|
|
||||||
Use this option to define which tool is used to fotmat. By default `jsonnet` is
|
|
||||||
used >
|
|
||||||
|
|
||||||
let g:jsonnet_command = "jsonnet"
|
|
||||||
<
|
|
||||||
*'g:jsonnet_fmt_command'*
|
|
||||||
|
|
||||||
Use this option to define which <cmd> parameter is used with *g:jsonnet_command* tool.
|
|
||||||
By default `fmt` is used >
|
|
||||||
|
|
||||||
let g:jsonnet_fmt_command = "fmt"
|
|
||||||
<
|
|
||||||
*'g:jsonnet_fmt_options'*
|
|
||||||
|
|
||||||
Use this option to add additional options to the
|
|
||||||
|'g:jsonnet_command'| + |'g:jsonnet_fmt_command'|. Default is empty. >
|
|
||||||
|
|
||||||
let g:jsonnet_fmt_options = ''
|
|
||||||
<
|
|
||||||
*'g:jsonnet_fmt_fail_silently'*
|
|
||||||
|
|
||||||
Use this option to enable processing of
|
|
||||||
|'g:jsonnet_command'| + |'g:jsonnet_fmt_command'| command if it fails. By default
|
|
||||||
it is turned off. By default the error output from the
|
|
||||||
|'g:jsonnet_command'| + |'g:jsonnet_fmt_command'| command is ignored.
|
|
||||||
FixMe: The processing of the |'g:jsonnet_command'| + |'g:jsonnet_fmt_command'|
|
|
||||||
is not implemented yet. So clearing this option would not do anything at this time. >
|
|
||||||
|
|
||||||
let g:jsonnet_fmt_fail_silently = 1
|
|
||||||
<
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
TROUBLESHOOTING *jsonnet-troubleshooting*
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
CREDITS *jsonnet-credits*
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1)
|
|
||||||
|
|
||||||
vim-jsx-pretty is syntax highlight for JSX (React.js).
|
|
||||||
(https://github.com/MaxMEllon/vim-jsx-pretty)
|
|
||||||
|
|
||||||
version 1.0.6
|
|
||||||
Author: maxmellon<maxmellon1994@gmail.com>
|
|
||||||
License: MIT
|
|
||||||
|
|
||||||
About |vim-jsx-pretty-about|
|
|
||||||
Usage |vim-jsx-pretty-usage|
|
|
||||||
Install |vim-jsx-pretty-install|
|
|
||||||
Config |vim-jsx-pretty-config|
|
|
||||||
Detail |vim-jsx-pretty-detail|
|
|
||||||
License |vim-jsx-pretty-license|
|
|
||||||
Thanks |vim-jsx-retty-thanks|
|
|
||||||
Inspiration |vim-jsx-pretty-inspiration|
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
ABOUT *vim-jsx-pretty-about*
|
|
||||||
|
|
||||||
*vim-jsx-pretty* is highlight and indentation JSX (React.js) syntax.
|
|
||||||
|
|
||||||
Dependency Plugin:
|
|
||||||
- pangloss/vim-javascript
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
USAGE *vim-jsx-pretty-usage*
|
|
||||||
|
|
||||||
Just Install it.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
INSTALL *vim-jsx-pretty-install*
|
|
||||||
|
|
||||||
If you used plugin manager `vim-plug`, As follows. >
|
|
||||||
|
|
||||||
Plug 'pangloss/vim-javascript' " dependency plugin
|
|
||||||
Plug 'maxmellon/vim-jsx-pretty'
|
|
||||||
<
|
|
||||||
===============================================================================
|
|
||||||
CONFIG *vim-jsx-pretty-config*
|
|
||||||
|
|
||||||
- config list
|
|
||||||
>
|
|
||||||
| name | default | detail |
|
|
||||||
|---------------------------------------|---------|----------------------|
|
|
||||||
| g:vim_jsx_pretty_enable_jsx_highlight | 1 | jsx highlight flag |
|
|
||||||
| g:vim_jsx_pretty_colorful_config | 0 | colorful config flag |
|
|
||||||
| g:vim_jsx_pretty_disable_js | 0 | js toggle flag |
|
|
||||||
<
|
|
||||||
|
|
||||||
- *g:vim_jsx_pretty_enable_jsx_highlight*
|
|
||||||
|
|
||||||
If you set 'g:vim_jsx_pretty_enable_jsx_highlight', Disable jsx highlight.
|
|
||||||
But highlight group is set to jsx syntax. So you should set manual
|
|
||||||
highlight setting.
|
|
||||||
|
|
||||||
- Example: >
|
|
||||||
|
|
||||||
let g:vim_jsx_pretty_enable_jsx_highlight = 0
|
|
||||||
|
|
||||||
highlight def link jsxTag Function
|
|
||||||
highlight def link jsxTagName Function
|
|
||||||
highlight def link jsxString String
|
|
||||||
highlight def link jsxNameSpace Function
|
|
||||||
highlight def link jsxComment Error
|
|
||||||
highlight def link jsxAttrib Type
|
|
||||||
highlight def link jsxCloseTag Identifier
|
|
||||||
highlight def link jsxCloseString Identifier
|
|
||||||
|
|
||||||
- *g:vim_jsx_pretty_colorful_config*
|
|
||||||
|
|
||||||
If you set 'g:vim_jsx_pretty_colorful_config', Enable colorful config.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
DETAIL *vim-jsx-pretty-detail*
|
|
||||||
|
|
||||||
- Syntax group list
|
|
||||||
>
|
|
||||||
| name | match | | |
|
|
||||||
|--------------|--------------------|--------------|--------------------|
|
|
||||||
| jsxTag | `<tag id="sample">`| jsxjsxAttrib | `<tag id="sample">`|
|
|
||||||
| | `~~~~~~~~~~~~~~~~~`| | `_____~~__________`|
|
|
||||||
|--------------|--------------------|--------------|--------------------|
|
|
||||||
| jsxTagName | `<tag id="sample">`| jsxEqual | `<tag id="sample">`|
|
|
||||||
| | `_~~~_____________`| | `_______~_________`|
|
|
||||||
|--------------|--------------------|--------------|--------------------|
|
|
||||||
| jsxString | `<tag id="sample">`| jsxCloseTag | `</tag> | <tag />`|
|
|
||||||
| | `________~~~~~~~~_`| | `~~~~~~ | _____~~|
|
|
||||||
|--------------|--------------------|--------------|--------------------|
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
LICENSE *vim-jsx-pretty-license*
|
|
||||||
|
|
||||||
Copyright (c) 2016-2017 MaxMEllon
|
|
||||||
MIT License
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
THANKS *vim-jsx-pretty-thanks*
|
|
||||||
|
|
||||||
- yuezk
|
|
||||||
- y0za
|
|
||||||
- cormacrelf
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
INSPIREATION *vim-jsx-pretty-inspiration*
|
|
||||||
|
|
||||||
- vim-jsx
|
|
||||||
See: https://github.com/mxw/vim-jsx
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,667 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
|
|
||||||
|
|
||||||
*vim-markdown* Vim Markdown
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
Contents ~
|
|
||||||
|
|
||||||
1. Introduction |vim-markdown-introduction|
|
|
||||||
2. Installation |vim-markdown-installation|
|
|
||||||
3. Basic usage |vim-markdown-basic-usage|
|
|
||||||
1. Folding |vim-markdown-folding|
|
|
||||||
2. Concealing |vim-markdown-concealing|
|
|
||||||
4. Options |vim-markdown-options|
|
|
||||||
1. Disable Folding |vim-markdown-disable-folding|
|
|
||||||
2. Change fold style |vim-markdown-change-fold-style|
|
|
||||||
3. Set header folding level |vim-markdown-set-header-folding-level|
|
|
||||||
4. Disable Default Key Mappings |vim-markdown-disable-default-key-mappings|
|
|
||||||
5. Enable TOC window auto-fit |vim-markdown-enable-toc-window-auto-fit|
|
|
||||||
6. Text emphasis restriction to single-lines
|
|
||||||
|vim-markdown-text-emphasis-restriction-to-single-lines|
|
|
||||||
7. Syntax Concealing |vim-markdown-syntax-concealing|
|
|
||||||
8. Fenced code block languages |vim-markdown-fenced-code-block-languages|
|
|
||||||
9. Follow named anchors |vim-markdown-follow-named-anchors|
|
|
||||||
10. Syntax extensions |vim-markdown-syntax-extensions|
|
|
||||||
1. LaTeX math |vim-markdown-latex-math|
|
|
||||||
2. YAML Front Matter |vim-markdown-yaml-front-matter|
|
|
||||||
3. TOML Front Matter |vim-markdown-toml-front-matter|
|
|
||||||
4. JSON Front Matter |vim-markdown-json-front-matter|
|
|
||||||
5. Strikethrough |vim-markdown-strikethrough|
|
|
||||||
11. Adjust new list item indent |vim-markdown-adjust-new-list-item-indent|
|
|
||||||
12. Do not require .md extensions for Markdown links
|
|
||||||
|vim-markdown-do-not-require-.md-extensions-for-markdown-links|
|
|
||||||
13. Auto-write when following link
|
|
||||||
|vim-markdown-auto-write-when-following-link|
|
|
||||||
14. Change default file extension
|
|
||||||
|vim-markdown-change-default-file-extension|
|
|
||||||
15. Do not automatically insert bulletpoints
|
|
||||||
|vim-markdown-do-not-automatically-insert-bulletpoints|
|
|
||||||
16. Change how to open new files |vim-markdown-change-how-to-open-new-files|
|
|
||||||
5. Mappings |vim-markdown-mappings|
|
|
||||||
6. Commands |vim-markdown-commands|
|
|
||||||
7. Credits |vim-markdown-credits|
|
|
||||||
8. License |vim-markdown-license|
|
|
||||||
9. References |vim-markdown-references|
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
*vim-markdown-introduction*
|
|
||||||
Introduction ~
|
|
||||||
|
|
||||||
Syntax highlighting, matching rules and mappings for the original Markdown [1]
|
|
||||||
and extensions.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
*vim-markdown-installation*
|
|
||||||
Installation ~
|
|
||||||
|
|
||||||
If you use Vundle [2], add the following lines to your '~/.vimrc':
|
|
||||||
>
|
|
||||||
Plugin 'godlygeek/tabular'
|
|
||||||
Plugin 'plasticboy/vim-markdown'
|
|
||||||
<
|
|
||||||
The 'tabular' plugin must come _before_ 'vim-markdown'.
|
|
||||||
|
|
||||||
Then run inside Vim:
|
|
||||||
>
|
|
||||||
:so ~/.vimrc
|
|
||||||
:PluginInstall
|
|
||||||
<
|
|
||||||
If you use Pathogen [3], do this:
|
|
||||||
>
|
|
||||||
cd ~/.vim/bundle
|
|
||||||
git clone https://github.com/plasticboy/vim-markdown.git
|
|
||||||
<
|
|
||||||
To install without Pathogen using the Debian vim-addon-manager [4], do this:
|
|
||||||
>
|
|
||||||
git clone https://github.com/plasticboy/vim-markdown.git
|
|
||||||
cd vim-markdown
|
|
||||||
sudo make install
|
|
||||||
vim-addon-manager install markdown
|
|
||||||
<
|
|
||||||
If you are not using any package manager, download the tarball [5] and do this:
|
|
||||||
>
|
|
||||||
cd ~/.vim
|
|
||||||
tar --strip=1 -zxf vim-markdown-master.tar.gz
|
|
||||||
<
|
|
||||||
===============================================================================
|
|
||||||
*vim-markdown-basic-usage*
|
|
||||||
Basic usage ~
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-folding*
|
|
||||||
Folding ~
|
|
||||||
|
|
||||||
Folding is enabled for headers by default.
|
|
||||||
|
|
||||||
The following commands are useful to open and close folds:
|
|
||||||
|
|
||||||
*vim-markdown-zr*
|
|
||||||
- 'zr': reduces fold level throughout the buffer
|
|
||||||
*vim-markdown-zR*
|
|
||||||
- 'zR': opens all folds
|
|
||||||
*vim-markdown-zm*
|
|
||||||
- 'zm': increases fold level throughout the buffer
|
|
||||||
*vim-markdown-zM*
|
|
||||||
- 'zM': folds everything all the way
|
|
||||||
*vim-markdown-za*
|
|
||||||
- 'za': open a fold your cursor is on
|
|
||||||
*vim-markdown-zA*
|
|
||||||
- 'zA': open a fold your cursor is on recursively
|
|
||||||
*vim-markdown-zc*
|
|
||||||
- 'zc': close a fold your cursor is on
|
|
||||||
*vim-markdown-zC*
|
|
||||||
- 'zC': close a fold your cursor is on recursively
|
|
||||||
|
|
||||||
Options are available to disable folding or change folding style.
|
|
||||||
|
|
||||||
Try ':help fold-expr' and ':help fold-commands' for details.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-concealing*
|
|
||||||
Concealing ~
|
|
||||||
|
|
||||||
Concealing is set for some syntax such as bold, italic, code block and link.
|
|
||||||
|
|
||||||
Concealing lets you conceal text with other text. The actual source text is not
|
|
||||||
modified. If you put your cursor on the concealed line, the conceal goes away.
|
|
||||||
|
|
||||||
Options are available to disable or change concealing.
|
|
||||||
|
|
||||||
Try ':help concealcursor' and ':help conceallevel' for details.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
*vim-markdown-options*
|
|
||||||
Options ~
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-disable-folding*
|
|
||||||
Disable Folding ~
|
|
||||||
|
|
||||||
*g:vim_markdown_folding_disabled*
|
|
||||||
- 'g:vim_markdown_folding_disabled'
|
|
||||||
|
|
||||||
Add the following line to your '.vimrc' to disable the folding
|
|
||||||
configuration:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_folding_disabled = 1
|
|
||||||
<
|
|
||||||
This option only controls Vim Markdown specific folding configuration.
|
|
||||||
|
|
||||||
To enable/disable folding use Vim's standard folding configuration.
|
|
||||||
>
|
|
||||||
set [no]foldenable
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-change-fold-style*
|
|
||||||
Change fold style ~
|
|
||||||
|
|
||||||
*g:vim_markdown_folding_style_pythonic*
|
|
||||||
- 'g:vim_markdown_folding_style_pythonic'
|
|
||||||
|
|
||||||
To fold in a style like python-mode [6], add the following to your
|
|
||||||
'.vimrc':
|
|
||||||
>
|
|
||||||
let g:vim_markdown_folding_style_pythonic = 1
|
|
||||||
<
|
|
||||||
'g:vim_markdown_folding_level' setting (default 1) is set to 'foldlevel'.
|
|
||||||
Thus level 1 heading which is served as a document title is expanded by
|
|
||||||
default.
|
|
||||||
|
|
||||||
*g:vim_markdown_override_foldtext*
|
|
||||||
- 'g:vim_markdown_override_foldtext'
|
|
||||||
|
|
||||||
To prevent foldtext from being set add the following to your '.vimrc':
|
|
||||||
>
|
|
||||||
let g:vim_markdown_override_foldtext = 0
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-set-header-folding-level*
|
|
||||||
Set header folding level ~
|
|
||||||
|
|
||||||
*g:vim_markdown_folding_level*
|
|
||||||
- 'g:vim_markdown_folding_level'
|
|
||||||
|
|
||||||
Folding level is a number between 1 and 6. By default, if not specified, it
|
|
||||||
is set to 1.
|
|
||||||
>
|
|
||||||
let g:vim_markdown_folding_level = 6
|
|
||||||
<
|
|
||||||
Tip: it can be changed on the fly with:
|
|
||||||
>
|
|
||||||
:let g:vim_markdown_folding_level = 1
|
|
||||||
:edit
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-disable-default-key-mappings*
|
|
||||||
Disable Default Key Mappings ~
|
|
||||||
|
|
||||||
*g:vim_markdown_no_default_key_mappings*
|
|
||||||
- 'g:vim_markdown_no_default_key_mappings'
|
|
||||||
|
|
||||||
Add the following line to your '.vimrc' to disable default key mappings:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_no_default_key_mappings = 1
|
|
||||||
<
|
|
||||||
You can also map them by yourself with '<Plug>' mappings.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-enable-toc-window-auto-fit*
|
|
||||||
Enable TOC window auto-fit ~
|
|
||||||
|
|
||||||
*g:vim_markdown_toc_autofit*
|
|
||||||
- 'g:vim_markdown_toc_autofit'
|
|
||||||
|
|
||||||
Allow for the TOC window to auto-fit when it's possible for it to shrink.
|
|
||||||
It never increases its default size (half screen), it only shrinks.
|
|
||||||
>
|
|
||||||
let g:vim_markdown_toc_autofit = 1
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-text-emphasis-restriction-to-single-lines*
|
|
||||||
Text emphasis restriction to single-lines ~
|
|
||||||
|
|
||||||
*g:vim_markdown_emphasis_multiline*
|
|
||||||
- 'g:vim_markdown_emphasis_multiline'
|
|
||||||
|
|
||||||
By default text emphasis works across multiple lines until a closing token
|
|
||||||
is found. However, it's possible to restrict text emphasis to a single line
|
|
||||||
(i.e., for it to be applied a closing token must be found on the same
|
|
||||||
line). To do so:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_emphasis_multiline = 0
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-syntax-concealing*
|
|
||||||
Syntax Concealing ~
|
|
||||||
|
|
||||||
*g:vim_markdown_conceal*
|
|
||||||
- 'g:vim_markdown_conceal'
|
|
||||||
|
|
||||||
Concealing is set for some syntax.
|
|
||||||
|
|
||||||
For example, conceal '[link text](link url)' as just 'link text'. Also,
|
|
||||||
'_italic_' and '*italic*' will conceal to just _italic_. Similarly
|
|
||||||
'__bold__', '**bold**', '___italic bold___', and '***italic bold***' will
|
|
||||||
conceal to just **bold**, **bold**, **_italic bold_**, and **_italic
|
|
||||||
bold_** respectively.
|
|
||||||
|
|
||||||
To enable conceal use Vim's standard conceal configuration.
|
|
||||||
>
|
|
||||||
set conceallevel=2
|
|
||||||
<
|
|
||||||
To disable conceal regardless of 'conceallevel' setting, add the following
|
|
||||||
to your '.vimrc':
|
|
||||||
>
|
|
||||||
let g:vim_markdown_conceal = 0
|
|
||||||
<
|
|
||||||
To disable math conceal with LaTeX math syntax enabled, add the following
|
|
||||||
to your '.vimrc':
|
|
||||||
>
|
|
||||||
let g:tex_conceal = ""
|
|
||||||
let g:vim_markdown_math = 1
|
|
||||||
<
|
|
||||||
*g:vim_markdown_conceal_code_blocks*
|
|
||||||
- 'g:vim_markdown_conceal_code_blocks'
|
|
||||||
|
|
||||||
Disabling conceal for code fences requires an additional setting:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_conceal_code_blocks = 0
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-fenced-code-block-languages*
|
|
||||||
Fenced code block languages ~
|
|
||||||
|
|
||||||
*g:vim_markdown_fenced_languages*
|
|
||||||
- 'g:vim_markdown_fenced_languages'
|
|
||||||
|
|
||||||
You can use filetype name as fenced code block languages for syntax
|
|
||||||
highlighting. If you want to use different name from filetype, you can add
|
|
||||||
it in your '.vimrc' like so:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_fenced_languages = ['csharp=cs']
|
|
||||||
<
|
|
||||||
This will cause the following to be highlighted using the 'cs' filetype
|
|
||||||
syntax.
|
|
||||||
>
|
|
||||||
```csharp
|
|
||||||
...
|
|
||||||
```
|
|
||||||
<
|
|
||||||
Default is "['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini']".
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-follow-named-anchors*
|
|
||||||
Follow named anchors ~
|
|
||||||
|
|
||||||
*g:vim_markdown_follow_anchor*
|
|
||||||
- 'g:vim_markdown_follow_anchor'
|
|
||||||
|
|
||||||
This feature allows the 'ge' command to follow named anchors in links of
|
|
||||||
the form 'file#anchor' or just '#anchor', where file may omit the '.md'
|
|
||||||
extension as usual. Two variables control its operation:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_follow_anchor = 1
|
|
||||||
<
|
|
||||||
This tells vim-markdown whether to attempt to follow a named anchor in a
|
|
||||||
link or not. When it is 1, and only if a link can be split in two parts by
|
|
||||||
the pattern '#', then the first part is interpreted as the file and the
|
|
||||||
second one as the named anchor. This also includes urls of the form
|
|
||||||
'#anchor', for which the first part is considered empty, meaning that the
|
|
||||||
target file is the current one. After the file is opened, the anchor will
|
|
||||||
be searched.
|
|
||||||
|
|
||||||
Default is '0'.
|
|
||||||
|
|
||||||
*g:vim_markdown_anchorexpr*
|
|
||||||
- 'g:vim_markdown_anchorexpr'
|
|
||||||
>
|
|
||||||
let g:vim_markdown_anchorexpr = "'<<'.v:anchor.'>>'"
|
|
||||||
<
|
|
||||||
This expression will be evaluated substituting 'v:anchor' with a quoted
|
|
||||||
string that contains the anchor to visit. The result of the evaluation will
|
|
||||||
become the real anchor to search in the target file. This is useful in
|
|
||||||
order to convert anchors of the form, say, 'my-section-title' to searches
|
|
||||||
of the form 'My Section Title' or '<<my-section-title>>'.
|
|
||||||
|
|
||||||
Default is "''".
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-syntax-extensions*
|
|
||||||
Syntax extensions ~
|
|
||||||
|
|
||||||
The following options control which syntax extensions will be turned on. They
|
|
||||||
are off by default.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-latex-math*
|
|
||||||
LaTeX math ~
|
|
||||||
|
|
||||||
*g:vim_markdown_math*
|
|
||||||
- 'g:vim_markdown_math'
|
|
||||||
|
|
||||||
Used as '$x^2$', '$$x^2$$', escapable as '\$x\$' and '\$\$x\$\$'.
|
|
||||||
>
|
|
||||||
let g:vim_markdown_math = 1
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-yaml-front-matter*
|
|
||||||
YAML Front Matter ~
|
|
||||||
|
|
||||||
*g:vim_markdown_frontmatter*
|
|
||||||
- 'g:vim_markdown_frontmatter'
|
|
||||||
|
|
||||||
Highlight YAML front matter as used by Jekyll or Hugo [7].
|
|
||||||
>
|
|
||||||
let g:vim_markdown_frontmatter = 1
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-toml-front-matter*
|
|
||||||
TOML Front Matter ~
|
|
||||||
|
|
||||||
*g:vim_markdown_toml_frontmatter*
|
|
||||||
- 'g:vim_markdown_toml_frontmatter'
|
|
||||||
|
|
||||||
Highlight TOML front matter as used by Hugo [7].
|
|
||||||
|
|
||||||
TOML syntax highlight requires vim-toml [8].
|
|
||||||
>
|
|
||||||
let g:vim_markdown_toml_frontmatter = 1
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-json-front-matter*
|
|
||||||
JSON Front Matter ~
|
|
||||||
|
|
||||||
*g:vim_markdown_json_frontmatter*
|
|
||||||
- 'g:vim_markdown_json_frontmatter'
|
|
||||||
|
|
||||||
Highlight JSON front matter as used by Hugo [7].
|
|
||||||
|
|
||||||
JSON syntax highlight requires vim-json [9].
|
|
||||||
>
|
|
||||||
let g:vim_markdown_json_frontmatter = 1
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-strikethrough*
|
|
||||||
Strikethrough ~
|
|
||||||
|
|
||||||
*g:vim_markdown_strikethrough*
|
|
||||||
- 'g:vim_markdown_strikethrough'
|
|
||||||
|
|
||||||
Strikethrough uses two tildes. '~~Scratch this.~~'
|
|
||||||
>
|
|
||||||
let g:vim_markdown_strikethrough = 1
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-adjust-new-list-item-indent*
|
|
||||||
Adjust new list item indent ~
|
|
||||||
|
|
||||||
*g:vim_markdown_new_list_item_indent*
|
|
||||||
- 'g:vim_markdown_new_list_item_indent'
|
|
||||||
|
|
||||||
You can adjust a new list indent. For example, you insert a single line
|
|
||||||
like below:
|
|
||||||
>
|
|
||||||
* item1
|
|
||||||
<
|
|
||||||
Then if you type 'o' to insert new line in vim and type '* item2', the
|
|
||||||
result will be:
|
|
||||||
>
|
|
||||||
* item1
|
|
||||||
* item2
|
|
||||||
<
|
|
||||||
vim-markdown automatically insert the indent. By default, the number of
|
|
||||||
spaces of indent is 4. If you'd like to change the number as 2, just write:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_new_list_item_indent = 2
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-do-not-require-.md-extensions-for-markdown-links*
|
|
||||||
Do not require .md extensions for Markdown links ~
|
|
||||||
|
|
||||||
*g:vim_markdown_no_extensions_in_markdown*
|
|
||||||
- 'g:vim_markdown_no_extensions_in_markdown'
|
|
||||||
|
|
||||||
If you want to have a link like this '[link text](link-url)' and follow it
|
|
||||||
for editing in vim using the 'ge' command, but have it open the file "link-
|
|
||||||
url.md" instead of the file "link-url", then use this option:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_no_extensions_in_markdown = 1
|
|
||||||
<
|
|
||||||
This is super useful for GitLab and GitHub wiki repositories.
|
|
||||||
|
|
||||||
Normal behaviour would be that vim-markup required you to do this '[link
|
|
||||||
text](link-url.md)', but this is not how the Gitlab and GitHub wiki
|
|
||||||
repositories work. So this option adds some consistency between the two.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-auto-write-when-following-link*
|
|
||||||
Auto-write when following link ~
|
|
||||||
|
|
||||||
*g:vim_markdown_autowrite*
|
|
||||||
- 'g:vim_markdown_autowrite'
|
|
||||||
|
|
||||||
If you follow a link like this '[link text](link-url)' using the 'ge'
|
|
||||||
shortcut, this option will automatically save any edits you made before
|
|
||||||
moving you:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_autowrite = 1
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-change-default-file-extension*
|
|
||||||
Change default file extension ~
|
|
||||||
|
|
||||||
*g:vim_markdown_auto_extension_ext*
|
|
||||||
- 'g:vim_markdown_auto_extension_ext'
|
|
||||||
|
|
||||||
If you would like to use a file extension other than '.md' you may do so
|
|
||||||
using the 'vim_markdown_auto_extension_ext' variable:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_auto_extension_ext = 'txt'
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-do-not-automatically-insert-bulletpoints*
|
|
||||||
Do not automatically insert bulletpoints ~
|
|
||||||
|
|
||||||
*g:vim_markdown_auto_insert_bullets*
|
|
||||||
- 'g:vim_markdown_auto_insert_bullets'
|
|
||||||
|
|
||||||
Automatically inserting bulletpoints can lead to problems when wrapping
|
|
||||||
text (see issue #232 for details), so it can be disabled:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_auto_insert_bullets = 0
|
|
||||||
<
|
|
||||||
In that case, you probably also want to set the new list item indent to 0
|
|
||||||
as well, or you will have to remove an indent each time you add a new list
|
|
||||||
item:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_new_list_item_indent = 0
|
|
||||||
<
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
*vim-markdown-change-how-to-open-new-files*
|
|
||||||
Change how to open new files ~
|
|
||||||
|
|
||||||
*g:vim_markdown_edit_url_in*
|
|
||||||
- 'g:vim_markdown_edit_url_in'
|
|
||||||
|
|
||||||
By default when following a link the target file will be opened in your
|
|
||||||
current buffer. This behavior can change if you prefer using splits or tabs
|
|
||||||
by using the 'vim_markdown_edit_url_in' variable. Possible values are
|
|
||||||
'tab', 'vsplit', 'hsplit', 'current' opening in a new tab, vertical split,
|
|
||||||
horizontal split, and current buffer respectively. Defaults to current
|
|
||||||
buffer if not set:
|
|
||||||
>
|
|
||||||
let g:vim_markdown_edit_url_in = 'tab'
|
|
||||||
<
|
|
||||||
===============================================================================
|
|
||||||
*vim-markdown-mappings*
|
|
||||||
Mappings ~
|
|
||||||
|
|
||||||
The following work on normal and visual modes:
|
|
||||||
|
|
||||||
*vim-markdown-gx*
|
|
||||||
- 'gx': open the link under the cursor in the same browser as the standard
|
|
||||||
'gx' command. '<Plug>Markdown_OpenUrlUnderCursor'
|
|
||||||
|
|
||||||
The standard 'gx' is extended by allowing you to put your cursor anywhere
|
|
||||||
inside a link.
|
|
||||||
|
|
||||||
For example, all the following cursor positions will work:
|
|
||||||
>
|
|
||||||
[Example](http://example.com)
|
|
||||||
^ ^ ^^ ^ ^
|
|
||||||
1 2 34 5 6
|
|
||||||
|
|
||||||
<http://example.com>
|
|
||||||
^ ^ ^
|
|
||||||
1 2 3
|
|
||||||
<
|
|
||||||
Known limitation: does not work for links that span multiple lines.
|
|
||||||
|
|
||||||
*vim-markdown-ge*
|
|
||||||
- 'ge': open the link under the cursor in Vim for editing. Useful for
|
|
||||||
relative markdown links. '<Plug>Markdown_EditUrlUnderCursor'
|
|
||||||
|
|
||||||
The rules for the cursor position are the same as the 'gx' command.
|
|
||||||
|
|
||||||
*vim-markdown-]]*
|
|
||||||
- ']]': go to next header. '<Plug>Markdown_MoveToNextHeader'
|
|
||||||
|
|
||||||
*vim-markdown-[[*
|
|
||||||
- '[[': go to previous header. Contrast with ']c'.
|
|
||||||
'<Plug>Markdown_MoveToPreviousHeader'
|
|
||||||
|
|
||||||
*vim-markdown-][*
|
|
||||||
- '][': go to next sibling header if any.
|
|
||||||
'<Plug>Markdown_MoveToNextSiblingHeader'
|
|
||||||
|
|
||||||
*vim-markdown-[]*
|
|
||||||
- '[]': go to previous sibling header if any.
|
|
||||||
'<Plug>Markdown_MoveToPreviousSiblingHeader'
|
|
||||||
|
|
||||||
*vim-markdown-]c*
|
|
||||||
- ']c': go to Current header. '<Plug>Markdown_MoveToCurHeader'
|
|
||||||
|
|
||||||
*vim-markdown-]u*
|
|
||||||
- ']u': go to parent header (Up). '<Plug>Markdown_MoveToParentHeader'
|
|
||||||
|
|
||||||
This plugin follows the recommended Vim plugin mapping interface, so to change
|
|
||||||
the map ']u' to 'asdf', add to your '.vimrc':
|
|
||||||
>
|
|
||||||
map asdf <Plug>Markdown_MoveToParentHeader
|
|
||||||
<
|
|
||||||
To disable a map use:
|
|
||||||
>
|
|
||||||
map <Plug> <Plug>Markdown_MoveToParentHeader
|
|
||||||
<
|
|
||||||
===============================================================================
|
|
||||||
*vim-markdown-commands*
|
|
||||||
Commands ~
|
|
||||||
|
|
||||||
The following requires ':filetype plugin on'.
|
|
||||||
|
|
||||||
*:HeaderDecrease*
|
|
||||||
- ':HeaderDecrease':
|
|
||||||
|
|
||||||
Decrease level of all headers in buffer: 'h2' to 'h1', 'h3' to 'h2', etc.
|
|
||||||
|
|
||||||
If range is given, only operate in the range.
|
|
||||||
|
|
||||||
If an 'h1' would be decreased, abort.
|
|
||||||
|
|
||||||
For simplicity of implementation, Setex headers are converted to Atx.
|
|
||||||
|
|
||||||
*:HeaderIncrease*
|
|
||||||
- ':HeaderIncrease': Analogous to ':HeaderDecrease', but increase levels
|
|
||||||
instead.
|
|
||||||
|
|
||||||
*:SetexToAtx*
|
|
||||||
- ':SetexToAtx':
|
|
||||||
|
|
||||||
Convert all Setex style headers in buffer to Atx.
|
|
||||||
|
|
||||||
If a range is given, e.g. hit ':' from visual mode, only operate on the
|
|
||||||
range.
|
|
||||||
|
|
||||||
*:TableFormat*
|
|
||||||
- ':TableFormat': Format the table under the cursor like this [10].
|
|
||||||
|
|
||||||
Requires Tabular [11].
|
|
||||||
|
|
||||||
The input table _must_ already have a separator line as the second line of
|
|
||||||
the table. That line only needs to contain the correct pipes '|', nothing
|
|
||||||
else is required.
|
|
||||||
|
|
||||||
*:Toc*
|
|
||||||
- ':Toc': create a quickfix vertical window navigable table of contents with
|
|
||||||
the headers.
|
|
||||||
|
|
||||||
Hit '<Enter>' on a line to jump to the corresponding line of the markdown
|
|
||||||
file.
|
|
||||||
|
|
||||||
*:Toch*
|
|
||||||
- ':Toch': Same as ':Toc' but in an horizontal window.
|
|
||||||
|
|
||||||
*:Toct*
|
|
||||||
- ':Toct': Same as ':Toc' but in a new tab.
|
|
||||||
|
|
||||||
*:Tocv*
|
|
||||||
- ':Tocv': Same as ':Toc' for symmetry with ':Toch' and ':Tocv'.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
*vim-markdown-credits*
|
|
||||||
Credits ~
|
|
||||||
|
|
||||||
The main contributors of vim-markdown are:
|
|
||||||
|
|
||||||
- **Ben Williams** (A.K.A. **plasticboy**). The original developer of vim-
|
|
||||||
markdown. Homepage [12].
|
|
||||||
|
|
||||||
If you feel that your name should be on this list, please make a pull request
|
|
||||||
listing your contributions.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
*vim-markdown-license*
|
|
||||||
License ~
|
|
||||||
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2012 Benjamin D. Williams
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
||||||
of the Software, and to permit persons to whom the Software is furnished to do
|
|
||||||
so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
*vim-markdown-references*
|
|
||||||
References ~
|
|
||||||
|
|
||||||
[1] http://daringfireball.net/projects/markdown/
|
|
||||||
[2] https://github.com/gmarik/vundle
|
|
||||||
[3] https://github.com/tpope/vim-pathogen
|
|
||||||
[4] http://packages.qa.debian.org/v/vim-addon-manager.html
|
|
||||||
[5] https://github.com/plasticboy/vim-markdown/archive/master.tar.gz
|
|
||||||
[6] https://github.com/klen/python-mode
|
|
||||||
[7] https://gohugo.io/content/front-matter/
|
|
||||||
[8] https://github.com/cespare/vim-toml
|
|
||||||
[9] https://github.com/elzr/vim-json
|
|
||||||
[10] http://www.cirosantilli.com/markdown-style-guide/#tables
|
|
||||||
[11] https://github.com/godlygeek/tabular
|
|
||||||
[12] http://plasticboy.com/
|
|
||||||
|
|
||||||
vim: ft=help
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'raml') == -1
|
|
||||||
|
|
||||||
# vim-raml
|
|
||||||
Vim syntax and language settings for RAML
|
|
||||||
|
|
||||||
About
|
|
||||||
---
|
|
||||||
vim-raml is a superset of Vim's own syntax settings for YAML, as RAML itself
|
|
||||||
is a superset of YAML. Obviously, filetype detection is provided for RAML
|
|
||||||
files as well to make use of the expanded syntax, as well language formatting
|
|
||||||
defaults.
|
|
||||||
|
|
||||||
You'll notice several changes over using the default YAML syntax file:
|
|
||||||
- The RAML version header, manditory in RAML now stands out brightly,
|
|
||||||
rather than looking like a comment.
|
|
||||||
- Parameter interpolation i.e. ```<<thing>>``` is highlighted inside of blocks
|
|
||||||
and values.
|
|
||||||
- Delimiters and blocks i.e. ```-, |, etc``` are consistently highlighted
|
|
||||||
(flaky in YAML).
|
|
||||||
- HTTP verbs, response codes, data types, and route definitions are all
|
|
||||||
colored separately from regular keys to help immediately distingush
|
|
||||||
different levels of the data structure.
|
|
||||||
- HTTP verbs include all that are supported by RAML: get, post, put, delete,
|
|
||||||
head, patch, and options
|
|
||||||
- Response codes e.g. 200, 201, 404, 401, etc are colored like numbers
|
|
||||||
(for obvious reasons)
|
|
||||||
- Data types e.g. ```type: integer```. Supports all RAML datatypes. string,
|
|
||||||
number, integer, date, boolean, and file.
|
|
||||||
- Route definitions: these include ```/posts:``` or ```/{id}:```
|
|
||||||
|
|
||||||
Installation
|
|
||||||
---
|
|
||||||
vim-raml doesn't have any strange or esoteric requirements.
|
|
||||||
Provided you're using Vundle, Pathogen or any of the other standard Vim
|
|
||||||
plugin managers. You can install vim-raml exactly how you'd expect.
|
|
||||||
|
|
||||||
For completeness, to install via Vundle just add the following into your
|
|
||||||
.vimrc with your other plugins
|
|
||||||
|
|
||||||
Plugin '.../.../'
|
|
||||||
Plugin 'IN3D/vim-raml'
|
|
||||||
Plugin '.../.../'
|
|
||||||
|
|
||||||
Then run:
|
|
||||||
|
|
||||||
:source %
|
|
||||||
:PluginInstall
|
|
||||||
|
|
||||||
|
|
||||||
Or for Pathogen:
|
|
||||||
|
|
||||||
cd ~/.vim/bundle
|
|
||||||
git clone https://github.com/IN3D/vim-raml.git
|
|
||||||
|
|
||||||
And Pathogen should pick it up the next time Vim is started.
|
|
||||||
|
|
||||||
|
|
||||||
Questions, suggestions, and issues
|
|
||||||
---
|
|
||||||
If you have a question, suggestion, or have found an issue with vim-raml.
|
|
||||||
The best way to bring it to my attention is to open an issue at
|
|
||||||
https://github.com/IN3D/vim-raml/issues
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -474,10 +474,10 @@ def rule_to_code(rule)
|
|||||||
end
|
end
|
||||||
|
|
||||||
def extract(packages)
|
def extract(packages)
|
||||||
all_dirs = %w(syntax indent doc compiler ftplugin ctags extras after)
|
all_dirs = %w(syntax indent compiler ftplugin ctags extras after)
|
||||||
|
|
||||||
default_dirs = %w(
|
default_dirs = %w(
|
||||||
syntax indent doc compiler autoload ftplugin ctags extras
|
syntax indent compiler autoload ftplugin ctags extras
|
||||||
after/syntax after/indent after/ftplugin
|
after/syntax after/indent after/ftplugin
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user