Remove docs so docs of installed plugins are up to date

This commit is contained in:
Adam Stankiewicz
2020-10-19 02:55:37 +02:00
parent 3d80a66e7b
commit 5e2607d93f
37 changed files with 2 additions and 12978 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

@@ -474,10 +474,10 @@ def rule_to_code(rule)
end
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(
syntax indent doc compiler autoload ftplugin ctags extras
syntax indent compiler autoload ftplugin ctags extras
after/syntax after/indent after/ftplugin
)