forked from aniani/vim
Updated runtime files.
This commit is contained in:
parent
b3435b0a3a
commit
2ec618c9fe
@ -1,6 +1,6 @@
|
|||||||
" Vim autoload file for editing compressed files.
|
" Vim autoload file for editing compressed files.
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2014 Nov 05
|
" Last Change: 2016 Sep 28
|
||||||
|
|
||||||
" These functions are used by the gzip plugin.
|
" These functions are used by the gzip plugin.
|
||||||
|
|
||||||
@ -63,6 +63,9 @@ fun gzip#read(cmd)
|
|||||||
" set 'modifiable'
|
" set 'modifiable'
|
||||||
let ma_save = &ma
|
let ma_save = &ma
|
||||||
setlocal ma
|
setlocal ma
|
||||||
|
" set 'write'
|
||||||
|
let write_save = &write
|
||||||
|
set write
|
||||||
" Reset 'foldenable', otherwise line numbers get adjusted.
|
" Reset 'foldenable', otherwise line numbers get adjusted.
|
||||||
if has("folding")
|
if has("folding")
|
||||||
let fen_save = &fen
|
let fen_save = &fen
|
||||||
@ -127,6 +130,7 @@ fun gzip#read(cmd)
|
|||||||
let &pm = pm_save
|
let &pm = pm_save
|
||||||
let &cpo = cpo_save
|
let &cpo = cpo_save
|
||||||
let &l:ma = ma_save
|
let &l:ma = ma_save
|
||||||
|
let &write = write_save
|
||||||
if has("folding")
|
if has("folding")
|
||||||
let &l:fen = fen_save
|
let &l:fen = fen_save
|
||||||
endif
|
endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.0. Last change: 2016 Sep 21
|
*autocmd.txt* For Vim version 8.0. Last change: 2016 Sep 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -79,11 +79,15 @@ exception is that "<sfile>" is expanded when the autocmd is defined. Example:
|
|||||||
|
|
||||||
Here Vim expands <sfile> to the name of the file containing this line.
|
Here Vim expands <sfile> to the name of the file containing this line.
|
||||||
|
|
||||||
When your .vimrc file is sourced twice, the autocommands will appear twice.
|
`:autocmd` adds to the list of autocommands regardless of whether they are
|
||||||
To avoid this, put this command in your .vimrc file, before defining
|
already present. When your .vimrc file is sourced twice, the autocommands
|
||||||
autocommands: >
|
will appear twice. To avoid this, define your autocommands in a group, so
|
||||||
|
that you can easily clear them: >
|
||||||
|
|
||||||
:autocmd! " Remove ALL autocommands for the current group.
|
augroup vimrc
|
||||||
|
autocmd! " Remove all vimrc autocommands
|
||||||
|
au BufNewFile,BufRead *.html so <sfile>:h/html.vim
|
||||||
|
augroup END
|
||||||
|
|
||||||
If you don't want to remove all autocommands, you can instead use a variable
|
If you don't want to remove all autocommands, you can instead use a variable
|
||||||
to ensure that Vim includes the autocommands only once: >
|
to ensure that Vim includes the autocommands only once: >
|
||||||
@ -130,8 +134,13 @@ prompt. When one command outputs two messages this can happen anyway.
|
|||||||
|
|
||||||
:au[tocmd]! [group] {event}
|
:au[tocmd]! [group] {event}
|
||||||
Remove ALL autocommands for {event}.
|
Remove ALL autocommands for {event}.
|
||||||
|
Warning: You should not do this without a group for
|
||||||
|
|BufRead| and other common events, it can break
|
||||||
|
plugins, syntax highlighting, etc.
|
||||||
|
|
||||||
:au[tocmd]! [group] Remove ALL autocommands.
|
:au[tocmd]! [group] Remove ALL autocommands.
|
||||||
|
Warning: You should normally not do this without a
|
||||||
|
group, it breaks plugins, syntax highlighting, etc.
|
||||||
|
|
||||||
When the [group] argument is not given, Vim uses the current group (as defined
|
When the [group] argument is not given, Vim uses the current group (as defined
|
||||||
with ":augroup"); otherwise, Vim uses the group defined with [group].
|
with ":augroup"); otherwise, Vim uses the group defined with [group].
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*channel.txt* For Vim version 8.0. Last change: 2016 Sep 20
|
*channel.txt* For Vim version 8.0. Last change: 2016 Sep 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -465,6 +465,11 @@ it like this: >
|
|||||||
Without the handler you need to read the output with |ch_read()| or
|
Without the handler you need to read the output with |ch_read()| or
|
||||||
|ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
|
|ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
|
||||||
|
|
||||||
|
Note that if the job exits before you read the output, the output may be lost.
|
||||||
|
This depends on the system (on Unix this happens because closing the write end
|
||||||
|
of a pipe causes the read end to get EOF). To avoid this make the job sleep
|
||||||
|
for a short while before it exits.
|
||||||
|
|
||||||
The handler defined for "out_cb" will not receive stderr. If you want to
|
The handler defined for "out_cb" will not receive stderr. If you want to
|
||||||
handle that separately, add an "err_cb" handler: >
|
handle that separately, add an "err_cb" handler: >
|
||||||
let job = job_start(command, {"out_cb": "MyHandler",
|
let job = job_start(command, {"out_cb": "MyHandler",
|
||||||
@ -516,7 +521,7 @@ If the job can take some time and you don't need intermediate results, you can
|
|||||||
add a close callback and read the output there: >
|
add a close callback and read the output there: >
|
||||||
|
|
||||||
func! CloseHandler(channel)
|
func! CloseHandler(channel)
|
||||||
while ch_status(a:channel) == 'buffered'
|
while ch_status(a:channel, {'part': 'out'}) == 'buffered'
|
||||||
echomsg ch_read(a:channel)
|
echomsg ch_read(a:channel)
|
||||||
endwhile
|
endwhile
|
||||||
endfunc
|
endfunc
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.0. Last change: 2016 Aug 27
|
*cmdline.txt* For Vim version 8.0. Last change: 2016 Sep 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -229,9 +229,10 @@ CTRL-Y When there is a modeless selection, copy the selection into
|
|||||||
the clipboard. |modeless-selection|
|
the clipboard. |modeless-selection|
|
||||||
If there is no selection CTRL-Y is inserted as a character.
|
If there is no selection CTRL-Y is inserted as a character.
|
||||||
|
|
||||||
CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>* *c_CR*
|
CTRL-M or CTRL-J *c_CTRL-M* *c_CTRL-J* *c_<NL>* *c_<CR>* *c_CR*
|
||||||
<CR> or <NL> start entered command
|
<CR> or <NL> start entered command
|
||||||
*c_<Esc>* *c_Esc*
|
|
||||||
|
CTRL-[ *c_CTRL-[* *c_<Esc>* *c_Esc*
|
||||||
<Esc> When typed and 'x' not present in 'cpoptions', quit
|
<Esc> When typed and 'x' not present in 'cpoptions', quit
|
||||||
Command-line mode without executing. In macros or when 'x'
|
Command-line mode without executing. In macros or when 'x'
|
||||||
present in 'cpoptions', start entered command.
|
present in 'cpoptions', start entered command.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*editing.txt* For Vim version 8.0. Last change: 2016 Aug 06
|
*editing.txt* For Vim version 8.0. Last change: 2016 Sep 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -181,7 +181,8 @@ start editing another file, Vim will refuse this. In order to overrule this
|
|||||||
protection, add a '!' to the command. The changes will then be lost. For
|
protection, add a '!' to the command. The changes will then be lost. For
|
||||||
example: ":q" will not work if the buffer was changed, but ":q!" will. To see
|
example: ":q" will not work if the buffer was changed, but ":q!" will. To see
|
||||||
whether the buffer was changed use the "CTRL-G" command. The message includes
|
whether the buffer was changed use the "CTRL-G" command. The message includes
|
||||||
the string "[Modified]" if the buffer has been changed.
|
the string "[Modified]" if the buffer has been changed, or "+" if the 'm' flag
|
||||||
|
is in 'shortmess'.
|
||||||
|
|
||||||
If you want to automatically save the changes without asking, switch on the
|
If you want to automatically save the changes without asking, switch on the
|
||||||
'autowriteall' option. 'autowrite' is the associated Vi-compatible option
|
'autowriteall' option. 'autowrite' is the associated Vi-compatible option
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 8.0. Last change: 2016 Sep 25
|
*eval.txt* For Vim version 8.0. Last change: 2016 Sep 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -3072,7 +3072,7 @@ ch_log({msg} [, {handle}]) *ch_log()*
|
|||||||
When {handle} is passed the channel number is used for the
|
When {handle} is passed the channel number is used for the
|
||||||
message.
|
message.
|
||||||
{handle} can be Channel or a Job that has a Channel. The
|
{handle} can be Channel or a Job that has a Channel. The
|
||||||
Channel must open.
|
Channel must be open for the channel number to be used.
|
||||||
|
|
||||||
ch_logfile({fname} [, {mode}]) *ch_logfile()*
|
ch_logfile({fname} [, {mode}]) *ch_logfile()*
|
||||||
Start logging channel activity to {fname}.
|
Start logging channel activity to {fname}.
|
||||||
@ -3738,7 +3738,7 @@ filter({expr1}, {expr2}) *filter()*
|
|||||||
call filter(myList, {idx, val -> idx * val <= 42})
|
call filter(myList, {idx, val -> idx * val <= 42})
|
||||||
< If you do not use "val" you can leave it out: >
|
< If you do not use "val" you can leave it out: >
|
||||||
call filter(myList, {idx -> idx % 2 == 1})
|
call filter(myList, {idx -> idx % 2 == 1})
|
||||||
|
<
|
||||||
The operation is done in-place. If you want a |List| or
|
The operation is done in-place. If you want a |List| or
|
||||||
|Dictionary| to remain unmodified make a copy first: >
|
|Dictionary| to remain unmodified make a copy first: >
|
||||||
:let l = filter(copy(mylist), 'v:val =~ "KEEP"')
|
:let l = filter(copy(mylist), 'v:val =~ "KEEP"')
|
||||||
@ -4369,7 +4369,7 @@ getfperm({fname}) *getfperm()*
|
|||||||
< This will hopefully (from a security point of view) display
|
< This will hopefully (from a security point of view) display
|
||||||
the string "rw-r--r--" or even "rw-------".
|
the string "rw-r--r--" or even "rw-------".
|
||||||
|
|
||||||
For setting permissins use |setfperm()|.
|
For setting permissions use |setfperm()|.
|
||||||
|
|
||||||
getftime({fname}) *getftime()*
|
getftime({fname}) *getftime()*
|
||||||
The result is a Number, which is the last modification time of
|
The result is a Number, which is the last modification time of
|
||||||
|
@ -207,21 +207,19 @@ MS-Windows ~
|
|||||||
|
|
||||||
You need to install the right version of Ruby for this to work. You can find
|
You need to install the right version of Ruby for this to work. You can find
|
||||||
the package to download from:
|
the package to download from:
|
||||||
http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html
|
http://rubyinstaller.org/downloads/
|
||||||
Currently that is ruby-1.9.2-p136-i386-mswin32.zip
|
Currently that is rubyinstaller-2.2.5.exe
|
||||||
|
|
||||||
To use the Ruby interface the Ruby DLL must be in your search path. In a
|
To use the Ruby interface the Ruby DLL must be in your search path. In a
|
||||||
console window type "path" to see what directories are used. The 'rubydll'
|
console window type "path" to see what directories are used. The 'rubydll'
|
||||||
option can be also used to specify the Ruby DLL.
|
option can be also used to specify the Ruby DLL.
|
||||||
|
|
||||||
The name of the DLL must match the Ruby version Vim was compiled with.
|
The name of the DLL must match the Ruby version Vim was compiled with.
|
||||||
Currently the name is "msvcrt-ruby191.dll". That is for Ruby 1.9.1. To know
|
Currently the name is "msvcrt-ruby220.dll". That is for Ruby 2.2.X. To know
|
||||||
for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
|
for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
|
||||||
|
|
||||||
If you want to build Vim with Ruby 1.9.1, you need to edit the config.h file
|
If you want to build Vim with RubyInstaller 1.9 or 2.X using MSVC, you need
|
||||||
and comment-out the check for _MSC_VER.
|
some tricks. See the src/INSTALLpc.txt for detail.
|
||||||
You may also need to rename the include directory name to match the version,
|
|
||||||
strangely for Ruby 1.9.3 the directory is called 1.9.1.
|
|
||||||
|
|
||||||
|
|
||||||
Unix ~
|
Unix ~
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*index.txt* For Vim version 8.0. Last change: 2016 Aug 27
|
*index.txt* For Vim version 8.0. Last change: 2016 Sep 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1002,7 +1002,7 @@ tag command action in Command-line editing mode ~
|
|||||||
|c_CTRL-L| CTRL-L do completion on the pattern in front of the
|
|c_CTRL-L| CTRL-L do completion on the pattern in front of the
|
||||||
cursor and insert the longest common part
|
cursor and insert the longest common part
|
||||||
|c_<CR>| <CR> execute entered command
|
|c_<CR>| <CR> execute entered command
|
||||||
|c_<CR>| CTRL-M same as <CR>
|
|c_CTRL-M| CTRL-M same as <CR>
|
||||||
|c_CTRL-N| CTRL-N after using 'wildchar' with multiple matches:
|
|c_CTRL-N| CTRL-N after using 'wildchar' with multiple matches:
|
||||||
go to next match, otherwise: same as <Down>
|
go to next match, otherwise: same as <Down>
|
||||||
CTRL-O not used
|
CTRL-O not used
|
||||||
@ -1026,7 +1026,7 @@ tag command action in Command-line editing mode ~
|
|||||||
CTRL-Y copy (yank) modeless selection
|
CTRL-Y copy (yank) modeless selection
|
||||||
CTRL-Z not used (reserved for suspend)
|
CTRL-Z not used (reserved for suspend)
|
||||||
|c_<Esc>| <Esc> abandon command-line without executing it
|
|c_<Esc>| <Esc> abandon command-line without executing it
|
||||||
|c_<Esc>| CTRL-[ same as <Esc>
|
|c_CTRL-[| CTRL-[ same as <Esc>
|
||||||
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|
||||||
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|
||||||
abandon command-line
|
abandon command-line
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 8.0. Last change: 2016 Sep 16
|
*options.txt* For Vim version 8.0. Last change: 2016 Oct 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -10,7 +10,7 @@ Options *options*
|
|||||||
2. Automatically setting options |auto-setting|
|
2. Automatically setting options |auto-setting|
|
||||||
3. Options summary |option-summary|
|
3. Options summary |option-summary|
|
||||||
|
|
||||||
For an overview of options see help.txt |option-list|.
|
For an overview of options see quickref.txt |option-list|.
|
||||||
|
|
||||||
Vim has a number of internal variables and switches which can be set to
|
Vim has a number of internal variables and switches which can be set to
|
||||||
achieve special effects. These options come in three forms:
|
achieve special effects. These options come in three forms:
|
||||||
@ -1734,12 +1734,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
option + set value effect ~
|
option + set value effect ~
|
||||||
|
|
||||||
'allowrevins' off no CTRL-_ command
|
'allowrevins' off no CTRL-_ command
|
||||||
'backupcopy' Unix: "yes" backup file is a copy
|
|
||||||
others: "auto" copy or rename backup file
|
|
||||||
'backspace' "" normal backspace
|
'backspace' "" normal backspace
|
||||||
|
'backupcopy' Unix: "yes" backup file is a copy
|
||||||
|
else: "auto" copy or rename backup file
|
||||||
'backup' off no backup file
|
'backup' off no backup file
|
||||||
'cindent' off no C code indentation
|
|
||||||
'cedit' + "" no key to open the |cmdwin|
|
'cedit' + "" no key to open the |cmdwin|
|
||||||
|
'cindent' off no C code indentation
|
||||||
'cpoptions' + (all flags) Vi-compatible flags
|
'cpoptions' + (all flags) Vi-compatible flags
|
||||||
'cscopetag' off don't use cscope for ":tag"
|
'cscopetag' off don't use cscope for ":tag"
|
||||||
'cscopetagorder' 0 see |cscopetagorder|
|
'cscopetagorder' 0 see |cscopetagorder|
|
||||||
@ -1781,6 +1781,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'textwidth' 0 no automatic line wrap
|
'textwidth' 0 no automatic line wrap
|
||||||
'tildeop' off tilde is not an operator
|
'tildeop' off tilde is not an operator
|
||||||
'ttimeout' off no terminal timeout
|
'ttimeout' off no terminal timeout
|
||||||
|
'viminfo' + {unchanged} no viminfo file
|
||||||
'whichwrap' + "" left-right movements don't wrap
|
'whichwrap' + "" left-right movements don't wrap
|
||||||
'wildchar' + CTRL-E only when the current value is <Tab>
|
'wildchar' + CTRL-E only when the current value is <Tab>
|
||||||
use CTRL-E for cmdline completion
|
use CTRL-E for cmdline completion
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.0. Last change: 2016 Sep 13
|
*syntax.txt* For Vim version 8.0. Last change: 2016 Sep 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -3580,7 +3580,11 @@ DEFINING KEYWORDS *:syn-keyword*
|
|||||||
|
|
||||||
DEFINING MATCHES *:syn-match*
|
DEFINING MATCHES *:syn-match*
|
||||||
|
|
||||||
:sy[ntax] match {group-name} [{options}] [excludenl] {pattern} [{options}]
|
:sy[ntax] match {group-name} [{options}]
|
||||||
|
[excludenl]
|
||||||
|
[keepend]
|
||||||
|
{pattern}
|
||||||
|
[{options}]
|
||||||
|
|
||||||
This defines one match.
|
This defines one match.
|
||||||
|
|
||||||
@ -3589,6 +3593,9 @@ DEFINING MATCHES *:syn-match*
|
|||||||
[excludenl] Don't make a pattern with the end-of-line "$"
|
[excludenl] Don't make a pattern with the end-of-line "$"
|
||||||
extend a containing match or region. Must be
|
extend a containing match or region. Must be
|
||||||
given before the pattern. |:syn-excludenl|
|
given before the pattern. |:syn-excludenl|
|
||||||
|
keepend Don't allow contained matches to go past a
|
||||||
|
match with the end pattern. See
|
||||||
|
|:syn-keepend|.
|
||||||
{pattern} The search pattern that defines the match.
|
{pattern} The search pattern that defines the match.
|
||||||
See |:syn-pattern| below.
|
See |:syn-pattern| below.
|
||||||
Note that the pattern may match more than one
|
Note that the pattern may match more than one
|
||||||
|
@ -5184,6 +5184,7 @@ c_CTRL-I cmdline.txt /*c_CTRL-I*
|
|||||||
c_CTRL-J cmdline.txt /*c_CTRL-J*
|
c_CTRL-J cmdline.txt /*c_CTRL-J*
|
||||||
c_CTRL-K cmdline.txt /*c_CTRL-K*
|
c_CTRL-K cmdline.txt /*c_CTRL-K*
|
||||||
c_CTRL-L cmdline.txt /*c_CTRL-L*
|
c_CTRL-L cmdline.txt /*c_CTRL-L*
|
||||||
|
c_CTRL-M cmdline.txt /*c_CTRL-M*
|
||||||
c_CTRL-N cmdline.txt /*c_CTRL-N*
|
c_CTRL-N cmdline.txt /*c_CTRL-N*
|
||||||
c_CTRL-P cmdline.txt /*c_CTRL-P*
|
c_CTRL-P cmdline.txt /*c_CTRL-P*
|
||||||
c_CTRL-Q cmdline.txt /*c_CTRL-Q*
|
c_CTRL-Q cmdline.txt /*c_CTRL-Q*
|
||||||
@ -5200,6 +5201,7 @@ c_CTRL-U cmdline.txt /*c_CTRL-U*
|
|||||||
c_CTRL-V cmdline.txt /*c_CTRL-V*
|
c_CTRL-V cmdline.txt /*c_CTRL-V*
|
||||||
c_CTRL-W cmdline.txt /*c_CTRL-W*
|
c_CTRL-W cmdline.txt /*c_CTRL-W*
|
||||||
c_CTRL-Y cmdline.txt /*c_CTRL-Y*
|
c_CTRL-Y cmdline.txt /*c_CTRL-Y*
|
||||||
|
c_CTRL-[ cmdline.txt /*c_CTRL-[*
|
||||||
c_CTRL-\_CTRL-G intro.txt /*c_CTRL-\\_CTRL-G*
|
c_CTRL-\_CTRL-G intro.txt /*c_CTRL-\\_CTRL-G*
|
||||||
c_CTRL-\_CTRL-N intro.txt /*c_CTRL-\\_CTRL-N*
|
c_CTRL-\_CTRL-N intro.txt /*c_CTRL-\\_CTRL-N*
|
||||||
c_CTRL-\_e cmdline.txt /*c_CTRL-\\_e*
|
c_CTRL-\_e cmdline.txt /*c_CTRL-\\_e*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.0. Last change: 2016 Sep 25
|
*todo.txt* For Vim version 8.0. Last change: 2016 Oct 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -34,27 +34,11 @@ not be repeated below, unless there is extra information.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
Move test71 tests to test_crypt.
|
|
||||||
|
|
||||||
Idea from Sven: record sequence of keys. Useful to show others what they are
|
|
||||||
doing (look over the shoulder), and also to see what happened.
|
|
||||||
Probably list of keystrokes, with some annotations for mode changes.
|
|
||||||
Could store in logfile to be able to analyise it with an external command.
|
|
||||||
E.g. to see when's the last time a plugin command was used.
|
|
||||||
|
|
||||||
Patch for typos. (Matthew Brener, 2016 Sep 16, #1088)
|
|
||||||
Lots of its to it's.
|
|
||||||
|
|
||||||
After 8.0 is released:
|
After 8.0 is released:
|
||||||
- Drop support for older MS-Windows systems, before XP.
|
- Drop support for older MS-Windows systems, before XP.
|
||||||
Patch from Ken Takata, updated 2016 Sep 12.
|
Patch from Ken Takata, updated 2016 Sep 12.
|
||||||
|
|
||||||
+channel:
|
+channel:
|
||||||
- channel_wait() may return an error while there is still something to read.
|
|
||||||
Perhaps try to read once more?
|
|
||||||
Possibly reproduced by Santiago Alejandro Agüero, 2016 Sep 12, 13.
|
|
||||||
Apparently select() returns an error while reading could work.
|
|
||||||
Another example from Daniel Hahler, Sep 24.
|
|
||||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||||
- Add 'cwd' argument to start_job(): directory to change to in the child.
|
- Add 'cwd' argument to start_job(): directory to change to in the child.
|
||||||
check for valid directory before forking.
|
check for valid directory before forking.
|
||||||
@ -118,11 +102,6 @@ Regexp problems:
|
|||||||
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
|
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
|
||||||
had_endbrace[] is set but not initialized or used.
|
had_endbrace[] is set but not initialized or used.
|
||||||
|
|
||||||
Strang syntax highlighting problem. (Brett Stahlman, 2016 Sep 17)
|
|
||||||
|
|
||||||
Patch to convert test_command_count into new style. (Naruhiko Nishino, 2016
|
|
||||||
Sep 17)
|
|
||||||
|
|
||||||
json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
|
json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
|
||||||
What if there is an invalid character?
|
What if there is an invalid character?
|
||||||
|
|
||||||
@ -131,6 +110,8 @@ Or avoid recursiveness.
|
|||||||
|
|
||||||
Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
||||||
|
|
||||||
|
Patch to recognize tmux. (Michael Henry, 2016 Sep 29)
|
||||||
|
|
||||||
Once .exe with updated installer is available: Add remark to download page
|
Once .exe with updated installer is available: Add remark to download page
|
||||||
about /S and /D options (Ken Takata, 2016 Apr 13)
|
about /S and /D options (Ken Takata, 2016 Apr 13)
|
||||||
Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
|
Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
|
||||||
@ -147,6 +128,9 @@ Problem passing non-UTF-8 strings to Python 3. (Björn Linse, 2016 Sep 11,
|
|||||||
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
|
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
|
||||||
Add tests for using number larger than number of lines in buffer.
|
Add tests for using number larger than number of lines in buffer.
|
||||||
|
|
||||||
|
Patch to make v:shell_error writable. (Christian Brabandt, 2016 Sep 27)
|
||||||
|
Is there another solution?
|
||||||
|
|
||||||
Invalid behavior with NULL list. (Nikolai Pavlov, #768)
|
Invalid behavior with NULL list. (Nikolai Pavlov, #768)
|
||||||
E.g. deepcopy(test_null_list())
|
E.g. deepcopy(test_null_list())
|
||||||
|
|
||||||
@ -163,6 +147,17 @@ Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
|
|||||||
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
||||||
4#1038)
|
4#1038)
|
||||||
|
|
||||||
|
Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
|
||||||
|
|
||||||
|
Patch for systemlist(), add empty item. (thinca, Sep 30, #1135)
|
||||||
|
Adjust the documentation instead? Do include the test.
|
||||||
|
|
||||||
|
Idea from Sven: record sequence of keys. Useful to show others what they are
|
||||||
|
doing (look over the shoulder), and also to see what happened.
|
||||||
|
Probably list of keystrokes, with some annotations for mode changes.
|
||||||
|
Could store in logfile to be able to analyise it with an external command.
|
||||||
|
E.g. to see when's the last time a plugin command was used.
|
||||||
|
|
||||||
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
||||||
|
|
||||||
Patch to change order of compiler flags. (Yousong Zhou, 2016 Sep 19, #1100)
|
Patch to change order of compiler flags. (Yousong Zhou, 2016 Sep 19, #1100)
|
||||||
@ -200,6 +195,9 @@ Also for ":@.".
|
|||||||
|
|
||||||
Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
|
Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
|
||||||
|
|
||||||
|
Have a way to get the call stack, in a function and from an exception.
|
||||||
|
#1125
|
||||||
|
|
||||||
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
||||||
|
|
||||||
@ -230,9 +228,6 @@ the last change in any buffer? Can we use ', (, is next to .)?
|
|||||||
|
|
||||||
Ramel Eshed: system() is much slower than job_start(), why? (Aug 26)
|
Ramel Eshed: system() is much slower than job_start(), why? (Aug 26)
|
||||||
|
|
||||||
Patch for Python: #622. (Roland Puntaier, 2016 Feb 2)
|
|
||||||
What does it change?
|
|
||||||
|
|
||||||
Patch to make gd and gD work better for non-K&R code and with comments.
|
Patch to make gd and gD work better for non-K&R code and with comments.
|
||||||
(Anton Lindqvist, 2016 Aug 29)
|
(Anton Lindqvist, 2016 Aug 29)
|
||||||
|
|
||||||
@ -250,11 +245,6 @@ Patch to support strikethrough next to bold and italic. (Christian Brabandt,
|
|||||||
Update mentioned by Christian, 2016 Apr 25.
|
Update mentioned by Christian, 2016 Apr 25.
|
||||||
Update from Ken Takata, 2016 Jul 17.
|
Update from Ken Takata, 2016 Jul 17.
|
||||||
|
|
||||||
Patch to improve cscope. (Adrian Kocis, #843)
|
|
||||||
|
|
||||||
Patch for groovy multi-line comment highlighting. (Justin M. Keyes, 2016 May
|
|
||||||
20 #644)
|
|
||||||
|
|
||||||
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
||||||
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
||||||
|
|
||||||
@ -329,9 +319,6 @@ Should use /usr/local/share/applications or /usr/share/applications.
|
|||||||
Or use $XDG_DATA_DIRS.
|
Or use $XDG_DATA_DIRS.
|
||||||
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
|
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
|
||||||
|
|
||||||
Patch to test popupmenu. Fails, possibly due to a bug.
|
|
||||||
(Christian Brabandt, 2016 Jul 23)
|
|
||||||
|
|
||||||
Patch to introduce 'cmdencoding'. (Ken Takata, Aug 18?)
|
Patch to introduce 'cmdencoding'. (Ken Takata, Aug 18?)
|
||||||
Better help Aug 19.
|
Better help Aug 19.
|
||||||
Problem: applies to too many commands, such as :cbuffer.
|
Problem: applies to too many commands, such as :cbuffer.
|
||||||
@ -344,9 +331,6 @@ Patch to have text objects defined by arbitrary single characters. (Daniel
|
|||||||
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
|
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
|
||||||
Added tests (James McCoy, 2016 Aug 3). Still needs more work.
|
Added tests (James McCoy, 2016 Aug 3). Still needs more work.
|
||||||
|
|
||||||
Patch to add CTRL-N / CTRL-P while searching. (Christian Brabandt, 2016 Aug
|
|
||||||
3) Problem: two matches in one line and using CTRL-P does not move back.
|
|
||||||
|
|
||||||
Access to uninitialized memory in match_backref() regexp_nda.c:4882
|
Access to uninitialized memory in match_backref() regexp_nda.c:4882
|
||||||
(Dominique Pelle, 2015 Nov 6)
|
(Dominique Pelle, 2015 Nov 6)
|
||||||
|
|
||||||
@ -427,8 +411,6 @@ Add "===" to have a strict comparison (type and value match).
|
|||||||
Add "==*" (?) to have a value match, but no automatic conversion, and v:true
|
Add "==*" (?) to have a value match, but no automatic conversion, and v:true
|
||||||
equals 1 and 1.0, v:false equals 0 and 0.0.?
|
equals 1 and 1.0, v:false equals 0 and 0.0.?
|
||||||
|
|
||||||
Plugin to use Vim in MANPAGER. Konfekt, PR #491
|
|
||||||
|
|
||||||
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
|
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
|
||||||
|
|
||||||
MS-Windows: When editing a file with a leading space, writing it uses the
|
MS-Windows: When editing a file with a leading space, writing it uses the
|
||||||
@ -453,9 +435,6 @@ I can't recommend it though.
|
|||||||
Build with Python on Mac does not always use the right library.
|
Build with Python on Mac does not always use the right library.
|
||||||
(Kazunobu Kuriyama, 2015 Mar 28)
|
(Kazunobu Kuriyama, 2015 Mar 28)
|
||||||
|
|
||||||
Need a Vim equivalent of Python's None and a way to test for it.
|
|
||||||
Use v:none. var == v:none
|
|
||||||
|
|
||||||
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
|
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
|
||||||
24) Also need a way to get the global arg list? Update later on Jan 24
|
24) Also need a way to get the global arg list? Update later on Jan 24
|
||||||
Update Mar 5. Update Apr 7. Update Jun 5.
|
Update Mar 5. Update Apr 7. Update Jun 5.
|
||||||
@ -498,10 +477,6 @@ the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
|
|||||||
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
|
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
|
||||||
Sep 10)
|
Sep 10)
|
||||||
|
|
||||||
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
|
||||||
Needs a different check for CLEARTYPE_QUALITY.
|
|
||||||
Problem mentioned by Christian Brabandt, 2016 Jan 4.
|
|
||||||
|
|
||||||
Example in editing.txt uses $HOME with the expectation that it ends in a
|
Example in editing.txt uses $HOME with the expectation that it ends in a
|
||||||
slash. For me it does, but perhaps not for everybody. Add a function that
|
slash. For me it does, but perhaps not for everybody. Add a function that
|
||||||
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
|
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
|
||||||
@ -543,9 +518,6 @@ Breaks test_eval. Inefficient, can we only compute y_width when needed?
|
|||||||
Patch to use different terminal mode settings for system(). (Hayaki Saito)
|
Patch to use different terminal mode settings for system(). (Hayaki Saito)
|
||||||
Does this work for everybody?
|
Does this work for everybody?
|
||||||
|
|
||||||
Patch to add wordcount(). Same info as g CTRL-G. (Christian Brabandt, 2015
|
|
||||||
Nov 17)
|
|
||||||
|
|
||||||
Patch for man.vim. (SungHyun Nam, 2015 May 20)
|
Patch for man.vim. (SungHyun Nam, 2015 May 20)
|
||||||
Doesn't work completely (Dominique Orban)
|
Doesn't work completely (Dominique Orban)
|
||||||
|
|
||||||
@ -567,9 +539,6 @@ Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
|
|||||||
|
|
||||||
Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
|
Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||||
|
|
||||||
When 'balloonexpr' returns a list the result has a trailing newline.
|
|
||||||
Just remove one trailing newline. (lcd, 2014 Oct 17)
|
|
||||||
|
|
||||||
When two SIGWINCH arrive very quickly, the second one may be lost.
|
When two SIGWINCH arrive very quickly, the second one may be lost.
|
||||||
(Josh Triplett, 2015 Sep 17)
|
(Josh Triplett, 2015 Sep 17)
|
||||||
|
|
||||||
@ -673,7 +642,7 @@ right-mouse-drag on the status line to move a window up/down without changing
|
|||||||
its height? It's like dragging the status bar above it at the same time.
|
its height? It's like dragging the status bar above it at the same time.
|
||||||
|
|
||||||
Can we make ":unlet $VAR" use unsetenv() to delete the env var?
|
Can we make ":unlet $VAR" use unsetenv() to delete the env var?
|
||||||
What for systems that don't have unsetenv()?
|
What for systems that don't have unsetenv()? (Issue #1116)
|
||||||
|
|
||||||
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
|
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
|
||||||
|
|
||||||
@ -728,9 +697,6 @@ Out of scope:
|
|||||||
Setting the spell file in a session only reads the local additions, not the
|
Setting the spell file in a session only reads the local additions, not the
|
||||||
normal spell file. (Enno Nagel, 2014 Mar 29)
|
normal spell file. (Enno Nagel, 2014 Mar 29)
|
||||||
|
|
||||||
CTRL-] in Visual mode uses the selected text as a tag. This does not work
|
|
||||||
when preceded with CTRL-W. (Patrick Hemmer, 2014 Jun 28)
|
|
||||||
|
|
||||||
When typing the first character of a command, e.g. "f", then using a menu, the
|
When typing the first character of a command, e.g. "f", then using a menu, the
|
||||||
menu item doesn't work. Clear typeahead when using a menu?
|
menu item doesn't work. Clear typeahead when using a menu?
|
||||||
|
|
||||||
@ -772,9 +738,6 @@ Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
|
|||||||
|
|
||||||
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
|
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
|
||||||
|
|
||||||
With "$" in 'cpoptions' the popup menu isn't fully drawn. (Matti Niemenmaa,
|
|
||||||
2013 Sep 5)
|
|
||||||
|
|
||||||
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
|
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
|
||||||
Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
|
Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
|
||||||
|
|
||||||
@ -839,10 +802,6 @@ Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
|||||||
Exception caused by argument of return is not caught by try/catch.
|
Exception caused by argument of return is not caught by try/catch.
|
||||||
(David Barnett, 2013 Nov 19)
|
(David Barnett, 2013 Nov 19)
|
||||||
|
|
||||||
8 'backupdir' and 'directory' should use $TMPDIR, $TMP and/or $TEMP when
|
|
||||||
defined.
|
|
||||||
Issue 28.
|
|
||||||
|
|
||||||
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
||||||
2013 Mar 19, later message)
|
2013 Mar 19, later message)
|
||||||
|
|
||||||
@ -887,8 +846,6 @@ How to test that it works well for all Vim users?
|
|||||||
|
|
||||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||||
|
|
||||||
Issue 54: document behavior of -complete, also expands arg.
|
|
||||||
|
|
||||||
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
|
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
|
||||||
the two into a regex for searching. (Ned Konz)
|
the two into a regex for searching. (Ned Konz)
|
||||||
Patch by Christian Brabandt, 2013 Apr 20, unfinished.
|
Patch by Christian Brabandt, 2013 Apr 20, unfinished.
|
||||||
@ -899,20 +856,11 @@ In the ATTENTION message about an existing swap file, mention the name of the
|
|||||||
process that is running. It might actually be some other program, e.g. after
|
process that is running. It might actually be some other program, e.g. after
|
||||||
a reboot.
|
a reboot.
|
||||||
|
|
||||||
Patch to select the next or previous text object if there isn't one under the
|
|
||||||
cursor. (Daniel Thau, 2013 Nov 20)
|
|
||||||
|
|
||||||
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
||||||
|
|
||||||
Bug caused by patch 7.3.1288? Issue 183.
|
|
||||||
I can't reproduce it.
|
|
||||||
|
|
||||||
Syntax update problem in one buffer opened in two windows, bottom window is
|
Syntax update problem in one buffer opened in two windows, bottom window is
|
||||||
not correctly updated. (Paul Harris, 2012 Feb 27)
|
not correctly updated. (Paul Harris, 2012 Feb 27)
|
||||||
|
|
||||||
Patch to add assignments in cscope. (Uli Meis, Estabrooks, 2012 Sep 1)
|
|
||||||
Alternate patch by Gary Johnson, Sep 4.
|
|
||||||
|
|
||||||
Patch to add getsid(). (Tyru, 2011 Oct 2) Do we want this? Update Oct 4.
|
Patch to add getsid(). (Tyru, 2011 Oct 2) Do we want this? Update Oct 4.
|
||||||
Or use expand('<sid>')?
|
Or use expand('<sid>')?
|
||||||
|
|
||||||
@ -950,10 +898,6 @@ Szamotulski, 2012 Nov 8)
|
|||||||
Session file creation: 'autochdir' causes trouble. Keep it off until after
|
Session file creation: 'autochdir' causes trouble. Keep it off until after
|
||||||
loading all files.
|
loading all files.
|
||||||
|
|
||||||
Win32: When 'autochdir' is on and 'encoding' is changed, files on the command
|
|
||||||
line are opened again, but from the wrong directory. Apply 'autochdir' only
|
|
||||||
after starting up?
|
|
||||||
|
|
||||||
8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters.
|
8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters.
|
||||||
Patch by Christian Wellenbrock, 2013 Jul 5.
|
Patch by Christian Wellenbrock, 2013 Jul 5.
|
||||||
|
|
||||||
@ -971,9 +915,6 @@ of many matches. (Cody Cutler, 2013 Mar 28)
|
|||||||
|
|
||||||
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
||||||
|
|
||||||
Help for 'b:undo_indent'. (Thilo Six, 2012 May 28)
|
|
||||||
Also question if examples are correct.
|
|
||||||
|
|
||||||
The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O.
|
The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O.
|
||||||
Suggestion for another map. (Philip Mat, 2012 Jun 18)
|
Suggestion for another map. (Philip Mat, 2012 Jun 18)
|
||||||
But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
|
But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
|
||||||
@ -1050,8 +991,6 @@ Only for MS-Windows. No documentation. Do we want this?
|
|||||||
|
|
||||||
Patch to support cursor shape in Cygwin console. (Ben bgold, 2011 Dec 27)
|
Patch to support cursor shape in Cygwin console. (Ben bgold, 2011 Dec 27)
|
||||||
|
|
||||||
Issue 64: when 'incsearch' is on can't paste LF on command line.
|
|
||||||
|
|
||||||
On MS-Windows a temp dir with a & init causes system() to fail. (Ben Fritz,
|
On MS-Windows a temp dir with a & init causes system() to fail. (Ben Fritz,
|
||||||
2012 Jun 19)
|
2012 Jun 19)
|
||||||
|
|
||||||
@ -1103,10 +1042,6 @@ When using a Vim server, a # in the path causes an error message.
|
|||||||
Setting $HOME on MS-Windows is not very well documented. Suggestion by Ben
|
Setting $HOME on MS-Windows is not very well documented. Suggestion by Ben
|
||||||
Fritz (2011 Oct 27).
|
Fritz (2011 Oct 27).
|
||||||
|
|
||||||
Bug: Windows 7 64 bit system freezes when 'clipboard' set to "unnamed" and
|
|
||||||
doing ":g/test/d". Putting every delete on the clipboard? (Robert Chan, 2011
|
|
||||||
Jun 17)
|
|
||||||
|
|
||||||
When there is a ">" in a line that "gq" wraps to the start of the next line,
|
When there is a ">" in a line that "gq" wraps to the start of the next line,
|
||||||
then the following line will pick it up as a leader. Should get the leader
|
then the following line will pick it up as a leader. Should get the leader
|
||||||
from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27)
|
from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27)
|
||||||
@ -1186,12 +1121,6 @@ Is this needed? CTRL-O and CTRL-I do the same, just more difficult to use.
|
|||||||
8 Add a command to jump to the next character highlighted with "Error".
|
8 Add a command to jump to the next character highlighted with "Error".
|
||||||
Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.
|
Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.
|
||||||
|
|
||||||
8 Add an event like CursorHold that is triggered repeatedly, not just once
|
|
||||||
after typing something.
|
|
||||||
Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
|
|
||||||
function that resets did_cursorhold.
|
|
||||||
Patch by Christian Brabandt, 2011 May 6.
|
|
||||||
|
|
||||||
Add event for when the text scrolls. A bit like CursorMoved. Also a similar
|
Add event for when the text scrolls. A bit like CursorMoved. Also a similar
|
||||||
one for insert mode. Use the event in matchparen to update the highlight if
|
one for insert mode. Use the event in matchparen to update the highlight if
|
||||||
the match scrolls into view.
|
the match scrolls into view.
|
||||||
@ -1328,9 +1257,6 @@ setwinvar().
|
|||||||
|
|
||||||
Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
|
Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
|
||||||
|
|
||||||
When writing a file > 2Gbyte, the reported number of bytes is negative.
|
|
||||||
(Antonio Colombo, 2010 Dec 18)
|
|
||||||
|
|
||||||
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
|
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
|
||||||
instead of one. (Constantin Pan, 2010 Sep 10)
|
instead of one. (Constantin Pan, 2010 Sep 10)
|
||||||
|
|
||||||
@ -1493,8 +1419,6 @@ Patch for GTK buttons X1Mouse and X2Mouse. (Christian J. Robinson, 2010 Aug 9)
|
|||||||
|
|
||||||
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
||||||
|
|
||||||
When 'ft' changes redraw custom status line.
|
|
||||||
|
|
||||||
":tab split fname" doesn't set the alternate file in the original window,
|
":tab split fname" doesn't set the alternate file in the original window,
|
||||||
because win_valid() always returns FALSE. Below win_new_tabpage() in
|
because win_valid() always returns FALSE. Below win_new_tabpage() in
|
||||||
ex_docmd.c.
|
ex_docmd.c.
|
||||||
@ -1542,10 +1466,6 @@ perhaps. And undo CTRL-W. CTRL-G l would redo.
|
|||||||
|
|
||||||
Diff mode out of sync. (Gary Johnson, 2010 Aug 4)
|
Diff mode out of sync. (Gary Johnson, 2010 Aug 4)
|
||||||
|
|
||||||
Support a 'systemencoding' option (for Unix). It specifies the encoding of
|
|
||||||
file names. (Kikuchan, 2010 Oct 5). Useful on a latin1 or double-byte Asian
|
|
||||||
system when 'encoding' is "utf-8".
|
|
||||||
|
|
||||||
Win32 GUI: last message from startup doesn't show up when there is an echoerr
|
Win32 GUI: last message from startup doesn't show up when there is an echoerr
|
||||||
command. (Cyril Slobin, 2009 Mar 13)
|
command. (Cyril Slobin, 2009 Mar 13)
|
||||||
|
|
||||||
@ -1590,9 +1510,6 @@ Sergey Khorev)
|
|||||||
Consider making YankRing or something else that keeps a list of yanked text
|
Consider making YankRing or something else that keeps a list of yanked text
|
||||||
part of standard Vim. The "1 to "9 registers are not sufficient.
|
part of standard Vim. The "1 to "9 registers are not sufficient.
|
||||||
|
|
||||||
netrw: dragging status line causes selection of entry. Should check row
|
|
||||||
number to be below last visible line.
|
|
||||||
|
|
||||||
After doing "su" $HOME can be the old user's home, thus ~root/file is not
|
After doing "su" $HOME can be the old user's home, thus ~root/file is not
|
||||||
correct. Don't use it in the swap file.
|
correct. Don't use it in the swap file.
|
||||||
|
|
||||||
@ -1663,8 +1580,6 @@ doesn't. (John Little, 2008 Nov 9)
|
|||||||
Shell expansion returns unexpanded string?
|
Shell expansion returns unexpanded string?
|
||||||
Don't use shell when "~" is not at the start?
|
Don't use shell when "~" is not at the start?
|
||||||
|
|
||||||
":unlet $VAR" doesn't work.
|
|
||||||
|
|
||||||
When using ":e ++enc=foo file" and the file is already loaded with
|
When using ":e ++enc=foo file" and the file is already loaded with
|
||||||
'fileencoding' set to "bar", then do_ecmd() uses that buffer, even though the
|
'fileencoding' set to "bar", then do_ecmd() uses that buffer, even though the
|
||||||
fileencoding differs. Reload the buffer in this situation? Need to check for
|
fileencoding differs. Reload the buffer in this situation? Need to check for
|
||||||
@ -1699,9 +1614,6 @@ command is not executed. Fix by Ian Kelling?
|
|||||||
":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim
|
":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim
|
||||||
Chase) Fix by Ian Kelling, 2008 Jul 14.
|
Chase) Fix by Ian Kelling, 2008 Jul 14.
|
||||||
|
|
||||||
Use "\U12345678" for 32 bit Unicode characters? (Tony Mechelynck, 2009
|
|
||||||
Apr 6) Or use "\u(123456)", similar to Perl.
|
|
||||||
|
|
||||||
When mapping : to ; and ; to :, @; doesn't work like @: and @: doesn't work
|
When mapping : to ; and ; to :, @; doesn't work like @: and @: doesn't work
|
||||||
either. Matt Wozniski: nv_at() calls do_execreg() which uses
|
either. Matt Wozniski: nv_at() calls do_execreg() which uses
|
||||||
put_in_typebuf(). Char mapped twice?
|
put_in_typebuf(). Char mapped twice?
|
||||||
@ -1758,8 +1670,6 @@ Works OK when 'cmdheight' is 2.
|
|||||||
that the context can be taken into account. (Robert Webb)
|
that the context can be taken into account. (Robert Webb)
|
||||||
Patch by Christian Brabandt, 2013 May 31.
|
Patch by Christian Brabandt, 2013 May 31.
|
||||||
|
|
||||||
Test54 should not use shell commands. Make it portable.
|
|
||||||
|
|
||||||
The utf class table is missing some entries:
|
The utf class table is missing some entries:
|
||||||
0x2212, minus sign
|
0x2212, minus sign
|
||||||
0x2217, star
|
0x2217, star
|
||||||
@ -1968,8 +1878,6 @@ patches by Mathias, see mail Feb 22)
|
|||||||
Win32: compiling with normal features and OLE fails. Patch by Mathias
|
Win32: compiling with normal features and OLE fails. Patch by Mathias
|
||||||
Michaelis, 2006 Jun 4.
|
Michaelis, 2006 Jun 4.
|
||||||
|
|
||||||
Win16: include patches to make Win16 version work. (Vince Negri, 2006 May 22)
|
|
||||||
|
|
||||||
Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,
|
Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,
|
||||||
2007 Feb 18)
|
2007 Feb 18)
|
||||||
Patch by Alex Dobrynin, 2007 Jun 3. Also fixes other scroll wheel problems.
|
Patch by Alex Dobrynin, 2007 Jun 3. Also fixes other scroll wheel problems.
|
||||||
@ -2007,9 +1915,6 @@ F1 - F4 in an xterm produce a different escape sequence when used with a
|
|||||||
modifier key. Need to catch three different sequences. Use K_ZF1, like
|
modifier key. Need to catch three different sequences. Use K_ZF1, like
|
||||||
K_ZHOME? (Dickey, 2007 Dec 2)
|
K_ZHOME? (Dickey, 2007 Dec 2)
|
||||||
|
|
||||||
UTF-8: mapping a multi-byte key where the second byte is 0x80 doesn't appear
|
|
||||||
to work. (Tony Mechelynck, 2007 March 2)
|
|
||||||
|
|
||||||
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
||||||
the function. (Hari Krishna Dara, 2006 Jun 28)
|
the function. (Hari Krishna Dara, 2006 Jun 28)
|
||||||
|
|
||||||
@ -2114,15 +2019,6 @@ When showing a diff between a non-existent file and an existing one, with the
|
|||||||
cursor in the empty buffer, the other buffer only shows the last line. Change
|
cursor in the empty buffer, the other buffer only shows the last line. Change
|
||||||
the "insert" into a change from one line to many? (Yakov Lerner, 2008 May 27)
|
the "insert" into a change from one line to many? (Yakov Lerner, 2008 May 27)
|
||||||
|
|
||||||
Add autocommand for when a tabpage is being closed. Also for when a tab page
|
|
||||||
has been created.
|
|
||||||
|
|
||||||
Using ":make" blocks Vim. Allow running one make in the background (if the
|
|
||||||
shell supports it), catch errors in a file and update the error list on the
|
|
||||||
fly. A bit like "!make > file&" and repeating ":cf file". ":bgmake",
|
|
||||||
background make. ":bgcancel" interrupts it.
|
|
||||||
A.Politz may work on this.
|
|
||||||
|
|
||||||
These two abbreviations don't give the same result:
|
These two abbreviations don't give the same result:
|
||||||
let asdfasdf = "xyz\<Left>"
|
let asdfasdf = "xyz\<Left>"
|
||||||
cabbr XXX <C-R>=asdfasdf<CR>
|
cabbr XXX <C-R>=asdfasdf<CR>
|
||||||
@ -2135,9 +2031,6 @@ In FileChangedShell command it's no longer allowed to switch to another
|
|||||||
buffer. But the changed buffer may differ from the current buffer, how to
|
buffer. But the changed buffer may differ from the current buffer, how to
|
||||||
reload it then?
|
reload it then?
|
||||||
|
|
||||||
New syntax files for fstab and resolv from Radu Dineiu, David Necas did
|
|
||||||
previous version.
|
|
||||||
|
|
||||||
For Aap: include a config.arg.example file with hints how to use config.arg.
|
For Aap: include a config.arg.example file with hints how to use config.arg.
|
||||||
|
|
||||||
Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
|
Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
|
||||||
@ -2167,11 +2060,6 @@ start of the path is shown in the menu. Should move the menu to the right to
|
|||||||
show more text of the completions. Shorten the items that don't fit in the
|
show more text of the completions. Shorten the items that don't fit in the
|
||||||
middle?
|
middle?
|
||||||
|
|
||||||
When running inside screen it's possible to kill the X server and restart it
|
|
||||||
(using pty's the program can keep on running). Vim dies because it loses the
|
|
||||||
connection to the X server. Can Vim simply quit using the X server instead of
|
|
||||||
dying? Also relevant when running in a console.
|
|
||||||
|
|
||||||
Accessing file#var in a function should not need the g: prepended.
|
Accessing file#var in a function should not need the g: prepended.
|
||||||
|
|
||||||
When exiting detects a modified buffer, instead of opening the buffer in the
|
When exiting detects a modified buffer, instead of opening the buffer in the
|
||||||
@ -2206,10 +2094,6 @@ the cursor line. It works OK after some other commands.
|
|||||||
|
|
||||||
Win32: Is it possible to have both postscript and Win32 printing?
|
Win32: Is it possible to have both postscript and Win32 printing?
|
||||||
|
|
||||||
Check: Running Vim in a console and still having connect to the X server for
|
|
||||||
copy/paste: is stopping the X server handled gracefully? Should catch the X
|
|
||||||
error and stop using the connection to the server.
|
|
||||||
|
|
||||||
Problem with 'cdpath' on MS-Windows when a directory is equal to $HOME. (2006
|
Problem with 'cdpath' on MS-Windows when a directory is equal to $HOME. (2006
|
||||||
Jul 26, Gary Johnson)
|
Jul 26, Gary Johnson)
|
||||||
|
|
||||||
@ -2246,30 +2130,11 @@ differently and unexpectedly. Caused by patch 7.2.398?
|
|||||||
The magic clipboard format "VimClipboard2" appears in several places. Should
|
The magic clipboard format "VimClipboard2" appears in several places. Should
|
||||||
be only one.
|
be only one.
|
||||||
|
|
||||||
"vim -C" often has 'nocompatible', because it's set somewhere in a startup
|
|
||||||
script. Do "set compatible" after startup?
|
|
||||||
|
|
||||||
It's difficult to debug numbered functions (function in a Dictionary). Print
|
|
||||||
the function name before resolving it to a number?
|
|
||||||
let d = {}
|
|
||||||
fun! d.foo()
|
|
||||||
echo "here"
|
|
||||||
endfun
|
|
||||||
call d.foo(9)
|
|
||||||
|
|
||||||
Add a mark for the other end of the Visual area (VIsual pos). '< and '> are
|
|
||||||
only set after Visual moded is ended.
|
|
||||||
Also add a variable for the Visual mode. So that this mode and '< '> can be
|
|
||||||
used to set what "gv" selects. (Ben Schmidt)
|
|
||||||
|
|
||||||
Win32, NTFS: When editing a specific infostream directly and 'backupcopy' is
|
Win32, NTFS: When editing a specific infostream directly and 'backupcopy' is
|
||||||
"auto" should detect this situation and work like 'backupcopy' is "yes". File
|
"auto" should detect this situation and work like 'backupcopy' is "yes". File
|
||||||
name is something like "c:\path\foo.txt:bar", includes a colon. (Alex
|
name is something like "c:\path\foo.txt:bar", includes a colon. (Alex
|
||||||
Jakushev, 2008 Feb 1)
|
Jakushev, 2008 Feb 1)
|
||||||
|
|
||||||
printf() uses the field width in bytes. Can it be made character width,
|
|
||||||
perhaps with a modifier? What does Posix say?
|
|
||||||
|
|
||||||
Small problem displaying diff filler line when opening windows with a script.
|
Small problem displaying diff filler line when opening windows with a script.
|
||||||
(David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 )
|
(David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 )
|
||||||
|
|
||||||
@ -2290,8 +2155,6 @@ When completing from another file that uses a different encoding completion
|
|||||||
text has the wrong encoding. E.g., when 'encoding' is utf-8 and file is
|
text has the wrong encoding. E.g., when 'encoding' is utf-8 and file is
|
||||||
latin1. Example from Gombault Damien, 2007 Mar 24.
|
latin1. Example from Gombault Damien, 2007 Mar 24.
|
||||||
|
|
||||||
Is it possible to use "foo#var" instead of "g:foo#var" inside a function?
|
|
||||||
|
|
||||||
Syntax HL: When using "nextgroup" and the group has an empty match, there is
|
Syntax HL: When using "nextgroup" and the group has an empty match, there is
|
||||||
no search at that position for another match. (Lukas Mai, 2008 April 11)
|
no search at that position for another match. (Lukas Mai, 2008 April 11)
|
||||||
|
|
||||||
@ -2352,8 +2215,6 @@ More patches:
|
|||||||
- Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)
|
- Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)
|
||||||
Needs a few tests.
|
Needs a few tests.
|
||||||
- Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
|
- Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
|
||||||
- Argument for feedkeys() to prepend to typeahead (Yakov Lerner, 2006 Oct
|
|
||||||
21)
|
|
||||||
- Load intl.dll too, not only libintl.dll. (Mike Williams, 2006 May 9, docs
|
- Load intl.dll too, not only libintl.dll. (Mike Williams, 2006 May 9, docs
|
||||||
patch May 10)
|
patch May 10)
|
||||||
- Extra argument to strtrans() to translate special keys to their name (Eric
|
- Extra argument to strtrans() to translate special keys to their name (Eric
|
||||||
@ -2378,8 +2239,6 @@ More patches:
|
|||||||
Schmidt, 2008 Jul 22.
|
Schmidt, 2008 Jul 22.
|
||||||
- testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008
|
- testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008
|
||||||
Sep 13)
|
Sep 13)
|
||||||
- Patch for adding "space" item in 'listchars'. (Jérémie Roquet, 2009 Oct 29,
|
|
||||||
Docs patch Oct 30, update David Burgin (glts) 2013 Aug 24, 2014 Oct 10)
|
|
||||||
- Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520 by
|
- Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520 by
|
||||||
Vissale Neang. (Martin Stubenschrott) Asked Vissale to make the scripts
|
Vissale Neang. (Martin Stubenschrott) Asked Vissale to make the scripts
|
||||||
more friendly for the Vim distribution.
|
more friendly for the Vim distribution.
|
||||||
@ -2402,8 +2261,6 @@ Awaiting updated patches:
|
|||||||
9 HTML indenting can be slow. Caused by using searchpair(). Can search()
|
9 HTML indenting can be slow. Caused by using searchpair(). Can search()
|
||||||
be used instead? A.Politz is looking into a solution.
|
be used instead? A.Politz is looking into a solution.
|
||||||
8 Win32: Add minidump generation. (George Reilly, 2006 Apr 24)
|
8 Win32: Add minidump generation. (George Reilly, 2006 Apr 24)
|
||||||
8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
|
|
||||||
Aric Blumer has a patch for this. He will update the patch for 6.3.
|
|
||||||
7 Completion of network shares, patch by Yasuhiro Matsumoto.
|
7 Completion of network shares, patch by Yasuhiro Matsumoto.
|
||||||
Update 2004 Sep 6.
|
Update 2004 Sep 6.
|
||||||
How does this work? Missing comments.
|
How does this work? Missing comments.
|
||||||
@ -2504,8 +2361,6 @@ Vi incompatibility:
|
|||||||
the ":map" when it's used without arguments?
|
the ":map" when it's used without arguments?
|
||||||
7 CTRL-L is not the end of a section? It is for Posix! Make it an option.
|
7 CTRL-L is not the end of a section? It is for Posix! Make it an option.
|
||||||
7 Implement 'prompt' option. Init to off when stdin is not a tty.
|
7 Implement 'prompt' option. Init to off when stdin is not a tty.
|
||||||
7 CTRL-T in Insert mode inserts 'shiftwidth' of spaces at the cursor. Add a
|
|
||||||
flag in 'cpoptions' for this.
|
|
||||||
7 Add a way to send an email for a crashed edit session. Create a file when
|
7 Add a way to send an email for a crashed edit session. Create a file when
|
||||||
making changes (containing name of the swap file), delete it when writing
|
making changes (containing name of the swap file), delete it when writing
|
||||||
the file. Supply a program that can check for crashed sessions (either
|
the file. Supply a program that can check for crashed sessions (either
|
||||||
@ -2568,9 +2423,6 @@ Win32 GUI known bugs:
|
|||||||
7 When font smoothing is enabled, redrawing can become very slow. The reason
|
7 When font smoothing is enabled, redrawing can become very slow. The reason
|
||||||
appears to be drawing with a transparent background. Would it be possible
|
appears to be drawing with a transparent background. Would it be possible
|
||||||
to use an opaque background in most places?
|
to use an opaque background in most places?
|
||||||
8 Use another default for 'termencoding': the active codepage. Means that
|
|
||||||
when 'encoding' is changed typing characters still works properly.
|
|
||||||
Alternative: use the Unicode functions to obtain typed characters.
|
|
||||||
7 The cursor color indicating IME mode doesn't work properly. (Shizhu Pan,
|
7 The cursor color indicating IME mode doesn't work properly. (Shizhu Pan,
|
||||||
2004 May 9)
|
2004 May 9)
|
||||||
8 Win32: When clicking on the gvim title bar, which gives it focus, produces
|
8 Win32: When clicking on the gvim title bar, which gives it focus, produces
|
||||||
@ -2783,14 +2635,6 @@ Win32 console:
|
|||||||
backslashes. (Ronald Hoellwarth)
|
backslashes. (Ronald Hoellwarth)
|
||||||
|
|
||||||
|
|
||||||
Windows 95:
|
|
||||||
8 Editing a file by its short file name and writing it, makes the long file
|
|
||||||
name disappear. Setting 'backupcopy' helps.
|
|
||||||
Use FindFirstFile()->cAlternateFileName in fname_case() (George Reilly).
|
|
||||||
8 Doing wildcard expansion, will match the short filename, but result in the
|
|
||||||
long filename (both DJGPP and Win32).
|
|
||||||
|
|
||||||
|
|
||||||
Win32 console:
|
Win32 console:
|
||||||
9 When editing a file by its short file name, it should be expanded into its
|
9 When editing a file by its short file name, it should be expanded into its
|
||||||
long file name, to avoid problems like these: (Mccollister)
|
long file name, to avoid problems like these: (Mccollister)
|
||||||
@ -2814,9 +2658,6 @@ Win32 console:
|
|||||||
a Netware network drive. Use same function as for Win32 GUI?
|
a Netware network drive. Use same function as for Win32 GUI?
|
||||||
8 In os_win32.h, HAVE_STRICMP and HAVE_STRNICMP are defined only if __GNUC__
|
8 In os_win32.h, HAVE_STRICMP and HAVE_STRNICMP are defined only if __GNUC__
|
||||||
is not defined. Shouldn't that be the other way around?
|
is not defined. Shouldn't that be the other way around?
|
||||||
7 Use SetConsoleCP() and SetConsoleOutputCP() to implement 'termencoding'?
|
|
||||||
Avoids that input and output work differently. Need to be restored when
|
|
||||||
exiting.
|
|
||||||
|
|
||||||
|
|
||||||
Amiga:
|
Amiga:
|
||||||
@ -2919,9 +2760,6 @@ Macintosh:
|
|||||||
is currently fixed to use ".,:;!". Add an option to make this
|
is currently fixed to use ".,:;!". Add an option to make this
|
||||||
configurable?
|
configurable?
|
||||||
8 'hkmap' should probably be global-local.
|
8 'hkmap' should probably be global-local.
|
||||||
9 When "$" is in 'cpoptions' and folding is active, a "C" command changes
|
|
||||||
the folds and resets w_lines_valid. The display updating doesn't work
|
|
||||||
then. (Pritesh Mistry)
|
|
||||||
8 Using ":s" in a function changes the previous replacement string. Save
|
8 Using ":s" in a function changes the previous replacement string. Save
|
||||||
"old_sub" in save_search_patterns()?
|
"old_sub" in save_search_patterns()?
|
||||||
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
|
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
|
||||||
@ -2965,11 +2803,6 @@ Macintosh:
|
|||||||
- Be able to print a window in diff mode.
|
- Be able to print a window in diff mode.
|
||||||
- Be able to specify a colorscheme to use for printing. And a separate
|
- Be able to specify a colorscheme to use for printing. And a separate
|
||||||
one for B&W printing (if that can be detected).
|
one for B&W printing (if that can be detected).
|
||||||
8 In Visual block mode with 'lbr' set, a change command doesn't insert the
|
|
||||||
text in following lines where the linebreak changes.
|
|
||||||
9 dosinst.c: The DJGPP version can't uninstall the Uninstall registry key on
|
|
||||||
Windows NT. How to install a .inf file on Windows NT and how to detect
|
|
||||||
that Windows NT is being used?
|
|
||||||
8 When 'virtualedit' is "block,insert" and encoding is "utf-8", selecting a
|
8 When 'virtualedit' is "block,insert" and encoding is "utf-8", selecting a
|
||||||
block of one double-wide character, then "d" deletes only half of it.
|
block of one double-wide character, then "d" deletes only half of it.
|
||||||
8 When 'virtualedit' is set, should "I" in blockwise visual mode also insert
|
8 When 'virtualedit' is set, should "I" in blockwise visual mode also insert
|
||||||
@ -3026,8 +2859,6 @@ Macintosh:
|
|||||||
(e.g., ":w").
|
(e.g., ":w").
|
||||||
8 CTRL-A can't handle big "long" numbers, they become negative. Check for
|
8 CTRL-A can't handle big "long" numbers, they become negative. Check for
|
||||||
"-" character, if not present, use unsigned long.
|
"-" character, if not present, use unsigned long.
|
||||||
8 Make it possible to disable the special meaning of "#" in the first column
|
|
||||||
for ">>".
|
|
||||||
8 Add suspending with CTRL-Z at the "more" prompt, and when executing a long
|
8 Add suspending with CTRL-Z at the "more" prompt, and when executing a long
|
||||||
script in do_cmdline().
|
script in do_cmdline().
|
||||||
8 When using 'hidden', many swap files will be open. When Vim runs into the
|
8 When using 'hidden', many swap files will be open. When Vim runs into the
|
||||||
@ -3149,11 +2980,6 @@ Problems that will (probably) not be solved:
|
|||||||
- Amiga: The ":cq" command does not always abort the Manx compiler. Why?
|
- Amiga: The ":cq" command does not always abort the Manx compiler. Why?
|
||||||
- Linux: A file with protection r--rw-rw- is seen readonly for others. The
|
- Linux: A file with protection r--rw-rw- is seen readonly for others. The
|
||||||
access() function in GNU libc is probably wrong.
|
access() function in GNU libc is probably wrong.
|
||||||
- MSDOS: When using smartdrive with write-back buffering, writing to a
|
|
||||||
readonly floppy will cause problems. How to test for a writable floppy
|
|
||||||
first?
|
|
||||||
- MSDOS: Both 16 and 32 bit versions: File name expansion doesn't work for
|
|
||||||
names that start with a dot. These used to be illegal file names.
|
|
||||||
- When doing a CTRL-Z and typing a command for the shell, while Vim is busy
|
- When doing a CTRL-Z and typing a command for the shell, while Vim is busy
|
||||||
(e.g. writing a file), the command for the shell is sometimes eaten by Vim,
|
(e.g. writing a file), the command for the shell is sometimes eaten by Vim,
|
||||||
because the terminal mode is changed from RAW to CBREAK.
|
because the terminal mode is changed from RAW to CBREAK.
|
||||||
@ -3264,7 +3090,6 @@ Documentation:
|
|||||||
8 List of options should mention whether environment variables are expanded
|
8 List of options should mention whether environment variables are expanded
|
||||||
or not.
|
or not.
|
||||||
8 Extend usr_27.txt a bit. (Adam Seyfarth)
|
8 Extend usr_27.txt a bit. (Adam Seyfarth)
|
||||||
7 Add a section on debugging scripts in the user manual.
|
|
||||||
9 Make the Reference Manual more precise. For each command mention:
|
9 Make the Reference Manual more precise. For each command mention:
|
||||||
- change to cursor position and curswant
|
- change to cursor position and curswant
|
||||||
- if it can be undone (u/CTRL-R) and redone (.)
|
- if it can be undone (u/CTRL-R) and redone (.)
|
||||||
@ -3290,7 +3115,6 @@ Help:
|
|||||||
- When a help item has multiple matches make it possible to use ":tn" to go
|
- When a help item has multiple matches make it possible to use ":tn" to go
|
||||||
to the other matches.
|
to the other matches.
|
||||||
- Support a way to view (and edit) .info files.
|
- Support a way to view (and edit) .info files.
|
||||||
- Default mapping for help files: <Tab> to position cursor on next |:tag|.
|
|
||||||
- Implement a "sticky" help window, some help text lines that are always
|
- Implement a "sticky" help window, some help text lines that are always
|
||||||
displayed in a window with fixed height. (Guckes) Use "~/.vimhelp" file,
|
displayed in a window with fixed height. (Guckes) Use "~/.vimhelp" file,
|
||||||
user can edit it to insert his favorite commands, new account can contain a
|
user can edit it to insert his favorite commands, new account can contain a
|
||||||
@ -3314,20 +3138,12 @@ User Friendlier:
|
|||||||
$HOME/_vimrc, etc.) and add "edit vimrc" to the File menu.
|
$HOME/_vimrc, etc.) and add "edit vimrc" to the File menu.
|
||||||
- Add a way to save local settings and mappings into a new plugin file.
|
- Add a way to save local settings and mappings into a new plugin file.
|
||||||
":mkplugin <file>"?
|
":mkplugin <file>"?
|
||||||
8 Add ":plugininstall" command. Can be used to install a plugin file that
|
|
||||||
includes documentation. Let the user select a directory from
|
|
||||||
'runtimepath'.
|
|
||||||
" Vim plugin
|
|
||||||
<main plugin code>
|
|
||||||
" >>> plugin help start <<<
|
|
||||||
<plugin docs>
|
|
||||||
- Add mappings local to a window: ":map <window> ..."?
|
- Add mappings local to a window: ":map <window> ..."?
|
||||||
9 Add buffer-local menu. Should offer a choice between removing the menu or
|
9 Add buffer-local menu. Should offer a choice between removing the menu or
|
||||||
disabling it. Be careful that tear-offs don't disappear (keep one empty
|
disabling it. Be careful that tear-offs don't disappear (keep one empty
|
||||||
item?).
|
item?).
|
||||||
Alternative: use BufEnter and BufLeave autocommands.
|
Alternative: use BufEnter and BufLeave autocommands.
|
||||||
8 make a vimtutor script for Amiga and other systems.
|
8 make a vimtutor script for Amiga and other systems.
|
||||||
7 Add the arguments for configure to the ":version" output?
|
|
||||||
7 When Vim detects a file is being edited elsewhere and it's a gvim session
|
7 When Vim detects a file is being edited elsewhere and it's a gvim session
|
||||||
of the same user it should offer a "Raise" button, so that the other gvim
|
of the same user it should offer a "Raise" button, so that the other gvim
|
||||||
window can be displayed. (Eduard)
|
window can be displayed. (Eduard)
|
||||||
@ -3346,7 +3162,6 @@ Tab pages:
|
|||||||
7 :tabdup duplicate the tab with all its windows.
|
7 :tabdup duplicate the tab with all its windows.
|
||||||
7 Option to put tab line at the left or right? Need an option to specify
|
7 Option to put tab line at the left or right? Need an option to specify
|
||||||
its width. It's like a separate window with ":tabs" output.
|
its width. It's like a separate window with ":tabs" output.
|
||||||
7 Add local variables for each tab page?
|
|
||||||
8 Add local options for each tab page? E.g., 'diffopt' could differ between
|
8 Add local options for each tab page? E.g., 'diffopt' could differ between
|
||||||
tab pages.
|
tab pages.
|
||||||
7 Add local highlighting for each tab page?
|
7 Add local highlighting for each tab page?
|
||||||
@ -3450,15 +3265,8 @@ Diff mode:
|
|||||||
9 Instead invoking an external diff program, use builtin code. One can be
|
9 Instead invoking an external diff program, use builtin code. One can be
|
||||||
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
||||||
It's quite big and badly documented though.
|
It's quite big and badly documented though.
|
||||||
8 Use diff mode to show the changes made in a buffer (compared to the file).
|
8 Also show difference with the file when editing started? Should show what
|
||||||
Use an unnamed buffer, like doing:
|
|
||||||
new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
|
|
||||||
Also show difference with the file when editing started? Should show what
|
|
||||||
can be undone. (Tom Popovich)
|
can be undone. (Tom Popovich)
|
||||||
7 Add cursor-binding: when moving the cursor in one diff'ed buffer, also
|
|
||||||
move it in other diff'ed buffers, so that CTRL-W commands go to the same
|
|
||||||
location.
|
|
||||||
|
|
||||||
|
|
||||||
Folding:
|
Folding:
|
||||||
(commands still available: zI zJ zK zp zP zq zQ zV zy zY;
|
(commands still available: zI zJ zK zp zP zq zQ zV zy zY;
|
||||||
@ -3466,8 +3274,6 @@ Folding:
|
|||||||
8 Vertical folds: looks like vertically split windows, but the cursor moves
|
8 Vertical folds: looks like vertically split windows, but the cursor moves
|
||||||
through the vertical separator, separator moves when scrolling.
|
through the vertical separator, separator moves when scrolling.
|
||||||
8 Add "z/" and "z?" for searching in not folded text only.
|
8 Add "z/" and "z?" for searching in not folded text only.
|
||||||
9 Add search pattern item to only match in closed or open fold and/or fold
|
|
||||||
with certain level. Allows doing ":g/pat/cmd" to work on closed folds.
|
|
||||||
8 When a closed fold is displayed open because of 'foldminlines', the
|
8 When a closed fold is displayed open because of 'foldminlines', the
|
||||||
behavior of commands is still like the fold is closed. How to make the
|
behavior of commands is still like the fold is closed. How to make the
|
||||||
user aware of this?
|
user aware of this?
|
||||||
@ -3498,9 +3304,6 @@ Folding:
|
|||||||
- 'foldmethod' "syntax": "fold=3" argument: set fold level for a region or
|
- 'foldmethod' "syntax": "fold=3" argument: set fold level for a region or
|
||||||
match.
|
match.
|
||||||
- Apply a new foldlevel to a range of lines. (Steve Litt)
|
- Apply a new foldlevel to a range of lines. (Steve Litt)
|
||||||
8 Have some way to restrict commands to not folded text. Also commands like
|
|
||||||
searches.
|
|
||||||
|
|
||||||
|
|
||||||
Multi-byte characters:
|
Multi-byte characters:
|
||||||
- When editing a file with both utf-8 and latin1 text Vim always falls back
|
- When editing a file with both utf-8 and latin1 text Vim always falls back
|
||||||
@ -3692,9 +3495,6 @@ Syntax highlighting:
|
|||||||
8 When using a regexp for "contains=", should delay matching with it until
|
8 When using a regexp for "contains=", should delay matching with it until
|
||||||
redrawing happens. Set a flag when a group is added, check this flag when
|
redrawing happens. Set a flag when a group is added, check this flag when
|
||||||
highlighting starts.
|
highlighting starts.
|
||||||
8 Some terminals can display colors like the GUI. Add some setting to use
|
|
||||||
GUI colors for the terminal? With something to define the escape
|
|
||||||
sequence.
|
|
||||||
7 It's possible for an item to be transparent, so that the colors of an item
|
7 It's possible for an item to be transparent, so that the colors of an item
|
||||||
lower on the stack is used. Also do this with highlighting, so that the
|
lower on the stack is used. Also do this with highlighting, so that the
|
||||||
user can set transparent highlighting? E.g. a number in a C comment would
|
user can set transparent highlighting? E.g. a number in a C comment would
|
||||||
@ -3900,9 +3700,6 @@ Performance:
|
|||||||
so that we don't need to make a copy? Or avoid invoking ml_updatechunk(),
|
so that we don't need to make a copy? Or avoid invoking ml_updatechunk(),
|
||||||
that is taking a lot of time. (Ralf Wildenhues, 2008 Jul 7)
|
that is taking a lot of time. (Ralf Wildenhues, 2008 Jul 7)
|
||||||
With a patch, but does it work?
|
With a patch, but does it work?
|
||||||
8 Instead of loading rgb.txt every time a color wasn't recognized load it
|
|
||||||
once and keep it in memory. Move the code to a common place to avoid
|
|
||||||
repeating it in various system files.
|
|
||||||
8 Turn b_syn_ic and b_syn_containedin into b_syn_flags.
|
8 Turn b_syn_ic and b_syn_containedin into b_syn_flags.
|
||||||
9 Loading menu.vim still takes quite a bit of time. How to make it faster?
|
9 Loading menu.vim still takes quite a bit of time. How to make it faster?
|
||||||
8 in_id_list() takes much time for syntax highlighting. Cache the result?
|
8 in_id_list() takes much time for syntax highlighting. Cache the result?
|
||||||
@ -3927,7 +3724,6 @@ Performance:
|
|||||||
http://www.theregister.co.uk/content/4/22908.html. (Andre Pang)
|
http://www.theregister.co.uk/content/4/22908.html. (Andre Pang)
|
||||||
7 Check how performance of loading the wordlist can be improved (adding a
|
7 Check how performance of loading the wordlist can be improved (adding a
|
||||||
lot of abbreviations).
|
lot of abbreviations).
|
||||||
7 MS-DOS console: Add t_DL support, to make scrolling faster.
|
|
||||||
7 Compile Ex commands to byte codes. Store byte codes in a vim script file
|
7 Compile Ex commands to byte codes. Store byte codes in a vim script file
|
||||||
at the end, after "compiled:. Make it look like a single comment line
|
at the end, after "compiled:. Make it look like a single comment line
|
||||||
for old Vim versions. Insert first line "Vim script compiled <timestamp>.
|
for old Vim versions. Insert first line "Vim script compiled <timestamp>.
|
||||||
@ -4052,8 +3848,6 @@ Screen updating:
|
|||||||
8 Add a ":refresh [winnr]" command, to force updating a window. Useful from
|
8 Add a ":refresh [winnr]" command, to force updating a window. Useful from
|
||||||
an event handler where ":normal" can't be used. Also useful when
|
an event handler where ":normal" can't be used. Also useful when
|
||||||
'lazyredraw' is set in a mapping.
|
'lazyredraw' is set in a mapping.
|
||||||
7 Make 'list' and 'linebreak' work together.
|
|
||||||
|
|
||||||
|
|
||||||
Scrolling:
|
Scrolling:
|
||||||
8 Add "zy" command: scroll horizontally to put the cursor in the middle.
|
8 Add "zy" command: scroll horizontally to put the cursor in the middle.
|
||||||
@ -4237,8 +4031,6 @@ GUI:
|
|||||||
use them again? Otherwise, allow disabling allocating the default colors.
|
use them again? Otherwise, allow disabling allocating the default colors.
|
||||||
Or allocate an own colormap (check UAE). With an option to use it. For
|
Or allocate an own colormap (check UAE). With an option to use it. For
|
||||||
the commandline, "-install" is mostly used for X11 programs.
|
the commandline, "-install" is mostly used for X11 programs.
|
||||||
7 Add command line argument for "gvim" not to start the GUI. Sort of the
|
|
||||||
inverse of "vim -g". (Vikas)
|
|
||||||
7 Should support multi-column menus.
|
7 Should support multi-column menus.
|
||||||
- Should add option for where to put the "Help" menu: like Motif at the far
|
- Should add option for where to put the "Help" menu: like Motif at the far
|
||||||
right, or with the other menus (but still at the right).
|
right, or with the other menus (but still at the right).
|
||||||
@ -4539,7 +4331,6 @@ Insert mode:
|
|||||||
7 Use CTRL-G <count> to repeat what follows. Useful for inserting a
|
7 Use CTRL-G <count> to repeat what follows. Useful for inserting a
|
||||||
character multiple times or repeating CTRL-Y.
|
character multiple times or repeating CTRL-Y.
|
||||||
- Make 'revins' work in Replace mode.
|
- Make 'revins' work in Replace mode.
|
||||||
9 Can't use multi-byte characters for 'matchpairs'.
|
|
||||||
7 Use 'matchpairs' for 'showmatch': When inserting a character check if it
|
7 Use 'matchpairs' for 'showmatch': When inserting a character check if it
|
||||||
appears in the rhs of 'matchpairs'.
|
appears in the rhs of 'matchpairs'.
|
||||||
- In Insert mode (and command line editing?): Allow undo of the last typed
|
- In Insert mode (and command line editing?): Allow undo of the last typed
|
||||||
@ -4681,8 +4472,6 @@ Text objects:
|
|||||||
use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
|
use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
|
||||||
'matchpairs'?
|
'matchpairs'?
|
||||||
8 Add text object for any kind of parens, also multi-byte ones.
|
8 Add text object for any kind of parens, also multi-byte ones.
|
||||||
7 Add text object for current search pattern: "a/" and "i/". Makes it
|
|
||||||
possible to turn text highlighted for 'hlsearch' into a Visual area.
|
|
||||||
8 Add a way to make an ":omap" for a user-defined text object. Requires
|
8 Add a way to make an ":omap" for a user-defined text object. Requires
|
||||||
changing the starting position in oap->start.
|
changing the starting position in oap->start.
|
||||||
8 Add "gp" and "gP" commands: insert text and make sure there is a single
|
8 Add "gp" and "gP" commands: insert text and make sure there is a single
|
||||||
@ -4739,8 +4528,6 @@ Visual mode:
|
|||||||
receive dropped text from another program. (Ben Godfrey)
|
receive dropped text from another program. (Ben Godfrey)
|
||||||
7 With blockwise Visual mode and "c", "C", "I", "A", etc., allow the use of
|
7 With blockwise Visual mode and "c", "C", "I", "A", etc., allow the use of
|
||||||
a <CR>. The entered lines are repeated over the Visual area.
|
a <CR>. The entered lines are repeated over the Visual area.
|
||||||
7 CTRL-V :s should substitute only in the block, not to whole lines. (David
|
|
||||||
Young is working on this)
|
|
||||||
7 Filtering a block should only apply to the block, not to the whole lines.
|
7 Filtering a block should only apply to the block, not to the whole lines.
|
||||||
When the number of lines is increased, add lines. When decreased, pad with
|
When the number of lines is increased, add lines. When decreased, pad with
|
||||||
spaces or delete? Use ":`<,`>" on the command line.
|
spaces or delete? Use ":`<,`>" on the command line.
|
||||||
@ -4770,8 +4557,6 @@ Visual mode:
|
|||||||
|
|
||||||
More advanced repeating commands:
|
More advanced repeating commands:
|
||||||
- Add "." command for visual mode: redo last visual command (e.g. ":fmt").
|
- Add "." command for visual mode: redo last visual command (e.g. ":fmt").
|
||||||
7 Repeating "d:{cmd}" with "." doesn't work. (Benji Fisher) Somehow remember
|
|
||||||
the command line so that it can be repeated?
|
|
||||||
- Add command to repeat last movement. Including count.
|
- Add command to repeat last movement. Including count.
|
||||||
- Add "." command after operator: repeat last command of same operator. E.g.
|
- Add "." command after operator: repeat last command of same operator. E.g.
|
||||||
"c." will repeat last change, also when "x" used since then (Webb).
|
"c." will repeat last change, also when "x" used since then (Webb).
|
||||||
@ -4800,9 +4585,6 @@ Mappings and Abbreviations:
|
|||||||
not the <Space>.
|
not the <Space>.
|
||||||
8 Give a warning when using CTRL-C in the lhs of a mapping. It will never
|
8 Give a warning when using CTRL-C in the lhs of a mapping. It will never
|
||||||
(?) work.
|
(?) work.
|
||||||
8 Add a way to save a current mapping and restore it later. Use a function
|
|
||||||
that returns the mapping command to restore it: mapcmd()? mapcheck() is
|
|
||||||
not fool proof. How to handle ambiguous mappings?
|
|
||||||
7 Add <0x8f> (hex), <033> (octal) and <123> (decimal) to <> notation?
|
7 Add <0x8f> (hex), <033> (octal) and <123> (decimal) to <> notation?
|
||||||
7 When someone tries to unmap with a trailing space, and it fails, try
|
7 When someone tries to unmap with a trailing space, and it fails, try
|
||||||
unmapping without the trailing space. Helps for ":unmap xx | unmap yy".
|
unmapping without the trailing space. Helps for ":unmap xx | unmap yy".
|
||||||
@ -4855,8 +4637,6 @@ Incsearch:
|
|||||||
cases, saves a lot of time in big files. (Slootman wants to work on this?)
|
cases, saves a lot of time in big files. (Slootman wants to work on this?)
|
||||||
When not using special characters, can continue search from the last match
|
When not using special characters, can continue search from the last match
|
||||||
(or not at all, when there was no match). See oldmail/webb/in.872.
|
(or not at all, when there was no match). See oldmail/webb/in.872.
|
||||||
- With incsearch, use CTRL-N/CTRL-P to go to next/previous match, some other
|
|
||||||
key to copy matched word to search pattern (Alexander Schmid).
|
|
||||||
|
|
||||||
|
|
||||||
Searching:
|
Searching:
|
||||||
@ -4880,9 +4660,6 @@ Searching:
|
|||||||
8 Show the progress every second. Could use the code that checks for CTRL-C
|
8 Show the progress every second. Could use the code that checks for CTRL-C
|
||||||
to find out how much time has passed. Or use SIGALRM. Where to show the
|
to find out how much time has passed. Or use SIGALRM. Where to show the
|
||||||
number?
|
number?
|
||||||
8 When using an expression for ":s", set the match position in a v:
|
|
||||||
variable. So that you can do ":%s/^/\=v:lnum/" to put a line number
|
|
||||||
before each line.
|
|
||||||
7 Support for approximate-regexps to find similar words (agrep
|
7 Support for approximate-regexps to find similar words (agrep
|
||||||
http://www.tgries.de/agrep/ tre: http://laurikari.net/tre/index.html).
|
http://www.tgries.de/agrep/ tre: http://laurikari.net/tre/index.html).
|
||||||
8 Add an item for a big character range, so that one can search for a
|
8 Add an item for a big character range, so that one can search for a
|
||||||
@ -4891,8 +4668,6 @@ Searching:
|
|||||||
the stack if previous atom matched". Other side is "match with top of
|
the stack if previous atom matched". Other side is "match with top of
|
||||||
stack, pop it when it matches". Use "\@pX" and "\@m"?
|
stack, pop it when it matches". Use "\@pX" and "\@m"?
|
||||||
Example: \((\@p).\{-}\@m\)*
|
Example: \((\@p).\{-}\@m\)*
|
||||||
7 Add an option to accept a match at the cursor position. Also for
|
|
||||||
search(). (Brett)
|
|
||||||
7 Add a flag to "/pat/" to discard an error. Useful to continue a mapping
|
7 Add a flag to "/pat/" to discard an error. Useful to continue a mapping
|
||||||
when a search fails. Could be "/pat/E" (e is already used for end offset).
|
when a search fails. Could be "/pat/E" (e is already used for end offset).
|
||||||
7 Add pattern item to use properties of Unicode characters. In Perl it's
|
7 Add pattern item to use properties of Unicode characters. In Perl it's
|
||||||
@ -4996,9 +4771,6 @@ Undo:
|
|||||||
when tests fail after making changes and you forgot in which files.
|
when tests fail after making changes and you forgot in which files.
|
||||||
9 After undo/redo, in the message show whether the buffer is modified or
|
9 After undo/redo, in the message show whether the buffer is modified or
|
||||||
not.
|
not.
|
||||||
8 Use timestamps for undo, so that a version a certain time ago can be found
|
|
||||||
and info before some time/date can be flushed. 'undopersist' gives maximum
|
|
||||||
time to keep undo: "3h", "1d", "2w", "1y", etc.
|
|
||||||
8 Search for pattern in undo tree, showing when it happened and the text
|
8 Search for pattern in undo tree, showing when it happened and the text
|
||||||
state, so that you can jump to it.
|
state, so that you can jump to it.
|
||||||
8 Undo tree: visually show the tree somehow (Damian Conway)
|
8 Undo tree: visually show the tree somehow (Damian Conway)
|
||||||
@ -5006,13 +4778,6 @@ Undo:
|
|||||||
timestamp?
|
timestamp?
|
||||||
Put branch with most recent change on the left, older changes get more
|
Put branch with most recent change on the left, older changes get more
|
||||||
indent?
|
indent?
|
||||||
8 See ":e" as a change operation, find the changes and add them to the
|
|
||||||
undo info. Also be able to undo the "Reload file" choice for when a file
|
|
||||||
was changed outside of Vim.
|
|
||||||
Would require doing a diff between the buffer text and the file and
|
|
||||||
storing the differences.
|
|
||||||
Alternative: before reloading a buffer, store it somewhere. Keep a list
|
|
||||||
of about 10 last reloaded buffers.
|
|
||||||
- Make it possible to undo all the commands from a mapping, including a
|
- Make it possible to undo all the commands from a mapping, including a
|
||||||
trailing unfinished command, e.g. for ":map K iX^[r".
|
trailing unfinished command, e.g. for ":map K iX^[r".
|
||||||
- When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not
|
- When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not
|
||||||
@ -5064,8 +4829,6 @@ Buffer list:
|
|||||||
7 Add expansion of buffer names, so that "*.c" is expanded to all buffer
|
7 Add expansion of buffer names, so that "*.c" is expanded to all buffer
|
||||||
names. Needed for ":bdel *.c", ":bunload *.c", etc.
|
names. Needed for ":bdel *.c", ":bunload *.c", etc.
|
||||||
8 Support for <afile> where a buffer name is expected.
|
8 Support for <afile> where a buffer name is expected.
|
||||||
8 Some commands don't use line numbers, but buffer numbers. '$'
|
|
||||||
should then mean the number of the last buffer. E.g.: "4,$bdel".
|
|
||||||
7 Add an option to mostly use slashes in file names. Separately for
|
7 Add an option to mostly use slashes in file names. Separately for
|
||||||
internal use and for when executing an external program?
|
internal use and for when executing an external program?
|
||||||
8 Some file systems are case-sensitive, some are not. Besides
|
8 Some file systems are case-sensitive, some are not. Besides
|
||||||
@ -5385,11 +5148,6 @@ Various improvements:
|
|||||||
7 Allow a window not to have a statusline. Makes it possible to use a
|
7 Allow a window not to have a statusline. Makes it possible to use a
|
||||||
window as a buffer-tab selection.
|
window as a buffer-tab selection.
|
||||||
8 Allow non-active windows to have a different statusline. (Yakov Lerner)
|
8 Allow non-active windows to have a different statusline. (Yakov Lerner)
|
||||||
7 Support using ":vert" with User commands. Add expandable items <vert>.
|
|
||||||
Do the same for ":browse" and ":confirm"?
|
|
||||||
For ":silent" and ":debug" apply to the whole user command.
|
|
||||||
More general: need a way to access command modifiers in a user command.
|
|
||||||
Assign them to a v: variable?
|
|
||||||
7 Add an invisible buffer which can be edited. For use in scripts that want
|
7 Add an invisible buffer which can be edited. For use in scripts that want
|
||||||
to manipulate text without changing the window layout.
|
to manipulate text without changing the window layout.
|
||||||
8 Add a command to revert to the saved version of file; undo or redo until
|
8 Add a command to revert to the saved version of file; undo or redo until
|
||||||
@ -5439,10 +5197,6 @@ Various improvements:
|
|||||||
non-unix systems. Perhaps let configure define CONF_XXX, and use #ifdef
|
non-unix systems. Perhaps let configure define CONF_XXX, and use #ifdef
|
||||||
CONF_XXX in feature.h? Then what should min-features and max-features do?
|
CONF_XXX in feature.h? Then what should min-features and max-features do?
|
||||||
8 Add "g^E" and "g^Y", to scroll a screen-full line up and down.
|
8 Add "g^E" and "g^Y", to scroll a screen-full line up and down.
|
||||||
6 Add ":timer" command, to set a command to be executed at a certain
|
|
||||||
interval, or once after some time has elapsed. (Aaron)
|
|
||||||
Perhaps an autocommand event like CursorHold is better?
|
|
||||||
Patch to add async functionality. (Geoff Greer, 2013 Sep 1 and later)
|
|
||||||
8 Add ":confirm" handling in open_exfile(), for when file already exists.
|
8 Add ":confirm" handling in open_exfile(), for when file already exists.
|
||||||
8 When quitting with changed files, make the dialog list the changed file
|
8 When quitting with changed files, make the dialog list the changed file
|
||||||
and allow "write all", "discard all", "write some". The last one would
|
and allow "write all", "discard all", "write some". The last one would
|
||||||
@ -5678,7 +5432,6 @@ Various improvements:
|
|||||||
gives read errors. Check protection before opening.
|
gives read errors. Check protection before opening.
|
||||||
- When writing check for file exists but no permission, "Permission denied".
|
- When writing check for file exists but no permission, "Permission denied".
|
||||||
- If file does not exist, check if directory exists.
|
- If file does not exist, check if directory exists.
|
||||||
- MSDOS: although t_cv and t_ci are not set, do invert char under cursor.
|
|
||||||
- Settings edit mode: make file with ":set opt=xx", edit it, parse it as ex
|
- Settings edit mode: make file with ":set opt=xx", edit it, parse it as ex
|
||||||
commands.
|
commands.
|
||||||
- ":set -w all": list one option per line.
|
- ":set -w all": list one option per line.
|
||||||
@ -5713,10 +5466,7 @@ Various improvements:
|
|||||||
instead of CTRL-R to make repeating possible. (Marinichev)
|
instead of CTRL-R to make repeating possible. (Marinichev)
|
||||||
- Add "^Vb" on the command line, replace with word before or under the
|
- Add "^Vb" on the command line, replace with word before or under the
|
||||||
cursor?
|
cursor?
|
||||||
- Option to make a .swp file only when a change is made (Templeton).
|
|
||||||
- Support mapping for replace mode and "r" command (Vi doesn't do this)?
|
- Support mapping for replace mode and "r" command (Vi doesn't do this)?
|
||||||
5 Add 'ignorefilecase' option: Ignore case when expanding file names.
|
|
||||||
":e ma<Tab>" would also find "Makefile" on Unix.
|
|
||||||
8 Sorting of filenames for completion is wrong on systems that ignore
|
8 Sorting of filenames for completion is wrong on systems that ignore
|
||||||
case of filenames. Add 'ignorefncase' option. When set, case in
|
case of filenames. Add 'ignorefncase' option. When set, case in
|
||||||
filenames is ignored for sorting them. Patch by Mike Williams:
|
filenames is ignored for sorting them. Patch by Mike Williams:
|
||||||
@ -5785,11 +5535,6 @@ Far future and "big" extensions:
|
|||||||
- Add open mode, use it when terminal has no cursor positioning.
|
- Add open mode, use it when terminal has no cursor positioning.
|
||||||
- Special "drawing mode": a line is drawn where the cursor is moved to.
|
- Special "drawing mode": a line is drawn where the cursor is moved to.
|
||||||
Backspace deletes along the line (from jvim).
|
Backspace deletes along the line (from jvim).
|
||||||
- Implement ":Bset", set option in all buffers. Also ":Wset", set in all
|
|
||||||
windows, ":Aset, set in all arguments and ":Tset", set in all files
|
|
||||||
mentioned in the tags file.
|
|
||||||
Add buffer/arg range, like in ":2,5B%s/..." (do we really need this???)
|
|
||||||
Add search string: "B/*.c/%s/.."? Or ":F/*.c/%s/.."?
|
|
||||||
- Support for underlining (underscore-BS-char), bold (char-BS-char) and other
|
- Support for underlining (underscore-BS-char), bold (char-BS-char) and other
|
||||||
standout modes switched on/off with , 'overstrike' option (Reiter).
|
standout modes switched on/off with , 'overstrike' option (Reiter).
|
||||||
- Add vertical mode (Paul Jury, Demirel): "5vdw" deletes a word in five
|
- Add vertical mode (Paul Jury, Demirel): "5vdw" deletes a word in five
|
||||||
@ -5805,8 +5550,5 @@ Far future and "big" extensions:
|
|||||||
are reflected in each Vim immediately. Could work with local files but
|
are reflected in each Vim immediately. Could work with local files but
|
||||||
also over the internet. See http://www.codingmonkeys.de/subethaedit/.
|
also over the internet. See http://www.codingmonkeys.de/subethaedit/.
|
||||||
|
|
||||||
When using "do" or ":diffget" in a buffer with changes in every line an extra
|
|
||||||
empty line would appear.
|
|
||||||
|
|
||||||
vim:tw=78:sw=4:sts=4:ts=8:ft=help:norl:
|
vim:tw=78:sw=4:sts=4:ts=8:ft=help:norl:
|
||||||
vim: set fo+=n :
|
vim: set fo+=n :
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: MetaFont
|
" Language: METAFONT
|
||||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Latest Revision: 2008-07-09
|
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||||
|
" Latest Revision: 2016 Oct 1
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
@ -11,9 +12,62 @@ let b:did_ftplugin = 1
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<"
|
||||||
|
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||||
|
|
||||||
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql
|
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2
|
||||||
|
setlocal suffixesadd=.mf
|
||||||
|
let &l:include = '\<input\>'
|
||||||
|
let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+'
|
||||||
|
setlocal omnifunc=syntaxcomplete#Complete
|
||||||
|
let g:omni_syntax_group_include_mf = 'mf\w\+'
|
||||||
|
let g:omni_syntax_group_exclude_mf = 'mfTodoComment'
|
||||||
|
|
||||||
|
let s:mp_regex = {
|
||||||
|
\ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|beginchar\|beginlogochar\)\>',
|
||||||
|
\ 'endsection' : '^\s*\%(enddef\|endchar\|endlogochar\)\>',
|
||||||
|
\ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>',
|
||||||
|
\ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>'
|
||||||
|
\ }
|
||||||
|
|
||||||
|
function! s:move_around(count, what, flags, visual)
|
||||||
|
if a:visual
|
||||||
|
exe "normal! gv"
|
||||||
|
endif
|
||||||
|
call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark
|
||||||
|
for i in range(2, a:count)
|
||||||
|
call search(s:mp_regex[a:what], a:flags)
|
||||||
|
endfor
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
" Move around macros.
|
||||||
|
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||||
|
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let b:match_ignorecase = 0
|
||||||
|
let b:match_words =
|
||||||
|
\ '\<if\>:\<else\%[if]\>:\<fi\>,' .
|
||||||
|
\ '\<for\%(\|suffixes\|ever\)\>:\<exit\%(if\|unless\)\>:\<endfor\>,' .
|
||||||
|
\ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\<enddef\>,' .
|
||||||
|
\ '\<begingroup\>:\<endgroup\>,' .
|
||||||
|
\ '\<beginchar\>:\<endchar\>' .
|
||||||
|
\ '\<beginlogochar\>:\<endlogochar\>'
|
||||||
|
" Ignore comments and strings
|
||||||
|
let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name")
|
||||||
|
\ =~# "mf\\(Comment\\|String\\)$"'
|
||||||
|
endif
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: MetaPost
|
" Language: MetaPost
|
||||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Latest Revision: 2008-07-09
|
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||||
|
" Latest Revision: 2016 Oct 1
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
@ -11,9 +12,16 @@ let b:did_ftplugin = 1
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<"
|
||||||
|
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||||
|
|
||||||
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql
|
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2
|
||||||
|
setlocal suffixesadd=.mp,.mpiv
|
||||||
|
let &l:include = '\<\%(input\|loadmodule\)\>' " loadmodule is in MetaFun
|
||||||
|
let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+'
|
||||||
|
setlocal omnifunc=syntaxcomplete#Complete
|
||||||
|
let g:omni_syntax_group_include_mp = 'mf\w\+,mp\w\+'
|
||||||
|
let g:omni_syntax_group_exclude_mp = 'mfTodoComment'
|
||||||
|
|
||||||
if exists(":FixBeginfigs") != 2
|
if exists(":FixBeginfigs") != 2
|
||||||
command -nargs=0 FixBeginfigs call s:fix_beginfigs()
|
command -nargs=0 FixBeginfigs call s:fix_beginfigs()
|
||||||
@ -24,5 +32,54 @@ if exists(":FixBeginfigs") != 2
|
|||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let s:mp_regex = {
|
||||||
|
\ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|begin\%(fig\|char\|logochar\|glyph\|graph\)\)\>',
|
||||||
|
\ 'endsection' : '^\s*\%(enddef\|end\%(fig\|char\|logochar\|glyph\|graph\)\)\>',
|
||||||
|
\ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>',
|
||||||
|
\ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>'
|
||||||
|
\ }
|
||||||
|
|
||||||
|
function! s:move_around(count, what, flags, visual)
|
||||||
|
if a:visual
|
||||||
|
exe "normal! gv"
|
||||||
|
endif
|
||||||
|
call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark
|
||||||
|
for i in range(2, a:count)
|
||||||
|
call search(s:mp_regex[a:what], a:flags)
|
||||||
|
endfor
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
" Move around macros.
|
||||||
|
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||||
|
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||||
|
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||||
|
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let b:match_ignorecase = 0
|
||||||
|
let b:match_words =
|
||||||
|
\ '\<if\>:\<else\%[if]\>:\<fi\>,' .
|
||||||
|
\ '\<for\%(\|suffixes\|ever\)\>:\<exit\%(if\|unless\)\>:\<endfor\>,' .
|
||||||
|
\ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\<enddef\>,' .
|
||||||
|
\ '\<beginfig\>:\<endfig\>,' .
|
||||||
|
\ '\<begingroup\>:\<endgroup\>,' .
|
||||||
|
\ '\<beginchar\>:\<endchar\>' .
|
||||||
|
\ '\<beginlogochar\>:\<endlogochar\>' .
|
||||||
|
\ '\<beginglyph\>:\<endglyph\>' .
|
||||||
|
\ '\<begingraph\>:\<endgraph\>'
|
||||||
|
" Ignore comments and strings
|
||||||
|
let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name")
|
||||||
|
\ =~# "^mf\\%(Comment\\|String\\|\\)$\\|^mpTeXinsert$"'
|
||||||
|
endif
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
||||||
" Version: 0.45
|
" Version: 0.46
|
||||||
" Last Change: 2016 Aug. 29
|
" Last Change: 2016 Sep. 27
|
||||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||||
" Usage: For instructions, do :help fortran-indent from Vim
|
" Usage: For instructions, do :help fortran-indent from Vim
|
||||||
" Credits:
|
" Credits:
|
||||||
" Useful suggestions were made by: Albert Oliver Serra and Takuya Fujiwara.
|
" Useful suggestions were made, in chronological order, by:
|
||||||
|
" Albert Oliver Serra, Takuya Fujiwara and Philipp Edelmann.
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
@ -121,7 +122,8 @@ function FortranGetIndent(lnum)
|
|||||||
let prefix='\(\(pure\|impure\|elemental\|recursive\)\s\+\)\{,2}'
|
let prefix='\(\(pure\|impure\|elemental\|recursive\)\s\+\)\{,2}'
|
||||||
let type='\(\(integer\|real\|double\s\+precision\|complex\|logical'
|
let type='\(\(integer\|real\|double\s\+precision\|complex\|logical'
|
||||||
\.'\|character\|type\|class\)\s*\S*\s\+\)\='
|
\.'\|character\|type\|class\)\s*\S*\s\+\)\='
|
||||||
if prevstat =~? '^\s*\(module\|contains\/submodule\|program\)\>'
|
if prevstat =~? '^\s*\(contains\|submodule\|program\)\>'
|
||||||
|
\ ||prevstat =~? '^\s*'.'module\>\(\s*\procedure\)\@!'
|
||||||
\ ||prevstat =~? '^\s*'.prefix.'subroutine\>'
|
\ ||prevstat =~? '^\s*'.prefix.'subroutine\>'
|
||||||
\ ||prevstat =~? '^\s*'.prefix.type.'function\>'
|
\ ||prevstat =~? '^\s*'.prefix.type.'function\>'
|
||||||
\ ||prevstat =~? '^\s*'.type.prefix.'function\>'
|
\ ||prevstat =~? '^\s*'.type.prefix.'function\>'
|
||||||
@ -129,7 +131,7 @@ function FortranGetIndent(lnum)
|
|||||||
endif
|
endif
|
||||||
if getline(v:lnum) =~? '^\s*contains\>'
|
if getline(v:lnum) =~? '^\s*contains\>'
|
||||||
\ ||getline(v:lnum)=~? '^\s*end\s*'
|
\ ||getline(v:lnum)=~? '^\s*end\s*'
|
||||||
\ .'\(function\|subroutine\|module\/submodule\|program\)\>'
|
\ .'\(function\|subroutine\|module\|submodule\|program\)\>'
|
||||||
let ind = ind - shiftwidth()
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
6
runtime/indent/mf.vim
Normal file
6
runtime/indent/mf.vim
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
" METAFONT indent file
|
||||||
|
" Language: METAFONT
|
||||||
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
|
" Last Change: 2016 Oct 1
|
||||||
|
|
||||||
|
runtime! indent/mp.vim
|
@ -1,56 +1,19 @@
|
|||||||
" MetaPost indent file
|
" MetaPost indent file
|
||||||
" Language: MetaPost
|
" Language: MetaPost
|
||||||
" Maintainer: Eugene Minkovskii <emin@mccme.ru>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Last Change: 2012 May 18
|
" Former Maintainers: Eugene Minkovskii <emin@mccme.ru>
|
||||||
" Version: 0.1
|
" Last Change: 2016 Oct 01
|
||||||
" ==========================================================================
|
" Version: 0.2
|
||||||
|
|
||||||
" Identation Rules: {{{1
|
|
||||||
" First of all, MetaPost language don't expect any identation rules.
|
|
||||||
" This screept need for you only if you (not MetaPost) need to do
|
|
||||||
" exactly code. If you don't need to use indentation, see
|
|
||||||
" :help filetype-indent-off
|
|
||||||
"
|
|
||||||
" Note: Every rules of identation in MetaPost or TeX languages (and in some
|
|
||||||
" other of course) is very subjective. I can release only my vision of this
|
|
||||||
" promlem.
|
|
||||||
"
|
|
||||||
" ..........................................................................
|
|
||||||
" Example of correct (by me) identation {{{2
|
|
||||||
" shiftwidth=4
|
|
||||||
" ==========================================================================
|
|
||||||
" for i=0 upto 99:
|
|
||||||
" z[i] = (0,1u) rotated (i*360/100);
|
|
||||||
" endfor
|
|
||||||
" draw z0 -- z10 -- z20
|
|
||||||
" withpen ... % <- 2sw because breaked line
|
|
||||||
" withcolor ...; % <- same as previous
|
|
||||||
" draw z0 for i=1 upto 99:
|
|
||||||
" -- z[i] % <- 1sw from left end of 'for' satement
|
|
||||||
" endfor withpen ... % <- 0sw from left end of 'for' satement
|
|
||||||
" withcolor ...; % <- 2sw because breaked line
|
|
||||||
" draw if One: % <- This is internal if (like 'for' above)
|
|
||||||
" one
|
|
||||||
" elsif Other:
|
|
||||||
" other
|
|
||||||
" fi withpen ...;
|
|
||||||
" if one: % <- This is external if
|
|
||||||
" draw one;
|
|
||||||
" elseif other:
|
|
||||||
" draw other;
|
|
||||||
" fi
|
|
||||||
" draw z0; draw z1;
|
|
||||||
" }}}
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let b:did_indent = 1
|
let b:did_indent = 1
|
||||||
|
|
||||||
setlocal indentexpr=GetMetaPostIndent()
|
setlocal indentexpr=GetMetaPostIndent()
|
||||||
setlocal indentkeys+=;,<:>,=if,=for,=def,=end,=else,=fi
|
setlocal indentkeys+==end,=else,=fi,=fill,0),0]
|
||||||
|
|
||||||
|
let b:undo_indent = "setl indentkeys< indentexpr<"
|
||||||
|
|
||||||
" Only define the function once.
|
" Only define the function once.
|
||||||
if exists("*GetMetaPostIndent")
|
if exists("*GetMetaPostIndent")
|
||||||
@ -59,151 +22,332 @@ endif
|
|||||||
let s:keepcpo= &cpo
|
let s:keepcpo= &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" Auxiliary Definitions: {{{1
|
function GetMetaPostIndent()
|
||||||
function! MetaNextNonblankNoncomment(pos)
|
let ignorecase_save = &ignorecase
|
||||||
" Like nextnonblank() but ignore comment lines
|
try
|
||||||
let tmp = nextnonblank(a:pos)
|
let &ignorecase = 0
|
||||||
while tmp && getline(tmp) =~ '^\s*%'
|
return GetMetaPostIndentIntern()
|
||||||
let tmp = nextnonblank(tmp+1)
|
finally
|
||||||
|
let &ignorecase = ignorecase_save
|
||||||
|
endtry
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Regexps {{{
|
||||||
|
" Note: the next three variables are made global so that a user may add
|
||||||
|
" further keywords.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" Put these in ~/.vim/after/indent/mp.vim
|
||||||
|
"
|
||||||
|
" let g:mp_open_tag .= '\|\<begintest\>'
|
||||||
|
" let g:mp_close_tag .= '\|\<endtest\>'
|
||||||
|
|
||||||
|
" Expressions starting indented blocks
|
||||||
|
let g:mp_open_tag = ''
|
||||||
|
\ . '\<if\>'
|
||||||
|
\ . '\|\<else\%[if]\>'
|
||||||
|
\ . '\|\<for\%(\|ever\|suffixes\)\>'
|
||||||
|
\ . '\|\<begingroup\>'
|
||||||
|
\ . '\|\<\%(\|var\|primary\|secondary\|tertiary\)def\>'
|
||||||
|
\ . '\|^\s*\<begin\%(fig\|graph\|glyph\|char\|logochar\)\>'
|
||||||
|
\ . '\|[([{]'
|
||||||
|
|
||||||
|
" Expressions ending indented blocks
|
||||||
|
let g:mp_close_tag = ''
|
||||||
|
\ . '\<fi\>'
|
||||||
|
\ . '\|\<else\%[if]\>'
|
||||||
|
\ . '\|\<end\%(\|for\|group\|def\|fig\|char\|logochar\|glyph\|graph\)\>'
|
||||||
|
\ . '\|[)\]}]'
|
||||||
|
|
||||||
|
" Statements that may span multiple lines and are ended by a semicolon. To
|
||||||
|
" keep this list short, statements that are unlikely to be very long or are
|
||||||
|
" not very common (e.g., keywords like `interim` or `showtoken`) are not
|
||||||
|
" included.
|
||||||
|
"
|
||||||
|
" The regex for assignments and equations (the last branch) is tricky, because
|
||||||
|
" it must not match things like `for i :=`, `if a=b`, `def...=`, etc... It is
|
||||||
|
" not perfect, but it works reasonably well.
|
||||||
|
let g:mp_statement = ''
|
||||||
|
\ . '\<\%(\|un\|cut\)draw\>'
|
||||||
|
\ . '\|\<\%(\|un\)fill\%[draw]\>'
|
||||||
|
\ . '\|\<draw\%(dbl\)\=arrow\>'
|
||||||
|
\ . '\|\<clip\>'
|
||||||
|
\ . '\|\<addto\>'
|
||||||
|
\ . '\|\<save\>'
|
||||||
|
\ . '\|\<setbounds\>'
|
||||||
|
\ . '\|\<message\>'
|
||||||
|
\ . '\|\<errmessage\>'
|
||||||
|
\ . '\|\<errhelp\>'
|
||||||
|
\ . '\|\<fontmapline\>'
|
||||||
|
\ . '\|\<pickup\>'
|
||||||
|
\ . '\|\<show\>'
|
||||||
|
\ . '\|\<special\>'
|
||||||
|
\ . '\|\<write\>'
|
||||||
|
\ . '\|\%(^\|;\)\%([^;=]*\%('.g:mp_open_tag.'\)\)\@!.\{-}:\=='
|
||||||
|
|
||||||
|
" A line ends with zero or more spaces, possibly followed by a comment.
|
||||||
|
let s:eol = '\s*\%($\|%\)'
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" Auxiliary functions {{{
|
||||||
|
" Returns 1 if (0-based) position immediately preceding `pos` in `line` is
|
||||||
|
" inside a string or a comment; returns 0 otherwise.
|
||||||
|
|
||||||
|
" This is the function that is called more often when indenting, so it is
|
||||||
|
" critical that it is efficient. The method we use is significantly faster
|
||||||
|
" than using syntax attributes, and more general (it does not require
|
||||||
|
" syntax_items). It is also faster than using a single regex matching an even
|
||||||
|
" number of quotes. It helps that MetaPost strings cannot span more than one
|
||||||
|
" line and cannot contain escaped quotes.
|
||||||
|
function! s:CommentOrString(line, pos)
|
||||||
|
let in_string = 0
|
||||||
|
let q = stridx(a:line, '"')
|
||||||
|
let c = stridx(a:line, '%')
|
||||||
|
while q >= 0 && q < a:pos
|
||||||
|
if c >= 0 && c < q
|
||||||
|
if in_string " Find next percent symbol
|
||||||
|
let c = stridx(a:line, '%', q + 1)
|
||||||
|
else " Inside comment
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let in_string = 1 - in_string
|
||||||
|
let q = stridx(a:line, '"', q + 1) " Find next quote
|
||||||
endwhile
|
endwhile
|
||||||
return tmp
|
return in_string || (c >= 0 && c <= a:pos)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! MetaPrevNonblankNoncomment(pos)
|
" Find the first non-comment non-blank line before the current line. Skip also
|
||||||
" Like prevnonblank() but ignore comment lines
|
" verbatimtex/btex... etex blocks.
|
||||||
let tmp = prevnonblank(a:pos)
|
function! s:PrevNonBlankNonComment(lnum)
|
||||||
while tmp && getline(tmp) =~ '^\s*%'
|
let l:lnum = prevnonblank(a:lnum - 1)
|
||||||
let tmp = prevnonblank(tmp-1)
|
while getline(l:lnum) =~# '^\s*%' ||
|
||||||
|
\ synIDattr(synID(a:lnum, 1, 1), "name") =~# '^mpTeXinsert$\|^tex\|^Delimiter'
|
||||||
|
let l:lnum = prevnonblank(l:lnum - 1)
|
||||||
endwhile
|
endwhile
|
||||||
return tmp
|
return l:lnum
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! MetaSearchNoncomment(pattern, ...)
|
" Returns true if the last tag appearing in the line is an open tag; returns
|
||||||
" Like search() but ignore commented areas
|
" false otherwise.
|
||||||
if a:0
|
function! s:LastTagIsOpen(line)
|
||||||
let flags = a:1
|
let o = s:LastValidMatchEnd(a:line, g:mp_open_tag, 0)
|
||||||
elseif &wrapscan
|
if o == - 1 | return v:false | endif
|
||||||
let flags = "w"
|
return s:LastValidMatchEnd(a:line, g:mp_close_tag, o) < 0
|
||||||
else
|
endfunction
|
||||||
let flags = "W"
|
|
||||||
endif
|
" A simple, efficient and quite effective heuristics is used to test whether
|
||||||
let cl = line(".")
|
" a line should cause the next line to be indented: count the "opening tags"
|
||||||
let cc = col(".")
|
" (if, for, def, ...) in the line, count the "closing tags" (endif, endfor,
|
||||||
let tmp = search(a:pattern, flags)
|
" ...) in the line, and compute the difference. We call the result the
|
||||||
while tmp && synIDattr(synID(line("."), col("."), 1), "name") =~
|
" "weight" of the line. If the weight is positive, then the next line should
|
||||||
\ 'm[fp]\(Comment\|TeXinsert\|String\)'
|
" most likely be indented. Note that `else` and `elseif` are both opening and
|
||||||
let tmp = search(a:pattern, flags)
|
" closing tags, so they "cancel out" in almost all cases, the only exception
|
||||||
|
" being a leading `else[if]`, which is counted as an opening tag, but not as
|
||||||
|
" a closing tag (so that, for instance, a line containing a single `else:`
|
||||||
|
" will have weight equal to one, not zero). We do not treat a trailing
|
||||||
|
" `else[if]` in any special way, because lines ending with an open tag are
|
||||||
|
" dealt with separately before this function is called (see
|
||||||
|
" GetMetaPostIndentIntern()).
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" forsuffixes $=a,b: if x.$ = y.$ : draw else: fill fi
|
||||||
|
" % This line will be indented because |{forsuffixes,if,else}| > |{else,fi}| (3 > 2)
|
||||||
|
" endfor
|
||||||
|
|
||||||
|
function! s:Weight(line)
|
||||||
|
let [o, i] = [0, s:ValidMatchEnd(a:line, g:mp_open_tag, 0)]
|
||||||
|
while i > 0
|
||||||
|
let o += 1
|
||||||
|
let i = s:ValidMatchEnd(a:line, g:mp_open_tag, i)
|
||||||
endwhile
|
endwhile
|
||||||
if !tmp
|
let [c, i] = [0, matchend(a:line, '^\s*\<else\%[if]\>')] " Skip a leading else[if]
|
||||||
call cursor(cl,cc)
|
let i = s:ValidMatchEnd(a:line, g:mp_close_tag, i)
|
||||||
|
while i > 0
|
||||||
|
let c += 1
|
||||||
|
let i = s:ValidMatchEnd(a:line, g:mp_close_tag, i)
|
||||||
|
endwhile
|
||||||
|
return o - c
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Similar to matchend(), but skips strings and comments.
|
||||||
|
" line: a String
|
||||||
|
function! s:ValidMatchEnd(line, pat, start)
|
||||||
|
let i = matchend(a:line, a:pat, a:start)
|
||||||
|
while i > 0 && s:CommentOrString(a:line, i)
|
||||||
|
let i = matchend(a:line, a:pat, i)
|
||||||
|
endwhile
|
||||||
|
return i
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Like s:ValidMatchEnd(), but returns the end position of the last (i.e.,
|
||||||
|
" rightmost) match.
|
||||||
|
function! s:LastValidMatchEnd(line, pat, start)
|
||||||
|
let last_found = -1
|
||||||
|
let i = matchend(a:line, a:pat, a:start)
|
||||||
|
while i > 0
|
||||||
|
if !s:CommentOrString(a:line, i)
|
||||||
|
let last_found = i
|
||||||
|
endif
|
||||||
|
let i = matchend(a:line, a:pat, i)
|
||||||
|
endwhile
|
||||||
|
return last_found
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:DecreaseIndentOnClosingTag(curr_indent)
|
||||||
|
let cur_text = getline(v:lnum)
|
||||||
|
if cur_text =~# '^\s*\%('.g:mp_close_tag.'\)'
|
||||||
|
return max([a:curr_indent - shiftwidth(), 0])
|
||||||
endif
|
endif
|
||||||
return tmp
|
return a:curr_indent
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! GetMetaPostIndent()
|
" Main function {{{
|
||||||
" not indent in comment ???
|
|
||||||
if synIDattr(synID(line("."), col("."), 1), "name") =~
|
|
||||||
\ 'm[fp]\(Comment\|TeXinsert\|String\)'
|
|
||||||
return -1
|
|
||||||
endif
|
|
||||||
" Some RegExps: {{{1
|
|
||||||
" end_of_item: all of end by ';'
|
|
||||||
" + all of end by :endfor, :enddef, :endfig, :endgroup, :fi
|
|
||||||
" + all of start by :beginfig(num), :begingroup
|
|
||||||
" + all of start by :for, :if, :else, :elseif and end by ':'
|
|
||||||
" + all of start by :def, :vardef and end by '='
|
|
||||||
let end_of_item = '\(' .
|
|
||||||
\ ';\|' .
|
|
||||||
\ '\<\(end\(for\|def\|fig\|group\)\|fi\)\>\|' .
|
|
||||||
\ '\<begin\(group\>\|fig\s*(\s*\d\+\s*)\)\|' .
|
|
||||||
\ '\<\(for\|if\|else\(if\)\=\)\>.\+:\|' .
|
|
||||||
\ '\<\(var\)\=def\>.\+=' . '\)'
|
|
||||||
" }}}
|
|
||||||
" Save: current position {{{1
|
|
||||||
let cl = line (".")
|
|
||||||
let cc = col (".")
|
|
||||||
let cs = getline(".")
|
|
||||||
" if it is :beginfig or :endfig use zero indent
|
|
||||||
if cs =~ '^\s*\(begin\|end\)fig\>'
|
|
||||||
return 0
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" Initialise: ind variable {{{1
|
|
||||||
" search previous item not in current line
|
|
||||||
let p_semicol_l = MetaSearchNoncomment(end_of_item,"bW")
|
|
||||||
while p_semicol_l == cl
|
|
||||||
let p_semicol_l = MetaSearchNoncomment(end_of_item,"bW")
|
|
||||||
endwhile
|
|
||||||
" if this is first item in program use zero indent
|
|
||||||
if !p_semicol_l
|
|
||||||
return 0
|
|
||||||
endif
|
|
||||||
" if this is multiline item, remember first indent
|
|
||||||
if MetaNextNonblankNoncomment(p_semicol_l+1) < cl
|
|
||||||
let ind = indent(MetaNextNonblankNoncomment(p_semicol_l+1))
|
|
||||||
" else --- search pre-previous item for search first line in previous item
|
|
||||||
else
|
|
||||||
" search pre-previous item not in current line
|
|
||||||
let pp_semicol_l = MetaSearchNoncomment(end_of_item,"bW")
|
|
||||||
while pp_semicol_l == p_semicol_l
|
|
||||||
let pp_semicol_l = MetaSearchNoncomment(end_of_item,"bW")
|
|
||||||
endwhile
|
|
||||||
" if we find pre-previous item, remember indent of previous item
|
|
||||||
" else --- remember zero
|
|
||||||
if pp_semicol_l
|
|
||||||
let ind = indent(MetaNextNonblankNoncomment(line(".")+1))
|
|
||||||
else
|
|
||||||
let ind = 0
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" Increase Indent: {{{1
|
|
||||||
" if it is an internal/external :for or :if statements {{{2
|
|
||||||
let pnn_s = getline(MetaPrevNonblankNoncomment(cl-1))
|
|
||||||
if pnn_s =~ '\<\(for\|if\)\>.\+:\s*\($\|%\)'
|
|
||||||
let ind = match(pnn_s, '\<\(for\|if\)\>.\+:\s*\($\|%\)') + &sw
|
|
||||||
" }}}
|
|
||||||
" if it is a :def, :vardef, :beginfig, :begingroup, :else, :elseif {{{2
|
|
||||||
elseif pnn_s =~ '^\s*\(' .
|
|
||||||
\ '\(var\)\=def\|' .
|
|
||||||
\ 'begin\(group\|fig\s*(\s*\d\+\s*)\)\|' .
|
|
||||||
\ 'else\(if\)\=' . '\)\>'
|
|
||||||
let ind = ind + &sw
|
|
||||||
" }}}
|
|
||||||
" if it is a broken line {{{2
|
|
||||||
elseif pnn_s !~ end_of_item.'\s*\($\|%\)'
|
|
||||||
let ind = ind + (2 * &sw)
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" }}}
|
|
||||||
" Decrease Indent: {{{1
|
|
||||||
" if this is :endfor or :enddef statements {{{2
|
|
||||||
" this is correct because :def cannot be inside :for
|
|
||||||
if cs =~ '\<end\(for\|def\)\=\>'
|
|
||||||
call MetaSearchNoncomment('\<for\>.\+:\s*\($\|%\)' . '\|' .
|
|
||||||
\ '^\s*\(var\)\=def\>',"bW")
|
|
||||||
if col(".") > 1
|
|
||||||
let ind = col(".") - 1
|
|
||||||
else
|
|
||||||
let ind = indent(".")
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" if this is :fi, :else, :elseif statements {{{2
|
|
||||||
elseif cs =~ '\<\(else\(if\)\=\|fi\)\>'
|
|
||||||
call MetaSearchNoncomment('\<if\>.\+:\s*\($\|%\)',"bW")
|
|
||||||
let ind = col(".") - 1
|
|
||||||
" }}}
|
|
||||||
" if this is :endgroup statement {{{2
|
|
||||||
elseif cs =~ '^\s*endgroup\>'
|
|
||||||
let ind = ind - &sw
|
|
||||||
endif
|
|
||||||
" }}}
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
return ind
|
|
||||||
endfunction
|
|
||||||
"
|
"
|
||||||
|
" Note: Every rule of indentation in MetaPost is very subjective. We might get
|
||||||
|
" creative, but things get murky very soon (there are too many corner cases).
|
||||||
|
" So, we provide a means for the user to decide what to do when this script
|
||||||
|
" doesn't get it. We use a simple idea: use '%>', '%<' and '%=' to explicitly
|
||||||
|
" control indentation. The '<' and '>' symbols may be repeated many times
|
||||||
|
" (e.g., '%>>' will cause the next line to be indented twice).
|
||||||
|
"
|
||||||
|
" By using '%>...', '%<...' and '%=', the indentation the user wants is
|
||||||
|
" preserved by commands like gg=G, even if it does not follow the rules of
|
||||||
|
" this script.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" shiftwidth=4
|
||||||
|
" def foo =
|
||||||
|
" makepen(subpath(T-n,t) of r %>
|
||||||
|
" shifted .5down %>
|
||||||
|
" --subpath(t,T) of r shifted .5up -- cycle) %<<
|
||||||
|
" withcolor black
|
||||||
|
" enddef
|
||||||
|
"
|
||||||
|
" The default indentation of the previous example would be:
|
||||||
|
"
|
||||||
|
" def foo =
|
||||||
|
" makepen(subpath(T-n,t) of r
|
||||||
|
" shifted .5down
|
||||||
|
" --subpath(t,T) of r shifted .5up -- cycle)
|
||||||
|
" withcolor black
|
||||||
|
" enddef
|
||||||
|
"
|
||||||
|
" Personally, I prefer the latter, but anyway...
|
||||||
|
function! GetMetaPostIndentIntern()
|
||||||
|
|
||||||
|
" This is the reference line relative to which the current line is indented
|
||||||
|
" (but see below).
|
||||||
|
let lnum = s:PrevNonBlankNonComment(v:lnum)
|
||||||
|
|
||||||
|
" At the start of the file use zero indent.
|
||||||
|
if lnum == 0
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
let prev_text = getline(lnum)
|
||||||
|
|
||||||
|
" User-defined overrides take precedence over anything else.
|
||||||
|
" See above for an example.
|
||||||
|
let j = match(prev_text, '%[<>=]')
|
||||||
|
if j > 0
|
||||||
|
let i = strlen(matchstr(prev_text, '%>\+', j)) - 1
|
||||||
|
if i > 0
|
||||||
|
return indent(lnum) + i * shiftwidth()
|
||||||
|
endif
|
||||||
|
|
||||||
|
let i = strlen(matchstr(prev_text, '%<\+', j)) - 1
|
||||||
|
if i > 0
|
||||||
|
return max([indent(lnum) - i * shiftwidth(), 0])
|
||||||
|
endif
|
||||||
|
|
||||||
|
if match(prev_text, '%=', j)
|
||||||
|
return indent(lnum)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If the reference line ends with an open tag, indent.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" if c:
|
||||||
|
" 0
|
||||||
|
" else:
|
||||||
|
" 1
|
||||||
|
" fi if c2: % Note that this line has weight equal to zero.
|
||||||
|
" ... % This line will be indented
|
||||||
|
if s:LastTagIsOpen(prev_text)
|
||||||
|
return s:DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Lines with a positive weight are unbalanced and should likely be indented.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" def f = enddef for i = 1 upto 5: if x[i] > 0: 1 else: 2 fi
|
||||||
|
" ... % This line will be indented (because of the unterminated `for`)
|
||||||
|
if s:Weight(prev_text) > 0
|
||||||
|
return s:DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Unterminated statements cause indentation to kick in.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" draw unitsquare
|
||||||
|
" withcolor black; % This line is indented because of `draw`.
|
||||||
|
" x := a + b + c
|
||||||
|
" + d + e; % This line is indented because of `:=`.
|
||||||
|
"
|
||||||
|
let i = s:LastValidMatchEnd(prev_text, g:mp_statement, 0)
|
||||||
|
if i >= 0 " Does the line contain a statement?
|
||||||
|
if s:ValidMatchEnd(prev_text, ';', i) < 0 " Is the statement unterminated?
|
||||||
|
return indent(lnum) + shiftwidth()
|
||||||
|
else
|
||||||
|
return s:DecreaseIndentOnClosingTag(indent(lnum))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Deal with the special case of a statement spanning multiple lines. If the
|
||||||
|
" current reference line L ends with a semicolon, search backwards for
|
||||||
|
" another semicolon or a statement keyword. If the latter is found first,
|
||||||
|
" its line is used as the reference line for indenting the current line
|
||||||
|
" instead of L.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
"
|
||||||
|
" if cond:
|
||||||
|
" draw if a: z0 else: z1 fi
|
||||||
|
" shifted S
|
||||||
|
" scaled T; % L
|
||||||
|
"
|
||||||
|
" for i = 1 upto 3: % <-- Current line: this gets the same indent as `draw ...`
|
||||||
|
"
|
||||||
|
" NOTE: we get here if and only if L does not contain a statement (among
|
||||||
|
" those listed in g:mp_statement).
|
||||||
|
if s:ValidMatchEnd(prev_text, ';'.s:eol, 0) >= 0 " L ends with a semicolon
|
||||||
|
let stm_lnum = s:PrevNonBlankNonComment(lnum)
|
||||||
|
while stm_lnum > 0
|
||||||
|
let prev_text = getline(stm_lnum)
|
||||||
|
let sc_pos = s:LastValidMatchEnd(prev_text, ';', 0)
|
||||||
|
let stm_pos = s:ValidMatchEnd(prev_text, g:mp_statement, sc_pos)
|
||||||
|
if stm_pos > sc_pos
|
||||||
|
let lnum = stm_lnum
|
||||||
|
break
|
||||||
|
elseif sc_pos > stm_pos
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let stm_lnum = s:PrevNonBlankNonComment(stm_lnum)
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
|
||||||
|
return s:DecreaseIndentOnClosingTag(indent(lnum))
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
|
||||||
let &cpo = s:keepcpo
|
let &cpo = s:keepcpo
|
||||||
unlet s:keepcpo
|
unlet s:keepcpo
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
" Language: Debian sources.list
|
" Language: Debian sources.list
|
||||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||||
" Last Change: 2016 Aug 30
|
" Last Change: 2016 Sep 27
|
||||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
|
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
|
||||||
|
|
||||||
" Standard syntax initialization
|
" Standard syntax initialization
|
||||||
@ -39,7 +39,7 @@ let s:unsupported = [
|
|||||||
let &cpo=s:cpo
|
let &cpo=s:cpo
|
||||||
|
|
||||||
" Match uri's
|
" Match uri's
|
||||||
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
syn match debsourcesUri +\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
||||||
exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+'
|
exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+'
|
||||||
exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
|
exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
|
||||||
|
|
||||||
|
@ -1,184 +1,295 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Metafont
|
" Language: METAFONT
|
||||||
" Maintainer: Andreas Scherer <andreas.scherer@pobox.com>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Last Change: April 25, 2001
|
" Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
|
||||||
|
" Last Change: 2016 Oct 1
|
||||||
|
|
||||||
" quit when a syntax file was already loaded
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Metafont 'primitives' as defined in chapter 25 of 'The METAFONTbook'
|
syn iskeyword @,_
|
||||||
|
|
||||||
|
" METAFONT 'primitives' as defined in chapter 25 of 'The METAFONTbook'
|
||||||
" Page 210: 'boolean expressions'
|
" Page 210: 'boolean expressions'
|
||||||
syn keyword mfBoolExp true false known unknown odd charexists not and or
|
syn keyword mfBoolExp and charexists false known not odd or true unknown
|
||||||
|
|
||||||
" Page 210: 'numeric expression'
|
" Page 210: 'numeric expression'
|
||||||
syn keyword mfNumExp normaldeviate length ASCII oct hex angle turningnumber
|
syn keyword mfNumExp ASCII angle cosd directiontime floor hex length
|
||||||
syn keyword mfNumExp totalweight directiontime xpart ypart xxpart xypart
|
syn keyword mfNumExp mexp mlog normaldeviate oct sind sqrt totalweight
|
||||||
syn keyword mfNumExp yxpart yypart sqrt sind cosd mlog mexp floor
|
syn keyword mfNumExp turningnumber uniformdeviate xpart xxpart xypart
|
||||||
syn keyword mfNumExp uniformdeviate
|
syn keyword mfNumExp ypart yxpart yypart
|
||||||
|
|
||||||
" Page 211: 'internal quantities'
|
" Page 211: 'internal quantities'
|
||||||
syn keyword mfInternal tracingtitles tracingequations tracingcapsules
|
syn keyword mfInternal autorounding boundarychar charcode chardp chardx
|
||||||
syn keyword mfInternal tracingchoices tracingspecs tracingpens
|
syn keyword mfInternal chardy charext charht charic charwd day designsize
|
||||||
syn keyword mfInternal tracingcommands tracingrestores tracingmacros
|
syn keyword mfInternal fillin fontmaking granularity hppp jobname month
|
||||||
syn keyword mfInternal tracingedges tracingoutput tracingonline tracingstats
|
syn keyword mfInternal pausing proofing showstopping smoothing time
|
||||||
syn keyword mfInternal pausing showstopping fontmaking proofing
|
syn keyword mfInternal tracingcapsules tracingchoices tracingcommands
|
||||||
syn keyword mfInternal turningcheck warningcheck smoothing autorounding
|
syn keyword mfInternal tracingedges tracingequations tracingmacros
|
||||||
syn keyword mfInternal granularity fillin year month day time
|
syn keyword mfInternal tracingonline tracingoutput tracingpens
|
||||||
syn keyword mfInternal charcode charext charwd charht chardp charic
|
syn keyword mfInternal tracingrestores tracingspecs tracingstats
|
||||||
syn keyword mfInternal chardx chardy designsize hppp vppp xoffset yoffset
|
syn keyword mfInternal tracingtitles turningcheck vppp warningcheck
|
||||||
syn keyword mfInternal boundarychar
|
syn keyword mfInternal xoffset year yoffset
|
||||||
|
|
||||||
" Page 212: 'pair expressions'
|
" Page 212: 'pair expressions'
|
||||||
syn keyword mfPairExp point of precontrol postcontrol penoffset rotated
|
syn keyword mfPairExp of penoffset point postcontrol precontrol rotated
|
||||||
syn keyword mfPairExp scaled shifted slanted transformed xscaled yscaled
|
syn keyword mfPairExp scaled shifted slanted transformed xscaled yscaled
|
||||||
syn keyword mfPairExp zscaled
|
syn keyword mfPairExp zscaled
|
||||||
|
|
||||||
" Page 213: 'path expressions'
|
" Page 213: 'path expressions'
|
||||||
syn keyword mfPathExp makepath reverse subpath curl tension atleast
|
syn keyword mfPathExp atleast controls curl cycle makepath reverse
|
||||||
syn keyword mfPathExp controls cycle
|
syn keyword mfPathExp subpath tension
|
||||||
|
|
||||||
" Page 214: 'pen expressions'
|
" Page 214: 'pen expressions'
|
||||||
syn keyword mfPenExp nullpen pencircle makepen
|
syn keyword mfPenExp makepen nullpen pencircle
|
||||||
|
|
||||||
" Page 214: 'picutre expressions'
|
" Page 214: 'picture expressions'
|
||||||
syn keyword mfPicExp nullpicture
|
syn keyword mfPicExp nullpicture
|
||||||
|
|
||||||
" Page 214: 'string expressions'
|
" Page 214: 'string expressions'
|
||||||
syn keyword mfStringExp jobname readstring str char decimal substring
|
syn keyword mfStringExp char decimal readstring str substring
|
||||||
|
|
||||||
" Page 217: 'commands and statements'
|
" Page 217: 'commands and statements'
|
||||||
syn keyword mfCommand end dump save interim newinternal randomseed let
|
syn keyword mfCommand addto also at batchmode contour cull delimiters
|
||||||
syn keyword mfCommand delimiters outer everyjob show showvariable showtoken
|
syn keyword mfCommand display doublepath dropping dump end errhelp
|
||||||
syn keyword mfCommand showdependencies showstats message errmessage errhelp
|
syn keyword mfCommand errmessage errorstopmode everyjob from interim
|
||||||
syn keyword mfCommand batchmode nonstopmode scrollmode errorstopmode
|
syn keyword mfCommand inwindow keeping let message newinternal
|
||||||
syn keyword mfCommand addto also contour doublepath withpen withweight cull
|
syn keyword mfCommand nonstopmode numspecial openwindow outer randomseed
|
||||||
syn keyword mfCommand keeping dropping display inwindow openwindow at from to
|
syn keyword mfCommand save scrollmode shipout show showdependencies
|
||||||
syn keyword mfCommand shipout special numspecial
|
syn keyword mfCommand showstats showtoken showvariable special to withpen
|
||||||
|
syn keyword mfCommand withweight
|
||||||
|
|
||||||
" Page 56: 'types'
|
" Page 56: 'types'
|
||||||
syn keyword mfType boolean numeric pair path pen picture string transform
|
syn keyword mfType boolean numeric pair path pen picture string
|
||||||
|
syn keyword mfType transform
|
||||||
|
|
||||||
" Page 155: 'grouping'
|
" Page 155: 'grouping'
|
||||||
syn keyword mfStatement begingroup endgroup
|
syn keyword mfStatement begingroup endgroup
|
||||||
|
|
||||||
" Page 165: 'definitions'
|
" Page 165: 'definitions'
|
||||||
syn keyword mfDefinition enddef def expr suffix text primary secondary
|
syn keyword mfDefinition def enddef expr primary primarydef secondary
|
||||||
syn keyword mfDefinition tertiary vardef primarydef secondarydef tertiarydef
|
syn keyword mfDefinition secondarydef suffix tertiary tertiarydef text
|
||||||
|
syn keyword mfDefinition vardef
|
||||||
|
|
||||||
" Page 169: 'conditions and loops'
|
" Page 169: 'conditions and loops'
|
||||||
syn keyword mfCondition if fi else elseif endfor for forsuffixes forever
|
syn keyword mfCondition else elseif endfor exitif fi for forever
|
||||||
syn keyword mfCondition step until exitif
|
syn keyword mfCondition forsuffixes if step until
|
||||||
|
|
||||||
" Other primitives listed in the index
|
" Other primitives listed in the index
|
||||||
syn keyword mfPrimitive charlist endinput expandafter extensible
|
syn keyword mfPrimitive charlist endinput expandafter extensible fontdimen
|
||||||
syn keyword mfPrimitive fontdimen headerbyte inner input intersectiontimes
|
syn keyword mfPrimitive headerbyte inner input intersectiontimes kern
|
||||||
syn keyword mfPrimitive kern ligtable quote scantokens skipto
|
syn keyword mfPrimitive ligtable quote scantokens skipto
|
||||||
|
|
||||||
|
" Implicit suffix parameters
|
||||||
|
syn match mfSuffixParam "@#\|#@\|@"
|
||||||
|
|
||||||
|
" These are just tags, but given their special status, we
|
||||||
|
" highlight them as variables
|
||||||
|
syn keyword mfVariable x y
|
||||||
|
|
||||||
" Keywords defined by plain.mf (defined on pp.262-278)
|
" Keywords defined by plain.mf (defined on pp.262-278)
|
||||||
if !exists("plain_mf_macros")
|
if get(g:, "plain_mf_macros", 1)
|
||||||
let plain_mf_macros = 1 " Set this to '0' if your source gets too colourful
|
syn keyword mfDef addto_currentpicture beginchar capsule_def
|
||||||
" metapost.vim does so to turn off Metafont macros
|
syn keyword mfDef change_width clear_pen_memory clearit clearpen
|
||||||
|
syn keyword mfDef clearxy culldraw cullit cutdraw
|
||||||
|
syn keyword mfDef define_blacker_pixels define_corrected_pixels
|
||||||
|
syn keyword mfDef define_good_x_pixels define_good_y_pixels
|
||||||
|
syn keyword mfDef define_horizontal_corrected_pixels define_pixels
|
||||||
|
syn keyword mfDef define_whole_blacker_pixels define_whole_pixels
|
||||||
|
syn keyword mfDef define_whole_vertical_blacker_pixels
|
||||||
|
syn keyword mfDef define_whole_vertical_pixels downto draw drawdot
|
||||||
|
syn keyword mfDef endchar erase exitunless fill filldraw fix_units
|
||||||
|
syn keyword mfDef flex font_coding_scheme font_extra_space
|
||||||
|
syn keyword mfDef font_identifier font_normal_shrink
|
||||||
|
syn keyword mfDef font_normal_space font_normal_stretch font_quad
|
||||||
|
syn keyword mfDef font_size font_slant font_x_height gfcorners gobble
|
||||||
|
syn keyword mfDef hide imagerules interact italcorr killtext
|
||||||
|
syn keyword mfDef loggingall lowres_fix makebox makegrid maketicks
|
||||||
|
syn keyword mfDef mode_def mode_setup nodisplays notransforms numtok
|
||||||
|
syn keyword mfDef openit penrazor pensquare penstroke pickup
|
||||||
|
syn keyword mfDef proofoffset proofrule range reflectedabout
|
||||||
|
syn keyword mfDef rotatedaround screenchars screenrule screenstrokes
|
||||||
|
syn keyword mfDef shipit showit smode stop superellipse takepower
|
||||||
|
syn keyword mfDef tracingall tracingnone undraw undrawdot unfill
|
||||||
|
syn keyword mfDef unfilldraw upto z
|
||||||
|
syn match mfDef "???"
|
||||||
|
syn keyword mfVardef bot byte ceiling counterclockwise cutoff decr dir
|
||||||
|
syn keyword mfVardef direction directionpoint grayfont hround incr
|
||||||
|
syn keyword mfVardef interpath inverse labelfont labels lft magstep
|
||||||
|
" Note: nodot is not a vardef, it is used as in makelabel.lft.nodot("5",z5)
|
||||||
|
" (METAFONT only)
|
||||||
|
syn keyword mfVardef makelabel max min nodot penlabels penpos
|
||||||
|
syn keyword mfVardef proofrulethickness round rt savepen slantfont solve
|
||||||
|
syn keyword mfVardef tensepath titlefont top unitvector vround whatever
|
||||||
|
syn match mpVardef "\<good\.\%(x\|y\|lft\|rt\|top\|bot\)\>"
|
||||||
|
syn keyword mfPrimaryDef div dotprod gobbled mod
|
||||||
|
syn keyword mfSecondaryDef intersectionpoint
|
||||||
|
syn keyword mfTertiaryDef softjoin thru
|
||||||
|
syn keyword mfNewInternal blacker currentwindow displaying eps epsilon
|
||||||
|
syn keyword mfNewInternal infinity join_radius number_of_modes o_correction
|
||||||
|
syn keyword mfNewInternal pen_bot pen_lft pen_rt pen_top pixels_per_inch
|
||||||
|
syn keyword mfNewInternal screen_cols screen_rows tolerance
|
||||||
|
" Predefined constants
|
||||||
|
syn keyword mfConstant base_name base_version blankpicture ditto down
|
||||||
|
syn keyword mfConstant fullcircle halfcircle identity left lowres origin
|
||||||
|
syn keyword mfConstant penspeck proof quartercircle right rulepen smoke
|
||||||
|
syn keyword mfConstant unitpixel unitsquare up
|
||||||
|
" Other predefined variables
|
||||||
|
syn keyword mfVariable aspect_ratio currentpen extra_beginchar
|
||||||
|
syn keyword mfVariable extra_endchar currentpen_path currentpicture
|
||||||
|
syn keyword mfVariable currenttransform d extra_setup h localfont mag mode
|
||||||
|
syn keyword mfVariable mode_name w
|
||||||
|
" let statements:
|
||||||
|
syn keyword mfnumExp abs
|
||||||
|
syn keyword mfPairExp rotatedabout
|
||||||
|
syn keyword mfCommand bye relax
|
||||||
endif
|
endif
|
||||||
if plain_mf_macros
|
|
||||||
syn keyword mfMacro abs addto_currentpicture aspect_ratio base_name
|
" By default, METAFONT loads modes.mf, too
|
||||||
syn keyword mfMacro base_version beginchar blacker blankpicture bot bye byte
|
if get(g:, "plain_mf_modes", 1)
|
||||||
syn keyword mfMacro capsule_def ceiling change_width clear_pen_memory clearit
|
syn keyword mfConstant APSSixMed AgfaFourZeroZero AgfaThreeFourZeroZero
|
||||||
syn keyword mfMacro clearpen clearxy counterclockwise culldraw cullit
|
syn keyword mfConstant AtariNineFive AtariNineSix AtariSLMEightZeroFour
|
||||||
syn keyword mfMacro currentpen currentpen_path currentpicture
|
syn keyword mfConstant AtariSMOneTwoFour CItohEightFiveOneZero
|
||||||
syn keyword mfMacro currenttransform currentwindow cutdraw cutoff d decr
|
syn keyword mfConstant CItohThreeOneZero CanonBJCSixZeroZero CanonCX
|
||||||
syn keyword mfMacro define_blacker_pixels define_corrected_pixels
|
syn keyword mfConstant CanonEX CanonLBPLX CanonLBPTen CanonSX ChelgraphIBX
|
||||||
syn keyword mfMacro define_good_x_pixels define_good_y_pixels
|
syn keyword mfConstant CompugraphicEightSixZeroZero
|
||||||
syn keyword mfMacro define_horizontal_corrected_pixels define_pixels
|
syn keyword mfConstant CompugraphicNineSixZeroZero DD DEClarge DECsmall
|
||||||
syn keyword mfMacro define_whole_blacker_pixels define_whole_pixels
|
syn keyword mfConstant DataDiscNew EightThree EpsonAction
|
||||||
syn keyword mfMacro define_whole_vertical_blacker_pixels
|
syn keyword mfConstant EpsonLQFiveZeroZeroLo EpsonLQFiveZeroZeroMed
|
||||||
syn keyword mfMacro define_whole_vertical_pixels dir direction directionpoint
|
syn keyword mfConstant EpsonMXFX EpsonSQEightSevenZero EpsonStylusPro
|
||||||
syn keyword mfMacro displaying ditto div dotprod down downto draw drawdot
|
syn keyword mfConstant EpsonStylusProHigh EpsonStylusProLow
|
||||||
syn keyword mfMacro endchar eps epsilon extra_beginchar extra_endchar
|
syn keyword mfConstant EpsonStylusProMed FourFour GThreefax HPDeskJet
|
||||||
syn keyword mfMacro extra_setup erase exitunless fill filldraw fix_units flex
|
syn keyword mfConstant HPLaserJetIIISi IBMFourTwoFiveZero IBMFourTwoOneSix
|
||||||
syn keyword mfMacro font_coding_scheme font_extra_space font_identifier
|
syn keyword mfConstant IBMFourTwoThreeZero IBMFourZeroOneNine
|
||||||
syn keyword mfMacro font_normal_shrink font_normal_space font_normal_stretch
|
syn keyword mfConstant IBMFourZeroThreeNine IBMFourZeroTwoNine
|
||||||
syn keyword mfMacro font_quad font_setup font_size font_slant font_x_height
|
syn keyword mfConstant IBMProPrinter IBMSixOneFiveFour IBMSixSixSevenZero
|
||||||
syn keyword mfMacro fullcircle generate gfcorners gobble gobbled grayfont h
|
syn keyword mfConstant IBMThreeEightOneTwo IBMThreeEightTwoZero
|
||||||
syn keyword mfMacro halfcircle hide hround identity image_rules incr infinity
|
syn keyword mfConstant IBMThreeOneNineThree IBMThreeOneSevenNine
|
||||||
syn keyword mfMacro interact interpath intersectionpoint inverse italcorr
|
syn keyword mfConstant IBMUlfHolleberg LASevenFive LNOthreR LNOthree
|
||||||
syn keyword mfMacro join_radius killtext labelfont labels left lft localfont
|
syn keyword mfConstant LNZeroOne LNZeroThree LPSFourZero LPSTwoZero
|
||||||
syn keyword mfMacro loggingall lowres lowres_fix mag magstep makebox makegrid
|
syn keyword mfConstant LexmarkFourZeroThreeNine LexmarkOptraR
|
||||||
syn keyword mfMacro makelabel maketicks max min mod mode mode_def mode_name
|
syn keyword mfConstant LexmarkOptraS LinotypeLThreeThreeZero
|
||||||
syn keyword mfMacro mode_setup nodisplays notransforms number_of_modes numtok
|
syn keyword mfConstant LinotypeOneZeroZero LinotypeOneZeroZeroLo
|
||||||
syn keyword mfMacro o_correction openit origin pen_bot pen_lft pen_rt pen_top
|
syn keyword mfConstant LinotypeThreeZeroZeroHi MacTrueSize NeXTprinter
|
||||||
syn keyword mfMacro penlabels penpos penrazor penspeck pensquare penstroke
|
syn keyword mfConstant NeXTscreen NecTwoZeroOne Newgen NineOne
|
||||||
syn keyword mfMacro pickup pixels_per_inch proof proofoffset proofrule
|
syn keyword mfConstant OCESixSevenFiveZeroPS OneTwoZero OneZeroZero
|
||||||
syn keyword mfMacro proofrulethickness quartercircle range reflectedabout
|
syn keyword mfConstant PrintwareSevenTwoZeroIQ Prism QMSOneSevenTwoFive
|
||||||
syn keyword mfMacro relax right rotatedabout rotatedaround round rt rulepen
|
syn keyword mfConstant QMSOneSevenZeroZero QMSTwoFourTwoFive RicohA
|
||||||
syn keyword mfMacro savepen screenchars screen_rows screen_cols screenrule
|
syn keyword mfConstant RicohFortyEighty RicohFourZeroEightZero RicohLP
|
||||||
syn keyword mfMacro screenstrokes shipit showit slantfont smode smoke softjoin
|
syn keyword mfConstant SparcPrinter StarNLOneZero VAXstation VTSix
|
||||||
syn keyword mfMacro solve stop superellipse takepower tensepath titlefont
|
syn keyword mfConstant VarityperFiveZeroSixZeroW
|
||||||
syn keyword mfMacro tolerance top tracingall tracingnone undraw undrawdot
|
syn keyword mfConstant VarityperFourThreeZeroZeroHi
|
||||||
syn keyword mfMacro unfill unfilldraw unitpixel unitsquare unitvector up upto
|
syn keyword mfConstant VarityperFourThreeZeroZeroLo
|
||||||
syn keyword mfMacro vround w whatever
|
syn keyword mfConstant VarityperFourTwoZeroZero VarityperSixZeroZero
|
||||||
|
syn keyword mfConstant XeroxDocutech XeroxEightSevenNineZero
|
||||||
|
syn keyword mfConstant XeroxFourZeroFiveZero XeroxNineSevenZeroZero
|
||||||
|
syn keyword mfConstant XeroxPhaserSixTwoZeroZeroDP XeroxThreeSevenZeroZero
|
||||||
|
syn keyword mfConstant Xerox_world agfafzz agfatfzz amiga aps apssixhi
|
||||||
|
syn keyword mfConstant aselect atariezf atarinf atarins atariotf bitgraph
|
||||||
|
syn keyword mfConstant bjtenex bjtzzex bjtzzl bjtzzs boise canonbjc
|
||||||
|
syn keyword mfConstant canonex canonlbp cg cgl cgnszz citohtoz corona crs
|
||||||
|
syn keyword mfConstant cthreeten cx datadisc declarge decsmall deskjet
|
||||||
|
syn keyword mfConstant docutech dover dp dpdfezzz eighthre elvira epscszz
|
||||||
|
syn keyword mfConstant epsdraft epsdrft epsdrftl epsfast epsfastl epshi
|
||||||
|
syn keyword mfConstant epslo epsmed epsmedl epson epsonact epsonfx epsonl
|
||||||
|
syn keyword mfConstant epsonlo epsonlol epsonlq epsonsq epstylus epstylwr
|
||||||
|
syn keyword mfConstant epstyplo epstypmd epstypml epstypro epswlo epswlol
|
||||||
|
syn keyword mfConstant esphi fourfour gpx gtfax gtfaxhi gtfaxl gtfaxlo
|
||||||
|
syn keyword mfConstant gtfaxlol help hifax highfax hplaser hprugged ibm_a
|
||||||
|
syn keyword mfConstant ibmd ibmega ibmegal ibmfzon ibmfztn ibmpp ibmppl
|
||||||
|
syn keyword mfConstant ibmsoff ibmteot ibmtetz ibmtont ibmtosn ibmtosnl
|
||||||
|
syn keyword mfConstant ibmvga ibx imagen imagewriter itoh itohl itohtoz
|
||||||
|
syn keyword mfConstant itohtozl iw jetiiisi kyocera laserjet laserjetfive
|
||||||
|
syn keyword mfConstant laserjetfivemp laserjetfour laserjetfourthousand
|
||||||
|
syn keyword mfConstant laserjetfourzerozerozero laserjethi laserjetlo
|
||||||
|
syn keyword mfConstant laserjettwoonezerozero
|
||||||
|
syn keyword mfConstant laserjettwoonezerozerofastres lasermaster
|
||||||
|
syn keyword mfConstant laserwriter lasf lexmarkr lexmarks lexmarku
|
||||||
|
syn keyword mfConstant linohalf linohi linolo linolttz linoone linosuper
|
||||||
|
syn keyword mfConstant linothree linothreelo linotzzh ljfive ljfivemp
|
||||||
|
syn keyword mfConstant ljfour ljfzzz ljfzzzfr ljlo ljtozz ljtozzfr lmaster
|
||||||
|
syn keyword mfConstant lnotr lnzo lps lpstz lqhires lqlores lqmed lqmedl
|
||||||
|
syn keyword mfConstant lqmedres lview lviewl lwpro macmag mactrue modes_mf
|
||||||
|
syn keyword mfConstant ncd nec nechi neclm nectzo newdd newddl nexthi
|
||||||
|
syn keyword mfConstant nextscreen nextscrn nineone nullmode ocessfz
|
||||||
|
syn keyword mfConstant okidata okidatal okifourten okifte okihi onetz
|
||||||
|
syn keyword mfConstant onezz pcprevw pcscreen phaser phaserfs phasertf
|
||||||
|
syn keyword mfConstant phasertfl phasertl pixpt printware prntware
|
||||||
|
syn keyword mfConstant proprinter qms qmsesz qmsostf qmsoszz qmstftf ricoh
|
||||||
|
syn keyword mfConstant ricoha ricohlp ricohsp sherpa sparcptr starnlt
|
||||||
|
syn keyword mfConstant starnltl styletwo stylewr stylewri stylewriter sun
|
||||||
|
syn keyword mfConstant supre swtwo toshiba ultre varityper vs vtftzz
|
||||||
|
syn keyword mfConstant vtftzzhi vtftzzlo vtfzszw vtszz xpstzz xpstzzl
|
||||||
|
syn keyword mfConstant xrxesnz xrxfzfz xrxnszz xrxtszz
|
||||||
|
syn keyword mfDef BCPL_string coding_scheme font_face_byte
|
||||||
|
syn keyword mfDef font_family landscape
|
||||||
|
syn keyword mfDef mode_extra_info mode_help mode_param
|
||||||
|
syn keyword mfNewInternal blacker_min
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Some other basic macro names, e.g., from cmbase, logo, etc.
|
" Some other basic macro names, e.g., from cmbase, logo, etc.
|
||||||
if !exists("other_mf_macros")
|
if get(g:, "other_mf_macros", 1)
|
||||||
let other_mf_macros = 1 " Set this to '0' if your code gets too colourful
|
syn keyword mfDef beginlogochar
|
||||||
" metapost.vim does so to turn off Metafont macros
|
syn keyword mfDef font_setup
|
||||||
endif
|
syn keyword mfPrimitive generate
|
||||||
if other_mf_macros
|
|
||||||
syn keyword mfMacro beginlogochar
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Numeric tokens
|
" Numeric tokens
|
||||||
syn match mfNumeric "[-]\=\d\+"
|
syn match mfNumeric "[-]\=\d\+"
|
||||||
syn match mfNumeric "[-]\=\.\d\+"
|
syn match mfNumeric "[-]\=\.\d\+"
|
||||||
syn match mfNumeric "[-]\=\d\+\.\d\+"
|
syn match mfNumeric "[-]\=\d\+\.\d\+"
|
||||||
|
|
||||||
" Metafont lengths
|
" METAFONT lengths
|
||||||
syn match mfLength "\<\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\>"
|
syn match mfLength "\<\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\>"
|
||||||
syn match mfLength "\<[-]\=\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
|
syn match mfLength "[-]\=\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
|
||||||
syn match mfLength "\<[-]\=\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
|
syn match mfLength "[-]\=\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
|
||||||
syn match mfLength "\<[-]\=\d\+\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
|
syn match mfLength "[-]\=\d\+\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
|
||||||
|
|
||||||
" Metafont coordinates and points
|
|
||||||
syn match mfCoord "\<[xy]\d\+\>"
|
|
||||||
syn match mfPoint "\<z\d\+\>"
|
|
||||||
|
|
||||||
" String constants
|
" String constants
|
||||||
syn region mfString start=+"+ end=+"+
|
syn match mfOpenString /"[^"]*/
|
||||||
|
syn region mfString oneline keepend start=+"+ end=+"+
|
||||||
|
|
||||||
" Comments:
|
" Comments:
|
||||||
syn match mfComment "%.*$"
|
syn keyword mfTodoComment contained TODO FIXME XXX DEBUG NOTE
|
||||||
|
syn match mfComment "%.*$" contains=mfTodoComment,@Spell
|
||||||
|
|
||||||
" synchronizing
|
" synchronizing
|
||||||
syn sync maxlines=50
|
syn sync maxlines=50
|
||||||
|
|
||||||
" Define the default highlighting
|
" Define the default highlighting
|
||||||
" Only when an item doesn't have highlighting yet
|
hi def link mfBoolExp Statement
|
||||||
|
hi def link mfNumExp Statement
|
||||||
hi def link mfBoolExp Statement
|
hi def link mfPairExp Statement
|
||||||
hi def link mfNumExp Statement
|
hi def link mfPathExp Statement
|
||||||
hi def link mfInternal Identifier
|
hi def link mfPenExp Statement
|
||||||
hi def link mfPairExp Statement
|
hi def link mfPicExp Statement
|
||||||
hi def link mfPathExp Statement
|
hi def link mfStringExp Statement
|
||||||
hi def link mfPenExp Statement
|
hi def link mfInternal Identifier
|
||||||
hi def link mfPicExp Statement
|
hi def link mfCommand Statement
|
||||||
hi def link mfStringExp Statement
|
hi def link mfType Type
|
||||||
hi def link mfCommand Statement
|
hi def link mfStatement Statement
|
||||||
hi def link mfType Type
|
hi def link mfDefinition Statement
|
||||||
hi def link mfStatement Statement
|
hi def link mfCondition Conditional
|
||||||
hi def link mfDefinition Statement
|
hi def link mfPrimitive Statement
|
||||||
hi def link mfCondition Conditional
|
hi def link mfDef Function
|
||||||
hi def link mfPrimitive Statement
|
hi def link mfVardef mfDef
|
||||||
hi def link mfMacro Macro
|
hi def link mfPrimaryDef mfDef
|
||||||
hi def link mfCoord Identifier
|
hi def link mfSecondaryDef mfDef
|
||||||
hi def link mfPoint Identifier
|
hi def link mfTertiaryDef mfDef
|
||||||
hi def link mfNumeric Number
|
hi def link mfCoord Identifier
|
||||||
hi def link mfLength Number
|
hi def link mfPoint Identifier
|
||||||
hi def link mfComment Comment
|
hi def link mfNumeric Number
|
||||||
hi def link mfString String
|
hi def link mfLength Number
|
||||||
|
hi def link mfComment Comment
|
||||||
|
hi def link mfString String
|
||||||
|
hi def link mfOpenString Todo
|
||||||
|
hi def link mfSuffixParam Label
|
||||||
|
hi def link mfNewInternal mfInternal
|
||||||
|
hi def link mfVariable Identifier
|
||||||
|
hi def link mfConstant Constant
|
||||||
|
hi def link mfTodoComment Todo
|
||||||
|
|
||||||
let b:current_syntax = "mf"
|
let b:current_syntax = "mf"
|
||||||
|
|
||||||
" vim: ts=8
|
" vim:sw=2
|
||||||
|
@ -1,115 +1,765 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: MetaPost
|
" Language: MetaPost
|
||||||
" Maintainer: Andreas Scherer <andreas.scherer@pobox.com>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Last Change: April 30, 2001
|
" Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
|
||||||
|
" Last Change: 2016 Oct 01
|
||||||
|
|
||||||
" quit when a syntax file was already loaded
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let plain_mf_macros = 0 " plain.mf has no special meaning for MetaPost
|
let s:cpo_sav = &cpo
|
||||||
let other_mf_macros = 0 " cmbase.mf, logo.mf, ... neither
|
set cpo&vim
|
||||||
|
|
||||||
" Read the Metafont syntax to start with
|
if exists("g:plain_mf_macros")
|
||||||
|
let s:plain_mf_macros = g:plain_mf_macros
|
||||||
|
endif
|
||||||
|
if exists("g:plain_mf_modes")
|
||||||
|
let s:plain_mf_modes = g:plain_mf_modes
|
||||||
|
endif
|
||||||
|
if exists("g:other_mf_macros")
|
||||||
|
let s:other_mf_macros = g:other_mf_macros
|
||||||
|
endif
|
||||||
|
|
||||||
|
let g:plain_mf_macros = 0 " plain.mf has no special meaning for MetaPost
|
||||||
|
let g:plain_mf_modes = 0 " No METAFONT modes
|
||||||
|
let g:other_mf_macros = 0 " cmbase.mf, logo.mf, ... neither
|
||||||
|
|
||||||
|
" Read the METAFONT syntax to start with
|
||||||
runtime! syntax/mf.vim
|
runtime! syntax/mf.vim
|
||||||
|
unlet b:current_syntax " Necessary for syn include below
|
||||||
|
|
||||||
" MetaPost has TeX inserts for typeset labels
|
" Restore the value of existing global variables
|
||||||
" verbatimtex, btex, and etex will be treated as keywords
|
if exists("s:plain_mf_macros")
|
||||||
syn match mpTeXbegin "\(verbatimtex\|btex\)"
|
let g:plain_mf_macros = s:plain_mf_macros
|
||||||
syn match mpTeXend "etex"
|
else
|
||||||
syn region mpTeXinsert start="\(verbatimtex\|btex\)"hs=e+1 end="etex"he=s-1 contains=mpTeXbegin,mpTeXend keepend
|
unlet g:plain_mf_macros
|
||||||
|
endif
|
||||||
|
if exists("s:plain_mf_modes")
|
||||||
|
let g:plain_mf_modes = s:plain_mf_modes
|
||||||
|
else
|
||||||
|
unlet g:plain_mf_modes
|
||||||
|
endif
|
||||||
|
if exists("s:other_mf_macros")
|
||||||
|
let g:other_mf_macros = s:other_mf_macros
|
||||||
|
else
|
||||||
|
unlet g:other_mf_macros
|
||||||
|
endif
|
||||||
|
|
||||||
" MetaPost primitives not found in Metafont
|
" Use TeX highlighting inside verbatimtex/btex... etex
|
||||||
syn keyword mpInternal bluepart clip color dashed fontsize greenpart infont
|
syn include @MPTeX syntax/tex.vim
|
||||||
syn keyword mpInternal linecap linejoin llcorner lrcorner miterlimit mpxbreak
|
unlet b:current_syntax
|
||||||
syn keyword mpInternal prologues redpart setbounds tracinglostchars
|
" These are defined as keywords rather than using matchgroup
|
||||||
syn keyword mpInternal truecorners ulcorner urcorner withcolor
|
" in order to make them available to syntaxcomplete.
|
||||||
|
syn keyword mpTeXdelim btex etex verbatimtex contained
|
||||||
|
syn region mpTeXinsert
|
||||||
|
\ start=/\<verbatimtex\>\|\<btex\>/rs=e+1
|
||||||
|
\ end=/\<etex\>/re=s-1 keepend
|
||||||
|
\ contains=@MPTeX,mpTeXdelim
|
||||||
|
|
||||||
" Metafont primitives not found in MetaPost
|
" iskeyword must be set after the syn include above, because tex.vim sets `syn
|
||||||
syn keyword notDefined autorounding chardx chardy fillin granularity hppp
|
" iskeyword`. Note that keywords do not contain numbers (numbers are
|
||||||
syn keyword notDefined proofing smoothing tracingedges tracingpens
|
" subscripts)
|
||||||
syn keyword notDefined turningcheck vppp xoffset yoffset
|
syntax iskeyword @,_
|
||||||
|
|
||||||
|
" MetaPost primitives not found in METAFONT
|
||||||
|
syn keyword mpBoolExp bounded clipped filled stroked textual arclength
|
||||||
|
syn keyword mpNumExp arctime blackpart bluepart colormodel cyanpart
|
||||||
|
syn keyword mpNumExp fontsize greenpart greypart magentapart redpart
|
||||||
|
syn keyword mpPairExp yellowpart llcorner lrcorner ulcorner urcorner
|
||||||
|
" envelope is seemingly undocumented, but it exists since mpost 1.003.
|
||||||
|
" The syntax is: envelope <polygonal pen> of <path primary>. For example,
|
||||||
|
" path p;
|
||||||
|
" p := envelope pensquare of (up--left);
|
||||||
|
" (Thanks to Daniel H. Luecking for the example!)
|
||||||
|
syn keyword mpPathExp envelope pathpart
|
||||||
|
syn keyword mpPenExp penpart
|
||||||
|
syn keyword mpPicExp dashpart glyph infont
|
||||||
|
syn keyword mpStringExp fontpart readfrom textpart
|
||||||
|
syn keyword mpType cmykcolor color rgbcolor
|
||||||
|
" Other MetaPost primitives listed in the manual
|
||||||
|
syn keyword mpPrimitive mpxbreak within
|
||||||
|
" Internal quantities not found in METAFONT
|
||||||
|
" (Table 6 in MetaPost: A User's Manual)
|
||||||
|
syn keyword mpInternal defaultcolormodel hour minute linecap linejoin
|
||||||
|
syn keyword mpInternal miterlimit mpprocset mpversion numberprecision
|
||||||
|
syn keyword mpInternal numbersystem outputfilename outputformat
|
||||||
|
syn keyword mpInternal outputformatoptions outputtemplate prologues
|
||||||
|
syn keyword mpInternal restoreclipcolor tracinglostchars troffmode
|
||||||
|
syn keyword mpInternal truecorners
|
||||||
|
" List of commands not found in METAFONT (from MetaPost: A User's Manual)
|
||||||
|
syn keyword mpCommand clip closefrom dashed filenametemplate fontmapfile
|
||||||
|
syn keyword mpCommand fontmapline setbounds withcmykcolor withcolor
|
||||||
|
syn keyword mpCommand withgreyscale withoutcolor withpostscript
|
||||||
|
syn keyword mpCommand withprescript withrgbcolor write
|
||||||
|
" METAFONT internal variables not found in MetaPost
|
||||||
|
syn keyword notDefined autorounding chardx chardy fillin granularity
|
||||||
|
syn keyword notDefined proofing smoothing tracingedges tracingpens
|
||||||
|
syn keyword notDefined turningcheck xoffset yoffset
|
||||||
|
" Suffix defined only in METAFONT:
|
||||||
|
syn keyword notDefined nodot
|
||||||
|
" Other not implemented primitives (see MetaPost: A User's Manual, §C.1)
|
||||||
|
syn keyword notDefined cull display openwindow numspecial totalweight
|
||||||
|
syn keyword notDefined withweight
|
||||||
|
|
||||||
" Keywords defined by plain.mp
|
" Keywords defined by plain.mp
|
||||||
if !exists("plain_mp_macros")
|
if get(g:, "plain_mp_macros", 1) || get(g:, "mp_metafun_macros", 0)
|
||||||
let plain_mp_macros = 1 " Set this to '0' if your source gets too colourful
|
syn keyword mpDef beginfig clear_pen_memory clearit clearpen clearpen
|
||||||
endif
|
syn keyword mpDef clearxy colorpart cutdraw downto draw drawarrow
|
||||||
if plain_mp_macros
|
syn keyword mpDef drawdblarrow drawdot drawoptions endfig erase
|
||||||
syn keyword mpMacro ahangle ahlength background bbox bboxmargin beginfig
|
syn keyword mpDef exitunless fill filldraw flex gobble hide interact
|
||||||
syn keyword mpMacro beveled black blue buildcycle butt center cutafter
|
syn keyword mpDef label loggingall makelabel numtok penstroke pickup
|
||||||
syn keyword mpMacro cutbefore cuttings dashpattern defaultfont defaultpen
|
syn keyword mpDef range reflectedabout rotatedaround shipit
|
||||||
syn keyword mpMacro defaultscale dotlabel dotlabels drawarrow drawdblarrow
|
syn keyword mpDef stop superellipse takepower tracingall tracingnone
|
||||||
syn keyword mpMacro drawoptions endfig evenly extra_beginfig extra_endfig
|
syn keyword mpDef undraw undrawdot unfill unfilldraw upto
|
||||||
syn keyword mpMacro green label labeloffset mitered red rounded squared
|
syn match mpDef "???"
|
||||||
syn keyword mpMacro thelabel white base_name base_version
|
syn keyword mpVardef arrowhead bbox bot buildcycle byte ceiling center
|
||||||
syn keyword mpMacro upto downto exitunless relax gobble gobbled
|
syn keyword mpVardef counterclockwise decr dir direction directionpoint
|
||||||
syn keyword mpMacro interact loggingall tracingall tracingnone
|
syn keyword mpVardef dotlabel dotlabels image incr interpath inverse
|
||||||
syn keyword mpMacro eps epsilon infinity right left up down origin
|
syn keyword mpVardef labels lft magstep max min penlabels penpos round
|
||||||
syn keyword mpMacro quartercircle halfcircle fullcircle unitsquare identity
|
syn keyword mpVardef rt savepen solve tensepath thelabel top unitvector
|
||||||
syn keyword mpMacro blankpicture withdots ditto EOF pensquare penrazor
|
syn keyword mpVardef whatever z
|
||||||
syn keyword mpMacro penspeck whatever abs round ceiling byte dir unitvector
|
syn keyword mpPrimaryDef div dotprod gobbled mod
|
||||||
syn keyword mpMacro inverse counterclockwise tensepath mod div dotprod
|
syn keyword mpSecondaryDef intersectionpoint
|
||||||
syn keyword mpMacro takepower direction directionpoint intersectionpoint
|
syn keyword mpTertiaryDef cutafter cutbefore softjoin thru
|
||||||
syn keyword mpMacro softjoin incr decr reflectedabout rotatedaround
|
syn keyword mpNewInternal ahangle ahlength bboxmargin beveled butt defaultpen
|
||||||
syn keyword mpMacro rotatedabout min max flex superellipse interpath
|
syn keyword mpNewInternal defaultscale dotlabeldiam eps epsilon infinity
|
||||||
syn keyword mpMacro magstep currentpen currentpen_path currentpicture
|
syn keyword mpNewInternal join_radius labeloffset mitered pen_bot pen_lft
|
||||||
syn keyword mpMacro fill draw filldraw drawdot unfill undraw unfilldraw
|
syn keyword mpNewInternal pen_rt pen_top rounded squared tolerance
|
||||||
syn keyword mpMacro undrawdot erase cutdraw image pickup numeric_pickup
|
" Predefined constants
|
||||||
syn keyword mpMacro pen_lft pen_rt pen_top pen_bot savepen clearpen
|
syn keyword mpConstant EOF background base_name base_version black
|
||||||
syn keyword mpMacro clear_pen_memory lft rt top bot ulft urt llft lrt
|
syn keyword mpConstant blankpicture blue ditto down evenly fullcircle
|
||||||
syn keyword mpMacro penpos penstroke arrowhead makelabel labels penlabel
|
syn keyword mpConstant green halfcircle identity left origin penrazor
|
||||||
syn keyword mpMacro range numtok thru clearxy clearit clearpen pickup
|
syn keyword mpConstant penspeck pensquare quartercircle red right
|
||||||
syn keyword mpMacro shipit bye hide stop solve
|
syn keyword mpConstant unitsquare up white withdots
|
||||||
|
" Other predefined variables
|
||||||
|
syn keyword mpVariable currentpen currentpen_path currentpicture cuttings
|
||||||
|
syn keyword mpVariable defaultfont extra_beginfig extra_endfig
|
||||||
|
syn match mpVariable /\<\%(laboff\|labxf\|labyf\)\>/
|
||||||
|
syn match mpVariable /\<\%(laboff\|labxf\|labyf\)\.\%(lft\|rt\|bot\|top\|ulft\|urt\|llft\|lrt\)\>/
|
||||||
|
" let statements:
|
||||||
|
syn keyword mpnumExp abs
|
||||||
|
syn keyword mpDef rotatedabout
|
||||||
|
syn keyword mpCommand bye relax
|
||||||
|
" on and off are not technically keywords, but it is nice to highlight them
|
||||||
|
" inside dashpattern().
|
||||||
|
syn keyword mpOnOff off on contained
|
||||||
|
syn keyword mpDash dashpattern contained
|
||||||
|
syn region mpDashPattern
|
||||||
|
\ start="dashpattern\s*"
|
||||||
|
\ end=")"he=e-1
|
||||||
|
\ contains=mfNumeric,mfLength,mpOnOff,mpDash
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Keywords defined by mfplain.mp
|
" Keywords defined by mfplain.mp
|
||||||
if !exists("mfplain_mp_macros")
|
if get(g:, "mfplain_mp_macros", 0)
|
||||||
let mfplain_mp_macros = 0 " Set this to '1' to include these macro names
|
syn keyword mpDef beginchar capsule_def change_width
|
||||||
endif
|
syn keyword mpDef define_blacker_pixels define_corrected_pixels
|
||||||
if mfplain_mp_macros
|
syn keyword mpDef define_good_x_pixels define_good_y_pixels
|
||||||
syn keyword mpMacro beginchar blacker capsule_def change_width
|
syn keyword mpDef define_horizontal_corrected_pixels define_pixels
|
||||||
syn keyword mpMacro define_blacker_pixels define_corrected_pixels
|
syn keyword mpDef define_whole_blacker_pixels define_whole_pixels
|
||||||
syn keyword mpMacro define_good_x_pixels define_good_y_pixels
|
syn keyword mpDef define_whole_vertical_blacker_pixels
|
||||||
syn keyword mpMacro define_horizontal_corrected_pixels
|
syn keyword mpDef define_whole_vertical_pixels endchar
|
||||||
syn keyword mpMacro define_pixels define_whole_blacker_pixels
|
syn keyword mpDef font_coding_scheme font_extra_space font_identifier
|
||||||
syn keyword mpMacro define_whole_vertical_blacker_pixels
|
syn keyword mpDef font_normal_shrink font_normal_space
|
||||||
syn keyword mpMacro define_whole_vertical_pixels endchar
|
syn keyword mpDef font_normal_stretch font_quad font_size font_slant
|
||||||
syn keyword mpMacro extra_beginchar extra_endchar extra_setup
|
syn keyword mpDef font_x_height italcorr labelfont lowres_fix makebox
|
||||||
syn keyword mpMacro font_coding_scheme font_extra_space font_identifier
|
syn keyword mpDef makegrid maketicks mode_def mode_setup proofrule
|
||||||
syn keyword mpMacro font_normal_shrink font_normal_space
|
syn keyword mpDef smode
|
||||||
syn keyword mpMacro font_normal_stretch font_quad font_size
|
syn keyword mpVardef hround proofrulethickness vround
|
||||||
syn keyword mpMacro font_slant font_x_height italcorr labelfont
|
syn keyword mpNewInternal blacker o_correction
|
||||||
syn keyword mpMacro makebox makegrid maketicks mode_def mode_setup
|
syn keyword mpVariable extra_beginchar extra_endchar extra_setup rulepen
|
||||||
syn keyword mpMacro o_correction proofrule proofrulethickness rulepen smode
|
|
||||||
|
|
||||||
" plus some no-ops, also from mfplain.mp
|
" plus some no-ops, also from mfplain.mp
|
||||||
syn keyword mpMacro cullit currenttransform gfcorners grayfont hround
|
syn keyword mpDef cull cullit gfcorners imagerules nodisplays
|
||||||
syn keyword mpMacro imagerules lowres_fix nodisplays notransforms openit
|
syn keyword mpDef notransforms openit proofoffset screenchars
|
||||||
syn keyword mpMacro proofoffset screenchars screenrule screenstrokes
|
syn keyword mpDef screenrule screenstrokes showit
|
||||||
syn keyword mpMacro showit slantfont titlefont unitpixel vround
|
syn keyword mpVardef grayfont slantfont titlefont
|
||||||
|
syn keyword mpVariable currenttransform
|
||||||
|
syn keyword mpConstant unitpixel
|
||||||
|
" These are not listed in the MetaPost manual, and some are ignored by
|
||||||
|
" MetaPost, but are nonetheless defined in mfplain.mp
|
||||||
|
syn keyword mpDef killtext
|
||||||
|
syn match mpVardef "\<good\.\%(x\|y\|lft\|rt\|top\|bot\)\>"
|
||||||
|
syn keyword mpVariable aspect_ratio localfont mag mode mode_name
|
||||||
|
syn keyword mpVariable proofcolor
|
||||||
|
syn keyword mpConstant lowres proof smoke
|
||||||
|
syn keyword mpNewInternal autorounding bp_per_pixel granularity
|
||||||
|
syn keyword mpNewInternal number_of_modes proofing smoothing turningcheck
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Keywords defined by other macro packages, e.g., boxes.mp
|
" Keywords defined by all base macro packages:
|
||||||
if !exists("other_mp_macros")
|
" - (r)boxes.mp
|
||||||
let other_mp_macros = 1 " Set this to '0' if your source gets too colourful
|
" - format.mp
|
||||||
endif
|
" - graph.mp
|
||||||
if other_mp_macros
|
" - marith.mp
|
||||||
syn keyword mpMacro circmargin defaultdx defaultdy
|
" - sarith.mp
|
||||||
syn keyword mpMacro boxit boxjoin bpath circleit drawboxed drawboxes
|
" - string.mp
|
||||||
syn keyword mpMacro drawunboxed fixpos fixsize pic
|
" - TEX.mp
|
||||||
|
if get(g:, "other_mp_macros", 1)
|
||||||
|
" boxes and rboxes
|
||||||
|
syn keyword mpDef boxjoin drawboxed drawboxes drawunboxed
|
||||||
|
syn keyword mpNewInternal circmargin defaultdx defaultdy rbox_radius
|
||||||
|
syn keyword mpVardef boxit bpath circleit fixpos fixsize generic_declare
|
||||||
|
syn keyword mpVardef generic_redeclare generisize pic rboxit str_prefix
|
||||||
|
" format
|
||||||
|
syn keyword mpVardef Mformat format init_numbers roundd
|
||||||
|
syn keyword mpVariable Fe_base Fe_plus
|
||||||
|
syn keyword mpConstant Ten_to
|
||||||
|
" graph
|
||||||
|
syn keyword mpDef Gfor Gxyscale OUT auto begingraph endgraph gdata
|
||||||
|
syn keyword mpDef gdraw gdrawarrow gdrawdblarrow gfill plot
|
||||||
|
syn keyword mpVardef augment autogrid frame gdotlabel glabel grid itick
|
||||||
|
syn keyword mpVardef otick
|
||||||
|
syn keyword mpVardef Mreadpath setcoords setrange
|
||||||
|
syn keyword mpNewInternal Gmarks Gminlog Gpaths linear log
|
||||||
|
syn keyword mpVariable Autoform Gemarks Glmarks Gumarks
|
||||||
|
syn keyword mpConstant Gtemplate
|
||||||
|
syn match mpVariable /Gmargin\.\%(low\|high\)/
|
||||||
|
" marith
|
||||||
|
syn keyword mpVardef Mabs Meform Mexp Mexp_str Mlog Mlog_Str Mlog_str
|
||||||
|
syn keyword mpPrimaryDef Mdiv Mmul
|
||||||
|
syn keyword mpSecondaryDef Madd Msub
|
||||||
|
syn keyword mpTertiaryDef Mleq
|
||||||
|
syn keyword mpNewInternal Mten Mzero
|
||||||
|
" sarith
|
||||||
|
syn keyword mpVardef Sabs Scvnum
|
||||||
|
syn keyword mpPrimaryDef Sdiv Smul
|
||||||
|
syn keyword mpSecondaryDef Sadd Ssub
|
||||||
|
syn keyword mpTertiaryDef Sleq Sneq
|
||||||
|
" string
|
||||||
|
syn keyword mpVardef cspan isdigit loptok
|
||||||
|
" TEX
|
||||||
|
syn keyword mpVardef TEX TEXPOST TEXPRE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Up to date as of 23-Sep-2016.
|
||||||
|
if get(g:, "mp_metafun_macros", 0)
|
||||||
|
" These keywords have been added manually.
|
||||||
|
syn keyword mpPrimitive runscript
|
||||||
|
|
||||||
|
" The following MetaFun keywords have been extracted automatically from
|
||||||
|
" ConTeXt source code. They include all "public" macros (where a macro is
|
||||||
|
" considered public if and only if it does not start with _, mfun_, mlib_, or
|
||||||
|
" do_, and it does not end with _), all "public" unsaved variables, and all
|
||||||
|
" `let` statements.
|
||||||
|
|
||||||
|
" mp-abck.mpiv
|
||||||
|
syn keyword mpDef abck_grid_line anchor_box box_found boxfilloptions
|
||||||
|
syn keyword mpDef boxgridoptions boxlineoptions draw_multi_pars
|
||||||
|
syn keyword mpDef draw_multi_side draw_multi_side_path freeze_box
|
||||||
|
syn keyword mpDef initialize_box initialize_box_pos
|
||||||
|
syn keyword mpDef multi_side_draw_options show_multi_kind
|
||||||
|
syn keyword mpDef show_multi_pars
|
||||||
|
syn keyword mpVardef abck_baseline_grid abck_draw_path abck_graphic_grid
|
||||||
|
syn keyword mpVariable boxdashtype boxfilloffset boxfilltype
|
||||||
|
syn keyword mpVariable boxgriddirection boxgriddistance boxgridshift
|
||||||
|
syn keyword mpVariable boxgridtype boxgridwidth boxlineoffset
|
||||||
|
syn keyword mpVariable boxlineradius boxlinetype boxlinewidth multikind
|
||||||
|
syn keyword mpConstant context_abck
|
||||||
|
" mp-apos.mpiv
|
||||||
|
syn keyword mpDef anch_sidebars_draw boxfilloptions boxlineoptions
|
||||||
|
syn keyword mpDef connect_positions
|
||||||
|
syn keyword mpConstant context_apos
|
||||||
|
" mp-asnc.mpiv
|
||||||
|
syn keyword mpDef FlushSyncTasks ProcessSyncTask ResetSyncTasks
|
||||||
|
syn keyword mpDef SetSyncColor SetSyncThreshold SyncTask
|
||||||
|
syn keyword mpVardef PrepareSyncTasks SyncBox TheSyncColor
|
||||||
|
syn keyword mpVardef TheSyncThreshold
|
||||||
|
syn keyword mpVariable CurrentSyncClass NOfSyncPaths SyncColor
|
||||||
|
syn keyword mpVariable SyncLeftOffset SyncPaths SyncTasks SyncThreshold
|
||||||
|
syn keyword mpVariable SyncThresholdMethod SyncWidth
|
||||||
|
syn keyword mpConstant context_asnc
|
||||||
|
" mp-back.mpiv
|
||||||
|
syn keyword mpDef some_double_back some_hash
|
||||||
|
syn keyword mpVariable back_nillcolor
|
||||||
|
syn keyword mpConstant context_back
|
||||||
|
" mp-bare.mpiv
|
||||||
|
syn keyword mpVardef colordecimals rawtextext
|
||||||
|
syn keyword mpPrimaryDef infont
|
||||||
|
syn keyword mpConstant context_bare
|
||||||
|
" mp-base.mpiv
|
||||||
|
" This is essentially plain.mp with only a few keywords added
|
||||||
|
syn keyword mpNumExp graypart
|
||||||
|
syn keyword mpType graycolor greycolor
|
||||||
|
syn keyword mpConstant cyan magenta yellow
|
||||||
|
" mp-butt.mpiv
|
||||||
|
syn keyword mpDef predefinedbutton some_button
|
||||||
|
syn keyword mpConstant context_butt
|
||||||
|
" mp-char.mpiv
|
||||||
|
syn keyword mpDef flow_begin_chart flow_begin_sub_chart
|
||||||
|
syn keyword mpDef flow_chart_draw_comment flow_chart_draw_exit
|
||||||
|
syn keyword mpDef flow_chart_draw_label flow_chart_draw_text
|
||||||
|
syn keyword mpDef flow_clip_chart flow_collapse_points
|
||||||
|
syn keyword mpDef flow_connect_bottom_bottom flow_connect_bottom_left
|
||||||
|
syn keyword mpDef flow_connect_bottom_right flow_connect_bottom_top
|
||||||
|
syn keyword mpDef flow_connect_left_bottom flow_connect_left_left
|
||||||
|
syn keyword mpDef flow_connect_left_right flow_connect_left_top
|
||||||
|
syn keyword mpDef flow_connect_right_bottom flow_connect_right_left
|
||||||
|
syn keyword mpDef flow_connect_right_right flow_connect_right_top
|
||||||
|
syn keyword mpDef flow_connect_top_bottom flow_connect_top_left
|
||||||
|
syn keyword mpDef flow_connect_top_right flow_connect_top_top
|
||||||
|
syn keyword mpDef flow_draw_connection flow_draw_connection_point
|
||||||
|
syn keyword mpDef flow_draw_midpoint flow_draw_shape
|
||||||
|
syn keyword mpDef flow_draw_test_area flow_draw_test_shape
|
||||||
|
syn keyword mpDef flow_draw_test_shapes flow_end_chart
|
||||||
|
syn keyword mpDef flow_end_sub_chart flow_flush_connections
|
||||||
|
syn keyword mpDef flow_flush_picture flow_flush_pictures
|
||||||
|
syn keyword mpDef flow_flush_shape flow_flush_shapes
|
||||||
|
syn keyword mpDef flow_initialize_grid flow_new_chart flow_new_shape
|
||||||
|
syn keyword mpDef flow_scaled_to_grid flow_show_connection
|
||||||
|
syn keyword mpDef flow_show_connections flow_show_shapes
|
||||||
|
syn keyword mpDef flow_xy_offset flow_y_pos
|
||||||
|
syn keyword mpVardef flow_connection_path flow_down_on_grid
|
||||||
|
syn keyword mpVardef flow_down_to_grid flow_i_point flow_left_on_grid
|
||||||
|
syn keyword mpVardef flow_left_to_grid flow_offset
|
||||||
|
syn keyword mpVardef flow_points_initialized flow_right_on_grid
|
||||||
|
syn keyword mpVardef flow_right_to_grid flow_smooth_connection
|
||||||
|
syn keyword mpVardef flow_trim_points flow_trimmed flow_up_on_grid
|
||||||
|
syn keyword mpVardef flow_up_to_grid flow_valid_connection
|
||||||
|
syn keyword mpVardef flow_x_on_grid flow_xy_bottom flow_xy_left
|
||||||
|
syn keyword mpVardef flow_xy_on_grid flow_xy_right flow_xy_top
|
||||||
|
syn keyword mpVardef flow_y_on_grid
|
||||||
|
syn keyword mpVariable flow_arrowtip flow_chart_background_color
|
||||||
|
syn keyword mpVariable flow_chart_offset flow_comment_offset
|
||||||
|
syn keyword mpVariable flow_connection_arrow_size
|
||||||
|
syn keyword mpVariable flow_connection_dash_size
|
||||||
|
syn keyword mpVariable flow_connection_line_color
|
||||||
|
syn keyword mpVariable flow_connection_line_width
|
||||||
|
syn keyword mpVariable flow_connection_smooth_size flow_connections
|
||||||
|
syn keyword mpVariable flow_cpath flow_dash_pattern flow_dashline
|
||||||
|
syn keyword mpVariable flow_exit_offset flow_forcevalid flow_grid_height
|
||||||
|
syn keyword mpVariable flow_grid_width flow_label_offset flow_max_x
|
||||||
|
syn keyword mpVariable flow_max_y flow_peepshape flow_reverse_connection
|
||||||
|
syn keyword mpVariable flow_reverse_y flow_shape_action flow_shape_archive
|
||||||
|
syn keyword mpVariable flow_shape_decision flow_shape_down
|
||||||
|
syn keyword mpVariable flow_shape_fill_color flow_shape_height
|
||||||
|
syn keyword mpVariable flow_shape_left flow_shape_line_color
|
||||||
|
syn keyword mpVariable flow_shape_line_width flow_shape_loop
|
||||||
|
syn keyword mpVariable flow_shape_multidocument flow_shape_node
|
||||||
|
syn keyword mpVariable flow_shape_procedure flow_shape_product
|
||||||
|
syn keyword mpVariable flow_shape_right flow_shape_singledocument
|
||||||
|
syn keyword mpVariable flow_shape_subprocedure flow_shape_up
|
||||||
|
syn keyword mpVariable flow_shape_wait flow_shape_width
|
||||||
|
syn keyword mpVariable flow_show_all_points flow_show_con_points
|
||||||
|
syn keyword mpVariable flow_show_mid_points flow_showcrossing flow_smooth
|
||||||
|
syn keyword mpVariable flow_touchshape flow_xypoint flow_zfactor
|
||||||
|
syn keyword mpConstant context_flow
|
||||||
|
" mp-chem.mpiv
|
||||||
|
syn keyword mpDef chem_init_all chem_reset chem_start_structure
|
||||||
|
syn keyword mpDef chem_transformed
|
||||||
|
syn keyword mpVardef chem_ad chem_adj chem_align chem_arrow chem_au
|
||||||
|
syn keyword mpVardef chem_b chem_bb chem_bd chem_bw chem_c chem_cc
|
||||||
|
syn keyword mpVardef chem_ccd chem_cd chem_crz chem_cz chem_dash chem_db
|
||||||
|
syn keyword mpVardef chem_diff chem_dir chem_do chem_dr chem_draw
|
||||||
|
syn keyword mpVardef chem_drawarrow chem_eb chem_ed chem_ep chem_er
|
||||||
|
syn keyword mpVardef chem_es chem_et chem_fill chem_hb chem_init_some
|
||||||
|
syn keyword mpVardef chem_label chem_ldb chem_ldd chem_line chem_lr
|
||||||
|
syn keyword mpVardef chem_lrb chem_lrbd chem_lrd chem_lrh chem_lrn
|
||||||
|
syn keyword mpVardef chem_lrt chem_lrz chem_lsr chem_lsub chem_mark
|
||||||
|
syn keyword mpVardef chem_marked chem_mid chem_mids chem_midz chem_mir
|
||||||
|
syn keyword mpVardef chem_mov chem_move chem_number chem_oe chem_off
|
||||||
|
syn keyword mpVardef chem_pb chem_pe chem_r chem_r_fragment chem_rb
|
||||||
|
syn keyword mpVardef chem_rbd chem_rd chem_rdb chem_rdd chem_restore
|
||||||
|
syn keyword mpVardef chem_rh chem_rm chem_rn chem_rot chem_rr chem_rrb
|
||||||
|
syn keyword mpVardef chem_rrbd chem_rrd chem_rrh chem_rrn chem_rrt
|
||||||
|
syn keyword mpVardef chem_rrz chem_rsr chem_rsub chem_rt chem_rz chem_s
|
||||||
|
syn keyword mpVardef chem_save chem_sb chem_sd chem_set chem_sr chem_ss
|
||||||
|
syn keyword mpVardef chem_start_component chem_stop_component
|
||||||
|
syn keyword mpVardef chem_stop_structure chem_sub chem_symbol chem_tb
|
||||||
|
syn keyword mpVardef chem_text chem_z chem_zln chem_zlt chem_zn chem_zrn
|
||||||
|
syn keyword mpVardef chem_zrt chem_zt
|
||||||
|
syn keyword mpVariable chem_mark_pair chem_stack_mirror chem_stack_origin
|
||||||
|
syn keyword mpVariable chem_stack_p chem_stack_previous
|
||||||
|
syn keyword mpVariable chem_stack_rotation chem_trace_boundingbox
|
||||||
|
syn keyword mpVariable chem_trace_nesting chem_trace_text
|
||||||
|
syn keyword mpConstant context_chem
|
||||||
|
" mp-core.mpiv
|
||||||
|
syn keyword mpDef FlushSyncTasks ProcessSyncTask
|
||||||
|
syn keyword mpDef RegisterLocalTextArea RegisterPlainTextArea
|
||||||
|
syn keyword mpDef RegisterRegionTextArea RegisterTextArea
|
||||||
|
syn keyword mpDef ResetLocalTextArea ResetSyncTasks ResetTextAreas
|
||||||
|
syn keyword mpDef SaveTextAreas SetSyncColor SetSyncThreshold
|
||||||
|
syn keyword mpDef SyncTask anchor_box box_found boxfilloptions
|
||||||
|
syn keyword mpDef boxgridoptions boxlineoptions collapse_multi_pars
|
||||||
|
syn keyword mpDef draw_box draw_multi_pars draw_par freeze_box
|
||||||
|
syn keyword mpDef initialize_area initialize_area_par initialize_box
|
||||||
|
syn keyword mpDef initialize_box_pos initialize_par
|
||||||
|
syn keyword mpDef prepare_multi_pars relocate_multipars save_multipar
|
||||||
|
syn keyword mpDef set_par_line_height show_multi_pars show_par
|
||||||
|
syn keyword mpDef simplify_multi_pars sort_multi_pars
|
||||||
|
syn keyword mpVardef InsideSavedTextArea InsideSomeSavedTextArea
|
||||||
|
syn keyword mpVardef InsideSomeTextArea InsideTextArea PrepareSyncTasks
|
||||||
|
syn keyword mpVardef SyncBox TextAreaH TextAreaW TextAreaWH TextAreaX
|
||||||
|
syn keyword mpVardef TextAreaXY TextAreaY TheSyncColor TheSyncThreshold
|
||||||
|
syn keyword mpVardef baseline_grid graphic_grid multi_par_at_top
|
||||||
|
syn keyword mpVariable CurrentSyncClass NOfSavedTextAreas
|
||||||
|
syn keyword mpVariable NOfSavedTextColumns NOfSyncPaths NOfTextAreas
|
||||||
|
syn keyword mpVariable NOfTextColumns PlainTextArea RegionTextArea
|
||||||
|
syn keyword mpVariable SavedTextColumns SyncColor SyncLeftOffset SyncPaths
|
||||||
|
syn keyword mpVariable SyncTasks SyncThreshold SyncThresholdMethod
|
||||||
|
syn keyword mpVariable SyncWidth TextAreas TextColumns
|
||||||
|
syn keyword mpVariable auto_multi_par_hsize boxdashtype boxfilloffset
|
||||||
|
syn keyword mpVariable boxfilltype boxgriddirection boxgriddistance
|
||||||
|
syn keyword mpVariable boxgridshift boxgridtype boxgridwidth boxlineradius
|
||||||
|
syn keyword mpVariable boxlinetype boxlinewidth check_multi_par_chain
|
||||||
|
syn keyword mpVariable compensate_multi_par_topskip
|
||||||
|
syn keyword mpVariable enable_multi_par_fallback force_multi_par_chain
|
||||||
|
syn keyword mpVariable ignore_multi_par_page last_multi_par_shift lefthang
|
||||||
|
syn keyword mpVariable local_multi_par_area multi_column_first_page_hack
|
||||||
|
syn keyword mpVariable multi_par_pages multiloc multilocs multipar
|
||||||
|
syn keyword mpVariable multipars multiref multirefs nofmultipars
|
||||||
|
syn keyword mpVariable obey_multi_par_hang obey_multi_par_more
|
||||||
|
syn keyword mpVariable one_piece_multi_par par_hang_after par_hang_indent
|
||||||
|
syn keyword mpVariable par_indent par_left_skip par_line_height
|
||||||
|
syn keyword mpVariable par_right_skip par_start_pos par_stop_pos
|
||||||
|
syn keyword mpVariable par_strut_depth par_strut_height ppos righthang
|
||||||
|
syn keyword mpVariable snap_multi_par_tops somehang span_multi_column_pars
|
||||||
|
syn keyword mpVariable use_multi_par_region
|
||||||
|
syn keyword mpConstant context_core
|
||||||
|
syn keyword LET anchor_area anchor_par draw_area
|
||||||
|
" mp-cows.mpiv
|
||||||
|
syn keyword mpConstant context_cows cow
|
||||||
|
" mp-crop.mpiv
|
||||||
|
syn keyword mpDef page_marks_add_color page_marks_add_lines
|
||||||
|
syn keyword mpDef page_marks_add_marking page_marks_add_number
|
||||||
|
syn keyword mpVardef crop_color crop_gray crop_marks_cmyk
|
||||||
|
syn keyword mpVardef crop_marks_cmykrgb crop_marks_gray crop_marks_lines
|
||||||
|
syn keyword mpVariable crop_colors more page
|
||||||
|
syn keyword mpConstant context_crop
|
||||||
|
" mp-figs.mpiv
|
||||||
|
syn keyword mpDef naturalfigure registerfigure
|
||||||
|
syn keyword mpVardef figuredimensions figureheight figuresize
|
||||||
|
syn keyword mpVardef figurewidth
|
||||||
|
syn keyword mpConstant context_figs
|
||||||
|
" mp-fobg.mpiv
|
||||||
|
syn keyword mpDef DrawFoFrame
|
||||||
|
syn keyword mpVardef equalpaths
|
||||||
|
syn keyword mpPrimaryDef inset outset
|
||||||
|
syn keyword mpVariable FoBackground FoBackgroundColor FoFrame FoLineColor
|
||||||
|
syn keyword mpVariable FoLineStyle FoLineWidth FoSplit
|
||||||
|
syn keyword mpConstant FoAll FoBottom FoDash FoDotted FoDouble FoGroove
|
||||||
|
syn keyword mpConstant FoHidden FoInset FoLeft FoMedium FoNoColor FoNone
|
||||||
|
syn keyword mpConstant FoOutset FoRidge FoRight FoSolid FoThick FoThin
|
||||||
|
syn keyword mpConstant FoTop context_fobg
|
||||||
|
" mp-form.mpiv
|
||||||
|
syn keyword mpConstant context_form
|
||||||
|
" mp-func.mpiv
|
||||||
|
syn keyword mpDef constructedfunction constructedpairs
|
||||||
|
syn keyword mpDef constructedpath curvedfunction curvedpairs
|
||||||
|
syn keyword mpDef curvedpath function pathconnectors straightfunction
|
||||||
|
syn keyword mpDef straightpairs straightpath
|
||||||
|
syn keyword mpConstant context_func
|
||||||
|
" mp-grap.mpiv
|
||||||
|
syn keyword mpDef Gfor OUT auto begingraph circles crosses diamonds
|
||||||
|
syn keyword mpDef downtriangles endgraph gdata gdraw gdrawarrow
|
||||||
|
syn keyword mpDef gdrawdblarrow gfill graph_addto
|
||||||
|
syn keyword mpDef graph_addto_currentpicture graph_comma
|
||||||
|
syn keyword mpDef graph_coordinate_multiplication graph_draw
|
||||||
|
syn keyword mpDef graph_draw_label graph_errorbar_text graph_fill
|
||||||
|
syn keyword mpDef graph_generate_exponents
|
||||||
|
syn keyword mpDef graph_generate_label_position
|
||||||
|
syn keyword mpDef graph_generate_numbers graph_label_location
|
||||||
|
syn keyword mpDef graph_scan_mark graph_scan_marks graph_setbounds
|
||||||
|
syn keyword mpDef graph_suffix graph_tick_label
|
||||||
|
syn keyword mpDef graph_with_pen_and_color graph_withlist
|
||||||
|
syn keyword mpDef graph_xyscale lefttriangles makefunctionpath plot
|
||||||
|
syn keyword mpDef plotsymbol points rainbow righttriangles smoothpath
|
||||||
|
syn keyword mpDef squares stars uptriangles witherrorbars
|
||||||
|
syn keyword mpVardef addtopath augment autogrid constant_fit
|
||||||
|
syn keyword mpVardef constant_function det escaped_format exp
|
||||||
|
syn keyword mpVardef exponential_fit exponential_function format
|
||||||
|
syn keyword mpVardef formatted frame functionpath gaussian_fit
|
||||||
|
syn keyword mpVardef gaussian_function gdotlabel glabel graph_Feform
|
||||||
|
syn keyword mpVardef graph_Meform graph_arrowhead_extent graph_bounds
|
||||||
|
syn keyword mpVardef graph_clear_bounds
|
||||||
|
syn keyword mpVardef graph_convert_user_path_to_internal graph_cspan
|
||||||
|
syn keyword mpVardef graph_draw_arrowhead graph_error graph_errorbars
|
||||||
|
syn keyword mpVardef graph_exp graph_factor_and_exponent_to_string
|
||||||
|
syn keyword mpVardef graph_gridline_picture graph_is_null
|
||||||
|
syn keyword mpVardef graph_label_convert_user_to_internal graph_loptok
|
||||||
|
syn keyword mpVardef graph_match_exponents graph_mlog
|
||||||
|
syn keyword mpVardef graph_modified_exponent_ypart graph_pair_adjust
|
||||||
|
syn keyword mpVardef graph_picture_conversion graph_post_draw
|
||||||
|
syn keyword mpVardef graph_read_line graph_readpath graph_remap
|
||||||
|
syn keyword mpVardef graph_scan_path graph_select_exponent_mark
|
||||||
|
syn keyword mpVardef graph_select_mark graph_set_bounds
|
||||||
|
syn keyword mpVardef graph_set_default_bounds graph_shapesize
|
||||||
|
syn keyword mpVardef graph_stash_label graph_tick_mark_spacing
|
||||||
|
syn keyword mpVardef graph_unknown_pair_bbox grid isdigit itick
|
||||||
|
syn keyword mpVardef linear_fit linear_function ln logten lorentzian_fit
|
||||||
|
syn keyword mpVardef lorentzian_function otick polynomial_fit
|
||||||
|
syn keyword mpVardef polynomial_function power_law_fit
|
||||||
|
syn keyword mpVardef power_law_function powten setcoords setrange
|
||||||
|
syn keyword mpVardef sortpath strfmt tick varfmt
|
||||||
|
syn keyword mpNewInternal Mzero doubleinfinity graph_log_minimum
|
||||||
|
syn keyword mpNewInternal graph_minimum_number_of_marks largestmantissa
|
||||||
|
syn keyword mpNewInternal linear lntwo log mlogten singleinfinity
|
||||||
|
syn keyword mpVariable Autoform determinant fit_chi_squared
|
||||||
|
syn keyword mpVariable graph_errorbar_picture graph_exp_marks
|
||||||
|
syn keyword mpVariable graph_frame_pair_a graph_frame_pair_b
|
||||||
|
syn keyword mpVariable graph_lin_marks graph_log_marks graph_modified_bias
|
||||||
|
syn keyword mpVariable graph_modified_higher graph_modified_lower
|
||||||
|
syn keyword mpVariable graph_shape r_s resistance_color resistance_name
|
||||||
|
syn keyword mpConstant context_grap
|
||||||
|
" mp-grid.mpiv
|
||||||
|
syn keyword mpDef hlingrid hloggrid vlingrid vloggrid
|
||||||
|
syn keyword mpVardef hlinlabel hlintext hlogtext linlin linlinpath
|
||||||
|
syn keyword mpVardef linlog linlogpath loglin loglinpath loglog
|
||||||
|
syn keyword mpVardef loglogpath processpath vlinlabel vlintext vlogtext
|
||||||
|
syn keyword mpVariable fmt_initialize fmt_pictures fmt_precision
|
||||||
|
syn keyword mpVariable fmt_separator fmt_zerocheck grid_eps
|
||||||
|
syn keyword mpConstant context_grid
|
||||||
|
" mp-grph.mpiv
|
||||||
|
syn keyword mpDef beginfig begingraphictextfig data_mpo_file
|
||||||
|
syn keyword mpDef data_mpy_file doloadfigure draw endfig
|
||||||
|
syn keyword mpDef endgraphictextfig fill fixedplace graphictext
|
||||||
|
syn keyword mpDef loadfigure new_graphictext normalwithshade number
|
||||||
|
syn keyword mpDef old_graphictext outlinefill protectgraphicmacros
|
||||||
|
syn keyword mpDef resetfig reversefill withdrawcolor withfillcolor
|
||||||
|
syn keyword mpDef withshade
|
||||||
|
syn keyword mpVariable currentgraphictext figureshift
|
||||||
|
syn keyword mpConstant context_grph
|
||||||
|
" mp-idea.mpiv
|
||||||
|
syn keyword mpVardef bcomponent ccomponent gcomponent mcomponent
|
||||||
|
syn keyword mpVardef rcomponent somecolor ycomponent
|
||||||
|
" mp-luas.mpiv
|
||||||
|
syn keyword mpDef luacall message
|
||||||
|
syn keyword mpVardef MP lua lualist
|
||||||
|
syn keyword mpConstant context_luas
|
||||||
|
" mp-mlib.mpiv
|
||||||
|
syn keyword mpDef autoalign bitmapimage circular_shade cmyk comment
|
||||||
|
syn keyword mpDef defineshade eofill eofillup externalfigure figure
|
||||||
|
syn keyword mpDef fillup label linear_shade multitonecolor namedcolor
|
||||||
|
syn keyword mpDef nofill onlayer passarrayvariable passvariable
|
||||||
|
syn keyword mpDef plain_label register resolvedcolor scantokens
|
||||||
|
syn keyword mpDef set_circular_vector set_linear_vector shaded
|
||||||
|
syn keyword mpDef spotcolor startpassingvariable stoppassingvariable
|
||||||
|
syn keyword mpDef thelabel transparent[] usemetafunlabels
|
||||||
|
syn keyword mpDef useplainlabels withcircularshade withlinearshade
|
||||||
|
syn keyword mpDef withmask withproperties withshadecenter
|
||||||
|
syn keyword mpDef withshadecolors withshadedirection withshadedomain
|
||||||
|
syn keyword mpDef withshadefactor withshadefraction withshadeorigin
|
||||||
|
syn keyword mpDef withshaderadius withshadestep withshadetransform
|
||||||
|
syn keyword mpDef withshadevector withtransparency
|
||||||
|
syn keyword mpVardef anchored checkbounds checkedbounds
|
||||||
|
syn keyword mpVardef define_circular_shade define_linear_shade dotlabel
|
||||||
|
syn keyword mpVardef escaped_format fmttext fontsize format formatted
|
||||||
|
syn keyword mpVardef installlabel onetimefmttext onetimetextext
|
||||||
|
syn keyword mpVardef outlinetext plain_thelabel properties rawfmttext
|
||||||
|
syn keyword mpVardef rawtexbox rawtextext rule strfmt strut texbox
|
||||||
|
syn keyword mpVardef textext thefmttext thelabel thetexbox thetextext
|
||||||
|
syn keyword mpVardef tostring transparency_alternative_to_number
|
||||||
|
syn keyword mpVardef validtexbox varfmt verbatim
|
||||||
|
syn keyword mpPrimaryDef asgroup infont normalinfont shadedinto
|
||||||
|
syn keyword mpPrimaryDef shownshadecenter shownshadedirection
|
||||||
|
syn keyword mpPrimaryDef shownshadeorigin shownshadevector withshade
|
||||||
|
syn keyword mpPrimaryDef withshademethod
|
||||||
|
syn keyword mpNewInternal colorburntransparent colordodgetransparent
|
||||||
|
syn keyword mpNewInternal colortransparent darkentransparent
|
||||||
|
syn keyword mpNewInternal differencetransparent exclusiontransparent
|
||||||
|
syn keyword mpNewInternal hardlighttransparent huetransparent
|
||||||
|
syn keyword mpNewInternal lightentransparent luminositytransparent
|
||||||
|
syn keyword mpNewInternal multiplytransparent normaltransparent
|
||||||
|
syn keyword mpNewInternal overlaytransparent saturationtransparent
|
||||||
|
syn keyword mpNewInternal screentransparent shadefactor softlighttransparent
|
||||||
|
syn keyword mpNewInternal textextoffset
|
||||||
|
syn keyword mpType property transparency
|
||||||
|
syn keyword mpVariable currentoutlinetext shadeddown shadedleft
|
||||||
|
syn keyword mpVariable shadedright shadedup shadeoffset trace_shades
|
||||||
|
syn keyword mpConstant context_mlib
|
||||||
|
" mp-page.mpiv
|
||||||
|
syn keyword mpDef BoundCoverAreas BoundPageAreas Enlarged FakeRule
|
||||||
|
syn keyword mpDef FakeWord LoadPageState OverlayBox RuleColor
|
||||||
|
syn keyword mpDef SetAreaVariables SetPageArea SetPageBackPage
|
||||||
|
syn keyword mpDef SetPageCoverPage SetPageField SetPageFrontPage
|
||||||
|
syn keyword mpDef SetPageHsize SetPageHstep SetPageLocation
|
||||||
|
syn keyword mpDef SetPagePage SetPageSpine SetPageVariables
|
||||||
|
syn keyword mpDef SetPageVsize SetPageVstep StartCover StartPage
|
||||||
|
syn keyword mpDef StopCover StopPage SwapPageState innerenlarged
|
||||||
|
syn keyword mpDef llEnlarged lrEnlarged outerenlarged ulEnlarged
|
||||||
|
syn keyword mpDef urEnlarged
|
||||||
|
syn keyword mpVardef BackPageHeight BackPageWidth BackSpace BaseLineSkip
|
||||||
|
syn keyword mpVardef BodyFontSize BottomDistance BottomHeight
|
||||||
|
syn keyword mpVardef BottomSpace CoverHeight CoverWidth CurrentColumn
|
||||||
|
syn keyword mpVardef CurrentHeight CurrentWidth CutSpace EmWidth
|
||||||
|
syn keyword mpVardef ExHeight FooterDistance FooterHeight
|
||||||
|
syn keyword mpVardef FrontPageHeight FrontPageWidth HSize HeaderDistance
|
||||||
|
syn keyword mpVardef HeaderHeight InPageBody InnerEdgeDistance
|
||||||
|
syn keyword mpVardef InnerEdgeWidth InnerMarginDistance InnerMarginWidth
|
||||||
|
syn keyword mpVardef InnerSpaceWidth LastPageNumber LayoutColumnDistance
|
||||||
|
syn keyword mpVardef LayoutColumnWidth LayoutColumns LeftEdgeDistance
|
||||||
|
syn keyword mpVardef LeftEdgeWidth LeftMarginDistance LeftMarginWidth
|
||||||
|
syn keyword mpVardef LineHeight MakeupHeight MakeupWidth NOfColumns
|
||||||
|
syn keyword mpVardef NOfPages OnOddPage OnRightPage OuterEdgeDistance
|
||||||
|
syn keyword mpVardef OuterEdgeWidth OuterMarginDistance OuterMarginWidth
|
||||||
|
syn keyword mpVardef OuterSpaceWidth OverlayDepth OverlayHeight
|
||||||
|
syn keyword mpVardef OverlayLineWidth OverlayOffset OverlayWidth
|
||||||
|
syn keyword mpVardef PageDepth PageFraction PageNumber PageOffset
|
||||||
|
syn keyword mpVardef PaperBleed PaperHeight PaperWidth PrintPaperHeight
|
||||||
|
syn keyword mpVardef PrintPaperWidth RealPageNumber RightEdgeDistance
|
||||||
|
syn keyword mpVardef RightEdgeWidth RightMarginDistance RightMarginWidth
|
||||||
|
syn keyword mpVardef SpineHeight SpineWidth StrutDepth StrutHeight
|
||||||
|
syn keyword mpVardef TextHeight TextWidth TopDistance TopHeight TopSkip
|
||||||
|
syn keyword mpVardef TopSpace VSize defaultcolormodel
|
||||||
|
syn keyword mpVariable Area BackPage CoverPage CurrentLayout Field
|
||||||
|
syn keyword mpVariable FrontPage HorPos Hsize Hstep Location Page
|
||||||
|
syn keyword mpVariable PageStateAvailable RuleDepth RuleDirection
|
||||||
|
syn keyword mpVariable RuleFactor RuleH RuleHeight RuleOffset RuleOption
|
||||||
|
syn keyword mpVariable RuleThickness RuleV RuleWidth Spine VerPos Vsize
|
||||||
|
syn keyword mpVariable Vstep
|
||||||
|
syn keyword mpConstant context_page
|
||||||
|
" mp-shap.mpiv
|
||||||
|
syn keyword mpDef drawline drawshape some_shape
|
||||||
|
syn keyword mpDef start_predefined_shape_definition
|
||||||
|
syn keyword mpDef stop_predefined_shape_definition
|
||||||
|
syn keyword mpVardef drawpredefinedline drawpredefinedshape
|
||||||
|
syn keyword mpVardef some_shape_path
|
||||||
|
syn keyword mpVariable predefined_shapes predefined_shapes_xradius
|
||||||
|
syn keyword mpVariable predefined_shapes_xxradius
|
||||||
|
syn keyword mpVariable predefined_shapes_yradius
|
||||||
|
syn keyword mpVariable predefined_shapes_yyradius
|
||||||
|
syn keyword mpConstant context_shap
|
||||||
|
" mp-step.mpiv
|
||||||
|
syn keyword mpDef initialize_step_variables midbottomboundary
|
||||||
|
syn keyword mpDef midtopboundary step_begin_cell step_begin_chart
|
||||||
|
syn keyword mpDef step_cell_ali step_cell_bot step_cell_top
|
||||||
|
syn keyword mpDef step_cells step_end_cell step_end_chart
|
||||||
|
syn keyword mpDef step_text_bot step_text_mid step_text_top
|
||||||
|
syn keyword mpDef step_texts
|
||||||
|
syn keyword mpVariable cell_distance_x cell_distance_y cell_fill_color
|
||||||
|
syn keyword mpVariable cell_line_color cell_line_width cell_offset
|
||||||
|
syn keyword mpVariable chart_align chart_category chart_vertical
|
||||||
|
syn keyword mpVariable line_distance line_height line_line_color
|
||||||
|
syn keyword mpVariable line_line_width line_offset nofcells
|
||||||
|
syn keyword mpVariable text_distance_set text_fill_color text_line_color
|
||||||
|
syn keyword mpVariable text_line_width text_offset
|
||||||
|
syn keyword mpConstant context_cell
|
||||||
|
" mp-symb.mpiv
|
||||||
|
syn keyword mpDef finishglyph prepareglyph
|
||||||
|
syn keyword mpConstant lefttriangle midbar onebar righttriangle sidebar
|
||||||
|
syn keyword mpConstant sublefttriangle subrighttriangle twobar
|
||||||
|
" mp-text.mpiv
|
||||||
|
syn keyword mpDef build_parshape
|
||||||
|
syn keyword mpVardef found_point
|
||||||
|
syn keyword mpVariable trace_parshape
|
||||||
|
syn keyword mpConstant context_text
|
||||||
|
" mp-tool.mpiv
|
||||||
|
syn keyword mpCommand dump
|
||||||
|
syn keyword mpDef addbackground b_color beginglyph break centerarrow
|
||||||
|
syn keyword mpDef clearxy condition data_mpd_file detaileddraw
|
||||||
|
syn keyword mpDef detailpaths dowithpath draw drawboundary
|
||||||
|
syn keyword mpDef drawboundingbox drawcontrollines drawcontrolpoints
|
||||||
|
syn keyword mpDef drawfill draworigin drawpath drawpathonly
|
||||||
|
syn keyword mpDef drawpathwithpoints drawpoint drawpointlabels
|
||||||
|
syn keyword mpDef drawpoints drawticks drawwholepath drawxticks
|
||||||
|
syn keyword mpDef drawyticks endglyph fill finishsavingdata g_color
|
||||||
|
syn keyword mpDef inner_boundingbox job_name leftarrow loadmodule
|
||||||
|
syn keyword mpDef midarrowhead naturalizepaths newboolean newcolor
|
||||||
|
syn keyword mpDef newnumeric newpair newpath newpicture newstring
|
||||||
|
syn keyword mpDef newtransform normalcolors normaldraw normalfill
|
||||||
|
syn keyword mpDef normalwithcolor outer_boundingbox pop_boundingbox
|
||||||
|
syn keyword mpDef popboundingbox popcurrentpicture push_boundingbox
|
||||||
|
syn keyword mpDef pushboundingbox pushcurrentpicture r_color readfile
|
||||||
|
syn keyword mpDef recolor redraw refill register_dirty_chars
|
||||||
|
syn keyword mpDef remapcolor remapcolors remappedcolor reprocess
|
||||||
|
syn keyword mpDef resetarrows resetcolormap resetdrawoptions
|
||||||
|
syn keyword mpDef resolvedcolor restroke retext rightarrow savedata
|
||||||
|
syn keyword mpDef saveoptions scale_currentpicture set_ahlength
|
||||||
|
syn keyword mpDef set_grid showgrid startplaincompatibility
|
||||||
|
syn keyword mpDef startsavingdata stopplaincompatibility
|
||||||
|
syn keyword mpDef stopsavingdata stripe_path_a stripe_path_n undashed
|
||||||
|
syn keyword mpDef undrawfill untext visualizeddraw visualizedfill
|
||||||
|
syn keyword mpDef visualizepaths withcolor withgray
|
||||||
|
syn keyword mpDef xscale_currentpicture xshifted
|
||||||
|
syn keyword mpDef xyscale_currentpicture yscale_currentpicture
|
||||||
|
syn keyword mpDef yshifted
|
||||||
|
syn keyword mpVardef acos acosh anglebetween area arrowhead
|
||||||
|
syn keyword mpVardef arrowheadonpath arrowpath asciistring asin asinh
|
||||||
|
syn keyword mpVardef atan basiccolors bbheight bbwidth bcomponent
|
||||||
|
syn keyword mpVardef blackcolor bottomboundary boundingbox c_phantom
|
||||||
|
syn keyword mpVardef ccomponent center cleanstring colorcircle
|
||||||
|
syn keyword mpVardef colordecimals colordecimalslist colorlike colorpart
|
||||||
|
syn keyword mpVardef colortype complementary complemented copylist cos
|
||||||
|
syn keyword mpVardef cosh cot cotd curved ddddecimal dddecimal ddecimal
|
||||||
|
syn keyword mpVardef decorated drawarrowpath epsed exp freedotlabel
|
||||||
|
syn keyword mpVardef freelabel gcomponent getunstringed grayed greyed
|
||||||
|
syn keyword mpVardef hsvtorgb infinite innerboundingbox interpolated inv
|
||||||
|
syn keyword mpVardef invcos inverted invsin invtan laddered leftboundary
|
||||||
|
syn keyword mpVardef leftpath leftrightpath listsize listtocurves
|
||||||
|
syn keyword mpVardef listtolines ln log mcomponent new_on_grid
|
||||||
|
syn keyword mpVardef outerboundingbox paired pen_size penpoint phantom
|
||||||
|
syn keyword mpVardef pointarrow pow punked rangepath rcomponent
|
||||||
|
syn keyword mpVardef redecorated repathed rightboundary rightpath
|
||||||
|
syn keyword mpVardef rotation roundedsquare set_inner_boundingbox
|
||||||
|
syn keyword mpVardef set_outer_boundingbox setunstringed shapedlist
|
||||||
|
syn keyword mpVardef simplified sin sinh sortlist sqr straightpath tan
|
||||||
|
syn keyword mpVardef tand tanh tensecircle thefreelabel topboundary
|
||||||
|
syn keyword mpVardef tripled undecorated unitvector unspiked unstringed
|
||||||
|
syn keyword mpVardef whitecolor ycomponent
|
||||||
|
syn keyword mpPrimaryDef along blownup bottomenlarged cornered crossed
|
||||||
|
syn keyword mpPrimaryDef enlarged enlonged leftenlarged llenlarged llmoved
|
||||||
|
syn keyword mpPrimaryDef lrenlarged lrmoved on paralleled randomized
|
||||||
|
syn keyword mpPrimaryDef randomizedcontrols randomshifted rightenlarged
|
||||||
|
syn keyword mpPrimaryDef shortened sized smoothed snapped softened squeezed
|
||||||
|
syn keyword mpPrimaryDef stretched superellipsed topenlarged ulenlarged
|
||||||
|
syn keyword mpPrimaryDef ulmoved uncolored urenlarged urmoved xsized
|
||||||
|
syn keyword mpPrimaryDef xstretched xyscaled xysized ysized ystretched zmod
|
||||||
|
syn keyword mpSecondaryDef anglestriped intersection_point numberstriped
|
||||||
|
syn keyword mpSecondaryDef peepholed
|
||||||
|
syn keyword mpTertiaryDef cutends
|
||||||
|
syn keyword mpNewInternal ahdimple ahvariant anglelength anglemethod
|
||||||
|
syn keyword mpNewInternal angleoffset charscale cmykcolormodel graycolormodel
|
||||||
|
syn keyword mpNewInternal greycolormodel maxdimensions metapostversion
|
||||||
|
syn keyword mpNewInternal nocolormodel rgbcolormodel striped_normal_inner
|
||||||
|
syn keyword mpNewInternal striped_normal_outer striped_reverse_inner
|
||||||
|
syn keyword mpNewInternal striped_reverse_outer
|
||||||
|
syn keyword mpType grayscale greyscale quadruplet triplet
|
||||||
|
syn keyword mpVariable ahfactor collapse_data color_map drawoptionsfactor
|
||||||
|
syn keyword mpVariable freedotlabelsize freelabeloffset grid grid_full
|
||||||
|
syn keyword mpVariable grid_h grid_left grid_nx grid_ny grid_w grid_x
|
||||||
|
syn keyword mpVariable grid_y intersection_found originlength
|
||||||
|
syn keyword mpVariable plain_compatibility_data pointlabelfont
|
||||||
|
syn keyword mpVariable pointlabelscale refillbackground savingdata
|
||||||
|
syn keyword mpVariable savingdatadone swappointlabels ticklength tickstep
|
||||||
|
syn keyword mpConstant CRLF DQUOTE PERCENT SPACE bcircle context_tool crlf
|
||||||
|
syn keyword mpConstant darkblue darkcyan darkgray darkgreen darkmagenta
|
||||||
|
syn keyword mpConstant darkred darkyellow downtriangle dquote freesquare
|
||||||
|
syn keyword mpConstant fulldiamond fullsquare fulltriangle lcircle
|
||||||
|
syn keyword mpConstant lefttriangle lightgray llcircle lltriangle lrcircle
|
||||||
|
syn keyword mpConstant lrtriangle mpversion nocolor noline oddly
|
||||||
|
syn keyword mpConstant originpath percent rcircle righttriangle space
|
||||||
|
syn keyword mpConstant tcircle triangle ulcircle ultriangle unitcircle
|
||||||
|
syn keyword mpConstant unitdiamond unittriangle uptriangle urcircle
|
||||||
|
syn keyword mpConstant urtriangle
|
||||||
|
endif " MetaFun macros
|
||||||
|
|
||||||
" Define the default highlighting
|
" Define the default highlighting
|
||||||
" Only when an item doesn't have highlighting yet
|
hi def link mpTeXdelim mpPrimitive
|
||||||
|
hi def link mpBoolExp mfBoolExp
|
||||||
hi def link mpTeXinsert String
|
hi def link mpNumExp mfNumExp
|
||||||
hi def link mpTeXbegin Statement
|
hi def link mpPairExp mfPairExp
|
||||||
hi def link mpTeXend Statement
|
hi def link mpPathExp mfPathExp
|
||||||
hi def link mpInternal mfInternal
|
hi def link mpPenExp mfPenExp
|
||||||
hi def link mpMacro Macro
|
hi def link mpPicExp mfPicExp
|
||||||
|
hi def link mpStringExp mfStringExp
|
||||||
|
hi def link mpInternal mfInternal
|
||||||
|
hi def link mpCommand mfCommand
|
||||||
|
hi def link mpType mfType
|
||||||
|
hi def link mpPrimitive mfPrimitive
|
||||||
|
hi def link mpDef mfDef
|
||||||
|
hi def link mpVardef mpDef
|
||||||
|
hi def link mpPrimaryDef mpDef
|
||||||
|
hi def link mpSecondaryDef mpDef
|
||||||
|
hi def link mpTertiaryDef mpDef
|
||||||
|
hi def link mpNewInternal mpInternal
|
||||||
|
hi def link mpVariable mfVariable
|
||||||
|
hi def link mpConstant mfConstant
|
||||||
|
hi def link mpOnOff mpPrimitive
|
||||||
|
hi def link mpDash mpPrimitive
|
||||||
|
|
||||||
let b:current_syntax = "mp"
|
let b:current_syntax = "mp"
|
||||||
|
|
||||||
" vim: ts=8
|
let &cpo = s:cpo_sav
|
||||||
|
unlet! s:cpo_sav
|
||||||
|
|
||||||
|
" vim:sw=2
|
||||||
|
Loading…
x
Reference in New Issue
Block a user