mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
vim-patch:partial:6ebe4f970b8b (#20860)
Update runtime files
6ebe4f970b
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@ -712,6 +712,9 @@ func! tohtml#GetUserSettings() "{{{
|
|||||||
call tohtml#GetOption(user_settings, 'no_foldcolumn', user_settings.ignore_folding)
|
call tohtml#GetOption(user_settings, 'no_foldcolumn', user_settings.ignore_folding)
|
||||||
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
|
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
|
||||||
call tohtml#GetOption(user_settings, 'no_pre', 0 )
|
call tohtml#GetOption(user_settings, 'no_pre', 0 )
|
||||||
|
call tohtml#GetOption(user_settings, 'no_doc', 0 )
|
||||||
|
call tohtml#GetOption(user_settings, 'no_links', 0 )
|
||||||
|
call tohtml#GetOption(user_settings, 'no_modeline', 0 )
|
||||||
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
|
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
|
||||||
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
|
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
|
||||||
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
|
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
|
||||||
@ -752,7 +755,7 @@ func! tohtml#GetUserSettings() "{{{
|
|||||||
|
|
||||||
" pre_wrap doesn't do anything if not using pre or not using CSS
|
" pre_wrap doesn't do anything if not using pre or not using CSS
|
||||||
if user_settings.no_pre || !user_settings.use_css
|
if user_settings.no_pre || !user_settings.use_css
|
||||||
let user_settings.pre_wrap=0
|
let user_settings.pre_wrap = 0
|
||||||
endif
|
endif
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
|
@ -1198,11 +1198,9 @@ col({expr}) The result is a Number, which is the byte index of the column
|
|||||||
buffer.
|
buffer.
|
||||||
For the cursor position, when 'virtualedit' is active, the
|
For the cursor position, when 'virtualedit' is active, the
|
||||||
column is one higher if the cursor is after the end of the
|
column is one higher if the cursor is after the end of the
|
||||||
line. This can be used to obtain the column in Insert mode: >
|
line. Also, when using a <Cmd> mapping the cursor isn't
|
||||||
:imap <F2> <C-O>:let save_ve = &ve<CR>
|
moved, this can be used to obtain the column in Insert mode: >
|
||||||
\<C-O>:set ve=all<CR>
|
:imap <F2> <Cmd>echo col(".")<CR>
|
||||||
\<C-O>:echo col(".") .. "\n" <Bar>
|
|
||||||
\let &ve = save_ve<CR>
|
|
||||||
|
|
||||||
< Can also be used as a |method|: >
|
< Can also be used as a |method|: >
|
||||||
GetPos()->col()
|
GetPos()->col()
|
||||||
|
@ -1,70 +1,70 @@
|
|||||||
*ft_rust.txt* For Vim version 8.1. Last change: 2017 Nov 02
|
*ft_rust.txt* Nvim
|
||||||
|
|
||||||
This is documentation for the Rust filetype plugin.
|
This is documentation for the Rust filetype plugin.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
CONTENTS *rust*
|
CONTENTS *rust*
|
||||||
|
|
||||||
1. Introduction |rust-intro|
|
1. Introduction |rust-intro|
|
||||||
2. Settings |rust-settings|
|
2. Settings |rust-settings|
|
||||||
3. Commands |rust-commands|
|
3. Commands |rust-commands|
|
||||||
4. Mappings |rust-mappings|
|
4. Mappings |rust-mappings|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
INTRODUCTION *rust-intro*
|
INTRODUCTION *rust-intro*
|
||||||
|
|
||||||
This plugin provides syntax and supporting functionality for the Rust
|
This plugin provides syntax and supporting functionality for the Rust
|
||||||
filetype.
|
filetype.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
SETTINGS *rust-settings*
|
SETTINGS *rust-settings*
|
||||||
|
|
||||||
This plugin has a few variables you can define in your vimrc that change the
|
This plugin has a few variables you can define in your vimrc that change the
|
||||||
behavior of the plugin.
|
behavior of the plugin.
|
||||||
|
|
||||||
*g:rustc_path*
|
*g:rustc_path*
|
||||||
g:rustc_path~
|
g:rustc_path~
|
||||||
Set this option to the path to rustc for use in the |:RustRun| and
|
Set this option to the path to rustc for use in the |:RustRun| and
|
||||||
|:RustExpand| commands. If unset, "rustc" will be located in $PATH: >
|
|:RustExpand| commands. If unset, "rustc" will be located in $PATH: >
|
||||||
let g:rustc_path = $HOME .. "/bin/rustc"
|
let g:rustc_path = $HOME .. "/bin/rustc"
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rustc_makeprg_no_percent*
|
*g:rustc_makeprg_no_percent*
|
||||||
g:rustc_makeprg_no_percent~
|
g:rustc_makeprg_no_percent~
|
||||||
Set this option to 1 to have 'makeprg' default to "rustc" instead of
|
Set this option to 1 to have 'makeprg' default to "rustc" instead of
|
||||||
"rustc %": >
|
"rustc %": >
|
||||||
let g:rustc_makeprg_no_percent = 1
|
let g:rustc_makeprg_no_percent = 1
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rust_conceal*
|
*g:rust_conceal*
|
||||||
g:rust_conceal~
|
g:rust_conceal~
|
||||||
Set this option to turn on the basic |conceal| support: >
|
Set this option to turn on the basic |conceal| support: >
|
||||||
let g:rust_conceal = 1
|
let g:rust_conceal = 1
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rust_conceal_mod_path*
|
*g:rust_conceal_mod_path*
|
||||||
g:rust_conceal_mod_path~
|
g:rust_conceal_mod_path~
|
||||||
Set this option to turn on |conceal| for the path connecting token
|
Set this option to turn on |conceal| for the path connecting token
|
||||||
"::": >
|
"::": >
|
||||||
let g:rust_conceal_mod_path = 1
|
let g:rust_conceal_mod_path = 1
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rust_conceal_pub*
|
*g:rust_conceal_pub*
|
||||||
g:rust_conceal_pub~
|
g:rust_conceal_pub~
|
||||||
Set this option to turn on |conceal| for the "pub" token: >
|
Set this option to turn on |conceal| for the "pub" token: >
|
||||||
let g:rust_conceal_pub = 1
|
let g:rust_conceal_pub = 1
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rust_recommended_style*
|
*g:rust_recommended_style*
|
||||||
g:rust_recommended_style~
|
g:rust_recommended_style~
|
||||||
Set this option to enable vim indentation and textwidth settings to
|
Set this option to enable vim indentation and textwidth settings to
|
||||||
conform to style conventions of the rust standard library (i.e. use 4
|
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
|
spaces for indents and sets 'textwidth' to 99). This option is enabled
|
||||||
by default. To disable it: >
|
by default. To disable it: >
|
||||||
let g:rust_recommended_style = 0
|
let g:rust_recommended_style = 0
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rust_fold*
|
*g:rust_fold*
|
||||||
g:rust_fold~
|
g:rust_fold~
|
||||||
Set this option to turn on |folding|: >
|
Set this option to turn on |folding|: >
|
||||||
let g:rust_fold = 1
|
let g:rust_fold = 1
|
||||||
@ -76,39 +76,39 @@ g:rust_fold~
|
|||||||
2 Braced blocks are folded. 'foldlevel' is left at the
|
2 Braced blocks are folded. 'foldlevel' is left at the
|
||||||
global value (all folds are closed by default).
|
global value (all folds are closed by default).
|
||||||
|
|
||||||
*g:rust_bang_comment_leader*
|
*g:rust_bang_comment_leader*
|
||||||
g:rust_bang_comment_leader~
|
g:rust_bang_comment_leader~
|
||||||
Set this option to 1 to preserve the leader on multi-line doc comments
|
Set this option to 1 to preserve the leader on multi-line doc comments
|
||||||
using the /*! syntax: >
|
using the /*! syntax: >
|
||||||
let g:rust_bang_comment_leader = 1
|
let g:rust_bang_comment_leader = 1
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:ftplugin_rust_source_path*
|
*g:ftplugin_rust_source_path*
|
||||||
g:ftplugin_rust_source_path~
|
g:ftplugin_rust_source_path~
|
||||||
Set this option to a path that should be prepended to 'path' for Rust
|
Set this option to a path that should be prepended to 'path' for Rust
|
||||||
source files: >
|
source files: >
|
||||||
let g:ftplugin_rust_source_path = $HOME .. '/dev/rust'
|
let g:ftplugin_rust_source_path = $HOME .. '/dev/rust'
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rustfmt_command*
|
*g:rustfmt_command*
|
||||||
g:rustfmt_command~
|
g:rustfmt_command~
|
||||||
Set this option to the name of the "rustfmt" executable in your $PATH. If
|
Set this option to the name of the "rustfmt" executable in your $PATH. If
|
||||||
not specified it defaults to "rustfmt" : >
|
not specified it defaults to "rustfmt" : >
|
||||||
let g:rustfmt_command = 'rustfmt'
|
let g:rustfmt_command = 'rustfmt'
|
||||||
<
|
<
|
||||||
*g:rustfmt_autosave*
|
*g:rustfmt_autosave*
|
||||||
g:rustfmt_autosave~
|
g:rustfmt_autosave~
|
||||||
Set this option to 1 to run |:RustFmt| automatically when saving a
|
Set this option to 1 to run |:RustFmt| automatically when saving a
|
||||||
buffer. If not specified it defaults to 0 : >
|
buffer. If not specified it defaults to 0 : >
|
||||||
let g:rustfmt_autosave = 0
|
let g:rustfmt_autosave = 0
|
||||||
<
|
<
|
||||||
*g:rustfmt_fail_silently*
|
*g:rustfmt_fail_silently*
|
||||||
g:rustfmt_fail_silently~
|
g:rustfmt_fail_silently~
|
||||||
Set this option to 1 to prevent "rustfmt" from populating the
|
Set this option to 1 to prevent "rustfmt" from populating the
|
||||||
|location-list| with errors. If not specified it defaults to 0: >
|
|location-list| with errors. If not specified it defaults to 0: >
|
||||||
let g:rustfmt_fail_silently = 0
|
let g:rustfmt_fail_silently = 0
|
||||||
<
|
<
|
||||||
*g:rustfmt_options*
|
*g:rustfmt_options*
|
||||||
g:rustfmt_options~
|
g:rustfmt_options~
|
||||||
Set this option to a string of options to pass to "rustfmt". The
|
Set this option to a string of options to pass to "rustfmt". The
|
||||||
write-mode is already set to "overwrite". If not specified it
|
write-mode is already set to "overwrite". If not specified it
|
||||||
@ -116,13 +116,13 @@ g:rustfmt_options~
|
|||||||
let g:rustfmt_options = ''
|
let g:rustfmt_options = ''
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rust_playpen_url*
|
*g:rust_playpen_url*
|
||||||
g:rust_playpen_url~
|
g:rust_playpen_url~
|
||||||
Set this option to override the URL for the playpen to use: >
|
Set this option to override the URL for the playpen to use: >
|
||||||
let g:rust_playpen_url = 'https://play.rust-lang.org/'
|
let g:rust_playpen_url = 'https://play.rust-lang.org/'
|
||||||
<
|
<
|
||||||
|
|
||||||
*g:rust_shortener_url*
|
*g:rust_shortener_url*
|
||||||
g:rust_shortener_url~
|
g:rust_shortener_url~
|
||||||
Set this option to override the URL for the URL shortener: >
|
Set this option to override the URL for the URL shortener: >
|
||||||
let g:rust_shortener_url = 'https://is.gd/'
|
let g:rust_shortener_url = 'https://is.gd/'
|
||||||
@ -130,9 +130,9 @@ g:rust_shortener_url~
|
|||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
COMMANDS *rust-commands*
|
COMMANDS *rust-commands*
|
||||||
|
|
||||||
:RustRun [args] *:RustRun*
|
:RustRun [args] *:RustRun*
|
||||||
:RustRun! [rustc-args] [--] [args]
|
:RustRun! [rustc-args] [--] [args]
|
||||||
Compiles and runs the current file. If it has unsaved changes,
|
Compiles and runs the current file. If it has unsaved changes,
|
||||||
it will be saved first using |:update|. If the current file is
|
it will be saved first using |:update|. If the current file is
|
||||||
@ -150,7 +150,7 @@ COMMANDS *rust-commands*
|
|||||||
If |g:rustc_path| is defined, it is used as the path 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.
|
Otherwise it is assumed rustc can be found in $PATH.
|
||||||
|
|
||||||
:RustExpand [args] *:RustExpand*
|
:RustExpand [args] *:RustExpand*
|
||||||
:RustExpand! [TYPE] [args]
|
:RustExpand! [TYPE] [args]
|
||||||
Expands the current file using --pretty and displays the
|
Expands the current file using --pretty and displays the
|
||||||
results in a new split. If the current file has unsaved
|
results in a new split. If the current file has unsaved
|
||||||
@ -169,7 +169,7 @@ COMMANDS *rust-commands*
|
|||||||
If |g:rustc_path| is defined, it is used as the path 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.
|
Otherwise it is assumed rustc can be found in $PATH.
|
||||||
|
|
||||||
:RustEmitIr [args] *:RustEmitIr*
|
:RustEmitIr [args] *:RustEmitIr*
|
||||||
Compiles the current file to LLVM IR and displays the results
|
Compiles the current file to LLVM IR and displays the results
|
||||||
in a new split. If the current file has unsaved changes, it
|
in a new split. If the current file has unsaved changes, it
|
||||||
will be saved first using |:update|. If the current file is an
|
will be saved first using |:update|. If the current file is an
|
||||||
@ -180,7 +180,7 @@ COMMANDS *rust-commands*
|
|||||||
If |g:rustc_path| is defined, it is used as the path 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.
|
Otherwise it is assumed rustc can be found in $PATH.
|
||||||
|
|
||||||
:RustEmitAsm [args] *:RustEmitAsm*
|
:RustEmitAsm [args] *:RustEmitAsm*
|
||||||
Compiles the current file to assembly and displays the results
|
Compiles the current file to assembly and displays the results
|
||||||
in a new split. If the current file has unsaved changes, it
|
in a new split. If the current file has unsaved changes, it
|
||||||
will be saved first using |:update|. If the current file is an
|
will be saved first using |:update|. If the current file is an
|
||||||
@ -191,7 +191,7 @@ COMMANDS *rust-commands*
|
|||||||
If |g:rustc_path| is defined, it is used as the path 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.
|
Otherwise it is assumed rustc can be found in $PATH.
|
||||||
|
|
||||||
:RustPlay *:RustPlay*
|
:RustPlay *:RustPlay*
|
||||||
This command will only work if you have web-api.vim installed
|
This command will only work if you have web-api.vim installed
|
||||||
(available at https://github.com/mattn/webapi-vim). It sends the
|
(available at https://github.com/mattn/webapi-vim). It sends the
|
||||||
current selection, or if nothing is selected, the entirety of the
|
current selection, or if nothing is selected, the entirety of the
|
||||||
@ -204,7 +204,7 @@ COMMANDS *rust-commands*
|
|||||||
|g:rust_shortener_url| is the base URL for the shortener, by
|
|g:rust_shortener_url| is the base URL for the shortener, by
|
||||||
default "https://is.gd/"
|
default "https://is.gd/"
|
||||||
|
|
||||||
:RustFmt *:RustFmt*
|
:RustFmt *:RustFmt*
|
||||||
Runs |g:rustfmt_command| on the current buffer. If
|
Runs |g:rustfmt_command| on the current buffer. If
|
||||||
|g:rustfmt_options| is set then those will be passed to the
|
|g:rustfmt_options| is set then those will be passed to the
|
||||||
executable.
|
executable.
|
||||||
@ -214,12 +214,12 @@ COMMANDS *rust-commands*
|
|||||||
|g:rustfmt_command|. If |g:rustfmt_fail_silently| is set to 1
|
|g:rustfmt_command|. If |g:rustfmt_fail_silently| is set to 1
|
||||||
then it will not populate the |location-list|.
|
then it will not populate the |location-list|.
|
||||||
|
|
||||||
:RustFmtRange *:RustFmtRange*
|
:RustFmtRange *:RustFmtRange*
|
||||||
Runs |g:rustfmt_command| with selected range. See
|
Runs |g:rustfmt_command| with selected range. See
|
||||||
|:RustFmt| for any other information.
|
|:RustFmt| for any other information.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
MAPPINGS *rust-mappings*
|
MAPPINGS *rust-mappings*
|
||||||
|
|
||||||
This plugin defines mappings for |[[| and |]]| to support hanging indents.
|
This plugin defines mappings for |[[| and |]]| to support hanging indents.
|
||||||
|
|
||||||
|
@ -601,6 +601,7 @@ probably means that some other program changed the file. You will have to
|
|||||||
find out what happened, and decide which version of the file you want to keep.
|
find out what happened, and decide which version of the file you want to keep.
|
||||||
Set the 'autoread' option if you want to do this automatically.
|
Set the 'autoread' option if you want to do this automatically.
|
||||||
This message is not given when 'buftype' is not empty.
|
This message is not given when 'buftype' is not empty.
|
||||||
|
Also see the |FileChangedShell| autocommand.
|
||||||
|
|
||||||
There is one situation where you get this message even though there is nothing
|
There is one situation where you get this message even though there is nothing
|
||||||
wrong: If you save a file in Windows on the day the daylight saving time
|
wrong: If you save a file in Windows on the day the daylight saving time
|
||||||
|
@ -80,20 +80,20 @@ Copyright 2005-2017: *tar-copyright*
|
|||||||
|
|
||||||
These options are variables that one may change, typically in one's
|
These options are variables that one may change, typically in one's
|
||||||
<.vimrc> file.
|
<.vimrc> file.
|
||||||
Default
|
Default
|
||||||
Variable Value Explanation
|
Variable Value Explanation
|
||||||
*g:tar_browseoptions* "Ptf" used to get a list of contents
|
*g:tar_browseoptions* "Ptf" used to get a list of contents
|
||||||
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
|
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
|
||||||
*g:tar_cmd* "tar" the name of the tar program
|
*g:tar_cmd* "tar" the name of the tar program
|
||||||
*g:tar_nomax* 0 if true, file window will not be maximized
|
*g:tar_nomax* 0 if true, file window will not be maximized
|
||||||
*g:tar_secure* undef if exists:
|
*g:tar_secure* undef if exists:
|
||||||
"--"s will be used to prevent unwanted
|
"--"s will be used to prevent unwanted
|
||||||
option expansion in tar commands.
|
option expansion in tar commands.
|
||||||
Please be sure that your tar command
|
Please be sure that your tar command
|
||||||
accepts "--"; Posix compliant tar
|
accepts "--"; Posix compliant tar
|
||||||
utilities do accept them.
|
utilities do accept them.
|
||||||
if not exists:
|
if not exists:
|
||||||
The tar plugin will reject any tar
|
The tar plugin will reject any tar
|
||||||
files or member files that begin with
|
files or member files that begin with
|
||||||
"-"
|
"-"
|
||||||
Not all tar's support the "--" which is why
|
Not all tar's support the "--" which is why
|
||||||
|
@ -39,7 +39,7 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
|||||||
|
|
||||||
OPTIONS~
|
OPTIONS~
|
||||||
|
|
||||||
*g:zip_nomax*
|
*g:zip_nomax*
|
||||||
|
|
||||||
If this variable exists and is true, the file window will not be
|
If this variable exists and is true, the file window will not be
|
||||||
automatically maximized when opened.
|
automatically maximized when opened.
|
||||||
@ -54,21 +54,21 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
|||||||
under Windows ("). If you'd rather have no quotes, simply set
|
under Windows ("). If you'd rather have no quotes, simply set
|
||||||
g:zip_shq to the empty string (let g:zip_shq= "") in your <.vimrc>.
|
g:zip_shq to the empty string (let g:zip_shq= "") in your <.vimrc>.
|
||||||
|
|
||||||
*g:zip_unzipcmd*
|
*g:zip_unzipcmd*
|
||||||
Use this option to specify the program which does the duty of "unzip".
|
Use this option to specify the program which does the duty of "unzip".
|
||||||
It's used during browsing. By default: >
|
It's used during browsing. By default: >
|
||||||
let g:zip_unzipcmd= "unzip"
|
let g:zip_unzipcmd= "unzip"
|
||||||
<
|
<
|
||||||
*g:zip_zipcmd*
|
*g:zip_zipcmd*
|
||||||
Use this option to specify the program which does the duty of "zip".
|
Use this option to specify the program which does the duty of "zip".
|
||||||
It's used during the writing (updating) of a file already in a zip
|
It's used during the writing (updating) of a file already in a zip
|
||||||
file; by default: >
|
file; by default: >
|
||||||
let g:zip_zipcmd= "zip"
|
let g:zip_zipcmd= "zip"
|
||||||
<
|
<
|
||||||
*g:zip_extractcmd*
|
*g:zip_extractcmd*
|
||||||
This option specifies the program (and any options needed) used to
|
This option specifies the program (and any options needed) used to
|
||||||
extract a file from a zip archive. By default, >
|
extract a file from a zip archive. By default, >
|
||||||
let g:zip_extractcmd= g:zip_unzipcmd
|
let g:zip_extractcmd= g:zip_unzipcmd
|
||||||
<
|
<
|
||||||
PREVENTING LOADING~
|
PREVENTING LOADING~
|
||||||
|
|
||||||
@ -103,14 +103,14 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
4. History *zip-history* {{{1
|
4. History *zip-history* {{{1
|
||||||
v32 Oct 22, 2021 * to avoid an issue with a vim 8.2 patch, zipfile: has
|
v32 Oct 22, 2021 * to avoid an issue with a vim 8.2 patch, zipfile: has
|
||||||
been changed to zipfile:// . This often shows up
|
been changed to zipfile:// . This often shows up
|
||||||
as zipfile:/// with zipped files that are root-based.
|
as zipfile:/// with zipped files that are root-based.
|
||||||
v29 Apr 02, 2017 * (Klartext) reported that an encrypted zip file could
|
v29 Apr 02, 2017 * (Klartext) reported that an encrypted zip file could
|
||||||
opened but the swapfile held unencrypted contents.
|
opened but the swapfile held unencrypted contents.
|
||||||
The solution is to edit the contents of a zip file
|
The solution is to edit the contents of a zip file
|
||||||
using the |:noswapfile| modifier.
|
using the |:noswapfile| modifier.
|
||||||
v28 Oct 08, 2014 * changed the sanity checks for executables to reflect
|
v28 Oct 08, 2014 * changed the sanity checks for executables to reflect
|
||||||
the command actually to be attempted in zip#Read()
|
the command actually to be attempted in zip#Read()
|
||||||
and zip#Write()
|
and zip#Write()
|
||||||
* added the extraction of a file capability
|
* added the extraction of a file capability
|
||||||
Nov 30, 2015 * added *.epub to the |g:zipPlugin_ext| list
|
Nov 30, 2015 * added *.epub to the |g:zipPlugin_ext| list
|
||||||
|
@ -464,7 +464,7 @@ Force to omit the line numbers: >
|
|||||||
Go back to the default to use 'number' by deleting the variable: >
|
Go back to the default to use 'number' by deleting the variable: >
|
||||||
:unlet g:html_number_lines
|
:unlet g:html_number_lines
|
||||||
<
|
<
|
||||||
*g:html_line_ids*
|
*g:html_line_ids*
|
||||||
Default: 1 if |g:html_number_lines| is set, 0 otherwise.
|
Default: 1 if |g:html_number_lines| is set, 0 otherwise.
|
||||||
When 1, adds an HTML id attribute to each line number, or to an empty <span>
|
When 1, adds an HTML id attribute to each line number, or to an empty <span>
|
||||||
inserted for that purpose if no line numbers are shown. This ID attribute
|
inserted for that purpose if no line numbers are shown. This ID attribute
|
||||||
@ -656,6 +656,22 @@ the rendered page generated by 2html.vim.
|
|||||||
>
|
>
|
||||||
:let g:html_no_pre = 1
|
:let g:html_no_pre = 1
|
||||||
<
|
<
|
||||||
|
*g:html_no_doc*
|
||||||
|
Default: 0.
|
||||||
|
When 1 it doesn't generate a full HTML document with a DOCTYPE, <head>,
|
||||||
|
<body>, etc. If |g:html_use_css| is enabled (the default) you'll have to
|
||||||
|
define the CSS manually. The |g:html_dynamic_folds| and |g:html_line_ids|
|
||||||
|
settings (off by default) also insert some JavaScript.
|
||||||
|
|
||||||
|
|
||||||
|
*g:html_no_links*
|
||||||
|
Default: 0.
|
||||||
|
Don't generate <a> tags for text that looks like an URL.
|
||||||
|
|
||||||
|
*g:html_no_modeline*
|
||||||
|
Default: 0.
|
||||||
|
Don't generate a modeline disabling folding.
|
||||||
|
|
||||||
*g:html_expand_tabs*
|
*g:html_expand_tabs*
|
||||||
Default: 0 if 'tabstop' is 8, 'expandtab' is 0, 'vartabstop' is not in use,
|
Default: 0 if 'tabstop' is 8, 'expandtab' is 0, 'vartabstop' is not in use,
|
||||||
and no fold column or line numbers occur in the generated HTML;
|
and no fold column or line numbers occur in the generated HTML;
|
||||||
@ -2897,7 +2913,7 @@ Default folding is rather detailed, i.e., small syntax units like "if", "do",
|
|||||||
|
|
||||||
You can set "ruby_foldable_groups" to restrict which groups are foldable: >
|
You can set "ruby_foldable_groups" to restrict which groups are foldable: >
|
||||||
|
|
||||||
:let ruby_foldable_groups = 'if case %'
|
:let ruby_foldable_groups = 'if case %'
|
||||||
<
|
<
|
||||||
The value is a space-separated list of keywords:
|
The value is a space-separated list of keywords:
|
||||||
|
|
||||||
@ -2905,22 +2921,22 @@ The value is a space-separated list of keywords:
|
|||||||
-------- ------------------------------------- ~
|
-------- ------------------------------------- ~
|
||||||
ALL Most block syntax (default)
|
ALL Most block syntax (default)
|
||||||
NONE Nothing
|
NONE Nothing
|
||||||
if "if" or "unless" block
|
if "if" or "unless" block
|
||||||
def "def" block
|
def "def" block
|
||||||
class "class" block
|
class "class" block
|
||||||
module "module" block
|
module "module" block
|
||||||
do "do" block
|
do "do" block
|
||||||
begin "begin" block
|
begin "begin" block
|
||||||
case "case" block
|
case "case" block
|
||||||
for "for", "while", "until" loops
|
for "for", "while", "until" loops
|
||||||
{ Curly bracket block or hash literal
|
{ Curly bracket block or hash literal
|
||||||
[ Array literal
|
[ Array literal
|
||||||
% Literal with "%" notation, e.g.: %w(STRING), %!STRING!
|
% Literal with "%" notation, e.g.: %w(STRING), %!STRING!
|
||||||
/ Regexp
|
/ Regexp
|
||||||
string String and shell command output (surrounded by ', ", `)
|
string String and shell command output (surrounded by ', ", `)
|
||||||
: Symbol
|
: Symbol
|
||||||
# Multiline comment
|
# Multiline comment
|
||||||
<< Here documents
|
<< Here documents
|
||||||
__END__ Source code after "__END__" directive
|
__END__ Source code after "__END__" directive
|
||||||
|
|
||||||
*ruby_no_expensive*
|
*ruby_no_expensive*
|
||||||
@ -3750,7 +3766,7 @@ SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
|
|||||||
|
|
||||||
clear: Syntax specific iskeyword setting is disabled and the
|
clear: Syntax specific iskeyword setting is disabled and the
|
||||||
buffer-local 'iskeyword' setting is used.
|
buffer-local 'iskeyword' setting is used.
|
||||||
{option} Set the syntax 'iskeyword' option to a new value.
|
{option} Set the syntax 'iskeyword' option to a new value.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
:syntax iskeyword @,48-57,192-255,$,_
|
:syntax iskeyword @,48-57,192-255,$,_
|
||||||
@ -5110,7 +5126,7 @@ guisp={color-name} *guisp*
|
|||||||
"gg" is the Green value
|
"gg" is the Green value
|
||||||
"bb" is the Blue value
|
"bb" is the Blue value
|
||||||
All values are hexadecimal, range from "00" to "ff". Examples: >
|
All values are hexadecimal, range from "00" to "ff". Examples: >
|
||||||
:highlight Comment guifg=#11f0c3 guibg=#ff00ff
|
:highlight Comment guifg=#11f0c3 guibg=#ff00ff
|
||||||
<
|
<
|
||||||
blend={integer} *highlight-blend*
|
blend={integer} *highlight-blend*
|
||||||
Override the blend level for a highlight group within the popupmenu
|
Override the blend level for a highlight group within the popupmenu
|
||||||
|
@ -380,6 +380,8 @@ and then drag) will result in whole words to be selected. This continues
|
|||||||
until the button is released, at which point the selection is per character
|
until the button is released, at which point the selection is per character
|
||||||
again.
|
again.
|
||||||
|
|
||||||
|
For scrolling with the mouse see |scroll-mouse-wheel|.
|
||||||
|
|
||||||
In Insert mode, when a selection is started, Vim goes into Normal mode
|
In Insert mode, when a selection is started, Vim goes into Normal mode
|
||||||
temporarily. When Visual or Select mode ends, it returns to Insert mode.
|
temporarily. When Visual or Select mode ends, it returns to Insert mode.
|
||||||
This is like using CTRL-O in Insert mode. Select mode is used when the
|
This is like using CTRL-O in Insert mode. Select mode is used when the
|
||||||
|
16
runtime/ftplugin/apache.vim
Normal file
16
runtime/ftplugin/apache.vim
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
" Vim filetype plugin
|
||||||
|
" Language: apache configuration file
|
||||||
|
" Maintainer: Per Juchtmans <dubgeiser+vimNOSPAM@gmail.com>
|
||||||
|
" Last Change: 2022 Oct 22
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
setlocal comments=:#
|
||||||
|
setlocal commentstring=#\ %s
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setlocal comments< commentstring<"
|
||||||
|
|
||||||
|
" vim: nowrap sw=2 sts=2 ts=8 noet:
|
14
runtime/ftplugin/openvpn.vim
Normal file
14
runtime/ftplugin/openvpn.vim
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
" Vim filetype plugin
|
||||||
|
" Language: OpenVPN
|
||||||
|
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||||
|
" Last Change: 2022 Oct 16
|
||||||
|
|
||||||
|
if exists('b:did_ftplugin')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
setlocal iskeyword+=-,.,/
|
||||||
|
setlocal comments=:#,:; commentstring=#%s
|
||||||
|
|
||||||
|
let b:undo_ftplugin = 'setl isk< com< cms<'
|
@ -815,202 +815,204 @@ endif
|
|||||||
|
|
||||||
" HTML header, with the title and generator ;-). Left free space for the CSS,
|
" HTML header, with the title and generator ;-). Left free space for the CSS,
|
||||||
" to be filled at the end.
|
" to be filled at the end.
|
||||||
call extend(s:lines, [
|
if !s:settings.no_doc
|
||||||
\ "<html>",
|
|
||||||
\ "<head>"])
|
|
||||||
" include encoding as close to the top as possible, but only if not already
|
|
||||||
" contained in XML information (to avoid haggling over content type)
|
|
||||||
if s:settings.encoding != "" && !s:settings.use_xhtml
|
|
||||||
if s:html5
|
|
||||||
call add(s:lines, '<meta charset="' . s:settings.encoding . '"' . s:tag_close)
|
|
||||||
else
|
|
||||||
call add(s:lines, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . s:tag_close)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
call extend(s:lines, [
|
|
||||||
\ ("<title>".expand("%:p:~")."</title>"),
|
|
||||||
\ ("<meta name=\"Generator\" content=\"Vim/".v:version/100.".".v:version%100.'"'.s:tag_close),
|
|
||||||
\ ("<meta name=\"plugin-version\" content=\"".s:pluginversion.'"'.s:tag_close)
|
|
||||||
\ ])
|
|
||||||
call add(s:lines, '<meta name="syntax" content="'.s:current_syntax.'"'.s:tag_close)
|
|
||||||
call add(s:lines, '<meta name="settings" content="'.
|
|
||||||
\ join(filter(keys(s:settings),'s:settings[v:val]'),',').
|
|
||||||
\ ',prevent_copy='.s:settings.prevent_copy.
|
|
||||||
\ ',use_input_for_pc='.s:settings.use_input_for_pc.
|
|
||||||
\ '"'.s:tag_close)
|
|
||||||
call add(s:lines, '<meta name="colorscheme" content="'.
|
|
||||||
\ (exists('g:colors_name')
|
|
||||||
\ ? g:colors_name
|
|
||||||
\ : 'none'). '"'.s:tag_close)
|
|
||||||
|
|
||||||
if s:settings.use_css
|
|
||||||
call extend(s:lines, [
|
call extend(s:lines, [
|
||||||
\ "<style" . (s:html5 ? "" : " type=\"text/css\"") . ">",
|
\ "<html>",
|
||||||
\ s:settings.use_xhtml ? "" : "<!--"])
|
\ "<head>"])
|
||||||
let s:ieonly = []
|
" include encoding as close to the top as possible, but only if not already
|
||||||
if s:settings.dynamic_folds
|
" contained in XML information (to avoid haggling over content type)
|
||||||
if s:settings.hover_unfold
|
if s:settings.encoding != "" && !s:settings.use_xhtml
|
||||||
" if we are doing hover_unfold, use css 2 with css 1 fallback for IE6
|
if s:html5
|
||||||
call extend(s:lines, [
|
call add(s:lines, '<meta charset="' . s:settings.encoding . '"' . s:tag_close)
|
||||||
\ ".FoldColumn { text-decoration: none; white-space: pre; }",
|
|
||||||
\ "",
|
|
||||||
\ "body * { margin: 0; padding: 0; }", "",
|
|
||||||
\ ".open-fold > span.Folded { display: none; }",
|
|
||||||
\ ".open-fold > .fulltext { display: inline; }",
|
|
||||||
\ ".closed-fold > .fulltext { display: none; }",
|
|
||||||
\ ".closed-fold > span.Folded { display: inline; }",
|
|
||||||
\ "",
|
|
||||||
\ ".open-fold > .toggle-open { display: none; }",
|
|
||||||
\ ".open-fold > .toggle-closed { display: inline; }",
|
|
||||||
\ ".closed-fold > .toggle-open { display: inline; }",
|
|
||||||
\ ".closed-fold > .toggle-closed { display: none; }",
|
|
||||||
\ "", "",
|
|
||||||
\ '/* opening a fold while hovering won''t be supported by IE6 and other',
|
|
||||||
\ "similar browsers, but it should fail gracefully. */",
|
|
||||||
\ ".closed-fold:hover > .fulltext { display: inline; }",
|
|
||||||
\ ".closed-fold:hover > .toggle-filler { display: none; }",
|
|
||||||
\ ".closed-fold:hover > .Folded { display: none; }"])
|
|
||||||
" TODO: IE6 is REALLY old and I can't even test it anymore. Maybe we
|
|
||||||
" should remove this? Leave it in for now, it was working at one point,
|
|
||||||
" and doesn't affect any modern browsers. Even newer IE versions should
|
|
||||||
" support the above code and ignore the following.
|
|
||||||
let s:ieonly = [
|
|
||||||
\ "<!--[if lt IE 7]><style type=\"text/css\">",
|
|
||||||
\ ".open-fold .fulltext { display: inline; }",
|
|
||||||
\ ".open-fold span.Folded { display: none; }",
|
|
||||||
\ ".open-fold .toggle-open { display: none; }",
|
|
||||||
\ ".open-fold .toggle-closed { display: inline; }",
|
|
||||||
\ "",
|
|
||||||
\ ".closed-fold .fulltext { display: none; }",
|
|
||||||
\ ".closed-fold span.Folded { display: inline; }",
|
|
||||||
\ ".closed-fold .toggle-open { display: inline; }",
|
|
||||||
\ ".closed-fold .toggle-closed { display: none; }",
|
|
||||||
\ "</style>",
|
|
||||||
\ "<![endif]-->",
|
|
||||||
\]
|
|
||||||
else
|
else
|
||||||
" if we aren't doing hover_unfold, use CSS 1 only
|
call add(s:lines, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . s:tag_close)
|
||||||
call extend(s:lines, [
|
|
||||||
\ ".FoldColumn { text-decoration: none; white-space: pre; }",
|
|
||||||
\ ".open-fold .fulltext { display: inline; }",
|
|
||||||
\ ".open-fold span.Folded { display: none; }",
|
|
||||||
\ ".open-fold .toggle-open { display: none; }",
|
|
||||||
\ ".open-fold .toggle-closed { display: inline; }",
|
|
||||||
\ "",
|
|
||||||
\ ".closed-fold .fulltext { display: none; }",
|
|
||||||
\ ".closed-fold span.Folded { display: inline; }",
|
|
||||||
\ ".closed-fold .toggle-open { display: inline; }",
|
|
||||||
\ ".closed-fold .toggle-closed { display: none; }",
|
|
||||||
\])
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
" else we aren't doing any dynamic folding, no need for any special rules
|
|
||||||
|
|
||||||
call extend(s:lines, [
|
call extend(s:lines, [
|
||||||
\ s:settings.use_xhtml ? "" : '-->',
|
\ ("<title>".expand("%:p:~")."</title>"),
|
||||||
\ "</style>",
|
\ ("<meta name=\"Generator\" content=\"Vim/".v:version/100.".".v:version%100.'"'.s:tag_close),
|
||||||
\])
|
\ ("<meta name=\"plugin-version\" content=\"".s:pluginversion.'"'.s:tag_close)
|
||||||
call extend(s:lines, s:ieonly)
|
|
||||||
unlet s:ieonly
|
|
||||||
endif
|
|
||||||
|
|
||||||
let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids
|
|
||||||
|
|
||||||
" insert script tag if needed
|
|
||||||
if s:uses_script
|
|
||||||
call extend(s:lines, [
|
|
||||||
\ "",
|
|
||||||
\ "<script" . (s:html5 ? "" : " type='text/javascript'") . ">",
|
|
||||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
|
||||||
endif
|
|
||||||
|
|
||||||
" insert javascript to toggle folds open and closed
|
|
||||||
if s:settings.dynamic_folds
|
|
||||||
call extend(s:lines, [
|
|
||||||
\ "",
|
|
||||||
\ "function toggleFold(objID)",
|
|
||||||
\ "{",
|
|
||||||
\ " var fold;",
|
|
||||||
\ " fold = document.getElementById(objID);",
|
|
||||||
\ " if (fold.className == 'closed-fold')",
|
|
||||||
\ " {",
|
|
||||||
\ " fold.className = 'open-fold';",
|
|
||||||
\ " }",
|
|
||||||
\ " else if (fold.className == 'open-fold')",
|
|
||||||
\ " {",
|
|
||||||
\ " fold.className = 'closed-fold';",
|
|
||||||
\ " }",
|
|
||||||
\ "}"
|
|
||||||
\ ])
|
\ ])
|
||||||
endif
|
call add(s:lines, '<meta name="syntax" content="'.s:current_syntax.'"'.s:tag_close)
|
||||||
|
call add(s:lines, '<meta name="settings" content="'.
|
||||||
|
\ join(filter(keys(s:settings),'s:settings[v:val]'),',').
|
||||||
|
\ ',prevent_copy='.s:settings.prevent_copy.
|
||||||
|
\ ',use_input_for_pc='.s:settings.use_input_for_pc.
|
||||||
|
\ '"'.s:tag_close)
|
||||||
|
call add(s:lines, '<meta name="colorscheme" content="'.
|
||||||
|
\ (exists('g:colors_name')
|
||||||
|
\ ? g:colors_name
|
||||||
|
\ : 'none'). '"'.s:tag_close)
|
||||||
|
|
||||||
if s:settings.line_ids
|
if s:settings.use_css
|
||||||
" insert javascript to get IDs from line numbers, and to open a fold before
|
call extend(s:lines, [
|
||||||
" jumping to any lines contained therein
|
\ "<style" . (s:html5 ? "" : " type=\"text/css\"") . ">",
|
||||||
call extend(s:lines, [
|
\ s:settings.use_xhtml ? "" : "<!--"])
|
||||||
\ "",
|
let s:ieonly = []
|
||||||
\ "/* function to open any folds containing a jumped-to line before jumping to it */",
|
if s:settings.dynamic_folds
|
||||||
\ "function JumpToLine()",
|
if s:settings.hover_unfold
|
||||||
\ "{",
|
" if we are doing hover_unfold, use css 2 with css 1 fallback for IE6
|
||||||
\ " var lineNum;",
|
call extend(s:lines, [
|
||||||
\ " lineNum = window.location.hash;",
|
\ ".FoldColumn { text-decoration: none; white-space: pre; }",
|
||||||
\ " lineNum = lineNum.substr(1); /* strip off '#' */",
|
\ "",
|
||||||
\ "",
|
\ "body * { margin: 0; padding: 0; }", "",
|
||||||
\ " if (lineNum.indexOf('L') == -1) {",
|
\ ".open-fold > span.Folded { display: none; }",
|
||||||
\ " lineNum = 'L'+lineNum;",
|
\ ".open-fold > .fulltext { display: inline; }",
|
||||||
\ " }",
|
\ ".closed-fold > .fulltext { display: none; }",
|
||||||
\ " var lineElem = document.getElementById(lineNum);"
|
\ ".closed-fold > span.Folded { display: inline; }",
|
||||||
\ ])
|
\ "",
|
||||||
|
\ ".open-fold > .toggle-open { display: none; }",
|
||||||
|
\ ".open-fold > .toggle-closed { display: inline; }",
|
||||||
|
\ ".closed-fold > .toggle-open { display: inline; }",
|
||||||
|
\ ".closed-fold > .toggle-closed { display: none; }",
|
||||||
|
\ "", "",
|
||||||
|
\ '/* opening a fold while hovering won''t be supported by IE6 and other',
|
||||||
|
\ "similar browsers, but it should fail gracefully. */",
|
||||||
|
\ ".closed-fold:hover > .fulltext { display: inline; }",
|
||||||
|
\ ".closed-fold:hover > .toggle-filler { display: none; }",
|
||||||
|
\ ".closed-fold:hover > .Folded { display: none; }"])
|
||||||
|
" TODO: IE6 is REALLY old and I can't even test it anymore. Maybe we
|
||||||
|
" should remove this? Leave it in for now, it was working at one point,
|
||||||
|
" and doesn't affect any modern browsers. Even newer IE versions should
|
||||||
|
" support the above code and ignore the following.
|
||||||
|
let s:ieonly = [
|
||||||
|
\ "<!--[if lt IE 7]><style type=\"text/css\">",
|
||||||
|
\ ".open-fold .fulltext { display: inline; }",
|
||||||
|
\ ".open-fold span.Folded { display: none; }",
|
||||||
|
\ ".open-fold .toggle-open { display: none; }",
|
||||||
|
\ ".open-fold .toggle-closed { display: inline; }",
|
||||||
|
\ "",
|
||||||
|
\ ".closed-fold .fulltext { display: none; }",
|
||||||
|
\ ".closed-fold span.Folded { display: inline; }",
|
||||||
|
\ ".closed-fold .toggle-open { display: inline; }",
|
||||||
|
\ ".closed-fold .toggle-closed { display: none; }",
|
||||||
|
\ "</style>",
|
||||||
|
\ "<![endif]-->",
|
||||||
|
\]
|
||||||
|
else
|
||||||
|
" if we aren't doing hover_unfold, use CSS 1 only
|
||||||
|
call extend(s:lines, [
|
||||||
|
\ ".FoldColumn { text-decoration: none; white-space: pre; }",
|
||||||
|
\ ".open-fold .fulltext { display: inline; }",
|
||||||
|
\ ".open-fold span.Folded { display: none; }",
|
||||||
|
\ ".open-fold .toggle-open { display: none; }",
|
||||||
|
\ ".open-fold .toggle-closed { display: inline; }",
|
||||||
|
\ "",
|
||||||
|
\ ".closed-fold .fulltext { display: none; }",
|
||||||
|
\ ".closed-fold span.Folded { display: inline; }",
|
||||||
|
\ ".closed-fold .toggle-open { display: inline; }",
|
||||||
|
\ ".closed-fold .toggle-closed { display: none; }",
|
||||||
|
\])
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
" else we aren't doing any dynamic folding, no need for any special rules
|
||||||
|
|
||||||
|
call extend(s:lines, [
|
||||||
|
\ s:settings.use_xhtml ? "" : '-->',
|
||||||
|
\ "</style>",
|
||||||
|
\])
|
||||||
|
call extend(s:lines, s:ieonly)
|
||||||
|
unlet s:ieonly
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids
|
||||||
|
|
||||||
|
" insert script tag if needed
|
||||||
|
if s:uses_script
|
||||||
|
call extend(s:lines, [
|
||||||
|
\ "",
|
||||||
|
\ "<script" . (s:html5 ? "" : " type='text/javascript'") . ">",
|
||||||
|
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||||
|
endif
|
||||||
|
|
||||||
|
" insert javascript to toggle folds open and closed
|
||||||
if s:settings.dynamic_folds
|
if s:settings.dynamic_folds
|
||||||
call extend(s:lines, [
|
call extend(s:lines, [
|
||||||
\ "",
|
\ "",
|
||||||
\ " /* navigate upwards in the DOM tree to open all folds containing the line */",
|
\ "function toggleFold(objID)",
|
||||||
\ " var node = lineElem;",
|
\ "{",
|
||||||
\ " while (node && node.id != 'vimCodeElement".s:settings.id_suffix."')",
|
\ " var fold;",
|
||||||
|
\ " fold = document.getElementById(objID);",
|
||||||
|
\ " if (fold.className == 'closed-fold')",
|
||||||
\ " {",
|
\ " {",
|
||||||
\ " if (node.className == 'closed-fold')",
|
\ " fold.className = 'open-fold';",
|
||||||
\ " {",
|
|
||||||
\ " node.className = 'open-fold';",
|
|
||||||
\ " }",
|
|
||||||
\ " node = node.parentNode;",
|
|
||||||
\ " }",
|
\ " }",
|
||||||
|
\ " else if (fold.className == 'open-fold')",
|
||||||
|
\ " {",
|
||||||
|
\ " fold.className = 'closed-fold';",
|
||||||
|
\ " }",
|
||||||
|
\ "}"
|
||||||
\ ])
|
\ ])
|
||||||
endif
|
endif
|
||||||
call extend(s:lines, [
|
|
||||||
\ " /* Always jump to new location even if the line was hidden inside a fold, or",
|
|
||||||
\ " * we corrected the raw number to a line ID.",
|
|
||||||
\ " */",
|
|
||||||
\ " if (lineElem) {",
|
|
||||||
\ " lineElem.scrollIntoView(true);",
|
|
||||||
\ " }",
|
|
||||||
\ " return true;",
|
|
||||||
\ "}",
|
|
||||||
\ "if ('onhashchange' in window) {",
|
|
||||||
\ " window.onhashchange = JumpToLine;",
|
|
||||||
\ "}"
|
|
||||||
\ ])
|
|
||||||
endif
|
|
||||||
|
|
||||||
" insert script closing tag if needed
|
if s:settings.line_ids
|
||||||
if s:uses_script
|
" insert javascript to get IDs from line numbers, and to open a fold before
|
||||||
call extend(s:lines, [
|
" jumping to any lines contained therein
|
||||||
\ '',
|
call extend(s:lines, [
|
||||||
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
\ "",
|
||||||
\ "</script>"
|
\ "/* function to open any folds containing a jumped-to line before jumping to it */",
|
||||||
\ ])
|
\ "function JumpToLine()",
|
||||||
endif
|
\ "{",
|
||||||
|
\ " var lineNum;",
|
||||||
|
\ " lineNum = window.location.hash;",
|
||||||
|
\ " lineNum = lineNum.substr(1); /* strip off '#' */",
|
||||||
|
\ "",
|
||||||
|
\ " if (lineNum.indexOf('L') == -1) {",
|
||||||
|
\ " lineNum = 'L'+lineNum;",
|
||||||
|
\ " }",
|
||||||
|
\ " var lineElem = document.getElementById(lineNum);"
|
||||||
|
\ ])
|
||||||
|
|
||||||
call extend(s:lines, ["</head>",
|
if s:settings.dynamic_folds
|
||||||
\ "<body".(s:settings.line_ids ? " onload='JumpToLine();'" : "").">"])
|
call extend(s:lines, [
|
||||||
|
\ "",
|
||||||
|
\ " /* navigate upwards in the DOM tree to open all folds containing the line */",
|
||||||
|
\ " var node = lineElem;",
|
||||||
|
\ " while (node && node.id != 'vimCodeElement".s:settings.id_suffix."')",
|
||||||
|
\ " {",
|
||||||
|
\ " if (node.className == 'closed-fold')",
|
||||||
|
\ " {",
|
||||||
|
\ " node.className = 'open-fold';",
|
||||||
|
\ " }",
|
||||||
|
\ " node = node.parentNode;",
|
||||||
|
\ " }",
|
||||||
|
\ ])
|
||||||
|
endif
|
||||||
|
call extend(s:lines, [
|
||||||
|
\ " /* Always jump to new location even if the line was hidden inside a fold, or",
|
||||||
|
\ " * we corrected the raw number to a line ID.",
|
||||||
|
\ " */",
|
||||||
|
\ " if (lineElem) {",
|
||||||
|
\ " lineElem.scrollIntoView(true);",
|
||||||
|
\ " }",
|
||||||
|
\ " return true;",
|
||||||
|
\ "}",
|
||||||
|
\ "if ('onhashchange' in window) {",
|
||||||
|
\ " window.onhashchange = JumpToLine;",
|
||||||
|
\ "}"
|
||||||
|
\ ])
|
||||||
|
endif
|
||||||
|
|
||||||
|
" insert script closing tag if needed
|
||||||
|
if s:uses_script
|
||||||
|
call extend(s:lines, [
|
||||||
|
\ '',
|
||||||
|
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
||||||
|
\ "</script>"
|
||||||
|
\ ])
|
||||||
|
endif
|
||||||
|
|
||||||
|
call extend(s:lines, ["</head>",
|
||||||
|
\ "<body".(s:settings.line_ids ? " onload='JumpToLine();'" : "").">"])
|
||||||
|
endif
|
||||||
|
|
||||||
if s:settings.no_pre
|
if s:settings.no_pre
|
||||||
" if we're not using CSS we use a font tag which can't have a div inside
|
" if we're not using CSS we use a font tag which can't have a div inside
|
||||||
if s:settings.use_css
|
if s:settings.use_css
|
||||||
call extend(s:lines, ["<div id='vimCodeElement".s:settings.id_suffix."'>"])
|
call extend(s:lines, ["<div id='vimCodeElement" .. s:settings.id_suffix .. "'>"])
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
call extend(s:lines, ["<pre id='vimCodeElement".s:settings.id_suffix."'>"])
|
call extend(s:lines, ["<pre id='vimCodeElement" .. s:settings.id_suffix .. "'>"])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
exe s:orgwin . "wincmd w"
|
exe s:orgwin . "wincmd w"
|
||||||
@ -1721,12 +1723,15 @@ endif
|
|||||||
if s:settings.no_pre
|
if s:settings.no_pre
|
||||||
if !s:settings.use_css
|
if !s:settings.use_css
|
||||||
" Close off the font tag that encapsulates the whole <body>
|
" Close off the font tag that encapsulates the whole <body>
|
||||||
call extend(s:lines, ["</font>", "</body>", "</html>"])
|
call extend(s:lines, ["</font>"])
|
||||||
else
|
else
|
||||||
call extend(s:lines, ["</div>", "</body>", "</html>"])
|
call extend(s:lines, ["</div>"])
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
call extend(s:lines, ["</pre>", "</body>", "</html>"])
|
call extend(s:lines, ["</pre>"])
|
||||||
|
endif
|
||||||
|
if !s:settings.no_doc
|
||||||
|
call extend(s:lines, ["</body>", "</html>"])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
exe s:newwin . "wincmd w"
|
exe s:newwin . "wincmd w"
|
||||||
@ -1742,15 +1747,15 @@ unlet s:lines
|
|||||||
" The generated HTML is admittedly ugly and takes a LONG time to fold.
|
" The generated HTML is admittedly ugly and takes a LONG time to fold.
|
||||||
" Make sure the user doesn't do syntax folding when loading a generated file,
|
" Make sure the user doesn't do syntax folding when loading a generated file,
|
||||||
" using a modeline.
|
" using a modeline.
|
||||||
call append(line('$'), "<!-- vim: set foldmethod=manual : -->")
|
if !s:settings.no_modeline
|
||||||
|
call append(line('$'), "<!-- vim: set foldmethod=manual : -->")
|
||||||
" Now, when we finally know which, we define the colors and styles
|
|
||||||
if s:settings.use_css
|
|
||||||
1;/<style\>/+1
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Normal/global attributes
|
" Now, when we finally know which, we define the colors and styles
|
||||||
if s:settings.use_css
|
if s:settings.use_css && !s:settings.no_doc
|
||||||
|
1;/<style\>/+1
|
||||||
|
|
||||||
|
" Normal/global attributes
|
||||||
if s:settings.no_pre
|
if s:settings.no_pre
|
||||||
call append('.', "body { color: " . s:fgc . "; background-color: " . s:bgc . "; font-family: ". s:htmlfont ."; }")
|
call append('.', "body { color: " . s:fgc . "; background-color: " . s:bgc . "; font-family: ". s:htmlfont ."; }")
|
||||||
+
|
+
|
||||||
@ -1874,7 +1879,9 @@ if s:settings.use_css
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
else
|
endif
|
||||||
|
|
||||||
|
if !s:settings.use_css && !s:settings_no_doc
|
||||||
" For Netscape 4, set <body> attributes too, though, strictly speaking, it's
|
" For Netscape 4, set <body> attributes too, though, strictly speaking, it's
|
||||||
" incorrect.
|
" incorrect.
|
||||||
execute '%s:<body\([^>]*\):<body bgcolor="' . s:bgc . '" text="' . s:fgc . '"\1>\r<font face="'. s:htmlfont .'"'
|
execute '%s:<body\([^>]*\):<body bgcolor="' . s:bgc . '" text="' . s:fgc . '"\1>\r<font face="'. s:htmlfont .'"'
|
||||||
@ -1882,7 +1889,7 @@ endif
|
|||||||
|
|
||||||
" Gather attributes for all other classes. Do diff first so that normal
|
" Gather attributes for all other classes. Do diff first so that normal
|
||||||
" highlight groups are inserted before it.
|
" highlight groups are inserted before it.
|
||||||
if s:settings.use_css
|
if s:settings.use_css && !s:settings.no_doc
|
||||||
if s:diff_mode
|
if s:diff_mode
|
||||||
call append('.', filter(map(keys(s:diffstylelist), "s:diffstylelist[v:val]"), 'v:val != ""'))
|
call append('.', filter(map(keys(s:diffstylelist), "s:diffstylelist[v:val]"), 'v:val != ""'))
|
||||||
endif
|
endif
|
||||||
@ -1892,20 +1899,22 @@ if s:settings.use_css
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Add hyperlinks
|
" Add hyperlinks
|
||||||
" TODO: add option to not do this? Maybe just make the color the same as the
|
if !s:settings.no_links
|
||||||
" text highlight group normally is?
|
%s+\(https\=://\S\{-}\)\(\([.,;:}]\=\(\s\|$\)\)\|[\\"'<>]\|>\|<\|"\)+<a href="\1">\1</a>\2+ge
|
||||||
%s+\(https\=://\S\{-}\)\(\([.,;:}]\=\(\s\|$\)\)\|[\\"'<>]\|>\|<\|"\)+<a href="\1">\1</a>\2+ge
|
|
||||||
|
|
||||||
" The DTD
|
|
||||||
if s:settings.use_xhtml
|
|
||||||
exe "normal! gg$a\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"
|
|
||||||
elseif s:html5
|
|
||||||
exe "normal! gg0i<!DOCTYPE html>\n"
|
|
||||||
else
|
|
||||||
exe "normal! gg0i<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n"
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if s:settings.use_xhtml
|
" The DTD
|
||||||
|
if !s:settings.no_doc
|
||||||
|
if s:settings.use_xhtml
|
||||||
|
exe "normal! gg$a\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"
|
||||||
|
elseif s:html5
|
||||||
|
exe "normal! gg0i<!DOCTYPE html>\n"
|
||||||
|
else
|
||||||
|
exe "normal! gg0i<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n"
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if s:settings.use_xhtml && !s:settings.no_doc
|
||||||
exe "normal! gg/<html/e\na xmlns=\"http://www.w3.org/1999/xhtml\"\e"
|
exe "normal! gg/<html/e\na xmlns=\"http://www.w3.org/1999/xhtml\"\e"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Vim help file
|
" Language: Vim help file
|
||||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||||
" Last Change: 2022 Sep 26
|
" Last Change: 2022 Oct 17
|
||||||
|
|
||||||
" Quit when a (custom) syntax file was already loaded
|
" Quit when a (custom) syntax file was already loaded
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
@ -11,7 +11,7 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
syn match helpHeadline "^[-A-Z .][-A-Z0-9 .()_]*\ze\(\s\+\*\|$\)"
|
syn match helpHeadline "^ *[-A-Z.][-A-Z0-9 .()_]*?\=\ze\(\s\+\*\|$\)"
|
||||||
syn match helpSectionDelim "^===.*===$"
|
syn match helpSectionDelim "^===.*===$"
|
||||||
syn match helpSectionDelim "^---.*--$"
|
syn match helpSectionDelim "^---.*--$"
|
||||||
if has("conceal")
|
if has("conceal")
|
||||||
|
72
runtime/syntax/openvpn.vim
Normal file
72
runtime/syntax/openvpn.vim
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
" Vim syntax file
|
||||||
|
" Language: OpenVPN
|
||||||
|
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||||
|
" Filenames: *.ovpn
|
||||||
|
" Last Change: 2022 Oct 16
|
||||||
|
|
||||||
|
if exists('b:current_syntax')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:cpo_save = &cpoptions
|
||||||
|
set cpoptions&vim
|
||||||
|
|
||||||
|
" Options
|
||||||
|
syntax match openvpnOption /^[a-z-]\+/
|
||||||
|
\ skipwhite nextgroup=openvpnArgList
|
||||||
|
syntax match openvpnArgList /.*$/ transparent contained
|
||||||
|
\ contains=openvpnArgument,openvpnNumber,
|
||||||
|
\ openvpnIPv4Address,openvpnIPv6Address,
|
||||||
|
\ openvpnSignal,openvpnComment
|
||||||
|
|
||||||
|
" Arguments
|
||||||
|
syntax match openvpnArgument /[^\\"' \t]\+/
|
||||||
|
\ contained contains=openvpnEscape
|
||||||
|
syntax region openvpnArgument matchgroup=openvpnQuote
|
||||||
|
\ start=/"/ skip=/\\"/ end=/"/
|
||||||
|
\ oneline contained contains=openvpnEscape
|
||||||
|
syntax region openvpnArgument matchgroup=openvpnQuote
|
||||||
|
\ start=/'/ skip=/\\'/ end=/'/
|
||||||
|
\ oneline contained
|
||||||
|
syntax match openvpnEscape /\\[\\" \t]/ contained
|
||||||
|
|
||||||
|
" Numbers
|
||||||
|
syntax match openvpnNumber /\<[1-9][0-9]*\(\.[0-9]\+\)\?\>/ contained
|
||||||
|
|
||||||
|
" Signals
|
||||||
|
syntax match openvpnSignal /SIG\(HUP\|INT\|TERM\|USER[12]\)/ contained
|
||||||
|
|
||||||
|
" IP addresses
|
||||||
|
syntax match openvpnIPv4Address /\(\d\{1,3}\.\)\{3}\d\{1,3}/
|
||||||
|
\ contained nextgroup=openvpnSlash
|
||||||
|
syntax match openvpnIPv6Address /\([A-F0-9]\{1,4}:\)\{7}\[A-F0-9]\{1,4}/
|
||||||
|
\ contained nextgroup=openvpnSlash
|
||||||
|
syntax match openvpnSlash "/" contained
|
||||||
|
\ nextgroup=openvpnIPv4Address,openvpnIPv6Address,openvpnNumber
|
||||||
|
|
||||||
|
" Inline files
|
||||||
|
syntax region openvpnInline matchgroup=openvpnTag
|
||||||
|
\ start=+^<\z([a-z-]\+\)>+ end=+^</\z1>+
|
||||||
|
|
||||||
|
" Comments
|
||||||
|
syntax keyword openvpnTodo contained TODO FIXME NOTE XXX
|
||||||
|
syntax match openvpnComment /^[;#].*$/ contains=openvpnTodo
|
||||||
|
syntax match openvpnComment /\s\+\zs[;#].*$/ contains=openvpnTodo
|
||||||
|
|
||||||
|
hi def link openvpnArgument String
|
||||||
|
hi def link openvpnComment Comment
|
||||||
|
hi def link openvpnEscape SpecialChar
|
||||||
|
hi def link openvpnIPv4Address Constant
|
||||||
|
hi def link openvpnIPv6Address Constant
|
||||||
|
hi def link openvpnNumber Number
|
||||||
|
hi def link openvpnOption Keyword
|
||||||
|
hi def link openvpnQuote Quote
|
||||||
|
hi def link openvpnSignal Special
|
||||||
|
hi def link openvpnSlash Delimiter
|
||||||
|
hi def link openvpnTag Tag
|
||||||
|
hi def link openvpnTodo Todo
|
||||||
|
|
||||||
|
let b:current_syntax = 'openvpn'
|
||||||
|
|
||||||
|
let &cpoptions = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
@ -619,7 +619,7 @@ syn match vimCtrlChar "[--]"
|
|||||||
|
|
||||||
" Beginners - Patterns that involve ^ {{{2
|
" Beginners - Patterns that involve ^ {{{2
|
||||||
" =========
|
" =========
|
||||||
syn match vimLineComment +^[ \t:]*"\("[^"]*"\|[^"]\)*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
|
syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
|
||||||
syn match vim9LineComment +^[ \t:]\+#.*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
|
syn match vim9LineComment +^[ \t:]\+#.*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
|
||||||
syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
|
syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
|
||||||
syn match vimContinue "^\s*\\"
|
syn match vimContinue "^\s*\\"
|
||||||
|
@ -2099,7 +2099,7 @@ static void augment_terminfo(TUIData *data, const char *term, long vte_version,
|
|||||||
// Dickey ncurses terminfo does not include the setrgbf and setrgbb
|
// Dickey ncurses terminfo does not include the setrgbf and setrgbb
|
||||||
// capabilities, proposed by Rüdiger Sonderfeld on 2013-10-15. Adding
|
// capabilities, proposed by Rüdiger Sonderfeld on 2013-10-15. Adding
|
||||||
// them here when terminfo lacks them is an augmentation, not a fixup.
|
// them here when terminfo lacks them is an augmentation, not a fixup.
|
||||||
// https://gist.github.com/XVilka/8346728
|
// https://github.com/termstandard/colors
|
||||||
|
|
||||||
// At this time (2017-07-12) it seems like all terminals that support rgb
|
// At this time (2017-07-12) it seems like all terminals that support rgb
|
||||||
// color codes can use semicolons in the terminal code and be fine.
|
// color codes can use semicolons in the terminal code and be fine.
|
||||||
|
Reference in New Issue
Block a user